Skip to main content

Atropos

Atropos

A standalone rule and workflow engine: test a decision, explicitly authorize a workflow, and track every step through completion or an uncertain outcome.

Atropos 1.0.4 is free software under GPL-3.0-only. It runs on your own infrastructure, independently of Atraxis and without an AI provider. Atraxis can supply its web and terminal interfaces; Atropos owns the rules, permissions, storage and workflow execution.

Website · Engine on PyPI · Client on PyPI · User guide · Contributing · Roadmap

What can you do with it?

  • Manage decision rules: create YAML drafts, keep immutable revisions, test concrete scenarios and explicitly activate a tested version. The documented version-1 rule model uses ZEN 2.1.2.
  • Run bounded workflows: validate a graph, submit it with a deduplication key, advance it through workers, inspect persisted results and reconcile uncertainty.
  • Control who can act: the rule service checks organization, group, resource and operation scopes at admission and again before execution.
  • Connect approved executors: use registered actions or an explicitly configured Auton adapter. Optional Alertmanager delivery reports workflow outcomes.
  • Operate persistent state: start with SQLite and its integrated queue; choose other documented storage/delivery adapters when needed.

For example, an operator can test a CPU decision rule and then explicitly dispatch an approved diagnostic for the affected target. Saving, testing or activating a rule does not start that diagnostic. Collection, decision and execution remain separate operations.

How the components fit together

Atropos architecture: the engine, local terminal and database are inside Atropos; Atraxis, Auton and Alertmanager are optional external software.

Inside Atropos, the engine and local terminal read and write the configured persistent storage. The database cylinder holds rule versions and tests, workflow runs and results, and audit history. SQLite is the default: a local file, with no separate database server required. Other storage adapters are documented in the backend guide. The frame indicates component ownership, not a requirement to run everything in one process, container or host.

The Atropos terminal is the local atropos command for trusted operators: validate, submit, run and inspect workflows. Its built-in actions are registered demo actions. The authenticated rule service and its guarded workers provide scoped rule-driven dispatch. The terminal and service share data only when configured to use the same storage and namespace.

Coloured logos identify optional external software: Atraxis connects through atropos-client and the authenticated API; Auton executes authorized jobs; Alertmanager routes configured notifications. Saving, testing or activating a rule does not automatically launch a workflow.

Software Role Required?
Atropos (atraxis-atropos) Engine, local CLI and optional HTTP rule service The component installed here
Atropos client (atropos-client) Independent Python API client For API consumers; installed by the engine's service extra
Atraxis Inventory, web and terminal operator interfaces Optional; Atropos works without it
Auton Execute explicitly authorized jobs Optional execution adapter
Alertmanager Route and deliver configured notifications Optional notification adapter
monit-docker / CertLord Container monitoring / certificate lifecycle Independent tools; observations can be supplied through Atraxis
AnySQL Connection layer used by SQL adapters Relevant to SQL backend configuration

Prometheus and Covenant are not required to run Atropos. Monit-Docker retains its own monitoring, local actions and protections when used alongside Atropos.

Container installation

Use the Docker guide for the Linux amd64 image, persistent state, TLS placement and the optional worker using the same image.

Start here

The supported reference covers Linux amd64 and Python 3.11/3.12. On Debian/Ubuntu, install the system libmagic1 library and Python's venv support:

sudo apt-get install python3-venv libmagic1
python3 -m venv .venv
. .venv/bin/activate
python -m pip install 'atraxis-atropos==1.0.4'
python -m pip check
atropos --help

The PyPI distribution is named atraxis-atropos; the command and Python module are atropos. The unrelated PyPI package named atropos is not this engine.

Run a harmless first workflow

Create a file in an empty working directory. This single step returns its inputs; it does not contact a service or modify a supervised resource:

cat > hello.yml <<'YAML'
version: 1
name: hello
start: report
steps:
  report:
    action: core.echo
    with:
      message: Hello from Atropos
YAML

export ATROPOS_STORAGE_BACKEND=sqlite
export ATROPOS_STORAGE_URL=sqlite:///atropos.db
atropos validate hello.yml
atropos plan hello.yml
atropos submit hello.yml --target demo-node --dedup-key hello-001
atropos worker --once

Copy the run ID returned by submit, then inspect it with atropos status RUN_ID. For this one-step example, a successful worker completes the run. In a multi-step workflow, worker --once attempts one step per configured worker; use atropos worker for continuous processing. Submission means queued, not completed.

Run the rule service

