Skip to main content

Auto Pumping

This Python package is meant to provide a generic system for automating high-vacuum pumping systems.

Config

To support arbitrary pumping systems, a configuration file format was created where all valid valve, pump, and stage1 transition can be enumerated. Using this configuration file, the safety of any given valve transition can be evaluated, and the system automated. This configuration file format is documented here.

Solver

To support automated pumping of the vacuum system a solver was implemented using the information in the configuration file. This information is used to build a directed graph of all valid pumping system states where discretized pressure is included. After this directed graph is built, Dijkstra's algorithm is used for find the optimal method for pumping or venting the system, or reaching any other state. The built graph can be viewed by running: python -m auto_pumping -c config/config.yaml network.

UI

A NiceGUI based UI is also included. It is automatically built based on the configuration file. Manual valve, pump, and stage actions require confirmation, and auto mode displays the proposed plan for approval before execution; configured per-step confirmations remain in effect. A dummy pumping system is available as an example and can be run with: python -m auto_pumping -c config/config.yaml run.

Getting Started

To implement automated pumping for your system subclass the AutoPumping class and define the following methods:

  • get_valve_state(valve)
  • actuate_valve(valve, state)
  • get_pump_state(pump)
  • set_pump(pump, state)
  • get_pump_current(pump)
  • get_pump_voltage(pump)
  • get_pump_flow(pump)
  • get_pump_speed(pump)
  • get_gauge_pressure(gauge)
  • get_stage_position()
  • move_stage(position)

If you would like to add more fields to the configuration file for your specific hardware, subclass the Config class and set the AutoPumping.CONFIG_CLASS variable to your new config class.

To allow the system to be easily started, you can use the provided main() function. Simply run main(<your_auto_pumping_subclass>), for example:

from auto_pumping.__main__ import main


if __name__ == "__main__":
    main(<your_auto_pumping_subclass>)

Finally, a diagram can be added to the UI by setting the AutoPumping.DIAGRAM_PATH variable to the path to a diagram image of your system.

  1. this library was originally written for a custom microscope system. ↩

Metadata

Release files for AutoPumping 0.3.0

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

Source distribution (sdist)

Source distribution for AutoPumping 0.3.0
File Size Uploaded
autopumping-0.3.0.tar.gz 31.6 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for AutoPumping 0.3.0
File Interpreter ABI Platform
autopumping-0.3.0-py3-none-any.whl Python 3 none any Details

Total release size: 56.3 kB

Release files / autopumping-0.3.0.tar.gz

Download URL autopumping-0.3.0.tar.gz
Size 31.6 kB
Tags Source
SHA-256 checksum
How to use checksums
04a80395ceb45c9816ea0ddba88441b19d845ddd747137030aa620c63ced1351
BLAKE2b-256 checksum
How to use checksums
16cb058862bc824b5a0200fabe8ebd868fd570cb4f7c5c6c47aa1de1ca655f4b
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

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 13, 2026.

Transparency log

Release files / autopumping-0.3.0-py3-none-any.whl

Download URL autopumping-0.3.0-py3-none-any.whl
Size 24.6 kB
Tags Python 3
SHA-256 checksum
How to use checksums
bfa547aac916ea67d9737bb060b73b28534dc41f767dc59f84588183ddf8d675
BLAKE2b-256 checksum
How to use checksums
398113658cdad0c7ddbecb63d3365b5462614467a17b2e891454c0466c346d76
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

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 13, 2026.

Transparency log

Release history Release notifications | RSS feed

This release

0.3.0 This release

2 release files

0.2.2

2 release files

0.2.1

2 release files

0.2.0

2 release files

0.1.2

2 release files

0.1.1

2 release files

0.1.0

2 release files

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