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

Built distributions (wheels)

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

Download URL ceres_engine-0.41.0.tar.gz
Size 3.0 MB
Tags Source
SHA-256 checksum
How to use checksums
db3bf6240e0e1d4656b81ca3ad74921ae45dad01eb7ff3f407993a3b5a8897a4
BLAKE2b-256 checksum
How to use checksums
48911621f9e047e4f965d8e691edf69e467016252826edbc8873e9e33f9c194d
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.0-cp314-cp314t-win_amd64.whl

Download URL ceres_engine-0.41.0-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
bcda56852135099cff9a139938657bfaefcd4fa1ca5c4e851169b832f4025748
BLAKE2b-256 checksum
How to use checksums
d8b5fce1e583de89e078f1358b214cc9dc2de41c5327089af64359c038b2e6a8
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.0-cp314-cp314t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl

Download URL ceres_engine-0.41.0-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
5854c8f0ff37fcac929f85ae8bed4152001b47599d4c7cd0e626ca71096661e4
BLAKE2b-256 checksum
How to use checksums
0980929ca8fa900d34d7cfe31b9af216d239e33705296b43c9040951931b5e05
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.0-cp314-cp314t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl

Download URL ceres_engine-0.41.0-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
09b1de74cfce6bca80b2cd42b8697f6d687034bb491bfd6f16701635f4bbb6c6
BLAKE2b-256 checksum
How to use checksums
5030e95d83c7d695d06c2216a0890fdfb3247abe602a22197ebe734af557f4bd
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.0-cp314-cp314t-macosx_11_0_arm64.whl

Download URL ceres_engine-0.41.0-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
cfbaab9cf1fd1fa2a1b30d8d7f73b40a80a52026fa60200577f52cfa70f6b6db
BLAKE2b-256 checksum
How to use checksums
df8da140a739ea32ad5a520f98df71de09dac127ac80ebab3a8c7afd2e2f57c4
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.0-cp314-cp314t-macosx_10_12_x86_64.whl

Download URL ceres_engine-0.41.0-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
e7081bd0c4d2011adcaa0d1d3f0b6c5d598579ca32c5a639f4209534aa1dfe60
BLAKE2b-256 checksum
How to use checksums
3c0b83339a954aff5d1f68f4d1f93b865310dda8a9f37c46085be532b62ea4b7
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.0-cp314-cp314-win_amd64.whl

Download URL ceres_engine-0.41.0-cp314-cp314-win_amd64.whl
Size 29.1 MB
Tags CPython 3.14 Windows x86-64
SHA-256 checksum
How to use checksums
91b4e75b5bca16ebcd7b9d6703d82e615fc30e6d08b15b5c2776b882dd103cd9
BLAKE2b-256 checksum
How to use checksums
66aea535d5d3f229f15e5fac1a9378a3946b1bebd6db1d9739338f48d02a9e63
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.0-cp314-cp314-manylinux_2_17_x86_64.manylinux2014_x86_64.whl

Download URL ceres_engine-0.41.0-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
e083c55b61691881e8b67b8991732ac44fb572fc92492ab12bbe99fa9bc00daf
BLAKE2b-256 checksum
How to use checksums
4815325383612b57511e076a96a51bcbdbc7911af9a907b94d8c1c7f456ff0e3
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.0-cp314-cp314-manylinux_2_17_aarch64.manylinux2014_aarch64.whl

Download URL ceres_engine-0.41.0-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
c7365fab1c0023fd477e825831e04a741336c639e47ce30f4078cb5f4b0f6171
BLAKE2b-256 checksum
How to use checksums
0f637471214a99ebc9d8e36aaf575fe143128e85e6e9be9dc0baafe5e5699fac
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.0-cp314-cp314-macosx_11_0_arm64.whl

Download URL ceres_engine-0.41.0-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
d488c7525e5cc1f669389e79940364482ebfd30948b0796a5e4b2d2a15ccfa2b
BLAKE2b-256 checksum
How to use checksums
f50e41f537bc9c9be7f13c360280243c0bba4005736d099b43b0cc687a96ac0e
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.0-cp314-cp314-macosx_10_12_x86_64.whl

Download URL ceres_engine-0.41.0-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
a473d0f8eb97f7e6760862d8611b7ab25297e8ced706ef69e15db46aaea5ceb9
BLAKE2b-256 checksum
How to use checksums
349db2703b574b0bf6cc072b2dfc7b5fd3eca99382ad470f8a92768dfc560969
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