This release is a pre-release and may not be stable for production use.
Azure Functions Agents Base Extension
Framework-neutral provider and lifecycle contracts for Python Agent integrations with Azure Functions.
This package is infrastructure for provider extensions. Applications should
install a provider package such as azurefunctions-agents-extensions-agent-framework.
Provider contract
Provider packages register a zero-argument factory in the
azurefunctions.agents.extensions.providers entry-point group. The entry-point
name is the provider ID. The factory returns an AgentProvider with a matching
provider_id, its distribution name, and a compile_binding() implementation.
compile_binding() receives the complete markdown instructions, logical Agent
name, immutable provider options, injected parameter annotation, and an
AgentCapabilities bundle. Providers declare supported_capabilities and
translate neutral Skill/MCP definitions into their own runtime objects. The
compiled recipe creates a fresh Agent context for each invocation and can run
an Agent from a Durable activity.
Applications import the app class supplied by a provider package. Each Agent Function App uses one provider, configured when the app is constructed. Provider discovery is cached, while live Agents and clients are never cached.
Provider defaults are app-scoped. Binding options override defaults only for
that binding. The app root is configured once when the provider app is
constructed, or inferred from AzureWebJobsScriptRoot and then the current
directory; decorators cannot override it.
Markdown lookup
An agent_name resolves exactly one UTF-8 file:
<app_root>/<agent_name>.agent.md
<app_root>/agents/<agent_name>.agent.md
The entire file is passed to the provider unchanged. Front matter, YAML,
substitutions, tools, skills, MCP configuration, and history are not parsed by
this package. If both locations exist, lookup fails as ambiguous. Absolute
paths, separators, traversal components, and symlinks outside app_root are
rejected.
Skills and MCP discovery
The base package discovers immutable definitions from the shared app root:
skills/<skill-name>/SKILL.md
mcp.json
Base discovery records safely contained directories that contain SKILL.md
without reading or interpreting those files. Each provider owns Skill format
parsing and validation. MCP servers must use http or streamable-http; local
commands and stdio are rejected. Discovery does not execute scripts, resolve
environment references, create credentials, or connect to servers.
Every Agent binding receives all valid Skills and MCP servers discovered from the app root. V1 has no app-level or per-binding capability selectors. Treat placing a definition under the app root as granting every Agent in that app access to it; use separate Function Apps when capabilities require isolation.
Only immutable definitions are retained in app state. Provider packages must create and close clients, credentials, tools, and other live resources within each invocation.
Durable support
Provider packages expose Durable support through their own [durable] extra.
The base extra installs azure-functions-durable>=2.0.0b2; normal imports do
not import or require Durable Functions. DurableAgentContext.call_agent()
schedules a hidden activity with a deterministic, JSON-only payload and always
uses the AgentFunctionApp provider. All file, client, Agent, model, and
tool I/O occurs in the activity, never in the orchestrator.
Metadata
Release files for azurefunctions-agents-extensions-base 1.0.0b1
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | Actions |
|---|---|---|---|---|
| azurefunctions_agents_extensions_base-1.0.0b1.tar.gz | 20.5 kB | Without provenance | Details for azurefunctions_agents_extensions_base-1.0.0b1.tar.gz |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Actions Reset |
|---|---|---|---|---|
| azurefunctions_agents_extensions_base-1.0.0b1-py3-none-any.whl | Python 3 | none | any | Details for azurefunctions_agents_extensions_base-1.0.0b1-py3-none-any.whl |
Total release size: 37.1 kB
Release files / azurefunctions_agents_extensions_base-1.0.0b1.tar.gz
| Download URL | azurefunctions_agents_extensions_base-1.0.0b1.tar.gz |
|---|---|
| Size | 20.5 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
1ba59c44bd67495d967fca64799e252be96ac1dda753c678938bed1e306f5ae9
|
|
BLAKE2b-256 checksum How to use checksums |
873eff789a5be6940cd854a101fcea9938b7915477775db987250e801ecc3e5e
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
RestSharp/106.13.0.0
|
Release files / azurefunctions_agents_extensions_base-1.0.0b1-py3-none-any.whl
| Download URL | azurefunctions_agents_extensions_base-1.0.0b1-py3-none-any.whl |
|---|---|
| Size | 16.5 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
0266f3875ae6c1104c0f8e39158dcbf974d823c84ea99fde053366fdfa07a19e
|
|
BLAKE2b-256 checksum How to use checksums |
cc4fe54eb5362dfe188459bcd41ffd8f66590b308037cc686a9b04991b99c63a
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
RestSharp/106.13.0.0
|
Security for azurefunctions-agents-extensions-base 1.0.0b1
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.