Skip to main content

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)

Source distribution for cpa1110 0.2.1
File Size Uploaded Provenance
cpa1110-0.2.1.tar.gz 25.5 kB With provenance Details

Built distribution (wheel)

Table of built distributions (wheels) for cpa1110 0.2.1
File Interpreter ABI Platform
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 log

Release 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 log

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

Select from 2 files

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 log

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

Release history Release notifications | RSS feed

This release

0.2.1 This release

2 release files Full provenance

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page