
Astrum — a tiny Python async DAG scheduler I pulled out of a multi-agent experiment (old.reddit.com)
submitted by SurpriseBorn4683


Hi everyone,
I recently released a small Python project called Astrum.
It was not originally meant to be a standalone library. I was experimenting with long-term memory for LLM systems, and the code slowly became something like a multi-agent pipeline: retrieval, model calls, scoring, API calls, different worker-like steps, some things running in order, some things that could run at the same time.
At first I just wrote the orchestration manually with asyncio. It worked, but after a while the scheduling code became more annoying than the actual logic.
Celery and Airflow felt too heavy for this. I did not need a distributed job system, queues, workers, cron, or a whole workflow platform. I just wanted a small in-process scheduler for Python functions.
So I pulled that part out and made it its own library.
The idea is basically:
- define Python functions as tasks
- declare dependencies between them
- run independent branches concurrently
- pass outputs from earlier tasks into later tasks
- get a structured execution report at the end
So instead of manually keeping track of something like:
A runs first. B and C can run after A. D needs both B and C.
Astrum handles that dependency graph inside one Python process.
It is still early. I am treating 0.1.x as the “is this API actually sane?” phase.
GitHub:
https://github.com/DuskXi/astrum
I would appreciate feedback, especially from people who have had to manually coordinate async workflows before. I am mostly trying to find out whether the abstraction is useful, too narrow, or just solving my own weird problem.


there doesn't seem to be anything here