Skip to main content

Ceres

Python Coverage: 88% Rust Coverage: 75%

Ceres is a Python framework for building data collection, monitoring, and device control systems. It takes ideas from service management tools like Docker and SystemD, scales them down, and applies them to Python objects called components.

Components are async Python classes that run concurrently, communicate through events, and persist their state in a database. They can connect to remote instruments over TCP, parse incoming data into structured records, emit alerts, and be managed through a CLI or web console.

architecture

Where Ceres Is Used

Ceres was built at the University of Washington Applied Physics Laboratory (APL) to power instrument drivers for the Ocean Observatories Initiative (OOI) Regional Cabled Array (RCA). Ceres runs on Linux, macOS, and Windows. In its current production deployment, it runs on physical Linux servers connected to oceanographic instruments (acoustic current profilers, pressure gauges, pH sensors, etc.), collecting and processing real-time data streams over TCP.

That said, Ceres is a general-purpose framework. It can manage any collection of async Python components that need lifecycle control, event handling, scheduling, and persistence.

Quick Example

from ceres import Component, routine, sleep


class Counter(Component):
    initial: int
    delta: int = 1

    @routine
    async def count(self) -> None:
        count = self.initial
        while True:
            self.system.log.info(count)
            await sleep(1)
            count += self.delta
# ceres.yaml
database:
  type: sqlite
  path: ./database.sqlite

components:
  - name: counter-a
    class: counter.Counter
    arguments:
      initial: 5
  - name: counter-b
    class: counter.Counter
    arguments:
      initial: 100
      delta: -5
ceres run all             # Run both components in the foreground.
ceres service start       # Or run as a background service.
ceres status              # Check engine and component states.
ceres start all           # Start all components.
ceres enable all          # Auto-start components on engine startup.
ceres service stop        # Stop the background service.

Documentation

The documentation is published at ooi-rca-apl.github.io/ceres.

Start here:

Reference, generated from the code and checked in CI:

Contributing:

  • Development: Set up a dev environment and contribute to Ceres.

Metadata

Release files for ceres-engine 0.49.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 ceres-engine 0.49.0
File Size Uploaded
ceres_engine-0.49.0.tar.gz 15.8 MB Details

Built distributions (wheels)

Table of built distributions (wheels) for ceres-engine 0.49.0
File
ceres_engine-0.49.0-cp314-cp314t-win_amd64.whl CPython 3.14 CPython 3.14 free-threading Windows x86-64 Details
ceres_engine-0.49.0-cp314-cp314t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl CPython 3.14 CPython 3.14 free-threading Linux glibc 2.17+ x86-64 Details
ceres_engine-0.49.0-cp314-cp314t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl CPython 3.14 CPython 3.14 free-threading Linux glibc 2.17+ ARM64 Details
ceres_engine-0.49.0-cp314-cp314t-macosx_11_0_arm64.whl CPython 3.14 CPython 3.14 free-threading macOS 11.0+ ARM64 Details
ceres_engine-0.49.0-cp314-cp314t-macosx_10_12_x86_64.whl CPython 3.14 CPython 3.14 free-threading macOS 10.12+ x86-64 Details
ceres_engine-0.49.0-cp314-cp314-win_amd64.whl CPython 3.14 CPython 3.14 Windows x86-64 Details
ceres_engine-0.49.0-cp314-cp314-manylinux_2_17_x86_64.manylinux2014_x86_64.whl CPython 3.14 CPython 3.14 Linux glibc 2.17+ x86-64 Details
ceres_engine-0.49.0-cp314-cp314-manylinux_2_17_aarch64.manylinux2014_aarch64.whl CPython 3.14 CPython 3.14 Linux glibc 2.17+ ARM64 Details
ceres_engine-0.49.0-cp314-cp314-macosx_11_0_arm64.whl CPython 3.14 CPython 3.14 macOS 11.0+ ARM64 Details
ceres_engine-0.49.0-cp314-cp314-macosx_10_12_x86_64.whl CPython 3.14 CPython 3.14 macOS 10.12+ x86-64 Details

Total release size: 376.8 MB

Release files / ceres_engine-0.49.0.tar.gz

Download URL ceres_engine-0.49.0.tar.gz
Size 15.8 MB
Tags Source
SHA-256 checksum
How to use checksums
16c6f8a8288e5a7f60e537a1aa4b2380869f948407dd95003fddb46b1c8b5ef8
BLAKE2b-256 checksum
How to use checksums
34e0a9784a3ca06384e6e4343575deb5b239512af074b16351b0084e99157800
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 16, 2026.

Transparency log

Release files / ceres_engine-0.49.0-cp314-cp314t-win_amd64.whl

Download URL ceres_engine-0.49.0-cp314-cp314t-win_amd64.whl
Size 35.2 MB
Tags CPython 3.14 CPython 3.14 free-threading Windows x86-64
SHA-256 checksum
How to use checksums
303efc762cc5b042f488b2cf2db246d1511752c07e14ee6cb4f186fc088be814
BLAKE2b-256 checksum
How to use checksums
c0bd40e639ce868a5406dff61ee66df54636a29045f6343e5c35f3e77dee98b1
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 16, 2026.

Transparency log

Release files / ceres_engine-0.49.0-cp314-cp314t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl

