Agentica Python SDK
Project description
Agentica Python SDK
Agentica is a type-safe AI framework that lets LLM agents integrate with your code: functions, classes, live objects, even entire SDKs. Instead of building MCP wrappers or brittle schemas, you pass references directly; the framework enforces your types at runtime, constrains return types, and manages agent lifecycle.
Prerequisites
- Python ≥ 3.12.0, < 3.14.0
- uv
Installation
# With uv
uv pip install symbolica-agentica
# With pip
pip install symbolica-agentica
Documentation
The full documentation can be found at docs.symbolica.ai.
Quick Start
There are two ways to use the Agentica framework. You may install the package from PyPI and sign up for an account on the Symbolica Platform to receive $50 in free inference credits. This is the easiest way to get started.
Alternatively if you wish to develop locally or BYOK you may set up and run a local copy of the server.
To use the platform, get an API key from here.
To BYOK follow these instructions
1. Clone and sync the agentica-server (in one terminal):
git clone https://github.com/symbolica-ai/agentica-server
cd agentica-server && uv sync
2. Set up your keys, inference endpoint, and run the server
export INFERENCE_API_KEY=<your-key>
export INFERENCE_ENDPOINT_URL="https://openrouter.ai/api/v1/chat/completions"
# export INFERENCE_ENDPOINT_URL="https://api.openai.com/v1/responses"
# export INFERENCE_ENDPOINT_URL="https://api.anthropic.com/v1/responses"
uv run src/application/main.py \
--inference-token=$INFERENCE_API_KEY \
--inference-endpoint $INFERENCE_ENDPOINT_URL
Run the chat demo
The agentica-chat demo lets you chat with your Python REPL using the Agentica framework. You can use natural language to interact with objects, write and run code, and more.
Make the UV project:
uv init agentica-chat
cd agentica-chat
Add agentica as a dependency:
uv add symbolica-agentica
Create main.py:
import asyncio
from agentica import spawn
from agentica.logging import set_default_agent_listener
from agentica.logging.loggers import StreamLogger
set_default_agent_listener(None)
# Define your tools here!
def my_tool(arg: str) -> str:
"""Describe what your tool does."""
return f"Result for: {arg}"
async def main():
agent = await spawn(premise="You are a helpful assistant.")
print("Agent ready! Type 'quit' to exit.\n")
while True:
user_input = input("You: ")
if user_input.lower() == "quit":
break
# Stream the agent's response
stream = StreamLogger()
with stream:
result = asyncio.create_task(
agent.call(str, user_input, my_tool=my_tool) # Pass your tools here
)
async for chunk in stream:
if chunk.role == "agent":
print(chunk, end="", flush=True)
print()
print(f"Agent: {await result}\n")
if __name__ == "__main__":
asyncio.run(main())
If you are running on the Symbolica Platform
export AGENTICA_API_KEY=<your-platform-api-key>
uv run python main.py
Or if you are running locally
export S_M_BASE_URL=http://localhost:2345
uv run python main.py
Build from source
If you wish to build symbolica-agentica from source:
git clone https://github.com/symbolica-ai/agentica-python-sdk.git
cd agentica-python-sdk
To make Agentica available in uv venv:
uv sync
To build the wheel:
uv build
Note that symbolica-agentica specifies agentica-internal as a dependency. By default build and install commands take agentica-internal from PyPI.
To use the locally cloned version of symbolica-agentica package in your project:
# to install it without specifying it as a dependency
uv pip install /path/to/agentica-python-sdk
# to add local version as a dependency, your local path will be hardcoded in pyproject.toml!
uv add /path/to/agentica-python-sdk
License
This project is licensed under the MIT License.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file symbolica_agentica-0.4.1.tar.gz.
File metadata
- Download URL: symbolica_agentica-0.4.1.tar.gz
- Upload date:
- Size: 10.4 MB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.13.0
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
4d4e1cf552fd5fb68aa5057adcbdf9d1979ccf9da15483eabb590a24f17fecfe
|
|
| MD5 |
f6f6f72a634562797ac44e54ac6347ab
|
|
| BLAKE2b-256 |
04bc79a48d17b39b3b9b26b121bf99cd8a62ff59a533d60548f348e6db612c2e
|
File details
Details for the file symbolica_agentica-0.4.1-py3-none-any.whl.
File metadata
- Download URL: symbolica_agentica-0.4.1-py3-none-any.whl
- Upload date:
- Size: 110.1 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.13.0
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
4fa2667fe7f602518a854a20eb8b46eeab4c08e36f727cffb68e0d3b20e9ab4c
|
|
| MD5 |
d03f36f0e8402d759464133a561be262
|
|
| BLAKE2b-256 |
ef7237c6c0d4660d3c44e742f6ee644b035b73820b31553728eada61b047a15f
|