Skip to main content

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:

https://pypi.org/project/indipyweb

https://github.com/bernie-skipole/indipyweb

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)

Source distribution for indipyclient 0.9.4
File Size Uploaded Provenance
indipyclient-0.9.4.tar.gz 29.6 kB Without provenance Details

Built distribution (wheel)

Table of built distributions (wheels) for indipyclient 0.9.4
File Interpreter ABI Platform
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.

Release history Release notifications | RSS feed

This release

0.9.4 This release

2 release files No provenance

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page