Main website: http://pytango.readthedocs.io
Python binding for Tango, a library dedicated to distributed control systems.
PyTango exposes the complete Tango C++ API through the tango
python module.
It also adds a bit of abstraction by taking advantage of the Python capabilities:
tango.client
provides a client access to device servers and databases.tango.server
provides base classes to declare and run device servers.
PyTango is compatible with python 3.6+.
General dependencies:
- cppTango >= 9.4.1, and its dependencies: omniORB4 and libzmq
- Boost.Python >= 1.71
Python dependencies:
- numpy >= 1.13.3
Build dependencies:
Optional dependencies (test):
Note
As a general rule, cppTango and pytango should share the same major
and minor version (for a version X.Y.Z
, X
and Y
should
match).
On some systems you may need to install omniORB4
and libzmq
related
development packages.
PyTango is available on PyPI as pytango
, with pre-built binaries for some platforms
(you need pip>=19.3, so upgrade first if necessary):
$ python -m pip install --upgrade pip $ python -m pip install pytango
Alternatively, pre-built PyTango binaries can be installed from Conda Forge_:
$ conda install -c conda-forge pytango
For the very latest code, or for development purposes, PyTango can be built and installed from the sources. This is complicated by the dependencies - see the Getting Started section in the documentation.
To test the installation, import tango
and check tango.utils.info()
:
>>> import tango >>> print(tango.utils.info()) PyTango 9.4.2.dev0 (9, 4, 2, 'dev', 0) PyTango compiled with: Python : 3.11.2 Numpy : PYTANGO_NUMPY_VERSION Tango : 9.4.1 Boost : 1.81.0 PyTango runtime is: Python : 3.11.2 Numpy : 1.24.2 Tango : 9.4.1 PyTango running on: uname_result(system='Darwin', node='osloxf01', release='21.6.0', version='Darwin Kernel Version 21.6.0: Mon Dec 19 20:43:09 PST 2022; root:xnu-8020.240.18~2/RELEASE_ARM64_T6000', machine='arm64')
For an interactive use, consider using ITango, a tango IPython profile.
Check out the documentation for more information.
You can get support from the Tango forums, for both Tango and PyTango questions.
All contributions, PR and bug reports are welcome, please see: How to Contribute !