A previous release had provenance metadata, but this release does not. View details.
Vifu Python SDK
The Python SDK embeds the Vifu Runtime, Agent Gateway, and local Server. Python
functions can become local Agent providers. Vifu("name") creates or reopens
one real App in the personal Server and records its project binding in
.vifu/app.json.
Create an environment and install Vifu:
python3 -m venv .venv
. .venv/bin/activate
python -m pip install vifu
The wheel contains the generated UniFFI binding, native Rust library, and the same complete Vifu binary distributed in Vifu releases. That binary includes the Server, Dashboard, TUI, Gateway, SQLite storage, and Runtime APIs. The Python API calls the Runtime in the application process. It reuses a running local Server or starts the bundled binary in Server-only mode.
The public API provides:
Vifufor App identity, Agent registration, local Server connection, invocation, tracing, and remote calls.VifuRuntimefor persistent Runtime state, Agent registration, invocation, snapshots, and pending traces.AgentTracefor activity, output deltas, and typed provider stages.VifuGatewayfor explicit remote enrollment and advanced Gateway control.VifuServerfor advanced control of the bundled Vifu Server process.VifuServerConfigfor typed local Server startup configuration from Python.AppProviderandVifu.provider()for declaring reusable App-private Providers and binding them to Agent roles.LocalWhisper,LocalLlama, andOpenAICompatiblefor code-configured speech and language-model Providers.Vifu.run()for the same registered Agent App lifecycle locally and on a compatible managed host.
Call app.run() after registering Agents to serve Endpoint invocations until
the local process stops. An App may instead pass a local entrypoint such as
app.run(local_main). Vifu calls that entrypoint for direct local execution. A
compatible managed host uses the registered Endpoints from the same script,
does not enter the local interaction loop, and stops after its assigned
invocation completes. Managed lifecycle details are not part of application
input or output.
Framework integrations can be registered as normal Agent handlers. An
integration may declare vifu_name, vifu_capability, vifu_metadata,
vifu_instructions, and related defaults on the handler object. It may also
implement vifu_bind(...) and vifu_run() when it owns one foreground runtime
such as a voice session. Vifu.run() binds and starts that lifecycle, so the
application entrypoint remains only Agent registration:
app.agent("voice", voice_agent)
app.agent("assistant", assistant_agent)
app.run()
Keep an Agent's implementation separate from the Provider it uses:
from vifu import LocalLlama, Vifu
app = Vifu("support-call")
reasoning = app.provider(
"reasoning",
LocalLlama(model="qwen2.5-3b-instruct-q4_k_m.gguf"),
)
app.agent(
"reply-agent",
reply_agent,
implementation="strands-agents",
providers={"reasoning": reasoning},
)
The App reports the Provider as an App-private resource. Vifu creates an Agent
Profile only for reply-agent; it does not turn reasoning into another Agent.
Install the optional Strands integration, then select an OpenAI-compatible Provider directly in Python, including hosted and loopback model servers:
python -m pip install "vifu[strands]"
from vifu.integrations.strands import openai_compatible_model
model = openai_compatible_model(
request,
url="http://127.0.0.1:11434/v1/chat/completions",
model="qwen2.5:7b",
)
The API key remains process configuration and is never included in Agent
metadata. strands_model(...) remains available when an App intentionally uses
a versioned Vifu Agent Profile.
Start with the Python tutorial. Runnable framework integrations are available for Google ADK and Foundry Local.
Metadata
Release files for vifu 0.1.9
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Loss of provenance
These files do not have provenance metadata, despite files in a prior release including this data.
We recommend further investigation before installing these files. View details.
Built distributions (wheels)
| File | Actions Reset | |||
|---|---|---|---|---|
| vifu-0.1.9-py3-none-win_amd64.whl | Python 3 | none | Windows x86-64 | Details for vifu-0.1.9-py3-none-win_amd64.whl |
| vifu-0.1.9-py3-none-manylinux_2_28_x86_64.whl | Python 3 | none | Linux glibc 2.28+ x86-64 | Details for vifu-0.1.9-py3-none-manylinux_2_28_x86_64.whl |
| vifu-0.1.9-py3-none-manylinux_2_28_aarch64.whl | Python 3 | none | Linux glibc 2.28+ ARM64 | Details for vifu-0.1.9-py3-none-manylinux_2_28_aarch64.whl |
| vifu-0.1.9-py3-none-macosx_11_0_arm64.whl | Python 3 | none | macOS 11.0+ ARM64 | Details for vifu-0.1.9-py3-none-macosx_11_0_arm64.whl |
| vifu-0.1.9-py3-none-macosx_10_15_x86_64.whl | Python 3 | none | macOS 10.15+ x86-64 | Details for vifu-0.1.9-py3-none-macosx_10_15_x86_64.whl |
Total release size: 110.2 MB
Release files / vifu-0.1.9-py3-none-win_amd64.whl
Loss of provenance
This file belongs to a release without provenance metadata, despite a prior release including this data.
We recommend further investigation before installing this file. View details.
| Download URL | vifu-0.1.9-py3-none-win_amd64.whl |
|---|---|
| Size | 20.2 MB |
| Tags | Python 3 Windows x86-64 |
|
SHA-256 checksum How to use checksums |
9f62753c804728892774d82e319a4f3d9d21bc90b0bc901ada8d13e8998b9b17
|
|
BLAKE2b-256 checksum How to use checksums |
efce576d0d7a5ff78eb6b3ebe64b9f138b49b33b158b5155de8ccf81f977a544
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.11.10
|
Release files / vifu-0.1.9-py3-none-manylinux_2_28_x86_64.whl
Loss of provenance
This file belongs to a release without provenance metadata, despite a prior release including this data.
We recommend further investigation before installing this file. View details.
| Download URL | vifu-0.1.9-py3-none-manylinux_2_28_x86_64.whl |
|---|---|
| Size | 23.5 MB |
| Tags | Linux glibc 2.28+ x86-64 Python 3 |
|
SHA-256 checksum How to use checksums |
89ef2dc8a47db28229e5e6889cc9d529c222dd8da8b8222e57f465b5a1e98a21
|
|
BLAKE2b-256 checksum How to use checksums |
0684bdec3fd5ddeec9c531b24e9294efd44f54a974e5c64707734f625f0a3d49
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.11.10
|
Release files / vifu-0.1.9-py3-none-manylinux_2_28_aarch64.whl
Loss of provenance
This file belongs to a release without provenance metadata, despite a prior release including this data.
We recommend further investigation before installing this file. View details.
| Download URL | vifu-0.1.9-py3-none-manylinux_2_28_aarch64.whl |
|---|---|
| Size | 22.8 MB |
| Tags | Linux glibc 2.28+ ARM64 Python 3 |
|
SHA-256 checksum How to use checksums |
3e0e67ebd1cea0b8e54a3f8f400fb182beb972241073b5876d88aa4b7960d5d3
|
|
BLAKE2b-256 checksum How to use checksums |
66da6f6817532af10dbdfb1699aeb7e2822d18f4cf2c26bb902445b009ea802f
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.11.10
|
Release files / vifu-0.1.9-py3-none-macosx_11_0_arm64.whl
Loss of provenance
This file belongs to a release without provenance metadata, despite a prior release including this data.
We recommend further investigation before installing this file. View details.
| Download URL | vifu-0.1.9-py3-none-macosx_11_0_arm64.whl |
|---|---|
| Size | 21.2 MB |
| Tags | Python 3 macOS 11.0+ ARM64 |
|
SHA-256 checksum How to use checksums |
f85ed4ad888373b54dddd0345dda66622a99c32e107e770aeda01d2c590a1216
|
|
BLAKE2b-256 checksum How to use checksums |
46832203aaaeed12336061bd7b4e16ef25d272de6d72eca2fb9c7ff770601b05
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.11.10
|
Release files / vifu-0.1.9-py3-none-macosx_10_15_x86_64.whl
Loss of provenance
This file belongs to a release without provenance metadata, despite a prior release including this data.
We recommend further investigation before installing this file. View details.
| Download URL | vifu-0.1.9-py3-none-macosx_10_15_x86_64.whl |
|---|---|
| Size | 22.4 MB |
| Tags | Python 3 macOS 10.15+ x86-64 |
|
SHA-256 checksum How to use checksums |
44692e497f6abe19c6e96e8fb306a0f543cea078c3148cbd84c49ccdcda14fc1
|
|
BLAKE2b-256 checksum How to use checksums |
a885efc4a43b12f6bec8d45d1a318ab9112dc31e3c479f1c67e5807b7e74963f
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.11.10
|
Security for vifu 0.1.9
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.
Loss of provenance
A previous release of these files had provenance metadata, but this release does not.
While this could reflect a routine change by the project maintainers, it may also indicate that the release files have been compromised.
Release comparison
- Removed 0.1.7 5 files With provenance
- Added 0.1.9 5 files Without provenance
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.