Skip to main content

Ceres

Python Coverage: 87% Rust Coverage: 72%

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.42.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.42.0
File Size Uploaded
ceres_engine-0.42.0.tar.gz 3.0 MB Details

Built distributions (wheels)

Table of built distributions (wheels) for ceres-engine 0.42.0
File
ceres_engine-0.42.0-cp314-cp314t-win_amd64.whl CPython 3.14 CPython 3.14 free-threading Windows x86-64 Details
ceres_engine-0.42.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.42.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.42.0-cp314-cp314t-macosx_11_0_arm64.whl CPython 3.14 CPython 3.14 free-threading macOS 11.0+ ARM64 Details
ceres_engine-0.42.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.42.0-cp314-cp314-win_amd64.whl CPython 3.14 CPython 3.14 Windows x86-64 Details
ceres_engine-0.42.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.42.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.42.0-cp314-cp314-macosx_11_0_arm64.whl CPython 3.14 CPython 3.14 macOS 11.0+ ARM64 Details
ceres_engine-0.42.0-cp314-cp314-macosx_10_12_x86_64.whl CPython 3.14 CPython 3.14 macOS 10.12+ x86-64 Details

Total release size: 305.3 MB

Release files / ceres_engine-0.42.0.tar.gz

Download URL ceres_engine-0.42.0.tar.gz
Size 3.0 MB
Tags Source
SHA-256 checksum
How to use checksums
2cec387db2c07d60fc1bce550f7713690d020957a0af53790b2edac3bede8791
BLAKE2b-256 checksum
How to use checksums
3cddc4bb1057e6c9018070832f670ccb566d2676a51cab862bf405f1545dd571
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 Aug 14, 2026.

Transparency log

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

Download URL ceres_engine-0.42.0-cp314-cp314t-win_amd64.whl
Size 29.1 MB
Tags CPython 3.14 CPython 3.14 free-threading Windows x86-64
SHA-256 checksum
How to use checksums
715ee8f5c65800498cc122c2b8a6a6894a14f01b12913f02afbd464a9dae0344
BLAKE2b-256 checksum
How to use checksums
1cdf4732b0a4087f11dab3639ec2f329d5e16847e3280e8715116c49c20c5e32
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 Aug 14, 2026.

Transparency log

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

Download URL ceres_engine-0.42.0-cp314-cp314t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Size 31.6 MB
Tags CPython 3.14 CPython 3.14 free-threading Linux glibc 2.17+ x86-64
SHA-256 checksum
How to use checksums
0d27db105ac58b8b742607668df60bcbb42c17b1994043fecdb5bd52104d781b
BLAKE2b-256 checksum
How to use checksums
7e34a13c77dfd5d97264de5adb28e8b9867041bea748a355672ed2d1783866b1
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 Aug 14, 2026.

Transparency log

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

Download URL ceres_engine-0.42.0-cp314-cp314t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Size 31.7 MB
Tags CPython 3.14 CPython 3.14 free-threading Linux glibc 2.17+ ARM64
SHA-256 checksum
How to use checksums
847e6ea196e20d0cf8f5920ae7fa5ff0d3def1a649c03620116a26d8f8101fa4
BLAKE2b-256 checksum
How to use checksums
414b26ff36f5fb7a7d94abb6e72d9ecfe30e094c846e208669701d37a565d4d8
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 Aug 14, 2026.

Transparency log

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

Download URL ceres_engine-0.42.0-cp314-cp314t-macosx_11_0_arm64.whl
Size 28.7 MB
Tags CPython 3.14 CPython 3.14 free-threading macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
cbf834146f605eae5c02dd0dd2970de3b193ece0bcb62e228de5dd167a94ae49
BLAKE2b-256 checksum
How to use checksums
8aca00763167307228c04558057b435665adc47cff3b6d52e647be8d2dfb322d
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 Aug 14, 2026.

Transparency log

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

Download URL ceres_engine-0.42.0-cp314-cp314t-macosx_10_12_x86_64.whl
Size 30.0 MB
Tags CPython 3.14 CPython 3.14 free-threading macOS 10.12+ x86-64
SHA-256 checksum
How to use checksums
5d01d57b9ded482fbd5d8287a7e11b876fd9dd6cf342a41096a93e733d591826
BLAKE2b-256 checksum
How to use checksums
3675407d11ea57542b5643aa557d158ebf2e057edda919b422b0aaaf0a02fd3e
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 Aug 14, 2026.

Transparency log

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

Download URL ceres_engine-0.42.0-cp314-cp314-win_amd64.whl
Size 29.1 MB
Tags CPython 3.14 Windows x86-64
SHA-256 checksum
How to use checksums
be0449d6b5ff69071ce0c9f2bc4cddfaaef5c831df0950484e3eea6b45cf5269
BLAKE2b-256 checksum
How to use checksums
d7d8d774574a83ca0c5e6b19e6154907c0385f576cbe59f22f958103444968b7
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 Aug 14, 2026.

Transparency log

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

Download URL ceres_engine-0.42.0-cp314-cp314-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Size 31.6 MB
Tags CPython 3.14 Linux glibc 2.17+ x86-64
SHA-256 checksum
How to use checksums
749100e60bd4c2fdb7192b445724ccfff3eac4033cff23686c20ee1768fd8276
BLAKE2b-256 checksum
How to use checksums
7adce85ca7e5aedb46aee38bc259dc0a7c0b5c5c4970049a2055283756d48149
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 Aug 14, 2026.

Transparency log

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

Download URL ceres_engine-0.42.0-cp314-cp314-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Size 31.7 MB
Tags CPython 3.14 Linux glibc 2.17+ ARM64
SHA-256 checksum
How to use checksums
3f76bb0de091e450b0299f2aaaf50c570a7028cfa0f2d3e78fb4deac2dc72952
BLAKE2b-256 checksum
How to use checksums
dc7c388efa468be8f055eac27143962b4b12244b1c178f8158850ffa38d62ef1
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 Aug 14, 2026.

Transparency log

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

Download URL ceres_engine-0.42.0-cp314-cp314-macosx_11_0_arm64.whl
Size 28.7 MB
Tags CPython 3.14 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
70a88ad75ce29c12c35c94a6d97f6503d50af7c322f4dc250b84d501ff084100
BLAKE2b-256 checksum
How to use checksums
ad1f5aaac460ad95190195d00ad417a4dab7d1e44a9897294c4f054dbecb7e4e
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 Aug 14, 2026.

Transparency log

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

Download URL ceres_engine-0.42.0-cp314-cp314-macosx_10_12_x86_64.whl
Size 30.0 MB
Tags CPython 3.14 macOS 10.12+ x86-64
SHA-256 checksum
How to use checksums
a1de4f86742e3256448372369538bd4c37e5a7956a4e02fd287926606200a82d
BLAKE2b-256 checksum
How to use checksums
e77ea72656e208d518cb989935c120da64f9679fb8a08eaf69418f38778e410f
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 Aug 14, 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