Skip to content

boozallen/foundry-agent-packages

Repository files navigation

foundry-agent-packages

Status: Available Version 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           # ruff + bandit narrow set + format check + basedpyright
just test            # full test suite across all packages

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

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
Understand the security posture and STIG checklists Each package's security/stig_checklist.json
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

License

Contributing

Security policy

Stars

4 stars

Watchers

0 watching

Forks

Packages

 
 
 

Contributors