Skip to main content

Ceres

Python Coverage: 88% Rust Coverage: 75%

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.49.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.49.2
File Size Uploaded
ceres_engine-0.49.2.tar.gz 15.8 MB Details

Built distributions (wheels)

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

Total release size: 377.2 MB

Release files / ceres_engine-0.49.2.tar.gz

Download URL ceres_engine-0.49.2.tar.gz
Size 15.8 MB
Tags Source
SHA-256 checksum
How to use checksums
8cead8ef818db51cc3b442c79103ad51bb3f68409092b8e7530a02f750338840
BLAKE2b-256 checksum
How to use checksums
a3921119317f955a55d1446e002f75c31ad4b6fd5790f983d2362a6a1da2d84e
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 16, 2026.

Transparency log

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

Download URL ceres_engine-0.49.2-cp314-cp314t-win_amd64.whl
Size 35.2 MB
Tags CPython 3.14 CPython 3.14 free-threading Windows x86-64
SHA-256 checksum
How to use checksums
40c865b740aa08ec079575bb89f0a739f14cd4cc02a038568ee01bae53ef80fc
BLAKE2b-256 checksum
How to use checksums
36c20784b08f41a870937f371da262ad95ee29801b35ebc850029030a2f174e2
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 16, 2026.

Transparency log

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

Download URL ceres_engine-0.49.2-cp314-cp314t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Size 37.6 MB
Tags CPython 3.14 CPython 3.14 free-threading Linux glibc 2.17+ x86-64
SHA-256 checksum
How to use checksums
917048a32c9e1181eac08a3f09e59f4a23381143ff52eb16644529d715690649
BLAKE2b-256 checksum
How to use checksums
df3390264199eecdeaa788de8904feb742bbf923e8013da055642b7e833c1ebc
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 16, 2026.

Transparency log

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

Download URL ceres_engine-0.49.2-cp314-cp314t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Size 37.6 MB
Tags CPython 3.14 CPython 3.14 free-threading Linux glibc 2.17+ ARM64
SHA-256 checksum
How to use checksums
f54a9f48aaa13adedbda4c548d63c7f67b412819f9853fd3a450cab9ba9f12dc
BLAKE2b-256 checksum
How to use checksums
7f1c7ef8460f39dc1e083c4f1c623e75eb34bb96b3402127631fd0889bc25e55
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 16, 2026.

Transparency log

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

Download URL ceres_engine-0.49.2-cp314-cp314t-macosx_11_0_arm64.whl
Size 34.4 MB
Tags CPython 3.14 CPython 3.14 free-threading macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
df7617a521ab39f22fa577cdf73d82dde0e59f942a0ecd43f95d6389b440a00a
BLAKE2b-256 checksum
How to use checksums
0d7186b123f0eadaa0dc036c5808c1f89f941bea973268c71e1c61548c251552
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 16, 2026.

Transparency log

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

Download URL ceres_engine-0.49.2-cp314-cp314t-macosx_10_12_x86_64.whl
Size 35.9 MB
Tags CPython 3.14 CPython 3.14 free-threading macOS 10.12+ x86-64
SHA-256 checksum
How to use checksums
2bbb3f1cc013e23958f7946363d668a055b6b0a75839b803485726f0043d4477
BLAKE2b-256 checksum
How to use checksums
5a0616791ae2ccf6ffcdfb63abb3910639a7c202ca12eb52ba0d5e8db4551fed
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 16, 2026.

Transparency log

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

Download URL ceres_engine-0.49.2-cp314-cp314-win_amd64.whl
Size 35.2 MB
Tags CPython 3.14 Windows x86-64
SHA-256 checksum
How to use checksums
899e4a398e549c397c9293e9d5a23847df6577a79441adf416ac90d69918601f
BLAKE2b-256 checksum
How to use checksums
002aa8cf60a28f0591f8e1e8bf4008c20b41749262179fbfdd24f8befb28ae44
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 16, 2026.

Transparency log

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

Download URL ceres_engine-0.49.2-cp314-cp314-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Size 37.6 MB
Tags CPython 3.14 Linux glibc 2.17+ x86-64
SHA-256 checksum
How to use checksums
dbdd7de7a86672d81fe29de90c349be614777373590f65212cf7fce0c6b681a2
BLAKE2b-256 checksum
How to use checksums
33e9d7094e343b5f370a600ef347e7e873fdb5bf4c0e8ee76cb6d0794b2cbbe5
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 16, 2026.

Transparency log

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

Download URL ceres_engine-0.49.2-cp314-cp314-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Size 37.7 MB
Tags CPython 3.14 Linux glibc 2.17+ ARM64
SHA-256 checksum
How to use checksums
4f02617897013e79b1bd3514e26d9d6f56c5e7927cab162068eae74fe0fd251a
BLAKE2b-256 checksum
How to use checksums
683b55dd7115910111b5cec0ac9c42c127295686924aec6dca605eb0a26b4108
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 16, 2026.

Transparency log

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

Download URL ceres_engine-0.49.2-cp314-cp314-macosx_11_0_arm64.whl
Size 34.4 MB
Tags CPython 3.14 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
1d56bec0f315156beb8d00d5f43dd21e963388d07dca36069dde8383f10b19c6
BLAKE2b-256 checksum
How to use checksums
346244f11444e1a250cf24e97293e6db165d5b02f4a4720fddc3795129e3d6d3
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 16, 2026.

Transparency log

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

Download URL ceres_engine-0.49.2-cp314-cp314-macosx_10_12_x86_64.whl
Size 35.9 MB
Tags CPython 3.14 macOS 10.12+ x86-64
SHA-256 checksum
How to use checksums
740a8426f5366c774e8fdaf6d1134e0a649630a7d4da4fc206f7764d1142cd4d
BLAKE2b-256 checksum
How to use checksums
4ff898ca9d78f753e182290be8cec78a59ae307c325488d4eab536b5af91c87e
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 16, 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