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

Built distributions (wheels)

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

Download URL ceres_engine-0.44.0.tar.gz
Size 2.0 MB
Tags Source
SHA-256 checksum
How to use checksums
6a69dfb7d5da017be544b86cba7f1596d59f341e8a1a5a8354c9c7e7994a0f4b
BLAKE2b-256 checksum
How to use checksums
57cd170ff9766cbce2eb3e2e23ed5b315b91374d6445c8646d1216d3f44f4985
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 17, 2026.

Transparency log

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

Download URL ceres_engine-0.44.0-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
c0418d1b916f5f7388df345e626d68bf0c459e84dc9733a1b5f04598d2088209
BLAKE2b-256 checksum
How to use checksums
df7ef29057e04c6cf982c1cd95c560c56f0cc1873633d069d0e1e54edb599d39
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 17, 2026.

Transparency log

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

Download URL ceres_engine-0.44.0-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
7bb5c71e765c10d4f7e4d8552a52b927bac07ddd953bf390cb6e91e0e3bece40
BLAKE2b-256 checksum
How to use checksums
e6c432b1247ee03c48d2a227bf0727d7ecbf97f5a442de537534c800682d82ff
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 17, 2026.

Transparency log

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

Download URL ceres_engine-0.44.0-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
4f8b9baf519c8f7b6075aaf8a19cfa4b69190d6f86055226cb061b80cee153c5
BLAKE2b-256 checksum
How to use checksums
c621318298fed993b06e84ee2294a740885e8b53cf88a1f8c67362ff19470bf1
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 17, 2026.

Transparency log

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

Download URL ceres_engine-0.44.0-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
bedfc326ea74e29412b35c5755ca1f366eaa795750bddf7c2382a4465c48eff8
BLAKE2b-256 checksum
How to use checksums
0f11c603b7916ba282ea0d3dcf80f62dd6f8f3555e1791b63bb2c312ce6d88ae
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 17, 2026.

Transparency log

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

Download URL ceres_engine-0.44.0-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
53291232168afe1b36fde8b1abb8292543fd8a20232e3ac4469ed92a340e00fe
BLAKE2b-256 checksum
How to use checksums
6713b6b1b3d392ba042d999161e793c15de53d1e9b6308199fa0c6f43ea9841a
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 17, 2026.

Transparency log

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

Download URL ceres_engine-0.44.0-cp314-cp314-win_amd64.whl
Size 28.2 MB
Tags CPython 3.14 Windows x86-64
SHA-256 checksum
How to use checksums
c5a82a7eb2f411d16d78036a924cd110e3fad43541cea86c3feeb705fe413be7
BLAKE2b-256 checksum
How to use checksums
5fb509e9e9cce9dbf02ac32697e61387fb9c1f6f4cafa6675cc7a529fb9e65c3
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 17, 2026.

Transparency log

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

Download URL ceres_engine-0.44.0-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
a07e8dbd31f8bcf953b27f9058065db7a98ea64d23cb63d2e8250e08c3148ec3
BLAKE2b-256 checksum
How to use checksums
bc058bc04e7d720f391a3d041afbba50a1fb766a023c4f41c6a15623ee35c540
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 17, 2026.

Transparency log

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

Download URL ceres_engine-0.44.0-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
3e92e2ca9761d3ebb2d41cb46f86a07769d2778914afeb8a6a079d77638e6c8c
BLAKE2b-256 checksum
How to use checksums
0ee2877fa2074a7417ed79371f0107137fbceedff073a9f1cc6b5d2c82a3cc22
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 17, 2026.

Transparency log

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

Download URL ceres_engine-0.44.0-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
6d5939f8fc06ae3645787fa70c2358a356ea1df22dd5fbfba96de271a6f2aef6
BLAKE2b-256 checksum
How to use checksums
08e534c77d8a7419ea4516a917ff67c24a6cae025bfe3fa803b4c82b69468037
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 17, 2026.

Transparency log

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

Download URL ceres_engine-0.44.0-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
1650a4474720353ad480c9c8ac0cac422f1b931626398809861db243adb54748
BLAKE2b-256 checksum
How to use checksums
91bad8cb23022127f82ca9d8c6f3d35f3ab5fe55676f2426e704d9ac3f01c526
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 17, 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