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

Terminal client to communicate to an INDI service.

INDI - Instrument Neutral Distributed Interface.

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

This is a pure Python package, with no dependencies, providing an INDI terminal client.

This is a companion package to 'indipydriver' which can be used to create and serve INDI drivers operating your own instrument code.

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

indipyclient provides a terminal which can be started from the command line, and also a set of classes which can be used to create an INDI client if required. A Python script could use this to generate the INDI protocol, and to create the connection to a port serving INDI drivers.

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 sesssion would look like:

Terminal screenshot

The INDI protocol is defined to operate with any INDI client.

The protocol defines the format of the data sent, such as light, number, text, switch or BLOB (Binary Large Object) and the client can send commands to control the instrument. 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 providing drivers are available.

Further documentation is available at:

https://indipyclient.readthedocs.io

The package can be installed from:

https://pypi.org/project/indipyclient

indipyclient requires python 3.10 or later.

If you are only using the terminal client, I recommend pipx, so to install you would use:

pipx install indipyclient

or if you want to run it, without installing:

pipx run indipyclient

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.3.1.tar.gz (55.5 kB view details)

Uploaded Source

Built Distribution

indipyclient-0.3.1-py3-none-any.whl (60.2 kB view details)

Uploaded Python 3

File details

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

File metadata

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

File hashes

Hashes for indipyclient-0.3.1.tar.gz
Algorithm Hash digest
SHA256 a4b7b3dc315a1dea836558b1cd96c9512d66e7076b6c5e0814f1b395807c6e04
MD5 17621f969efee790e197747b18956b95
BLAKE2b-256 aec2e09a796d2873dd4c4fdf3a1a899650721500db987296307014e46291a5f4

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for indipyclient-0.3.1-py3-none-any.whl
Algorithm Hash digest
SHA256 8788b95c123abf56391dde94f18f8ceea589bcb2234b04e851351d1983aa3bf2
MD5 a1816edf5b75033073851ff7d5163e1a
BLAKE2b-256 f867f99826ba946e6cdc0c2c74d7212338fedead531e13b93478ea98f5436d2c

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