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

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.41.2
File Size Uploaded
ceres_engine-0.41.2.tar.gz 3.0 MB Details

Built distributions (wheels)

Table of built distributions (wheels) for ceres-engine 0.41.2
File
ceres_engine-0.41.2-cp314-cp314t-win_amd64.whl CPython 3.14 CPython 3.14 free-threading Windows x86-64 Details
ceres_engine-0.41.2-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.41.2-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.41.2-cp314-cp314t-macosx_11_0_arm64.whl CPython 3.14 CPython 3.14 free-threading macOS 11.0+ ARM64 Details
ceres_engine-0.41.2-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.41.2-cp314-cp314-win_amd64.whl CPython 3.14 CPython 3.14 Windows x86-64 Details
ceres_engine-0.41.2-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.41.2-cp314-cp314-manylinux_2_17_aarch64.manylinux2014_aarch64.whl CPython 3.14 CPython 3.14 Linux glibc 2.17+ ARM64 Details
ceres_engine-0.41.2-cp314-cp314-macosx_11_0_arm64.whl CPython 3.14 CPython 3.14 macOS 11.0+ ARM64 Details
ceres_engine-0.41.2-cp314-cp314-macosx_10_12_x86_64.whl CPython 3.14 CPython 3.14 macOS 10.12+ x86-64 Details

Total release size: 305.1 MB

Release files / ceres_engine-0.41.2.tar.gz

Download URL ceres_engine-0.41.2.tar.gz
Size 3.0 MB
Tags Source
SHA-256 checksum
How to use checksums
64f33f5889bc1b5b2470b52fe47140325139071a6b581181027db435b2537462
BLAKE2b-256 checksum
How to use checksums
caa83903ba23f5795abcaf23c6f265c84e6d9924efea49ad3a57422e08793143
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 10, 2026.

Transparency log

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

Download URL ceres_engine-0.41.2-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
70e62c3c0e5dcc804554d4b8cc8e57d2092f0781714786372be0b407f853fee0
BLAKE2b-256 checksum
How to use checksums
8e6b39a02185c3472cbd8849315429b5736760cd62636b4498f75255bc5a15ba
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 10, 2026.

Transparency log

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

Download URL ceres_engine-0.41.2-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
a0acf21e33d3d6d20a7b0f3b33a2340ac044316bb5ea9e35fc136dab10d9e0e7
BLAKE2b-256 checksum
How to use checksums
effce3522bb6a3374db7aa35be34f1fe7d17c0020268cfcd22cbccbe963d91a3
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 10, 2026.

Transparency log

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

Download URL ceres_engine-0.41.2-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
b6eb1c76828544fba65fed5d6e49689fbd610725aec3f3002a1bff496cf5a4fe
BLAKE2b-256 checksum
How to use checksums
1518ab7c958e06ebffe2038fc9af09303f4fe9d26528f408c5f38d06f090278e
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 10, 2026.

Transparency log

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

Download URL ceres_engine-0.41.2-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
d509b7127446288f9ee306819ec6e66a8d9b0a4d449a866ef0813c67182e8453
BLAKE2b-256 checksum
How to use checksums
4a8aa1b01a35a43484d44f04b968cf79c3337deb920244c8ed766647d3afb3a4
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 10, 2026.

Transparency log

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

Download URL ceres_engine-0.41.2-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
ff4755a664c18129118e0fb51d74f99738e06521c3f9f1a33a87c1ed6e30ef25
BLAKE2b-256 checksum
How to use checksums
747d72935c35a6e78db4772459426054e2ece43f474dfd45ec51e694473e0116
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 10, 2026.

Transparency log

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

Download URL ceres_engine-0.41.2-cp314-cp314-win_amd64.whl
Size 29.1 MB
Tags CPython 3.14 Windows x86-64
SHA-256 checksum
How to use checksums
e075f027903522f6872c2081e1466fb79d5ce0daf9db46c46efc8a9d95d1563a
BLAKE2b-256 checksum
How to use checksums
8db9e74cdf6e16c4fe62854be7da5149f62c0e130034cb2d6bf30308c26adf1e
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 10, 2026.

Transparency log

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

Download URL ceres_engine-0.41.2-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
509f573e00f474bab3f36519581836b8530f2478eba33679246714cc762688ea
BLAKE2b-256 checksum
How to use checksums
836d786a3e146c33dc1c78d08a7321b4c9ff2e9dd1757c5947cf68628e97d399
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 10, 2026.

Transparency log

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

Download URL ceres_engine-0.41.2-cp314-cp314-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Size 31.6 MB
Tags CPython 3.14 Linux glibc 2.17+ ARM64
SHA-256 checksum
How to use checksums
2c5e942beec57714f77c4f50e65376498d6fb6aff195a55aedeb97a85e55324a
BLAKE2b-256 checksum
How to use checksums
fccee5ff19fdbfcb113921ee426ae4b5d799e58597540dad92182008cd2b5eab
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 10, 2026.

Transparency log

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

Download URL ceres_engine-0.41.2-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
2e58fadead5618e43fc4fb63ea3669632bbe6167d4cc50a9925de47dbf6ddca3
BLAKE2b-256 checksum
How to use checksums
0cb34a79c46508999bad98fc2d865ee5617900ddc6d10785041cf608292453c8
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 10, 2026.

Transparency log

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

Download URL ceres_engine-0.41.2-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
28b48fbc04de397647b96ceaf36d58bb2230b4ef92704a7cdeee240c1deccefc
BLAKE2b-256 checksum
How to use checksums
9e39c98d91a035d292178dae77e7a3f796124fdae3d7a7d284fff4597dc24003
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 10, 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