Skip to main content

Daga - Saga DAGs Made Easy

A simple, standard library-based tool to create and run Saga pattern mission DAGs. Need an atomic way to create real world objects? This is the way. No more try-excepts and nested logic - focus on your bussiness.

Docs & Usage

See the package generated documentation at https://river-studio-net.github.io/py-daga/

Contributing

Documentation

The project includes comprehensive auto-generated documentation that is updated automatically on every push to the main branch.

Auto-Generation

The documentation in the docs/ folder is automatically generated using pdoc whenever changes are pushed to the main branch. The GitHub Action workflow (.github/workflows/docs.yml) handles this process.

Viewing Documentation

Open docs/index.html in your web browser to view the generated documentation.

Documentation Structure

  • index.html - Main documentation page with module overview
  • action.html - Documentation for the DagaAction classes
  • flow.html - Documentation for the DagaFlow orchestrator
  • meta.html - Documentation for the DagaMeta metaclass
  • utils.html - Documentation for utility functions and classes

Development

To contribute to the project:

  1. Fork the repository
  2. Create a feature branch
  3. Make your changes
  4. Add tests for new functionality
  5. Ensure all tests pass: uv run pytest
  6. Submit a pull request

Rejected Ideas

Implmenting DagaAction as a context manager

Trying to use said context manager proved to be confusing beyond any standard, and so it has been decided to drop the implementation. Another concern against the idea was that it added significant complexity to the codebase, adding a lot of functionality that was not used otherwise.

Implementing rollbacks with Python results module

I didn't want to add extra dependency and added complexity on top of everything.

Metadata

Release files for py-daga 0.1.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 py-daga 0.1.2
File Size Uploaded Provenance Actions
py_daga-0.1.2.tar.gz 20.5 kB With provenance Details for py_daga-0.1.2.tar.gz

Built distribution (wheel)

Table of built distributions (wheels) for py-daga 0.1.2
File Interpreter ABI Platform Actions
py_daga-0.1.2-py3-none-any.whl Python 3 none any Details for py_daga-0.1.2-py3-none-any.whl

Total release size: 37.7 kB

Release files / py_daga-0.1.2.tar.gz

Download URL py_daga-0.1.2.tar.gz
Size 20.5 kB
Tags Source
SHA-256 checksum
How to use checksums
20003622cde614a9853646706c3eaf74b75c8b7c61a10963c4dd3170d8e6a296
BLAKE2b-256 checksum
How to use checksums
a2a763eac5a639a211b2662c9b8ee67c331f6b335505e7e2d2d68f3a1114db9e
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.12.9

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 23, 2025.

Transparency log

Release files / py_daga-0.1.2-py3-none-any.whl

Download URL py_daga-0.1.2-py3-none-any.whl
Size 17.2 kB
Tags Python 3
SHA-256 checksum
How to use checksums
210d255b5c6e8f3b1c8cda9ec8a71c0226e5644308c1f9984ad07498ad5dd1fd
BLAKE2b-256 checksum
How to use checksums
cb6ab8206dae5e06be498648ae5a07237c3db29a4b0f68f4af99bd5d69512c0a
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.12.9

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 23, 2025.

Transparency log

Security for py-daga 0.1.2

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

All 2 files in this release have been uploaded with provenance metadata.

Select from 2 files

Attestation for py_daga-0.1.2.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 Aug 23, 2025.

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