Skip to main content

Ceres

Python Coverage: 87% Rust Coverage: 69%

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.47.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.47.0
File Size Uploaded
ceres_engine-0.47.0.tar.gz 2.1 MB Details

Built distributions (wheels)

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

Total release size: 299.5 MB

Release files / ceres_engine-0.47.0.tar.gz

Download URL ceres_engine-0.47.0.tar.gz
Size 2.1 MB
Tags Source
SHA-256 checksum
How to use checksums
d85bf97e3e579f6cd5972b05e1a8cfb8e83a9f6c2a89c99c997730f5b42bf998
BLAKE2b-256 checksum
How to use checksums
45d3c15e88d3bc2afa4c3cd15daab59e2f29c18c205ab317d020f21bd78c59c1
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 22, 2026.

Transparency log

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

Download URL ceres_engine-0.47.0-cp314-cp314t-win_amd64.whl
Size 28.7 MB
Tags CPython 3.14 CPython 3.14 free-threading Windows x86-64
SHA-256 checksum
How to use checksums
0695330eda7d1d525a2d37249a6201882a3b732894397554733287c46f24eb1a
BLAKE2b-256 checksum
How to use checksums
ffd9f6cd1e58230c9854aa8f15e218bede23736e658b990b21b394951d405390
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 22, 2026.

Transparency log

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

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

Transparency log

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

Download URL ceres_engine-0.47.0-cp314-cp314t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Size 31.2 MB
Tags CPython 3.14 CPython 3.14 free-threading Linux glibc 2.17+ ARM64
SHA-256 checksum
How to use checksums
54a1ab60b57ef6f75c7eefdcb9c972d9dcc81fd029fecc0820f701e514067fb8
BLAKE2b-256 checksum
How to use checksums
de9dae26b3bbabafa3ac20cdcc58a2a23514f49097b515e9093b06e27fe7ab00
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 22, 2026.

Transparency log

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

Download URL ceres_engine-0.47.0-cp314-cp314t-macosx_11_0_arm64.whl
Size 28.2 MB
Tags CPython 3.14 CPython 3.14 free-threading macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
3eaa3d31e7f11a8367249b81daa6b27e3b729ff4bcfd4a1a062159bcb50a1ed0
BLAKE2b-256 checksum
How to use checksums
0c67946e660ee8333a251a55c0431d380c85968bc49b6241296c87941ce54b7d
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 22, 2026.

Transparency log

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

Download URL ceres_engine-0.47.0-cp314-cp314t-macosx_10_12_x86_64.whl
Size 29.4 MB
Tags CPython 3.14 CPython 3.14 free-threading macOS 10.12+ x86-64
SHA-256 checksum
How to use checksums
6da365ab7d5100112f3c64515f9d9595b02ff58b38af814190bff457b46c3149
BLAKE2b-256 checksum
How to use checksums
fe88ccc54a2b8a08357930abd36422888bcbf55d110b9fa05ae72083beba83c6
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 22, 2026.

Transparency log

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

Download URL ceres_engine-0.47.0-cp314-cp314-win_amd64.whl
Size 28.7 MB
Tags CPython 3.14 Windows x86-64
SHA-256 checksum
How to use checksums
a5389549ef7f2cecd0ed8771e44f87c3e1285245b328bbd6dc219322fdcf1ffe
BLAKE2b-256 checksum
How to use checksums
73fe313eacb5b9afd501431b4cd23e62398a52149526556fb9863b582c9f1f7e
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 22, 2026.

Transparency log

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

Download URL ceres_engine-0.47.0-cp314-cp314-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Size 31.2 MB
Tags CPython 3.14 Linux glibc 2.17+ x86-64
SHA-256 checksum
How to use checksums
6d1d9689c8d47c55bc053aca316b6555b33771be0759448b3b54de98e7db5179
BLAKE2b-256 checksum
How to use checksums
470c811215da6bae61ab024b3bd362c45455b97ca8a24d56138692fb1df50801
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 22, 2026.

Transparency log

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

Download URL ceres_engine-0.47.0-cp314-cp314-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Size 31.2 MB
Tags CPython 3.14 Linux glibc 2.17+ ARM64
SHA-256 checksum
How to use checksums
fb1c0daf30fc3a0dc68f30dae19b2edc2b123ca59852c77844fbfdc949faf7cc
BLAKE2b-256 checksum
How to use checksums
0720536d72e0ba660813fdc164db8256767b7d502200b4eb5355d4d00ebc3457
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 22, 2026.

Transparency log

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

Download URL ceres_engine-0.47.0-cp314-cp314-macosx_11_0_arm64.whl
Size 28.1 MB
Tags CPython 3.14 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
07b20a388dd675184139bb622e37e2da49bbfa154461c4adddb534f98d108cdf
BLAKE2b-256 checksum
How to use checksums
999f0b067238c1d6139b3b0a64a7bd08d7fb1bacc237039ca96d264dd8686271
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 22, 2026.

Transparency log

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

Download URL ceres_engine-0.47.0-cp314-cp314-macosx_10_12_x86_64.whl
Size 29.4 MB
Tags CPython 3.14 macOS 10.12+ x86-64
SHA-256 checksum
How to use checksums
abc5075790af091884d828f8f6c1c9104d1a71aab64a35b39aa9c559713406de
BLAKE2b-256 checksum
How to use checksums
a7ae0403a2a51e2b9472c0012c6d02ad208e66d44a1240ade7b654c099e82a5a
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 22, 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