Python-first agentic DAG execution framework
Project description
AetherGraph
AetherGraph is a Python‑first agentic DAG execution framework for building and orchestrating AI‑powered workflows. It pairs a clean, function‑oriented developer experience with a resilient runtime—event‑driven waits, resumable runs, and pluggable services (LLM, memory, artifacts, RAG)—so you can start simple and scale to complex R&D pipelines.
Use AetherGraph to prototype interactive assistants, simulation/optimization loops, data transforms, or multi‑step automations without boilerplate. It works with or without LLMs—bring your own tools and services, and compose them into repeatable, observable graphs.
Requirements
- Python 3.10+
- macOS, Linux, or Windows
- (Optional) LLM API keys (OpenAI, Anthropic, Google, etc.)
- (Optional extras)
slackadapter
Install
Option A — PyPI (recommended)
pip install aethergraph
Optional extras:
# Slack adapter
pip install "aethergraph[slack]"
# Dev tooling (linting, tests, types)
pip install "aethergraph[dev]"
Option B — From source (editable dev mode)
git clone https://github.com/AIperture/aethergraph.git
cd aethergraph
# Base
pip install -e .
# With extras
echo "(optional)" && pip install -e ".[slack,dev]"
Configure (optional)
Most examples run without an LLM, but for LLM‑backed flows set keys via environment variables or a local secrets file.
Minimal example (OpenAI):
# .env (example)
AETHERGRAPH_LLM__ENABLED=true
AETHERGRAPH_LLM__DEFAULT__PROVIDER=openai
AETHERGRAPH_LLM__DEFAULT__MODEL=gpt-4o-mini
AETHERGRAPH_LLM__DEFAULT__API_KEY=sk-...your-key...
Or inline in a script at runtime (for on‑demand key setting):
from aethergraph.runtime import register_llm_client
open_ai_client = register_llm_client(
profile="my_llm",
provider="openai",
model="gpt-4o-mini",
api_key="sk-...your-key...",
)
See our docs for setup of external channel methods for real-time interaction.
Where should
.envlive? In your project root (the directory where you run your Python entry point). You can override withAETHERGRAPH_ENV_FILE=/path/to/.envif needed.
Quickstart (60 seconds)
- Verify install:
python -c "import aethergraph; print('AetherGraph OK, version:', getattr(aethergraph, '__version__', 'dev'))"
- Run a minimal graph:
python - <<'PY'
from aethergraph import graph_fn, NodeContext
from aethergraph.runner import run
@graph_fn(name="hello_world")
async def hello_world(context: NodeContext):
print("Hello from AetherGraph!")
return {"ok": True}
run(hello_world)
PY
Examples
Quick‑start scripts live under examples/ in this repo. A growing gallery of standalone examples will be published at:
- Repo: https://github.com/AIperture/aethergraph-examples
- Path:
examples/
Run an example:
cd examples
python hello_world.py
Troubleshooting
ModuleNotFoundError: ensure you installed into the active venv and that your shell is using it.- LLM/API errors: confirm provider/model/key configuration (env vars or your local secrets file).
- Windows path quirks: clear any local cache folders (e.g.,
.rag/) and re‑run; verify write permissions. - Slack extra: install with
pip install "aethergraph[slack]"if you need Slack channel integration.
Contributing (early phase)
- Use feature branches and open a PR against
main. - Keep public examples free of real secrets.
- Run tests locally before pushing.
Dev install:
pip install -e .[dev]
pytest -q
Project Links
- Source: https://github.com/AIperture/aethergraph
- Issues: https://github.com/AIperture/aethergraph/issues
- Examples: https://github.com/AIperture/aethergraph-examples
- Docs (preview): https://aiperture.github.io/aethergraph-docs/
License
Apache‑2.0 — see LICENSE.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file aethergraph-0.1.0a1.tar.gz.
File metadata
- Download URL: aethergraph-0.1.0a1.tar.gz
- Upload date:
- Size: 201.9 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.10.18
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
ef19fb18e379af8faac7a2adca7b73406f23c3bedf8c73e844f287cf316acaa4
|
|
| MD5 |
52ea0eafaf22fd54db568b51b27801a2
|
|
| BLAKE2b-256 |
cc819d91c986b111dbe4490a5f74e0ce4c7738c4eb89ca0e1cd546a082f86a93
|
File details
Details for the file aethergraph-0.1.0a1-py3-none-any.whl.
File metadata
- Download URL: aethergraph-0.1.0a1-py3-none-any.whl
- Upload date:
- Size: 266.8 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.10.18
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
13d7c2535ba989f1aad413d838382cc0bb74119f0b535c70ebe9a250ba8e512f
|
|
| MD5 |
86b436e954816c075e6039e467fa1767
|
|
| BLAKE2b-256 |
115a04818b99cd67a05094533edd1e0a112fcfb6f35a0564698bee54102dc8bf
|