Skip to main content

pfeiffer-turbo

Python versions on PyPI pfeiffer-turbo version on PyPI
Python interface for RS485 connections to Pfeiffer HiPace turbo drive units. Supports the TM700 and TC110 electronic drive units, and can also communicate through a TCP/IP socket, for example when using a serial-to-TCP/IP converter for the turbo controller.

Supported drive units

  • TM700
  • TC110

Examples

RS485 connection example

from pfeiffer_turbo import TC110, SerialTransport

pump = TC110(address=1, transport=SerialTransport(port="COM9"))
# or: pump = TC110.from_serial("COM9", address=1)

# get the rotation speed in Hz
pump.actual_spd

# start the pump
pump.start()

# stop the pump
pump.stop()

TCP/IP connection example

from pfeiffer_turbo import TM700, TcpTransport

pump = TM700(address=1, transport=TcpTransport(host="10.10.222.8", port=12345))
# or: pump = TM700.from_tcp("10.10.222.8", 12345, address=1)

# get the rotation speed in Hz
pump.actual_spd

# start the pump
pump.start()

# stop the pump
pump.stop()

query() accepts only the reply from the queried address for the queried parameter. A late reply to an earlier query (for example one still buffered in a serial-to-TCP gateway after a timeout), an echo of the request, or a garbled frame is discarded, and reading continues until the matching reply arrives or the transport timeout runs out. The timeout bounds the whole exchange, not each byte. A reply in which the drive unit rejects the request (NO_DEF, _RANGE, _LOGIC) raises PfeifferProtocolError.

Writable parameters and validation

Parameters marked read-write or write-only by the parameter metadata can be assigned. When assigning values, the library validates:

  • type (bool/int/float/str as defined per parameter)
  • allowed options (options map when present)
  • value limits (min/max when present)

Write-only parameters raise AttributeError when read.

Example:

# writable
pump.set_rot_spd = 600
pump.error_ackn = True

# raises ValueError (invalid option)
# pump.gas_mode = 999

# raises AttributeError (write-only parameter)
# pump.error_ackn

Implementation

A baseclass DriveUnit:

class DriveUnit:
    def __init__(
        self,
        transport: BaseTransport,
        address: int,
        supported_parameters: Sequence[int],
    ):

takes a set of integers that correspond to Pfeiffer vacuum parameters supported by a particular drive unit. Implemented vacuum parameters are defined in parameters.py. Getters and setters are then generated dynamically from supported_parameters and the metadata in parameters.py.

The enum Parameters contains all implemented Pfeiffer vacuum parameters, and the dictionary parameters maps Parameters values to ParameterInfo objects, where ParameterInfo is a dataclass containing the implementation details for a particular parameter:

@dataclass
class ParameterInfo:
    designation: str
    data_type: DataType
    access: Access | str
    min: Optional[Union[int, float]] = None
    max: Optional[Union[int, float]] = None
    unit: Optional[str] = None
    default: Optional[Union[int, float, str]] = None
    options: Optional[dict[int, str]] = None

New drive units can be implemented by inheriting from DriveUnit and specifying which Pfeiffer parameters are supported by the model. New parameters can be implemented by extending the Parameters enum and the parameters dictionary. Generated class attributes are named similarly to the Pfeiffer parameter names, with underscores inserted between uppercase-to-lowercase transitions and all letters lowercased, for example GasMode becomes gas_mode.

Metadata

Release files for pfeiffer-turbo 0.3.5

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for pfeiffer-turbo 0.3.5
File Size Uploaded Provenance Actions
pfeiffer_turbo-0.3.5.tar.gz 20.0 kB With provenance Details for pfeiffer_turbo-0.3.5.tar.gz

Built distribution (wheel)

Table of built distributions (wheels) for pfeiffer-turbo 0.3.5
File Interpreter ABI Platform Actions
pfeiffer_turbo-0.3.5-py3-none-any.whl Python 3 none any Details for pfeiffer_turbo-0.3.5-py3-none-any.whl

Total release size: 36.6 kB

Release files / pfeiffer_turbo-0.3.5.tar.gz

Download URL pfeiffer_turbo-0.3.5.tar.gz
Size 20.0 kB
Tags Source
SHA-256 checksum
How to use checksums
022844fe9b28e072dadd8fa2da7753b284b8779b60d9617edb10b4303398b5e1
BLAKE2b-256 checksum
How to use checksums
a8cd43264a1bea54dcc46fe3417af29dfef34ca89328afe4af845edd67669125
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 30, 2026.

Transparency log

Release files / pfeiffer_turbo-0.3.5-py3-none-any.whl

Download URL pfeiffer_turbo-0.3.5-py3-none-any.whl
Size 16.7 kB
Tags Python 3
SHA-256 checksum
How to use checksums
7913a2b72055daf8be95803f21b6c3d60e5af05cc4c4f8dffb5dd33e1166c1e8
BLAKE2b-256 checksum
How to use checksums
45d96cf6765ca961c40e5781f6dd3704d7e9480b5e1f5acafc1d25e421a48ed1
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 30, 2026.

Transparency log

Security for pfeiffer-turbo 0.3.5

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

Both files in this release have been uploaded with provenance metadata.

Select from 2 files

Attestation for pfeiffer_turbo-0.3.5.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 30, 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.

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