Skip to main content

Ceres

Python Coverage: 87% Rust Coverage: 67%

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

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.45.2
File Size Uploaded
ceres_engine-0.45.2.tar.gz 2.1 MB Details

Built distributions (wheels)

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

Total release size: 300.9 MB

Release files / ceres_engine-0.45.2.tar.gz

Download URL ceres_engine-0.45.2.tar.gz
Size 2.1 MB
Tags Source
SHA-256 checksum
How to use checksums
837e1a8ec1cfec495d8f52f0dbc513a2804b2eaca004fec0bdc960ebee38d44c
BLAKE2b-256 checksum
How to use checksums
1c73a7a82af6592d707d5afd72a35af5b1c2639aeacd5fa092a4d5408c963da1
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 20, 2026.

Transparency log

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

Download URL ceres_engine-0.45.2-cp314-cp314t-win_amd64.whl
Size 28.8 MB
Tags CPython 3.14 CPython 3.14 free-threading Windows x86-64
SHA-256 checksum
How to use checksums
ed11ff0f41afe30f23d7e700e6707b12e4ba92af7e29ae0a92f521ca3c0da63a
BLAKE2b-256 checksum
How to use checksums
e0e8dc2c6d99bf2c37810ea31c9a755b5f16efe4c51c9697c7a7ec9b613bee18
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 20, 2026.

Transparency log

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

Download URL ceres_engine-0.45.2-cp314-cp314t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Size 31.4 MB
Tags CPython 3.14 CPython 3.14 free-threading Linux glibc 2.17+ x86-64
SHA-256 checksum
How to use checksums
54b4daec6dcfa68f19c64ca0c67625bf62ec67e552ef6c141e2f734fcae2bb69
BLAKE2b-256 checksum
How to use checksums
24b09e32499e2c827f48e2dad9cee468712d920f13a7b752e15f58dbfc1d2c06
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 20, 2026.

Transparency log

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

Download URL ceres_engine-0.45.2-cp314-cp314t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Size 31.4 MB
Tags CPython 3.14 CPython 3.14 free-threading Linux glibc 2.17+ ARM64
SHA-256 checksum
How to use checksums
e99b4c858960f412eb904ebc115b37a0a3731f6cae3cf58d7f900cadd2f6cffc
BLAKE2b-256 checksum
How to use checksums
1bba77810ae1b77d1116dbf708a905fabe4d6cf52324830558a14d11a408a29f
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 20, 2026.

Transparency log

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

Download URL ceres_engine-0.45.2-cp314-cp314t-macosx_11_0_arm64.whl
Size 28.3 MB
Tags CPython 3.14 CPython 3.14 free-threading macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
11a5c6a6c5f996542110df8093d4b4a1789fcca65a3a6a5f2bf57ba1abc6d592
BLAKE2b-256 checksum
How to use checksums
0dca31651cb3b313b5b96e0334f3e851c1dff9e01ce1733aeabfc2f5d3613445
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 20, 2026.

Transparency log

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

Download URL ceres_engine-0.45.2-cp314-cp314t-macosx_10_12_x86_64.whl
Size 29.6 MB
Tags CPython 3.14 CPython 3.14 free-threading macOS 10.12+ x86-64
SHA-256 checksum
How to use checksums
a76d6c920bb3ca9b23df2657c10a99a1ececab65f858206803a7a67f32bc2b1c
BLAKE2b-256 checksum
How to use checksums
39a351fe570fb46a8263a5d52aa7e541ea1acdd18b30c2d1640428b88689878d
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 20, 2026.

Transparency log

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

Download URL ceres_engine-0.45.2-cp314-cp314-win_amd64.whl
Size 28.7 MB
Tags CPython 3.14 Windows x86-64
SHA-256 checksum
How to use checksums
d82f82c91fe61824d7f8810c38d25e1397ec4568976b74a8b7d649ae72d6260e
BLAKE2b-256 checksum
How to use checksums
38d34080c884c6694d1583427c1ea4bf50b0be88f77d16ca4c5c74336d7425ba
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 20, 2026.

Transparency log

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

Download URL ceres_engine-0.45.2-cp314-cp314-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Size 31.4 MB
Tags CPython 3.14 Linux glibc 2.17+ x86-64
SHA-256 checksum
How to use checksums
fdd93670b17ef10c1523ae12298eadda3d0786d0f7cf54333947c8ccd153de08
BLAKE2b-256 checksum
How to use checksums
544223fa269379564254f6b9b598162b2c6fa6bf22ce10987de7ea3a1c007a3f
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 20, 2026.

Transparency log

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

Download URL ceres_engine-0.45.2-cp314-cp314-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Size 31.4 MB
Tags CPython 3.14 Linux glibc 2.17+ ARM64
SHA-256 checksum
How to use checksums
39c92366537609d6a49304f2734b4f314c0be43d557e095cfe0cda85355f3e0d
BLAKE2b-256 checksum
How to use checksums
19cca59c00db90bfb9fde579f4af1ea2667ab009e90541bbb1d6a86e6f961fd4
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 20, 2026.

Transparency log

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

Download URL ceres_engine-0.45.2-cp314-cp314-macosx_11_0_arm64.whl
Size 28.3 MB
Tags CPython 3.14 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
9ce7eaa0bca1cb7d098226d20188783de51d375a578cbd83e82dd93d05042e69
BLAKE2b-256 checksum
How to use checksums
0e9bc0c08287ae91d3d0ee61b661bdaebb9cfbd733620851175ccb6587dbba05
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 20, 2026.

Transparency log

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

Download URL ceres_engine-0.45.2-cp314-cp314-macosx_10_12_x86_64.whl
Size 29.6 MB
Tags CPython 3.14 macOS 10.12+ x86-64
SHA-256 checksum
How to use checksums
92a32f92a1d512e854c60890330d4ba88f039c82d27df6a9b486eee778cf4a41
BLAKE2b-256 checksum
How to use checksums
d94f0e7f6738e4cd7d1dc8bd813e614b9388d0b1ecd047d3f1da2bc97d4cf96e
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 20, 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