Skip to main content

Pure python package, providing a terminal client and a set of classes which can be used to create scripts or clients to control remote instruments using the INDI protocol.

Project description

indipyclient

You may have Python programs implementing some form of data collection or control and wish to remotely operate such an instrument.

An associated package 'indipydriver' can be used to take your data, organise it into a data structure defined by the INDI protocol, and serve it on a port.

This indipyclient package provides a terminal client, which connects to the port, allowing you to view and control your instrument from a terminal session.

It can be installed from Pypi with:

pip install indipyclient

indipydriver and indipyclient communicate with the INDI protocol.

INDI - Instrument Neutral Distributed Interface.

See https://en.wikipedia.org/wiki/Instrument_Neutral_Distributed_Interface

The indipyclient terminal client can be started from the command line, and can also be imported if required, in which case it provides a set of classes which can be used to create scripts to control the remote instrument.

The client can be run with

indipyclient [options]

or with

python3 -m indipyclient [options]

The package help is:

usage: indipyclient [options]

Terminal client to communicate to an INDI service.

options:
  -h, --help                show this help message and exit
  -p PORT, --port PORT      Port of the INDI server (default 7624).
  --host HOST               Hostname/IP of the INDI server (default localhost).
  -b BLOBS, --blobs BLOBS   Optional folder where BLOB's will be saved.
  --loglevel LOGLEVEL       Enables logging, value 1, 2, 3 or 4.
  --logfile LOGFILE         File where logs will be saved
  --version                 show program's version number and exit

The BLOB's folder can also be set from within the session.
Setting loglevel and logfile should only be used for brief
diagnostic purposes, the logfile could grow very big.
loglevel:1 Information and error messages only,
loglevel:2 As 1 plus xml vector tags without members or contents,
loglevel:3 As 1 plus xml vectors and members - but not BLOB contents,
loglevel:4 As 1 plus xml vectors and all contents

A typical session would look like:

Terminal screenshot

The INDI protocol defines the format of the data sent, such as light, number, text, switch or BLOB (Binary Large Object). The client is general purpose, taking the format of switches, numbers etc., from the protocol.

INDI is often used with astronomical instruments, but is a general purpose protocol which can be used for any instrument control.

Further documentation is available at:

https://indipyclient.readthedocs.io

The package can be installed from:

https://pypi.org/project/indipyclient

and indipydriver is available at:

https://pypi.org/project/indipydriver

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

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

indipyclient-0.6.3.tar.gz (63.5 kB view details)

Uploaded Source

Built Distribution

indipyclient-0.6.3-py3-none-any.whl (71.4 kB view details)

Uploaded Python 3

File details

Details for the file indipyclient-0.6.3.tar.gz.

File metadata

  • Download URL: indipyclient-0.6.3.tar.gz
  • Upload date:
  • Size: 63.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: python-requests/2.28.2

File hashes

Hashes for indipyclient-0.6.3.tar.gz
Algorithm Hash digest
SHA256 9878ece85991864e4607259983beb3b9ea4810df58fea1811b964ef1a6e56b0c
MD5 5a63bdec5c4195b1eb03669d08176ce4
BLAKE2b-256 b81eb86ac711b01ab807de2a96a6b3dd5a8d1c7df46f0a67918510cd96ccadfd

See more details on using hashes here.

File details

Details for the file indipyclient-0.6.3-py3-none-any.whl.

File metadata

File hashes

Hashes for indipyclient-0.6.3-py3-none-any.whl
Algorithm Hash digest
SHA256 b40ba7308c5daf8ef9a2d457a9e0163f3abe5d5c4e135ce7388527bd49ab82e0
MD5 80e45aa1303ea52da6ef33e3420213c5
BLAKE2b-256 b53f4932042ad549916216e7f4fcb9fa51d0d2524f6bdd0a3736df378712144e

See more details on using hashes here.

Supported by

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