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.1 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.1'
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.1'

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.1'

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

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.1
File Size Uploaded Provenance Actions
atraxis_atropos-1.0.1.tar.gz 344.9 kB With provenance Details for atraxis_atropos-1.0.1.tar.gz

Built distribution (wheel)

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

Total release size: 484.4 kB

Release files / atraxis_atropos-1.0.1.tar.gz

Download URL atraxis_atropos-1.0.1.tar.gz
Size 344.9 kB
Tags Source
SHA-256 checksum
How to use checksums
b7c768fbdc87c235c3138fcd53d8a51075b423525bde0ed360f00fddc3817219
BLAKE2b-256 checksum
How to use checksums
18c4131ce50c83a987b62a3ef8b2120331e0975e0f7441808e365f2fdbf9ef97
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 4, 2026.

Transparency log

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

Download URL atraxis_atropos-1.0.1-py3-none-any.whl
Size 139.5 kB
Tags Python 3
SHA-256 checksum
How to use checksums
24cc833dc8188abceeb42823aac495530a4226f3925f1875b464f0d6bcf10165
BLAKE2b-256 checksum
How to use checksums
18e3ee2a37d56ed16e368e352b65508d2aa368f866df4edc8c0f76ed12437810
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 4, 2026.

Transparency log

Security for atraxis-atropos 1.0.1

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.1.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 4, 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