Skip to main content

Production-ready AI agent framework for FIPS/OpenShift environments

Project description

fipsagents

Production-ready AI agent framework for FIPS/OpenShift environments. Provides BaseAgent — a pure Python, async-first base class that handles LLM communication, tool dispatch, MCP connections, prompt loading, skill management, configuration, and lifecycle so your agent subclass stays small.

Install

pip install fipsagents[server]

With optional MemoryHub support:

pip install fipsagents[server,memory]

Or vendor the source directly into your project for full control:

fips-agents vendor

See VENDORED marker in src/fipsagents/ for provenance tracking.

Quick start

from fipsagents.baseagent import BaseAgent, StepResult

class MyAgent(BaseAgent):
    async def step(self) -> StepResult:
        response = await self.call_model()
        response = await self.run_tool_calls(response)
        return StepResult.done(response.content)

if __name__ == "__main__":
    from fipsagents.server import OpenAIChatServer
    server = OpenAIChatServer(agent_class=MyAgent, config_path="agent.yaml")
    server.run()

What's included

  • LLM client via litellm — one interface for 100+ providers (vLLM, LlamaStack, OpenAI, Anthropic, Azure, Bedrock)
  • Two-plane tool system@tool decorator with agent_only, llm_only, or both visibility
  • MCP client via FastMCP v3 — connect to remote servers (tools, prompts, and resources)
  • Prompt loading — Markdown with YAML frontmatter
  • Skills — agentskills.io progressive disclosure
  • Configuration — YAML with ${VAR:-default} env var substitution
  • MemoryHub — optional persistent memory (dual-path: MCP for LLM, SDK for agent code)
  • Protective patterns — max iterations, exponential backoff, rate limiting
  • HTTP server — OpenAI-compatible /v1/chat/completions endpoint with streaming
  • run_tool_calls() — one-line tool dispatch loop for non-streaming agents
  • Agent identity — name, description, version exposed via /v1/agent-info

Key methods

Method Purpose
call_model() LLM completion with auto-included tool schemas
run_tool_calls(response) Execute tool calls and loop until the model stops
call_model_json(schema) Structured output with Pydantic validation
call_model_validated(fn) Call, validate, retry with backoff
use_tool(name, **kw) Agent-code tool call (plane 1)
connect_mcp(target) Connect to an MCP server
get_mcp_prompt(name) Render an MCP-provided prompt
read_resource(uri) Read an MCP-provided resource

Used by

This package is the shared framework for templates scaffolded by the fips-agents CLI:

  • agent-loop — single-agent loop (step() in a loop)
  • workflow — directed graph of nodes with typed state

License

Apache 2.0

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

fipsagents-0.7.1.tar.gz (123.3 kB view details)

Uploaded Source

Built Distribution

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

fipsagents-0.7.1-py3-none-any.whl (91.2 kB view details)

Uploaded Python 3

File details

Details for the file fipsagents-0.7.1.tar.gz.

File metadata

  • Download URL: fipsagents-0.7.1.tar.gz
  • Upload date:
  • Size: 123.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for fipsagents-0.7.1.tar.gz
Algorithm Hash digest
SHA256 daad9feafc644e7c2c3344add8ba531e83b1baae55c19af4b87ebe3a254cebb8
MD5 03ead43a6a2ba6397750187677d4285d
BLAKE2b-256 eb29e6cbc3da0ea2914954bc239ec58aafec332e4d902ddafe97a496164ffd0a

See more details on using hashes here.

Provenance

The following attestation bundles were made for fipsagents-0.7.1.tar.gz:

Publisher: publish.yml on fips-agents/agent-template

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file fipsagents-0.7.1-py3-none-any.whl.

File metadata

  • Download URL: fipsagents-0.7.1-py3-none-any.whl
  • Upload date:
  • Size: 91.2 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for fipsagents-0.7.1-py3-none-any.whl
Algorithm Hash digest
SHA256 119b00884212b9a242e7cd3f67732b1e4d078102fe24ceae3065052e873eea56
MD5 dfe08a5537907ea382de698c158e1d40
BLAKE2b-256 a180b016957c8b25773f46f5b8062016ae9a836584b3a40e75a55545aa8a406d

See more details on using hashes here.

Provenance

The following attestation bundles were made for fipsagents-0.7.1-py3-none-any.whl:

Publisher: publish.yml on fips-agents/agent-template

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

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