Skip to main content

da-factory

Dynamic Agent Factory.

Declarative agent manifests -> runnable Strands agents.

Hand the SDK a manifest (prompt, tools, guardrails, context policy) and get back a correctly-wired, runnable agent -- without hand-assembling hooks/interventions boilerplate per agent, per project.

No dependency on strands.multiagent.* (Graph/Workflow): orchestration is concurrent (fan-out + optional aggregator) or sequential (chain), both built on nothing but strands.Agent.invoke_async + asyncio.

Status

Early alpha. API surface is still settling.

Install

pip install da-factory

Quick example

from da_factory.catalog.discovery import discover_agents
from da_factory.catalog.build import build_agent
from da_factory.orchestration import run_concurrent

manifests = discover_agents("path/to/definitions")
agents = {m.id: build_agent(m) for m in manifests}
result = await run_concurrent(agents, "some input")

CLI

New project: create a definitions/ directory, then scaffold agents into it with new-agent (no separate "init project" command -- the directory itself is the project).

# LLM-backed agent (prompt + tools, no logic.py)
da-factory new-agent my-agent --role "role description" --llm

# deterministic/code-backed agent (logic.py, no prompt)
da-factory new-agent my-agent --role "role description"

# target a non-default definitions directory
da-factory new-agent my-agent --role "role description" --llm --definitions-dir path/to/definitions

Validate all manifests under a definitions directory:

da-factory validate --definitions-dir path/to/definitions

Guardrails

Built in, declared per-manifest via guardrails: [injection, pii, secrets, toxicity]. Each follows the same two-layer shape: a deterministic pre-filter, plus (where it adds value) a semantic LLM judge invoked only when the pre-filter finds nothing.

Development

uv sync --all-extras --dev
uv run pytest
uv run ruff check . && uv run ruff format --check .
uv run pyright

License

See LICENSE -- not yet finalized (placeholder, no license granted).

Metadata

Release files for da-factory 1.2.0

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

Source distribution (sdist)

Source distribution for da-factory 1.2.0
File Size Uploaded
da_factory-1.2.0.tar.gz 270.7 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for da-factory 1.2.0
File Interpreter ABI Platform
da_factory-1.2.0-py3-none-any.whl Python 3 none any Details

Total release size: 300.2 kB

Release files / da_factory-1.2.0.tar.gz

Download URL da_factory-1.2.0.tar.gz
Size 270.7 kB
Tags Source
SHA-256 checksum
How to use checksums
8931fed925c26917c8883c90dd254a83d1684a32040bf8e859862d453e7ba828
BLAKE2b-256 checksum
How to use checksums
3bab632a3a879dd4cf80522568e305cac83b31299f8813c94d858d4be8cc70ab
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

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 Sep 13, 2026.

Transparency log

Release files / da_factory-1.2.0-py3-none-any.whl

Download URL da_factory-1.2.0-py3-none-any.whl
Size 29.5 kB
Tags Python 3
SHA-256 checksum
How to use checksums
acd7d4b2946f8e028c3ff818b396cf82f063c92cfad96005234f064955e43b58
BLAKE2b-256 checksum
How to use checksums
33f02638ea6f7476f9c16e10e9097795f5c89b1ea62e2b811b8c27d7733e3a6c
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

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 Sep 13, 2026.

Transparency log

Release history Release notifications | RSS feed

This release

1.2.0 This release

2 release files

1.1.3

2 release files

1.1.2

2 release files

1.1.1

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