Download URL ceres_engine-0.49.0-cp314-cp314t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Size 37.6 MB
Tags CPython 3.14 CPython 3.14 free-threading Linux glibc 2.17+ x86-64
SHA-256 checksum
How to use checksums
133116e12bb117f9dd320438fc10874648704a5e7ade65087495e8619e4c7916
BLAKE2b-256 checksum
How to use checksums
c2cbb43e67bfdb69b8170f5701253c2672f32b6052a03e0128c4a1c2666bf8fd
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 16, 2026.

Transparency log

Release files / ceres_engine-0.49.0-cp314-cp314t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl

Download URL ceres_engine-0.49.0-cp314-cp314t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Size 37.6 MB
Tags CPython 3.14 CPython 3.14 free-threading Linux glibc 2.17+ ARM64
SHA-256 checksum
How to use checksums
58433a3fcb55f95bedf2bd37fdb9831a67cb9c6d53aa175124ad3e3ced210023
BLAKE2b-256 checksum
How to use checksums
4d840616626a44a609fe75d0ab3af1e37a053995db31a0c51e20bbefceb758e0
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 16, 2026.

Transparency log

Release files / ceres_engine-0.49.0-cp314-cp314t-macosx_11_0_arm64.whl

Download URL ceres_engine-0.49.0-cp314-cp314t-macosx_11_0_arm64.whl
Size 34.3 MB
Tags CPython 3.14 CPython 3.14 free-threading macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
8d913eeac92401915b2e93ce3c830e875059f4548f3dd555c137371f252cbfa5
BLAKE2b-256 checksum
How to use checksums
15d63337c82bc71206153b8f3cf6cb256c5e4c164ee8206029b5c959215fec28
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 16, 2026.

Transparency log

Release files / ceres_engine-0.49.0-cp314-cp314t-macosx_10_12_x86_64.whl

Download URL ceres_engine-0.49.0-cp314-cp314t-macosx_10_12_x86_64.whl
Size 35.8 MB
Tags CPython 3.14 CPython 3.14 free-threading macOS 10.12+ x86-64
SHA-256 checksum
How to use checksums
11945787d9fcac455100c87f10400b6952ea5e9c330c04fefad23fc1fb092c55
BLAKE2b-256 checksum
How to use checksums
0319c3cd4b89f0a22b1cbf3aeae753d7c98b1299c1c8dbe1cdd8d5dc7ec539d2
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 16, 2026.

Transparency log

Release files / ceres_engine-0.49.0-cp314-cp314-win_amd64.whl

Download URL ceres_engine-0.49.0-cp314-cp314-win_amd64.whl
Size 35.2 MB
Tags CPython 3.14 Windows x86-64
SHA-256 checksum
How to use checksums
4c35e7f05283027938f6d909af06a669895670b68f5f9bf4c90e0debda42762c
BLAKE2b-256 checksum
How to use checksums
2340f269203c1be2974e98604f5b84c8c875992e2a56efca155c772f609916af
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 16, 2026.

Transparency log

Release files / ceres_engine-0.49.0-cp314-cp314-manylinux_2_17_x86_64.manylinux2014_x86_64.whl

Download URL ceres_engine-0.49.0-cp314-cp314-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Size 37.6 MB
Tags CPython 3.14 Linux glibc 2.17+ x86-64
SHA-256 checksum
How to use checksums
ffc5c135b4df19bd41c9f28be9a3239408b5ffbc144a8b863f6ed25f2acfddd5
BLAKE2b-256 checksum
How to use checksums
f03881e25b786be4e467c809f1efd5f29f28f3e369ad2ae994c1a4f8fda7341a
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 16, 2026.

Transparency log

Release files / ceres_engine-0.49.0-cp314-cp314-manylinux_2_17_aarch64.manylinux2014_aarch64.whl

Download URL ceres_engine-0.49.0-cp314-cp314-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Size 37.6 MB
Tags CPython 3.14 Linux glibc 2.17+ ARM64
SHA-256 checksum
How to use checksums
0e33f2db834d2e5b139cc0d47a2e165a7cd3ebfeea63fbff867bd3f9166a03e4
BLAKE2b-256 checksum
How to use checksums
1b2854180243c44d7e88e611a4447a5b8830ef8e5c7e76badeb6cc395145a6f8
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 16, 2026.

Transparency log

Release files / ceres_engine-0.49.0-cp314-cp314-macosx_11_0_arm64.whl

Download URL ceres_engine-0.49.0-cp314-cp314-macosx_11_0_arm64.whl
Size 34.3 MB
Tags CPython 3.14 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
7b2d9886e36eda7811250caa95f0e02ba5d8998dfc7c0808758b6dac501a2458
BLAKE2b-256 checksum
How to use checksums
b94d1547bd4def800d6ac32c52b9296962dd726e65beb7ce1e7eebf227670492
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 16, 2026.

Transparency log

Release files / ceres_engine-0.49.0-cp314-cp314-macosx_10_12_x86_64.whl

Download URL ceres_engine-0.49.0-cp314-cp314-macosx_10_12_x86_64.whl
Size 35.8 MB
Tags CPython 3.14 macOS 10.12+ x86-64
SHA-256 checksum
How to use checksums
e78246aae076686acd8bde4cc52dea57d78e21891aaec4c99fd0745c9e264f64
BLAKE2b-256 checksum
How to use checksums
bc2600097b7b18e735d13f3108e3810671c5adc392cd29b71dba17c957f5d19a
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 16, 2026.

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