Skip to main content

Ceres

Python Coverage: 87% Rust Coverage: 71%

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.48.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.48.0
File Size Uploaded
ceres_engine-0.48.0.tar.gz 15.3 MB Details

Built distributions (wheels)

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

Total release size: 330.2 MB

Release files / ceres_engine-0.48.0.tar.gz

Download URL ceres_engine-0.48.0.tar.gz
Size 15.3 MB
Tags Source
SHA-256 checksum
How to use checksums
c64795a6096269044413ea2e2e9ab2cc4a9af404d2303d669ea21c37e2927f1a
BLAKE2b-256 checksum
How to use checksums
4f09340396626022c5f5f5d8b38ce481a4247cf9423dc3c83b119363059410e4
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 1, 2026.

Transparency log

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

Download URL ceres_engine-0.48.0-cp314-cp314t-win_amd64.whl
Size 30.1 MB
Tags CPython 3.14 CPython 3.14 free-threading Windows x86-64
SHA-256 checksum
How to use checksums
fcaf6b8ba4f5eee790f52879f249ad70f596d250b82767701cdf1b165d980480
BLAKE2b-256 checksum
How to use checksums
5d1e53664e7fb9413d19ad8896558527e88be22488980dd1a216fa4e64f63eb2
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 1, 2026.

Transparency log

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

Download URL ceres_engine-0.48.0-cp314-cp314t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Size 32.9 MB
Tags CPython 3.14 CPython 3.14 free-threading Linux glibc 2.17+ x86-64
SHA-256 checksum
How to use checksums
a06bc8de33b4adb2b1b4120e50c2c75962d951c137a2a4e5364862cd1cfd8457
BLAKE2b-256 checksum
How to use checksums
901cc584b5f80287bbd2b32ca7ceb590dc89ee595b7a60e1a9c23f349aa49931
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 1, 2026.

Transparency log

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

Download URL ceres_engine-0.48.0-cp314-cp314t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Size 33.1 MB
Tags CPython 3.14 CPython 3.14 free-threading Linux glibc 2.17+ ARM64
SHA-256 checksum
How to use checksums
8438af6ee53993721ae269e3da9f61fcbb4137c931c6b1cdbfeab0bf9b65b6cf
BLAKE2b-256 checksum
How to use checksums
f0a98204181b36a15c0c7753ac7a898cb8da9fbc394f0c63bb3a0d323a31cf30
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 1, 2026.

Transparency log

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

Download URL ceres_engine-0.48.0-cp314-cp314t-macosx_11_0_arm64.whl
Size 30.0 MB
Tags CPython 3.14 CPython 3.14 free-threading macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
fa3dcab9e2e822b3b06d870c41b48faf2956be507cc78f39852f0ced221e08ae
BLAKE2b-256 checksum
How to use checksums
7f3d966a13d0e2017c284e8ef909626514e351413fafac87127938e2d89a302b
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 1, 2026.

Transparency log

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

Download URL ceres_engine-0.48.0-cp314-cp314t-macosx_10_12_x86_64.whl
Size 31.2 MB
Tags CPython 3.14 CPython 3.14 free-threading macOS 10.12+ x86-64
SHA-256 checksum
How to use checksums
9f0cf26f450a8ab95065ca749f01457dcd0bcf8029e60d292446a8fa914f93df
BLAKE2b-256 checksum
How to use checksums
2cc9b3f0b6581efbe007e172fe81a6a27dba7c72d87b3cbac7fb6fa712a9ebac
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 1, 2026.

Transparency log

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

Download URL ceres_engine-0.48.0-cp314-cp314-win_amd64.whl
Size 30.1 MB
Tags CPython 3.14 Windows x86-64
SHA-256 checksum
How to use checksums
1fa6b0dcdf987545b9c53747b3bf9c369bf9628961d8459680d0e8d9347677c8
BLAKE2b-256 checksum
How to use checksums
e87da61380570d4a640e3c473c8b86c36c7272893049069df90bbcf95d757000
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 1, 2026.

Transparency log

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

Download URL ceres_engine-0.48.0-cp314-cp314-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Size 32.9 MB
Tags CPython 3.14 Linux glibc 2.17+ x86-64
SHA-256 checksum
How to use checksums
97a7b6da62c73a17c98d4f890bd74e0c963538c673f68a0b2a71bfc0b3a55c90
BLAKE2b-256 checksum
How to use checksums
1443dfc8f94f569d04cd283edc49b88b17c6529eb1513b6399e3e29568626544
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 1, 2026.

Transparency log

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

Download URL ceres_engine-0.48.0-cp314-cp314-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Size 33.1 MB
Tags CPython 3.14 Linux glibc 2.17+ ARM64
SHA-256 checksum
How to use checksums
fb24b655e8a4fdcef6897e603cafb3542a0ddb919101016ec6431f8bd2326f4a
BLAKE2b-256 checksum
How to use checksums
d87a0c306d1dad24f38302779db126ec2f868cdbbc4e2ba3a8f50a3f36487be6
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 1, 2026.

Transparency log

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

Download URL ceres_engine-0.48.0-cp314-cp314-macosx_11_0_arm64.whl
Size 30.0 MB
Tags CPython 3.14 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
67a22524387e9d9dc6c46bc8fb03aac3ead4cf536f347c52f797f9644fcf1422
BLAKE2b-256 checksum
How to use checksums
f015d783410c67e835cd8372334575ff668911cdfd9a80a6de358705b9af3d30
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 1, 2026.

Transparency log

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

Download URL ceres_engine-0.48.0-cp314-cp314-macosx_10_12_x86_64.whl
Size 31.2 MB
Tags CPython 3.14 macOS 10.12+ x86-64
SHA-256 checksum
How to use checksums
f41e2280e32cba3c0ea49112b165715203aef82513c0fbda4ef7543b59523de3
BLAKE2b-256 checksum
How to use checksums
31d80371b055b30c3e7004ee215f95828a10e32e99c889e65611afa7d3ea2110
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 1, 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