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.46.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.46.0
File Size Uploaded
ceres_engine-0.46.0.tar.gz 2.1 MB Details

Built distributions (wheels)

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

Download URL ceres_engine-0.46.0.tar.gz
Size 2.1 MB
Tags Source
SHA-256 checksum
How to use checksums
67fe258dfaca664ecba35385cc1f19c5cc249a6f4f7e4ee33aea1cc1e193917c
BLAKE2b-256 checksum
How to use checksums
527b0fe8beee152e313132fc58a18c9815aecd090a7af94f4a713c6e51c32186
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 21, 2026.

Transparency log

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

Download URL ceres_engine-0.46.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
06a6a3d943a8c62713afd50c93934f96ebbfb937407949f24cf2f6c40f78b878
BLAKE2b-256 checksum
How to use checksums
4b3fdc38a31d3c6d9ee372a4bff2b80d1699f3e0b41dd465821dd51bbc3bb0db
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 21, 2026.

Transparency log

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

Download URL ceres_engine-0.46.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
cddbbd89b9fd1219f106e0de0152c7bf08e605ab18970c52c7af3a13eae79f5a
BLAKE2b-256 checksum
How to use checksums
c7ab9a5e05417bf355f9e2b947e3ae37ecd7c9ac353c749618600fc9f5e031b7
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 21, 2026.

Transparency log

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

Download URL ceres_engine-0.46.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
333ec4f68c28fb52d43d3bf27ad03463df8d270a1b94124b20f20f6cb128173f
BLAKE2b-256 checksum
How to use checksums
e4965e7971e819e387edc43eae824021aa63bdbbab6e269ceb7368750d06ae28
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 21, 2026.

Transparency log

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

Download URL ceres_engine-0.46.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
73be943c5e64832e4dd46d9d22077c889707465022ee7ea27494aa42919f8ede
BLAKE2b-256 checksum
How to use checksums
10e24db3906daa7c88e80b1f1b9afd59f6001ac4fe030b8e9b1233665cfdaf43
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 21, 2026.

Transparency log

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

Download URL ceres_engine-0.46.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
9786a99042d64f3d4eb02b7e84c84725af127112da21d0a7a8b08f2b898327d9
BLAKE2b-256 checksum
How to use checksums
0a8a1e44d47f74f7f9339808a0ca75fc0f1d2b4dcb4afb40d2960cc9def83fa9
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 21, 2026.

Transparency log

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

Download URL ceres_engine-0.46.0-cp314-cp314-win_amd64.whl
Size 28.7 MB
Tags CPython 3.14 Windows x86-64
SHA-256 checksum
How to use checksums
14155496aa0b5e985fff7056dd0a4920f31f8f6b90fb915ca2e3f63ce5f6a925
BLAKE2b-256 checksum
How to use checksums
7c0eb90542f2cf94b2a23b6b05de9852dab09735ee46ffd9761c0781ba16d266
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 21, 2026.

Transparency log

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

Download URL ceres_engine-0.46.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
9f8e0eaba17c4d117120def3fac84addacfda736a35cffa81e623576ca5b127c
BLAKE2b-256 checksum
How to use checksums
7ef17d633fc04588215fb71c42c6a1deeda0030af7e1e4a5052c4f262ba388d1
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 21, 2026.

Transparency log

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

Download URL ceres_engine-0.46.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
89b356af3c519a1c664164b1fd2d2f08578dda8f13db3f290b76343c4ddcc257
BLAKE2b-256 checksum
How to use checksums
1d529f7767c21f741615ab71920245e2ad46d369282199a87f945ab95a175a4d
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 21, 2026.

Transparency log

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

Download URL ceres_engine-0.46.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
2151b0fcdc24d30606b529015448d760c36284373217364fcd99859ca2fa037c
BLAKE2b-256 checksum
How to use checksums
2a56cc8decc78f1d48b82150e0321e9adda26bd7f2507ab8e036a16ed9c25e79
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 21, 2026.

Transparency log

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

Download URL ceres_engine-0.46.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
552d33a0ef2b4b6bd6707b263dd9590fb2984bdedb8ef5f8a6cd294dc2b3ca89
BLAKE2b-256 checksum
How to use checksums
cbe93fcfd07659e4f26c4b62269875cf8daaf80a8b2bfcfdd1eeaa067f4de6b9
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 21, 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