Skip to main content

Scaffolding framework over the Microsoft Agent Framework for Python.

Project description

wickedailabs-agentframework

Scaffolding framework over the Microsoft Agent Framework for Python.

wickedailabs-agentframework owns all infrastructure — dependency injection, settings, provider wiring, tool discovery, runners (simple / HITL / workflow / orchestration), session storage, middleware, OpenTelemetry tracing and metrics. Your agent projects contain only domain logic: @agent classes, @agent_tool methods, and @service implementations.

Install

This package is distributed via GitHub Releases (not PyPI). Pick the approach that fits your project:

From a release wheel:

pip install https://github.com/WickedAILabs/wickedailabs-pyagentframework/releases/download/v1.0.0/wickedailabs_agentframework-1.0.0-py3-none-any.whl

From a git tag (subdirectory-install of this package):

pip install "git+https://github.com/WickedAILabs/wickedailabs-pyagentframework.git@v1.0.0#subdirectory=src/wickedailabs_agentframework"

In pyproject.toml:

[project]
dependencies = [
  "wickedailabs-agentframework @ https://github.com/WickedAILabs/wickedailabs-pyagentframework/releases/download/v1.0.0/wickedailabs_agentframework-1.0.0-py3-none-any.whl",
]

Optional extras apply the same way — e.g. "wickedailabs-agentframework[foundry] @ <url>". Available extras: foundry, azure-ai, copilot-studio, ollama, yaml, all.

Minimal usage

import asyncio
import my_agent_project
from wickedailabs_agentframework import (
    AgentAI, AgentClient, AgentContext,
    add_agent_framework, build_settings,
    agent, agent_instructions, uses_tools,
)
from wickedailabs_agentframework.internal.runners import (
    SimpleRunner, HitlRunner, WorkflowRunner, OrchestrationRunner,
)


@agent
@agent_instructions("You are a helpful weather advisor.")
@uses_tools("get_current_weather")
class WeatherAdvisorAgent:
    async def run(self, message: str, ctx: AgentContext) -> str:
        return await AgentAI.ask(self, message)


async def main() -> None:
    settings = build_settings()
    container = add_agent_framework(
        settings,
        runners=[SimpleRunner(), HitlRunner(), WorkflowRunner(), OrchestrationRunner()],
        caller_package=my_agent_project,
    )
    client = container.resolve(AgentClient)
    result = await client.run("WeatherAdvisor", "What's the forecast in Sydney?")
    print(result.response if result.success else f"[{result.error_code}] {result.error}")


asyncio.run(main())

Configuration lives in appsettings.json (or .toml / .yaml), with environment-variable overrides via the AgentFramework__Provider__Type=... convention.

Links

License

MIT — see the LICENSE file in the repository.

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

wickedailabs_agentframework-0.0.1a1.tar.gz (56.6 kB view details)

Uploaded Source

Built Distribution

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

wickedailabs_agentframework-0.0.1a1-py3-none-any.whl (76.4 kB view details)

Uploaded Python 3

File details

Details for the file wickedailabs_agentframework-0.0.1a1.tar.gz.

File metadata

File hashes

Hashes for wickedailabs_agentframework-0.0.1a1.tar.gz
Algorithm Hash digest
SHA256 69db93cec63a4f8ef2ef38963569f0d2dff4b2e9abde56bcee36828915418ce3
MD5 b198c7317d3052def0caa32cec6d956e
BLAKE2b-256 bf6ba8b41d83861372dea8fe9b8ed154b21c63147526431787e28020ca93c6f2

See more details on using hashes here.

Provenance

The following attestation bundles were made for wickedailabs_agentframework-0.0.1a1.tar.gz:

Publisher: publish.yml on WickedAILabs/wickedailabs-pyagentframework

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

File details

Details for the file wickedailabs_agentframework-0.0.1a1-py3-none-any.whl.

File metadata

File hashes

Hashes for wickedailabs_agentframework-0.0.1a1-py3-none-any.whl
Algorithm Hash digest
SHA256 d5d0cc69918c34ae1fb7870734c548c37384afae901d1d786bd702cd99bcfb84
MD5 61fb83b05b8570737f35d37aff83a6d2
BLAKE2b-256 fa3e12606d7ac551d64ffc53dda20f4ac5a3d69f4af3ef5680458329e98f1dca

See more details on using hashes here.

Provenance

The following attestation bundles were made for wickedailabs_agentframework-0.0.1a1-py3-none-any.whl:

Publisher: publish.yml on WickedAILabs/wickedailabs-pyagentframework

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