Skip to content

About

Shared Python libraries that Foundry-built agents install and extend — core protocols & DI, config loading, FastAPI HTTP layer, and AWS Strands SDK adapter. Packaged as a uv workspace; each library is independently versioned and ships as a wheel on GitHub Releases.

Topics

Resources

Contributing

Security policy

Stars

15 stars

Watchers

3 watching

Forks

Repository files navigation

foundry-agent-packages

Python

A uv-workspace monorepo of the shared Python libraries that Foundry-built agents install and extend. Each package is independently versioned and ships as a wheel attached to a GitHub Release; adopters host the wheels in their own internal index. Composition roots like strands-base-agent wire these libraries into a runnable service - they do not re-implement what lives here.

Packages

Package Purpose Depends on
foundry-agent-core DI container, protocols, types, exceptions, lifecycle (none)
foundry-agent-config YAML loader with env-var overrides, bounded input controls (none)
foundry-agent-fastapi CORS / error / logging middleware, request models, health router foundry-agent-core
foundry-strands-agent AWS Strands SDK adapter - backend, factory, orchestrator, tool loader foundry-agent-core, foundry-agent-config
foundry-agent-core ◄── foundry-agent-fastapi
       ▲
       ├──────────────── foundry-strands-agent
       │                        ▲
foundry-agent-config ───────────┘

Requirements

Quick Start

just setup           # uv sync + pre-commit install
just check           # full gate: ruff lint + format check + basedpyright + tests
just test            # unit + integration tiers across all packages, looped per package
just test-unit       # the `tests/unit/` tier only
just test-integration # the `tests/integration/` tier only; 0 collected is not a failure

HTML coverage is always on, written per package to htmlcov/<module>/index.html from each package's pytest addopts; there is no separate coverage recipe.

Per-package commands:

just test-pkg foundry-agent-core      # test a single package
just check-pkg foundry-agent-core     # lint + format + type-check + test, one package
just build foundry-agent-core         # build a single wheel

just --list shows the full recipe surface, grouped as Setup & Dependencies, Code Quality, Testing, and Building & Release - the same grouping and shared recipe names used by the sibling temporal-packages repo.

Documentation

If you want to… Read
Install the workspace and build a wheel Quickstart
Run the daily developer loop Local development
Understand the codebase (layout, packages, conventions) AGENTS.md
See per-package summaries Packages
Consume these packages from a downstream repo Adopting
Contribute changes CONTRIBUTING.md

Release model

Releases ship as GitHub Releases - adopters host the wheels in their own internal index (no public PyPI yet).

  • PRs to develop → CI runs (lint, type-check, test, dry-run build, bandit narrow set)
  • PRs to main → release validation runs
  • Tag a release on main → builds wheels + Syft SBOM + Grype scan per changed package and attaches them to the GitHub Release

See docs/foundry/releases/release-channels.md for internal RC/dev publishing and docs/foundry/releases/adopting.md for the adopter flow.

License

Apache-2.0 - see LICENSE and NOTICE.

About

Shared Python libraries that Foundry-built agents install and extend — core protocols & DI, config loading, FastAPI HTTP layer, and AWS Strands SDK adapter. Packaged as a uv workspace; each library is independently versioned and ships as a wheel on GitHub Releases.

Topics

Resources

Contributing

Security policy

Stars

15 stars

Watchers

3 watching

Forks

Releases

Packages

Used by

Contributors

Languages