Skip to main content

Ceres

Python Coverage: 88% 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.44.1

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.44.1
File Size Uploaded
ceres_engine-0.44.1.tar.gz 2.0 MB Details

Built distributions (wheels)

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

Total release size: 295.0 MB

Release files / ceres_engine-0.44.1.tar.gz

Download URL ceres_engine-0.44.1.tar.gz
Size 2.0 MB
Tags Source
SHA-256 checksum
How to use checksums
6120f000057aaa598d1da355e08bcef79d5a57ae028eb96a83d62f2bdd9d9039
BLAKE2b-256 checksum
How to use checksums
38d126ceef65b2732771e0088f1ea794c16a21966c1cc2dc8ef116b9d7ca0a9d
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 18, 2026.

Transparency log

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

Download URL ceres_engine-0.44.1-cp314-cp314t-win_amd64.whl
Size 28.2 MB
Tags CPython 3.14 CPython 3.14 free-threading Windows x86-64
SHA-256 checksum
How to use checksums
efb71d701351fafd393b1e16be792053496672fe9ee1e355252d00095dccf38e
BLAKE2b-256 checksum
How to use checksums
2b606fb1ff26a78175f0ab0405789b6d9cee5cca8254d0b889df81c8c78c5f86
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 18, 2026.

Transparency log

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

Download URL ceres_engine-0.44.1-cp314-cp314t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Size 30.7 MB
Tags CPython 3.14 CPython 3.14 free-threading Linux glibc 2.17+ x86-64
SHA-256 checksum
How to use checksums
a591c7762c1660b1015e28c56e1a91fd04f79b73548ee6c61bf8408d676b9ac5
BLAKE2b-256 checksum
How to use checksums
c6211809cf894aa46b4b7277e8a68988439dbd3e7e110889e02bfda333d47a78
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 18, 2026.

Transparency log

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

Download URL ceres_engine-0.44.1-cp314-cp314t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Size 30.8 MB
Tags CPython 3.14 CPython 3.14 free-threading Linux glibc 2.17+ ARM64
SHA-256 checksum
How to use checksums
40d5c80e8342b77d4d28a1f1f66bb94c4bdb9381c61cc631884ddd1b4603e02a
BLAKE2b-256 checksum
How to use checksums
8557deba53d29d73f6c4a0a7471608620aef17fd10d1df850ee180808b70ae5d
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 18, 2026.

Transparency log

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

Download URL ceres_engine-0.44.1-cp314-cp314t-macosx_11_0_arm64.whl
Size 27.8 MB
Tags CPython 3.14 CPython 3.14 free-threading macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
896889142e6da02542c075a93c08f6004ed1f16efd6696178f01928d6bb3da60
BLAKE2b-256 checksum
How to use checksums
ead069fd5b60c64b237eab096539c270131e164a6a5c2dde0a81e20b783fb953
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 18, 2026.

Transparency log

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

Download URL ceres_engine-0.44.1-cp314-cp314t-macosx_10_12_x86_64.whl
Size 29.1 MB
Tags CPython 3.14 CPython 3.14 free-threading macOS 10.12+ x86-64
SHA-256 checksum
How to use checksums
31c3baf796bba37eb7a06968a6126590fc87109544e0627f418f02e1d7b3980c
BLAKE2b-256 checksum
How to use checksums
d0f58ce0b09b54a70c7ba8f8d7cdac13e40e72eeb8331922c1a642fe7b837569
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 18, 2026.

Transparency log

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

Download URL ceres_engine-0.44.1-cp314-cp314-win_amd64.whl
Size 28.2 MB
Tags CPython 3.14 Windows x86-64
SHA-256 checksum
How to use checksums
f3fc371d64072124974d504de2fb7a2401d707fed78a10bef8ad8b8ae959b816
BLAKE2b-256 checksum
How to use checksums
ab909494d41bc7f3ae256391650b590e5ed48e836882df6335982a0e9d053264
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 18, 2026.

Transparency log

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

Download URL ceres_engine-0.44.1-cp314-cp314-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Size 30.7 MB
Tags CPython 3.14 Linux glibc 2.17+ x86-64
SHA-256 checksum
How to use checksums
4b282ec4cf6a42fba336ef68da987f3dbda9d6e530d0dcac49e7cd5995230b40
BLAKE2b-256 checksum
How to use checksums
83903b3132b13d4c66eb54b051fd86ba5282ae8f5a6d28cc98bcb0d041370857
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 18, 2026.

Transparency log

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

Download URL ceres_engine-0.44.1-cp314-cp314-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Size 30.8 MB
Tags CPython 3.14 Linux glibc 2.17+ ARM64
SHA-256 checksum
How to use checksums
709c786e83303a93ff97c561c59516e60a96b9846e8e271cfac468ba745009f8
BLAKE2b-256 checksum
How to use checksums
38023c8edf4248c0eed5d24e4f72c39626eb691427797ccbddc3d138ec99dc1e
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 18, 2026.

Transparency log

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

Download URL ceres_engine-0.44.1-cp314-cp314-macosx_11_0_arm64.whl
Size 27.8 MB
Tags CPython 3.14 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
414cd2f833c1c7a8a3ae4d844691531aeca7367da3edd51da4ce5c246ec56638
BLAKE2b-256 checksum
How to use checksums
b9aa09cdd686a09183188e734c5e2cdb0c9983a8bee95cd82e4c4b136af67812
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 18, 2026.

Transparency log

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

Download URL ceres_engine-0.44.1-cp314-cp314-macosx_10_12_x86_64.whl
Size 29.1 MB
Tags CPython 3.14 macOS 10.12+ x86-64
SHA-256 checksum
How to use checksums
9995273bdf00da80b73e2ed90b46405d36af080df00f42a551b477fd6c75f2b4
BLAKE2b-256 checksum
How to use checksums
68428c9cc21f4703c1f37d342380c38f38410ddd4957ce52f56e1aaed110133a
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 18, 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