indipyclient
This indipyclient package provides classes used to communicate to an INDI server. In particular your script can import and create an instance of the 'IPyClient' class.
INDI - Instrument Neutral Distributed Interface.
See https://en.wikipedia.org/wiki/Instrument_Neutral_Distributed_Interface
INDI is often used with astronomical instruments, but is a general purpose protocol which can be used for any instrument control.
The INDI protocol defines the format of the data sent, such as light, number, text, switch or BLOB (Binary Large Object). The client takes the format of switches, numbers etc., from the protocol.
The IPyClient object has an asyncrun() coroutine method which needs to be awaited, typically gathered with your own tasks. The client transmits a 'getProperties' request (this indipyclient package does this for you on connecting).
The server replies with definition packets (defSwitchVector, defLightVector, .. ) that define the format of the instrument data.
The indipyclient package reads these, and its IPyClient instance becomes a mapping of the devices, vectors and members.
For example, if ipyclient is your instance of IPyClient:
ipyclient[devicename][vectorname][membername] will be the value of a particular parameter.
A 'vector' is a collection of members, so a switch vector may have one or more switches in it.
As the instrument produces changing values, the server sends 'set' packets, such as setSwitchVector, setLightVector ..., these contain new values, which update the ipyclient values. They also cause the ipyclient.rxevent(event) method to be called, which you could overwrite to take any actions you prefer.
To transmit a new value you could call the ipyclient.send_newVector coroutine method.
Indipyclient can be installed from Pypi with:
pip install indipyclient
Further documentation is available at:
https://indipyclient.readthedocs.io
The package can be installed from:
https://pypi.org/project/indipyclient
A terminal client 'indipyterm' is available, which itself calls on indipyclient to do the heavy lifting, and uses the textual package to present terminal characters, this is available at:
https://pypi.org/project/indipyterm
https://github.com/bernie-skipole/indipyterm
Similarly 'indipyweb' is available, also using indipyclient, and creates a web service which enables browsers to view and control the connected instruments. This is available at:
Metadata
Release files for indipyclient 0.9.4
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | |
|---|---|---|---|---|
| indipyclient-0.9.4.tar.gz | 29.6 kB | Without provenance | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| indipyclient-0.9.4-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 61.8 kB
Release files / indipyclient-0.9.4.tar.gz
| Download URL | indipyclient-0.9.4.tar.gz |
|---|---|
| Size | 29.6 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
808c50bef4d856a24db3ca6250faa0f3ec7dd89443adeaa03dfe0d0a7b018aa7
|
|
BLAKE2b-256 checksum How to use checksums |
52b6a57638e49e09153e12b8ace26d497cd3c79fb1b317ab6d34428a31d58797
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
python-requests/2.25.1
|
Release files / indipyclient-0.9.4-py3-none-any.whl
| Download URL | indipyclient-0.9.4-py3-none-any.whl |
|---|---|
| Size | 32.2 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
c42bfaf3bfbc69052da13cb2edaf2de1ff715dc35c4da038c316f53543dad649
|
|
BLAKE2b-256 checksum How to use checksums |
f6c8c0884bd763e8801a678e74acdf9a7d8bd248173f4b13a8376971634c4263
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
python-requests/2.25.1
|
Security for indipyclient 0.9.4
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.