Skip to main content

A Python client to control and data ports of the PandABlocks TCP server

Project description

Build Status Test Coverage Latest PyPI version Apache License

A Python client to control and data ports of the PandABlocks TCP server.

PyPI

pip install pandablocks

Source code

https://github.com/PandABlocks/PandABlocks-client

Documentation

https://pandablocks.github.io/PandABlocks-client/master/index.html

TODO - Test 0.1.4

Command line tool features an interactive console, load/save control, and HDF5 writing:

$ pip install pandablocks

$ pandablocks control <panda-hostname>
< PCAP.     # Hit TAB key...
PCAP.ACTIVE     PCAP.BITS1      PCAP.BITS3      PCAP.GATE       PCAP.SAMPLES    PCAP.TRIG       PCAP.TS_END     PCAP.TS_TRIG
PCAP.BITS0      PCAP.BITS2      PCAP.ENABLE     PCAP.HEALTH     PCAP.SHIFT_SUM  PCAP.TRIG_EDGE  PCAP.TS_START
< PCAP.ACTIVE?
OK =1

$ pandablocks hdf <panda-hostname> /tmp/panda-%d.h5
INFO:Opened '/tmp/panda-1.h5' with 60 byte samples stored in 11 datasets
INFO:Closed '/tmp/panda-1.h5' after writing 50000000 samples. End reason is 'Disarmed'

Library features a Sans-IO core with both asyncio and blocking wrappers:

from pandablocks.blocking import BlockingClient
from pandablocks.commands import Get

with BlockingClient("hostname-or-ip") as client:
    # Commands sent to Control port
    idn = client.send(Get("*IDN"))
    print(f"Hello {idn}")
    for data in client.data():
        # Data captured from Data port
        print(f"I got some PCAP data {data}")

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

pandablocks-0.1.6.tar.gz (18.4 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

pandablocks-0.1.6-py3-none-any.whl (25.5 kB view details)

Uploaded Python 3

File details

Details for the file pandablocks-0.1.6.tar.gz.

File metadata

  • Download URL: pandablocks-0.1.6.tar.gz
  • Upload date:
  • Size: 18.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.2.0 pkginfo/1.6.1 requests/2.25.0 setuptools/51.0.0 requests-toolbelt/0.9.1 tqdm/4.54.1 CPython/3.8.6

File hashes

Hashes for pandablocks-0.1.6.tar.gz
Algorithm Hash digest
SHA256 a965bba8acb85ffe61e9f684b0c64affb5abe71f415b4b161420eaa51be4a94b
MD5 cb33414915760300079013847fa0056b
BLAKE2b-256 0bb21dccb7be6851d54d483af427b134b928934ec89d6a27740e44440a0a6df3

See more details on using hashes here.

File details

Details for the file pandablocks-0.1.6-py3-none-any.whl.

File metadata

  • Download URL: pandablocks-0.1.6-py3-none-any.whl
  • Upload date:
  • Size: 25.5 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.2.0 pkginfo/1.6.1 requests/2.25.0 setuptools/51.0.0 requests-toolbelt/0.9.1 tqdm/4.54.1 CPython/3.8.6

File hashes

Hashes for pandablocks-0.1.6-py3-none-any.whl
Algorithm Hash digest
SHA256 326e18341f673a0796de82243f170a25cd15d54672d6d946a507ed3a48d8d2f3
MD5 f824576ac9d22b06aeca488bc93438ae
BLAKE2b-256 3080df8147429efd6d7d2831af186fd12a2fc58b32c18643b5811038ee85e9bb

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page