Skip to main content

Python-first agentic DAG execution framework

Project description

AetherGraph

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) slack adapter

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 .env live? In your project root (the directory where you run your Python entry point). You can override with AETHERGRAPH_ENV_FILE=/path/to/.env if needed.


Quickstart (60 seconds)

  1. Verify install:
python -c "import aethergraph; print('AetherGraph OK, version:', getattr(aethergraph, '__version__', 'dev'))"
  1. 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:

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


License

Apache‑2.0 — see LICENSE.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

aethergraph-0.1.0a1.tar.gz (201.9 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

aethergraph-0.1.0a1-py3-none-any.whl (266.8 kB view details)

Uploaded Python 3

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

Hashes for aethergraph-0.1.0a1.tar.gz
Algorithm Hash digest
SHA256 ef19fb18e379af8faac7a2adca7b73406f23c3bedf8c73e844f287cf316acaa4
MD5 52ea0eafaf22fd54db568b51b27801a2
BLAKE2b-256 cc819d91c986b111dbe4490a5f74e0ce4c7738c4eb89ca0e1cd546a082f86a93

See more details on using hashes here.

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

Hashes for aethergraph-0.1.0a1-py3-none-any.whl
Algorithm Hash digest
SHA256 13d7c2535ba989f1aad413d838382cc0bb74119f0b535c70ebe9a250ba8e512f
MD5 86b436e954816c075e6039e467fa1767
BLAKE2b-256 115a04818b99cd67a05094533edd1e0a112fcfb6f35a0564698bee54102dc8bf

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page