CPA1110
Python interface for a Cryomech CPA1110
The Cryomech CPA1110 compressor supports remote monitoring through serial (RS232/485), as well as ethernet connections, through the Modbus RTU protocol (for serial) or ModbusTCP (for ethernet).
Installation
This project now uses uv for dependency management, but the package can also
be installed with pip.
Install the package with:
uv add cpa1110
or:
pip install cpa1110
For local development:
uv sync
Example
Using a context manager:
from cpa1110 import CPA1110, Connection
with CPA1110("192.168.1.10", connection_type=Connection.TCP) as compressor:
# read the coolant in/out temperatures
temp_in = compressor.coolant_in_temperature
temp_out = compressor.coolant_out_temperature
# start the compressor
compressor.enable_compressor()
# stop the compressor
compressor.disable_compressor()
Without a context manager:
from cpa1110 import CPA1110, Connection
compressor = CPA1110("192.168.1.10", connection_type=Connection.TCP)
try:
temp_in = compressor.coolant_in_temperature
temp_out = compressor.coolant_out_temperature
compressor.enable_compressor()
compressor.disable_compressor()
finally:
compressor.close()
Modbus protocol
There are various kinds of registers defined by the Modbus standard, but the CPA1110 only uses two kinds, namely Input and Holding Registers. The registers used are the following [CPAxxxx Digital Panel User Manual]:
- 30,001 - Operating State
- 30,002 - Compressor Running
- 30,003 - Warning State
- 30,004 - Errors
- 30,005 - Alarm State
- 30,007 - Coolant In Temp
- 30,009 - Coolant Out Temp
- 30,011 - Oil Temp
- 30,013 - Helium Temp
- 30,015 - Low Pressure
- 30,017 - Low Pressure Average
- 30,019 - High Pressure
- 30,021 - High Pressure Average
- 30,023 - Delta Pressure Average
- 30,025 - Motor Current
- 30,027 - Hours Of Operation
- 30,029 - Pressure Scale
- 30,030 - Temp Scale
- 30,031 - Panel Serial Number
- 30,032 - Model Major + Minor numbers
- 30,033 - Software Rev
- 40,001 - Enable / Disable the compressor
"Modbus protocol defines a holding register as 16 bits wide; however, there is a widely used defacto standard for reading and writing data wider than 16 bits." [source] "The first two 'Input' registers and the only 'Holding' register are 16 bit integer registers and the rest of the input registers are in 32bit floating point format." [CPAxxxx Digital Panel User Manual]
Metadata
Release files for cpa1110 0.2.1
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | |
|---|---|---|---|---|
| cpa1110-0.2.1.tar.gz | 25.5 kB | With provenance | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| cpa1110-0.2.1-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 34.1 kB
Release files / cpa1110-0.2.1.tar.gz
| Download URL | cpa1110-0.2.1.tar.gz |
|---|---|
| Size | 25.5 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
3c74816863cf3f52a18090b4a3d2a972e302d74563a8d7ba3b933c59fdf65df2
|
|
BLAKE2b-256 checksum How to use checksums |
851a00d80fcb731939b00be6dd430d83f914eed2ea26519442cb54af99d24630
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.16
|
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.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Oct 23, 2026.
Transparency logRelease files / cpa1110-0.2.1-py3-none-any.whl
| Download URL | cpa1110-0.2.1-py3-none-any.whl |
|---|---|
| Size | 8.6 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
ec5fad615893ebbecb31c5eb74343ebeadb333cc2cb4db37694f5150d30b4245
|
|
BLAKE2b-256 checksum How to use checksums |
de2c5f1c09b5a5dbad4bf54635f48d1abe453ca5834e011952d1dda711873fb0
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.16
|
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.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Oct 23, 2026.
Transparency logSecurity for cpa1110 0.2.1
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.
Full provenance
All 2 files in this release have been uploaded with provenance metadata.
Attestation for cpa1110-0.2.1.tar.gz
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Oct 23, 2026.
Transparency logA 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.