Metadata-Version: 2.4
Name: agentforge-py
Version: 0.2.4
Summary: AgentForge — open-source plug-and-play framework for production AI agents
Project-URL: Homepage, https://github.com/Scaffoldic/agentforge-py
Project-URL: Repository, https://github.com/Scaffoldic/agentforge-py
Project-URL: Documentation, https://github.com/Scaffoldic/agentforge-py
Project-URL: Changelog, https://github.com/Scaffoldic/agentforge-py/blob/main/CHANGELOG.md
Project-URL: Issues, https://github.com/Scaffoldic/agentforge-py/issues
Author: The AgentForge Authors
License-Expression: Apache-2.0
License-File: LICENSE
Keywords: agent,agentic,ai,framework,llm,react,tools
Classifier: Development Status :: 2 - Pre-Alpha
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: Apache Software License
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.13
Classifier: Topic :: Scientific/Engineering :: Artificial Intelligence
Classifier: Topic :: Software Development :: Libraries :: Python Modules
Classifier: Typing :: Typed
Requires-Python: >=3.13
Requires-Dist: agentforge-core~=0.2.4
Requires-Dist: copier>=9.4
Requires-Dist: pydantic>=2.10
Requires-Dist: pyyaml>=6.0
Requires-Dist: typer>=0.15
Provides-Extra: a2a
Requires-Dist: agentforge-a2a~=0.2.4; extra == 'a2a'
Provides-Extra: all
Requires-Dist: agentforge-a2a~=0.2.4; extra == 'all'
Requires-Dist: agentforge-anthropic[anthropic]~=0.2.4; extra == 'all'
Requires-Dist: agentforge-bedrock~=0.2.4; extra == 'all'
Requires-Dist: agentforge-chat-history-postgres~=0.2.4; extra == 'all'
Requires-Dist: agentforge-chat-history-redis~=0.2.4; extra == 'all'
Requires-Dist: agentforge-chat-http~=0.2.4; extra == 'all'
Requires-Dist: agentforge-chat-slack~=0.2.4; extra == 'all'
Requires-Dist: agentforge-chat~=0.2.4; extra == 'all'
Requires-Dist: agentforge-eval-geval~=0.2.4; extra == 'all'
Requires-Dist: agentforge-evidently[evidently]~=0.2.4; extra == 'all'
Requires-Dist: agentforge-guard-llamaguard~=0.2.4; extra == 'all'
Requires-Dist: agentforge-guard-llmguard~=0.2.4; extra == 'all'
Requires-Dist: agentforge-guard-nemo~=0.2.4; extra == 'all'
Requires-Dist: agentforge-guard-presidio~=0.2.4; extra == 'all'
Requires-Dist: agentforge-langfuse[langfuse]~=0.2.4; extra == 'all'
Requires-Dist: agentforge-litellm[litellm]~=0.2.4; extra == 'all'
Requires-Dist: agentforge-mcp[mcp]~=0.2.4; extra == 'all'
Requires-Dist: agentforge-memory-neo4j~=0.2.4; extra == 'all'
Requires-Dist: agentforge-memory-postgres~=0.2.4; extra == 'all'
Requires-Dist: agentforge-memory-sqlite~=0.2.4; extra == 'all'
Requires-Dist: agentforge-memory-surrealdb~=0.2.4; extra == 'all'
Requires-Dist: agentforge-ollama[ollama]~=0.2.4; extra == 'all'
Requires-Dist: agentforge-openai[openai]~=0.2.4; extra == 'all'
Requires-Dist: agentforge-otel~=0.2.4; extra == 'all'
Requires-Dist: agentforge-phoenix[phoenix]~=0.2.4; extra == 'all'
Requires-Dist: agentforge-reranker-cohere[cohere]~=0.2.4; extra == 'all'
Requires-Dist: agentforge-reranker-mixedbread[mixedbread]~=0.2.4; extra == 'all'
Requires-Dist: agentforge-reranker-sentence-transformers[sentence-transformers]~=0.2.4; extra == 'all'
Requires-Dist: agentforge-reranker-voyage[voyage]~=0.2.4; extra == 'all'
Requires-Dist: agentforge-statsd[statsd]~=0.2.4; extra == 'all'
Requires-Dist: agentforge-testing~=0.2.4; extra == 'all'
Requires-Dist: agentforge-voyage[voyage]~=0.2.4; extra == 'all'
Provides-Extra: anthropic
Requires-Dist: agentforge-anthropic[anthropic]~=0.2.4; extra == 'anthropic'
Provides-Extra: bedrock
Requires-Dist: agentforge-bedrock~=0.2.4; extra == 'bedrock'
Provides-Extra: chat
Requires-Dist: agentforge-chat~=0.2.4; extra == 'chat'
Provides-Extra: chat-history-postgres
Requires-Dist: agentforge-chat-history-postgres~=0.2.4; extra == 'chat-history-postgres'
Provides-Extra: chat-history-redis
Requires-Dist: agentforge-chat-history-redis~=0.2.4; extra == 'chat-history-redis'
Provides-Extra: chat-http
Requires-Dist: agentforge-chat-http~=0.2.4; extra == 'chat-http'
Provides-Extra: chat-slack
Requires-Dist: agentforge-chat-slack~=0.2.4; extra == 'chat-slack'
Provides-Extra: eval
Requires-Dist: agentforge-eval-geval~=0.2.4; extra == 'eval'
Provides-Extra: evidently
Requires-Dist: agentforge-evidently[evidently]~=0.2.4; extra == 'evidently'
Provides-Extra: guard-llamaguard
Requires-Dist: agentforge-guard-llamaguard~=0.2.4; extra == 'guard-llamaguard'
Provides-Extra: guard-llmguard
Requires-Dist: agentforge-guard-llmguard~=0.2.4; extra == 'guard-llmguard'
Provides-Extra: guard-nemo
Requires-Dist: agentforge-guard-nemo~=0.2.4; extra == 'guard-nemo'
Provides-Extra: guard-presidio
Requires-Dist: agentforge-guard-presidio~=0.2.4; extra == 'guard-presidio'
Provides-Extra: langfuse
Requires-Dist: agentforge-langfuse[langfuse]~=0.2.4; extra == 'langfuse'
Provides-Extra: litellm
Requires-Dist: agentforge-litellm[litellm]~=0.2.4; extra == 'litellm'
Provides-Extra: mcp
Requires-Dist: agentforge-mcp[mcp]~=0.2.4; extra == 'mcp'
Provides-Extra: memory-neo4j
Requires-Dist: agentforge-memory-neo4j~=0.2.4; extra == 'memory-neo4j'
Provides-Extra: memory-postgres
Requires-Dist: agentforge-memory-postgres~=0.2.4; extra == 'memory-postgres'
Provides-Extra: memory-sqlite
Requires-Dist: agentforge-memory-sqlite~=0.2.4; extra == 'memory-sqlite'
Provides-Extra: memory-surrealdb
Requires-Dist: agentforge-memory-surrealdb~=0.2.4; extra == 'memory-surrealdb'
Provides-Extra: ollama
Requires-Dist: agentforge-ollama[ollama]~=0.2.4; extra == 'ollama'
Provides-Extra: openai
Requires-Dist: agentforge-openai[openai]~=0.2.4; extra == 'openai'
Provides-Extra: otel
Requires-Dist: agentforge-otel~=0.2.4; extra == 'otel'
Provides-Extra: phoenix
Requires-Dist: agentforge-phoenix[phoenix]~=0.2.4; extra == 'phoenix'
Provides-Extra: reranker-cohere
Requires-Dist: agentforge-reranker-cohere[cohere]~=0.2.4; extra == 'reranker-cohere'
Provides-Extra: reranker-mixedbread
Requires-Dist: agentforge-reranker-mixedbread[mixedbread]~=0.2.4; extra == 'reranker-mixedbread'
Provides-Extra: reranker-sentence-transformers
Requires-Dist: agentforge-reranker-sentence-transformers[sentence-transformers]~=0.2.4; extra == 'reranker-sentence-transformers'
Provides-Extra: reranker-voyage
Requires-Dist: agentforge-reranker-voyage[voyage]~=0.2.4; extra == 'reranker-voyage'
Provides-Extra: statsd
Requires-Dist: agentforge-statsd[statsd]~=0.2.4; extra == 'statsd'
Provides-Extra: testing
Requires-Dist: agentforge-testing~=0.2.4; extra == 'testing'
Provides-Extra: voyage
Requires-Dist: agentforge-voyage[voyage]~=0.2.4; extra == 'voyage'
Description-Content-Type: text/markdown

# agentforge

The default runtime for the AgentForge framework — `Agent`, `ReActLoop`,
default tools, `SimpleFinding`, in-memory store, basic safety defaults,
`BudgetPolicy`. Most users install this package and add module extras
as needed.

## Three-line agent (once feat-001 lands)

```python
from agentforge import Agent

agent = Agent(model="anthropic:claude-sonnet-4.7")
result = await agent.run("Say hello in three words.")
```

## Install

```bash
pip install agentforge-py                              # core runtime
pip install "agentforge-py[anthropic]"                 # + Anthropic provider
pip install "agentforge-py[anthropic,memory-postgres]" # + persistence
```

## Status

v0.0 — pre-alpha. Repo bootstrapped; feat-001 (Core contracts &
`Agent` orchestrator) is the next milestone.

## License

Apache 2.0.
