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

Built distributions (wheels)

Table of built distributions (wheels) for ceres-engine 0.41.1
File
ceres_engine-0.41.1-cp314-cp314t-win_amd64.whl CPython 3.14 CPython 3.14 free-threading Windows x86-64 Details
ceres_engine-0.41.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.41.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.41.1-cp314-cp314t-macosx_11_0_arm64.whl CPython 3.14 CPython 3.14 free-threading macOS 11.0+ ARM64 Details
ceres_engine-0.41.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.41.1-cp314-cp314-win_amd64.whl CPython 3.14 CPython 3.14 Windows x86-64 Details
ceres_engine-0.41.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.41.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.41.1-cp314-cp314-macosx_11_0_arm64.whl CPython 3.14 CPython 3.14 macOS 11.0+ ARM64 Details
ceres_engine-0.41.1-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.1.tar.gz

Download URL ceres_engine-0.41.1.tar.gz
Size 3.0 MB
Tags Source
SHA-256 checksum
How to use checksums
0ce1cef52ae48b40a7107f9673f0ea439ca78db3e2e08b8c79d20bf7dbf9256e
BLAKE2b-256 checksum
How to use checksums
a36381fbb2ccdb511272390b49d3a60be2c55196b98c7b17a8f8eb6b4f083e10
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 7, 2026.

Transparency log

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

Download URL ceres_engine-0.41.1-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
2baa19fd71cc7c700f4c8622ab52790b4d23bb9075ca3cf8df04da05006e7977
BLAKE2b-256 checksum
How to use checksums
38618fd94594f7694c505ee9fbd4b52a7bccd2473bcfa67a05f116fe0532cb4d
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 7, 2026.

Transparency log

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

Download URL ceres_engine-0.41.1-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
038f4ec28c6c12d10ae0c573776d655ec991de20c24821cbc92f5334d17ce599
BLAKE2b-256 checksum
How to use checksums
393155c68f275cb9fc153d4dd761527f0f10ba8527d96165ab4497f47d0d2e50
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 7, 2026.

Transparency log

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

Download URL ceres_engine-0.41.1-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
d4cf43057f295f973f31e9afbbeadad10c2ad90f6dd06058e90a4b93d13d1220
BLAKE2b-256 checksum
How to use checksums
ffc2ba4c0c5a804af2b4c5a00ac33b4cdcdfc88b187c9e452fcb0848699939c1
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 7, 2026.

Transparency log

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

Download URL ceres_engine-0.41.1-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
f59cca3fefe26ac31e098bef40824022a17b31e438bbe146fb599af052efc5f2
BLAKE2b-256 checksum
How to use checksums
0328530898b677414b5a55a7084b768eb0b0a5cc9ecf22557058a928d4827186
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 7, 2026.

Transparency log

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

Download URL ceres_engine-0.41.1-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
a67043bc1c7629a4cb50f1fd378a666297ccb18abfdde4d524447f20c2557f88
BLAKE2b-256 checksum
How to use checksums
0df22650bad31b1ecb77da40fae1eb8ab1f1f3095194c0511b71b4c3fb7f77da
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 7, 2026.

Transparency log

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

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

Transparency log

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

Download URL ceres_engine-0.41.1-cp314-cp314-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Size 31.5 MB
Tags CPython 3.14 Linux glibc 2.17+ x86-64
SHA-256 checksum
How to use checksums
f8b12b065d77c6809fd9b6b36e2fb6bb9b388bae2d13d477118a7c399524f66b
BLAKE2b-256 checksum
How to use checksums
19b50f55da46b9e3ff29fef66e633d1adc3b7e6f6cf6d6f2a4510709e60d17f7
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 7, 2026.

Transparency log

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

Download URL ceres_engine-0.41.1-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
0461d8ceebc6657caa84e7a2ca123f949b9eee4a97cff831733895fcb5a5119c
BLAKE2b-256 checksum
How to use checksums
7c93df965bb3d30df7366a3d3375a42669e5849e5f9d9078d2edbda772619333
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 7, 2026.

Transparency log

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

Download URL ceres_engine-0.41.1-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
a46e8841d3fd23fd512a644bd6e10cf38fb11ff87a400d28656e3eb29fdccad4
BLAKE2b-256 checksum
How to use checksums
d64f2e9819b53928c72e3df4b6c4df2865c53bd2934a612fbe8e7fc40b7e2b57
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 7, 2026.

Transparency log

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

Download URL ceres_engine-0.41.1-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
0f65fb03511d7ceba56e57ceba3d61c88d237aa3930b98df983dc92d3d6e31d4
BLAKE2b-256 checksum
How to use checksums
2148b3b493e1e5fa0ac7db5828f23a8c2b68a98614788ba1788f96af2360475e
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 7, 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