In a dedicated engine environment, install the service dependencies:

python -m pip install 'atraxis-atropos[service]==1.0.4'

Follow the rule service guide to create the private profile, provision identities and permissions, configure storage and verified HTTPS, then start the loopback listener:

atropos rules-serve --config /private/atropos-service.yml --port 8082

The profile path is an example, not a bundled ready-to-use configuration. Installing the package does not start the service, create credentials or authorize actions.

Install only the API client

In the consuming application's separate environment:

python -m pip install 'atropos-client==1.0.4'

The base client does not install the engine, Redis or ZEN. Add [observations] when that application needs signed observation envelopes. Follow its own dependency pins: Atraxis 1.0.0 still pins client 0.1.0a10, whose functional code matches 1.0.0 apart from the version constant. Do not override that pin inside Atraxis's environment.

Install from source instead

git clone https://github.com/decryptus/atropos.git
cd atropos
git checkout v1.0.4
python -m pip install .

Use a virtual environment and the same system prerequisites. Runnable examples are in examples/; cloning is not needed for the inline PyPI quickstart.

Persistence and failure semantics

SQLite with its integrated queue is the default. Backend configuration also covers PostgreSQL, MySQL/MariaDB, Redis and installed plugins. Storage and delivery roles are configured independently; switching them does not migrate data.

A confirmed failed action can follow its bounded retry policy. An action whose external result is unknown becomes uncertain and keeps its target lock until an authorized operator investigates and resolves it. A timeout does not prove a remote action stopped. There is no exactly-once guarantee for external effects.

The stable support claim is limited to the qualified reference. High availability, hot backup, automatic pruning and sandboxing arbitrary registered code are not included. Use cold backup and restore and plan capacity for retained runs and audit history.

Documentation

I want to… Guide
Configure workflows, workers and the Python API User guide
Write and test decision rules Rules · Draft/test/activation lifecycle
Connect an application to the service HTTP service · Independent client
Authorize or dispatch a workflow Membership and grants · Explicit dispatch
Configure an executor or notifications Auton adapters · Alertmanager
Use verified observations or isolated simulations Observations and tests · Test receivers
Investigate and maintain state Reconciliation · Backup · Retention

For architecture, tests and release engineering, use the separate contributor guide. Planned work is in the roadmap; brand assets are also available.

License

Project-owned code and documentation are licensed under GNU GPL version 3 only (LICENSE, SPDX GPL-3.0-only). Dependencies retain their own licenses.

Metadata

Release files for atraxis-atropos 1.0.4

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

Source distribution (sdist)

Source distribution for atraxis-atropos 1.0.4
File Size Uploaded Provenance Actions
atraxis_atropos-1.0.4.tar.gz 351.2 kB With provenance Details for atraxis_atropos-1.0.4.tar.gz

Built distribution (wheel)

Table of built distributions (wheels) for atraxis-atropos 1.0.4
File Interpreter ABI Platform Actions
atraxis_atropos-1.0.4-py3-none-any.whl Python 3 none any Details for atraxis_atropos-1.0.4-py3-none-any.whl

Total release size: 490.8 kB

Release files / atraxis_atropos-1.0.4.tar.gz

Download URL atraxis_atropos-1.0.4.tar.gz
Size 351.2 kB
Tags Source
SHA-256 checksum
How to use checksums
f4b03b442a4c2e3a4f40ddfe0f24fbee28ebfd04e26f008bf11956dec51ab02b
BLAKE2b-256 checksum
How to use checksums
81dd85f7813d7307a4cfa4095b6b3c22d0eb64ff4db62ea6a89098db1313de9c
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

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 Nov 7, 2026.

Transparency log

Release files / atraxis_atropos-1.0.4-py3-none-any.whl

Download URL atraxis_atropos-1.0.4-py3-none-any.whl
Size 139.6 kB
Tags Python 3
SHA-256 checksum
How to use checksums
a7f15274facd75001ad2cb21aebb6982e25730263c3d0bdfc128efc11ba4d018
BLAKE2b-256 checksum
How to use checksums
58a86c1527fa271468f8a21098b3eae9b9b7a4f7454392bbdb733e98111b913d
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

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 Nov 7, 2026.

Transparency log

Security for atraxis-atropos 1.0.4

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.

Full provenance

Both files in this release have been uploaded with provenance metadata.

Select from 2 files

Attestation for atraxis_atropos-1.0.4.tar.gz

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 Nov 7, 2026.

Transparency log

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.

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