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.3

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.3
File Size Uploaded
ceres_engine-0.49.3.tar.gz 15.8 MB Details

Built distributions (wheels)

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

Total release size: 377.1 MB

Release files / ceres_engine-0.49.3.tar.gz

Download URL ceres_engine-0.49.3.tar.gz
Size 15.8 MB
Tags Source
SHA-256 checksum
How to use checksums
90ae96992ac3cc74407c170036db21cfbd8e6c75255ed47c27472d2a9bc56c2a
BLAKE2b-256 checksum
How to use checksums
4a49dac550f71e718945e48ba3d8842ce1fc492ef4fd3ca5b35d34f339e902ea
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 17, 2026.

Transparency log

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

Download URL ceres_engine-0.49.3-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
d2508232aa8a9dcd86d17a4e25a2c6659cd4899b12f603d362966baeeb1b3bf2
BLAKE2b-256 checksum
How to use checksums
d59b52e496b26a6a7c75688b137fbca74a52fafa8e21f86c414b4591550d1e26
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 17, 2026.

Transparency log

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

Download URL ceres_engine-0.49.3-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
35b8ca3f5a670c903ee4e9d80239a48b94f0e6f8f5448fcdf3bb2c4abc011d6b
BLAKE2b-256 checksum
How to use checksums
ad3949fc42f5647c8361971124381036f280b58ab82a84a499c76c9bb2a0c96d
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 17, 2026.

Transparency log

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

Download URL ceres_engine-0.49.3-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
5b89ad717fe88d808826cee9af9620ce5a2ba734af3b544c412e73f6c750ccce
BLAKE2b-256 checksum
How to use checksums
92152e91c90aee2866cf35aa5f2c353789d26aa0d6c844a8699f266e5c06ab6b
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 17, 2026.

Transparency log

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

Download URL ceres_engine-0.49.3-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
2463bc63219bdf5b1646a7fdbde4b379bed8db9bb9ed1cfba1e9907cb93e5f4c
BLAKE2b-256 checksum
How to use checksums
07e92c20c07fc7cebbb8e2ee6396327f1a60a9a4d6860805cef641cb34b349d4
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 17, 2026.

Transparency log

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

Download URL ceres_engine-0.49.3-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
9af0687b3db207857e135d44520222bfdcbd688ec5d24bad211150ae0d01626b
BLAKE2b-256 checksum
How to use checksums
2aa4551449718bd222514c7a5a9c3a0712c934040e11da1d68ab7e957c02bac4
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 17, 2026.

Transparency log

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

Download URL ceres_engine-0.49.3-cp314-cp314-win_amd64.whl
Size 35.2 MB
Tags CPython 3.14 Windows x86-64
SHA-256 checksum
How to use checksums
384b8b52029984069fb041e3d6929804f91bf6c12a0e87a47ddc8fea07fe1272
BLAKE2b-256 checksum
How to use checksums
5e574033c0fbf679fe559d89f403a22e230aaba753021c850ce56bacd0dd293e
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 17, 2026.

Transparency log

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

Download URL ceres_engine-0.49.3-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
663f71dd3932f0457f487b9b8de2320dbc3b6f32f49f4a927a08a0debaa91306
BLAKE2b-256 checksum
How to use checksums
6dcdd1b463d01aada0559b9227c910ea999a6cec4cf4ef7883f67466c1d8d2df
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 17, 2026.

Transparency log

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

Download URL ceres_engine-0.49.3-cp314-cp314-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Size 37.6 MB
Tags CPython 3.14 Linux glibc 2.17+ ARM64
SHA-256 checksum
How to use checksums
ca0ae865c229508f71a38a85e7c551d2ba910fe1b583ed14005bdb823fc42e3f
BLAKE2b-256 checksum
How to use checksums
ecfddf65a76d42f406b8cbb74dd8bdeae3fa24b3fb085a44aaa1d5ef393f0785
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 17, 2026.

Transparency log

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

Download URL ceres_engine-0.49.3-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
daccc0b1bde1b63631ddde34f08d77980429b5e5cc36a81121e8634498a52e31
BLAKE2b-256 checksum
How to use checksums
a962907623dbfd8949106ad90c8b3150b3afc707d9ffba3ee8cdaaae38d60380
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 17, 2026.

Transparency log

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

Download URL ceres_engine-0.49.3-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
6bf60460e2d95b0390ae0ebcfb0d4d32cb4e5ab247f9feb64bec409719995964
BLAKE2b-256 checksum
How to use checksums
1dfa577fdb745cf6bff0616195dbdc459a912f526883fa8d6009bc5973207b37
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 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