Skip to main content

dagdog

Lightweight DAGs for data analysis dev ops. By the time you finish a project with this lil puppy, you'll never want to use a Jupyter notebook again because

  • you will have wasted less time waiting for your notebook to rerun, by iterating rapidly on modular components instead of rerunning your entire analysis after every code update.
  • your code will already be closer to production-ready, as well as more understandable and reliable.

Note that this is NOT a replacement for tools like dagster or prefect. Those tools emphasize production and monitoring, while dagdog is strictly a dev-ops tool, allowing a user to rapidly sketch out an analysis pipeline without worrying about production considerations. This allows proofs-of-concept to grow faster (and fail faster).

Getting started

See the demo. In brief, here's how to work with dagdog:

  • Structure your data analysis pipeline as a collection of python modules, with each module defining exactly one task.
  • Within each module, implement the task using a method named __run__, with no arguments. (You might choose to call __run__ from under if __name__ == "main":, but dagdog does not care about that and will access __run__ directly.)
  • Create a project entrypoint script, imitating demo/project.py to define the execution order of your tasks.
  • Call your project entrypoint, dropping you into an interactive python session, where you can finally call any of the various execution and introspection methods on the dog DAG object.

If working directly on this repo, consider using the simplest-possible virtual environment.

Design goals

  • Easiest-possible usage of a DAG to coordinate execution of a collection of tasks during data analysis dev ops.
  • Flexible commands for execution of the DAG, including running a task in isolation, running only upstream tasks, or running only downstream tasks, etc.
  • All configurations managed natively in python -- users don't need to mess with yaml or json files.
  • Prioritize simplicity above feature-completeness.

Metadata

Release files for dagdog 0.1.7

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

Source distribution (sdist)

Source distribution for dagdog 0.1.7
File Size Uploaded
dagdog-0.1.7.tar.gz 9.2 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for dagdog 0.1.7
File Interpreter ABI Platform
dagdog-0.1.7-py3-none-any.whl Python 3 none any Details

Total release size: 18.1 kB

Release files / dagdog-0.1.7.tar.gz

Download URL dagdog-0.1.7.tar.gz
Size 9.2 kB
Tags Source
SHA-256 checksum
How to use checksums
d186c95f72acad9b59d2c67241054b6f03d385287f8a24d673a75837aee55d85
BLAKE2b-256 checksum
How to use checksums
32e6cd50add0da6fefaa508fcb332b32e6553535933bc31ad4d09c38f8d7de2c
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.9.17 {"installer":{"name":"uv","version":"0.9.17","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

Release files / dagdog-0.1.7-py3-none-any.whl

Download URL dagdog-0.1.7-py3-none-any.whl
Size 9.0 kB
Tags Python 3
SHA-256 checksum
How to use checksums
e59476f1fb4c7a1fa0bc9f0a997104e72bca723f72f70da10f6c38cd78743929
BLAKE2b-256 checksum
How to use checksums
a51930ee02d9b13702cd4aafdbf353c0bba9a6fef2b255f4a1671af900378ede
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.9.17 {"installer":{"name":"uv","version":"0.9.17","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

Release history Release notifications | RSS feed

This release

0.1.7 This release

2 release files

0.1.6

2 release files

0.1.5

2 release files

0.1.4

2 release files

0.1.1

2 release files

0.1.0

2 release files

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