Skip to main content

aetherflow-scheduler

GitHub Repo TestPyPI Version PyPI Version

aetherflow-scheduler is a thin cron-style scheduler for AetherFlow, built on APScheduler.

It reads a YAML file and triggers aetherflow runs on a schedule. The design goal is simplicity:

  • Core stays run-once and deterministic
  • Scheduler is the run-on-cron wrapper

This distribution ships the CLI aetherflow-scheduler.


Install

pip install aetherflow-scheduler

This depends on aetherflow-core and installs it automatically.

Python: 3.10+.


CLI

aetherflow-scheduler --help

aetherflow-scheduler run path/to/scheduler.yaml

Scheduler YAML (schema)

Top-level keys:

  • timezone (string, optional): timezone name (IANA tz database). Default: "Europe/Berlin".
  • items (list, required): list of scheduled items

Each item:

  • id (string, required): APScheduler job id
  • cron (string, required): crontab expression (e.g. "0 * * * *")
  • flow_yaml (string, required): path to a flow YAML file
  • flow (string, optional): flow id inside the YAML
  • flow_job (string, optional): job id within the flow
  • bundle_manifest (string, optional): bundle manifest path (sync before run)
  • allow_stale_bundle (bool, optional): default false
  • misfire_grace_time (int seconds, optional): default 300

Example:

timezone: Europe/Berlin
items:
  - id: hourly_sales
    cron: "0 * * * *"
    flow_yaml: "flows/sales.yaml"
    flow: "sales_flow"
    flow_job: "main"
    bundle_manifest: "bundles/sales_bundle.yaml"
    allow_stale_bundle: true
    misfire_grace_time: 600

Run it:

aetherflow-scheduler run scheduler.yaml

Overlap prevention and reliability

AetherFlow itself can use locks/state to avoid overlapping executions and to support recovery patterns. Scheduler is intentionally minimal: it triggers runs; the “safety” lives in core.

Relevant docs:


Namespace package rule (important)

AetherFlow is a PEP 420 implicit namespace across distributions.

Use:

  • import aetherflow.scheduler
  • import aetherflow.core
  • from aetherflow.core.api import ...

Do not rely on ambiguous imports like aetherflow.x.


Docs (in this repository)

Scheduler-specific doc:

Start here:

Metadata

Release files for aetherflow-scheduler 0.0.14

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for aetherflow-scheduler 0.0.14
File Size Uploaded Provenance Actions
aetherflow_scheduler-0.0.14.tar.gz 8.3 kB Without provenance Details for aetherflow_scheduler-0.0.14.tar.gz

Built distribution (wheel)

Table of built distributions (wheels) for aetherflow-scheduler 0.0.14
File Interpreter ABI Platform Actions
aetherflow_scheduler-0.0.14-py3-none-any.whl Python 3 none any Details for aetherflow_scheduler-0.0.14-py3-none-any.whl

Total release size: 16.5 kB

Release files / aetherflow_scheduler-0.0.14.tar.gz

Download URL aetherflow_scheduler-0.0.14.tar.gz
Size 8.3 kB
Tags Source
SHA-256 checksum
How to use checksums
3c036c343080b9ee7360ff821ea2be3390f8c9e720f50922ae38fc4c1425c524
BLAKE2b-256 checksum
How to use checksums
35aa6beca4b2494ac8e2f27a28348810d6eac6c96b241ef44c8392cbda2b5614
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.13.7

Release files / aetherflow_scheduler-0.0.14-py3-none-any.whl

Download URL aetherflow_scheduler-0.0.14-py3-none-any.whl
Size 8.2 kB
Tags Python 3
SHA-256 checksum
How to use checksums
b2c58bc4061ec850207ece211a845a5383505e5e3361d67f5acf3373aea43b1e
BLAKE2b-256 checksum
How to use checksums
8cf179144975c9b2e1b3a5f41976a68208d6d73cf982911739823e78f0aca952
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.13.7

Security for aetherflow-scheduler 0.0.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.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Release history Release notifications | RSS feed

This release

0.0.14 This release

2 release files No provenance

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