Skip to main content

Official Python bindings for AutoAgents Llama.cpp backend (Metal)

Project description

Python Bindings

Repository: https://github.com/liquidos-ai/AutoAgents

The Python bindings exist to make it easy to explore new ideas quickly without giving up the Rust core that powers AutoAgents.

Python stays focused on agent definition, orchestration, experimentation, and callback glue. Rust owns the runtime, scheduling, streaming, concurrency, and core execution model.

Stable vs Experimental

The production path is:

  • Rust-owned executors (BasicAgent, ReActAgent)
  • Rust-owned memory (SlidingWindowMemory and future Rust-backed providers)
  • Python tools
  • Python hooks

Explicit extension paths live under autoagents.experimental:

  • ExperimentalAgentBuilder
  • CustomExecutor
  • Python-backed memory adapters

Those extension APIs are experimental in the Python bindings specifically because they rely on Python-native execution or Python-native memory behavior. That boundary exists to keep production runtime ownership in Rust rather than re-centering the architecture on Python callbacks.

The same categories of capability are production-grade in the Rust-native implementation. What is experimental here is the Python extension path, not the underlying AutoAgents model when implemented natively in Rust.

Why This Matters

  • Rapid iteration in Python is useful when you are prototyping agent flows, hooks, memory adapters, and pipeline layers.
  • Performance-sensitive and safety-critical behavior still comes from the Rust implementation underneath.
  • Moving a successful prototype to production Rust is easier because the Python layer is orchestration-oriented rather than a separate runtime.

Practical Outcome

You can prototype in Python with:

  • the same LLMProvider model
  • the same pipeline composition model
  • the same agent builder structure
  • the same runtime concepts used by the Rust crates

When you decide to harden something for production, the path to Rust is much smaller because the architecture is already aligned.

Installation from PyPI

Install the base package:

pip install autoagents-py

Install with a local backend or guardrails using extras:

pip install "autoagents-py[llamacpp]"           # llama.cpp CPU
pip install "autoagents-py[llamacpp-cuda]"      # llama.cpp CUDA
pip install "autoagents-py[llamacpp-metal]"     # llama.cpp Metal (macOS)
pip install "autoagents-py[llamacpp-vulkan]"    # llama.cpp Vulkan
pip install "autoagents-py[mistralrs]"          # mistral-rs CPU
pip install "autoagents-py[mistralrs-cuda]"     # mistral-rs CUDA
pip install "autoagents-py[mistralrs-metal]"    # mistral-rs Metal (macOS)
pip install "autoagents-py[guardrails]"         # Guardrails
pip install "autoagents-py[llamacpp-cuda,guardrails]"  # Multiple extras

Local Development

From the repository root:

uv venv --python=3.12
source .venv/bin/activate
uv pip install -U pip maturin pytest pytest-asyncio pytest-cov

make python-bindings-build

For local backend work:

make python-bindings-build-llamacpp-only
make python-bindings-build-mistralrs-only

Backend-specific distributables now live in dedicated package directories under bindings/python/ such as autoagents-llamacpp-cuda and autoagents-mistralrs-metal, so local builds and release builds use the same checked-in package metadata.

For full setup and usage details, see:

  • README.md
  • docs/src/getting-started/python-bindings.md

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

autoagents_llamacpp_metal-0.3.7.tar.gz (361.8 kB view details)

Uploaded Source

Built Distribution

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

autoagents_llamacpp_metal-0.3.7-cp39-abi3-macosx_11_0_arm64.whl (7.6 MB view details)

Uploaded CPython 3.9+macOS 11.0+ ARM64

File details

Details for the file autoagents_llamacpp_metal-0.3.7.tar.gz.

File metadata

File hashes

Hashes for autoagents_llamacpp_metal-0.3.7.tar.gz
Algorithm Hash digest
SHA256 fc766a39f1dc7542aa0eeaa8a2f06cf413f28d73a42359c7e01aa915b3cb918f
MD5 5af56428ed8bd875d24ad7a46381e378
BLAKE2b-256 4bc72679422cd733428d0cb424769f121a6dd4047f4c610dbca22fe5ee869e75

See more details on using hashes here.

Provenance

The following attestation bundles were made for autoagents_llamacpp_metal-0.3.7.tar.gz:

Publisher: python-bindings.yml on liquidos-ai/AutoAgents

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

File details

Details for the file autoagents_llamacpp_metal-0.3.7-cp39-abi3-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for autoagents_llamacpp_metal-0.3.7-cp39-abi3-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 75d5aaa574db7a38eb4036b7aadd999e2c8e854312681a9d5e8b824cdce57464
MD5 3f3e898b559feeb094de4192e4232b21
BLAKE2b-256 98258a72248a4db93081874c35319cbe1029400245e8455696f69b19604f8679

See more details on using hashes here.

Provenance

The following attestation bundles were made for autoagents_llamacpp_metal-0.3.7-cp39-abi3-macosx_11_0_arm64.whl:

Publisher: python-bindings.yml on liquidos-ai/AutoAgents

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