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

This indipyclient package provides a terminal client, which connects to a port, allowing an instrument to be viewed and controlled from a terminal session.

The instrument port is typically served using the indipydriver package which provides classes which can be used by your own Python program controlling some form of instrument, with switches, indicators or measurement data.

indipydriver and indipyclient communicate with the INDI protocol.

INDI - Instrument Neutral Distributed Interface.

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

The companion package 'indipydriver' is available on Pypi and developed at.

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

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 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). 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

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

Uploaded Source

Built Distribution

indipyclient-0.5.2-py3-none-any.whl (69.6 kB view details)

Uploaded Python 3

File details

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

File metadata

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

File hashes

Hashes for indipyclient-0.5.2.tar.gz
Algorithm Hash digest
SHA256 85dfda1b22e37c4fb801385359a8fa894e0eecb8464f30df65b62cef557ef5a1
MD5 de638c5dbc874b773e1e64bad6681fd2
BLAKE2b-256 34733098f0858004ed5e146e8f95aef6c0d5e4bcdfd5bc3aab5da236f259b25b

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for indipyclient-0.5.2-py3-none-any.whl
Algorithm Hash digest
SHA256 47551fa08ccc571dc9def9e68b55734cf462f6d4287a6eedf7f1dec7ac5430b7
MD5 9f9e0bdaa814f632ba70528c8b6ef9a1
BLAKE2b-256 b7c423d63ca7324a71735e823ad23dd23a818050593065353a20dee5e36a850d

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