Catalog PyPI
Back to packageRELEASE DETAILS

0.1.1

PyPI

agentvault-server-sdk

Server SDK for building AgentVault A2A compliant agents.

Published16 Apr 2025
Direct dependencies6
Transitive dependenciesNot calculated

README

Version 0.1.1 documentation

AgentVault Server SDK

This package provides base classes, utilities, and tools to help developers build Agent-to-Agent (A2A) protocol compliant agents within the AgentVault ecosystem.

Overview

The core component is the BaseA2AAgent abstract class, which defines the interface agent implementations must adhere to. The SDK also provides FastAPI integration helpers (create_a2a_router) to easily expose an agent implementation as a standard A2A JSON-RPC endpoint.

Packager Utility (agentvault-sdk package)

To simplify deployment, the SDK includes a command-line utility to generate standardized Docker packaging artifacts for your agent project.

Purpose: Creates a Dockerfile, a .dockerignore file, and copies necessary configuration files (like requirements.txt and agent-card.json) into an output directory, ready for building a container image.

Usage:

agentvault-sdk package [OPTIONS]

Options:

  • --output-dir DIRECTORY / -o DIRECTORY: (Required) Directory to write Dockerfile and other artifacts.
  • --entrypoint TEXT: (Required) Python import path to the FastAPI app instance (e.g., my_agent.main:app).
  • --python TEXT: Python version for the base image tag (e.g., 3.10, 3.11). [default: 3.11]
  • --suffix TEXT: Suffix for the python base image (e.g., slim-bookworm, alpine). [default: slim-bookworm]
  • --port INTEGER: Port the application will listen on inside the container. [default: 8000]
  • --requirements PATH / -r PATH: Path to the requirements.txt file. If not provided, it looks for ./requirements.txt in the current directory and copies it if found. A warning is issued if the SDK dependency seems missing.
  • --agent-card PATH / -c PATH: Path to the agent-card.json file. If provided, it will be copied into the output directory.
  • --app-dir TEXT: Directory inside the container where the application code will reside. [default: /app]
  • --help: Show this message and exit.

Example:

# Assuming your agent code is in ./src and FastAPI app is in src/my_agent/main.py
# and you have ./requirements.txt and ./agent-card.json

agentvault-sdk package \
    --output-dir ./agent_build \
    --entrypoint my_agent.main:app \
    --agent-card ./agent-card.json \
    --python 3.11

Generated Files:

Running the command creates the specified output directory (e.g., ./agent_build) containing:

  • Dockerfile: A multi-stage Dockerfile optimized for Python applications.
  • .dockerignore: A standard file listing patterns to exclude from the build context.
  • requirements.txt (if source found/provided): A copy of your requirements file.
  • agent-card.json (if --agent-card provided): A copy of your agent card file.

Building and Running the Image:

After generating the files, navigate to your project root (where your agent source code and the output directory are) and run:

# Build the image (replace 'my-agent-image:latest' with your desired tag)
docker build -t my-agent-image:latest -f ./agent_build/Dockerfile .

# Run the container
docker run -d -p 8000:8000 --name my-running-agent my-agent-image:latest

(Adjust the -p flag if you used a different port)

Future Directions

  • Integration with specific deployment platforms.
  • More sophisticated dependency analysis.
  • Advanced configuration options for Dockerfile generation.

Downloads & popularity

Awaiting observations

No metric observations yet

Download counts and popularity will appear here as the collector receives them.

Declared dependencies 6

Native requirements
6 direct targetsNot calculated transitive count
Package / targetRequirementRelationship
fastapi
Environment
{
  "extras": "",
  "marker": null,
  "requires_python": "<3.12,>=3.10",
  "evaluation": "NOT_EVALUATED"
}
fastapi<0.112,>=0.111runtime
typer
Environment
{
  "extras": "",
  "marker": null,
  "requires_python": "<3.12,>=3.10",
  "evaluation": "NOT_EVALUATED"
}
typer>=0.9.0runtime
agentvault
Environment
{
  "extras": "",
  "marker": null,
  "requires_python": "<3.12,>=3.10",
  "evaluation": "NOT_EVALUATED"
}
agentvault<0.3.0,>=0.2.0runtime
pytest
Environment
{
  "extras": "",
  "marker": "extra == \"dev\"",
  "requires_python": "<3.12,>=3.10",
  "evaluation": "NOT_EVALUATED"
}
pytest<9.0,>=7.0; extra == "dev"runtime
pytest-asyncio
Environment
{
  "extras": "",
  "marker": "extra == \"dev\"",
  "requires_python": "<3.12,>=3.10",
  "evaluation": "NOT_EVALUATED"
}
pytest-asyncio<0.24,>=0.23; extra == "dev"runtime
freezegun
Environment
{
  "extras": "",
  "marker": "extra == \"dev\"",
  "requires_python": "<3.12,>=3.10",
  "evaluation": "NOT_EVALUATED"
}
freezegun>=1.1.0; extra == "dev"runtime

Distribution files

2 collected
agentvault_server_sdk-0.1.1-py3-none-any.whl

bdist_wheel · 23.4 KB · Python py3

Source file
agentvault_server_sdk-0.1.1.tar.gz

sdist · 20.35 KB · Python source

Source file

Metadata history

Meaningful changes
Current collected state Current

Observed since 21 Oct, 00:38 UTC

No superseded metadata states collected. Unchanged observations do not create new revisions.

Record identity

package_version:e081bf9078a07aaabc402fa2924bbdc37e35d4236004a6ab0169a730abf6fbc3

Other collected versions

View all collected versions →