Skip to main content

Agentica Python SDK

Project description

Header image

Agentica Python SDK

PyPI version License: MIT Discord Twitter

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


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

symbolica_agentica-0.4.1.tar.gz (10.4 MB view details)

Uploaded Source

Built Distribution

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

symbolica_agentica-0.4.1-py3-none-any.whl (110.1 kB view details)

Uploaded Python 3

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

Hashes for symbolica_agentica-0.4.1.tar.gz
Algorithm Hash digest
SHA256 4d4e1cf552fd5fb68aa5057adcbdf9d1979ccf9da15483eabb590a24f17fecfe
MD5 f6f6f72a634562797ac44e54ac6347ab
BLAKE2b-256 04bc79a48d17b39b3b9b26b121bf99cd8a62ff59a533d60548f348e6db612c2e

See more details on using hashes here.

File details

Details for the file symbolica_agentica-0.4.1-py3-none-any.whl.

File metadata

File hashes

Hashes for symbolica_agentica-0.4.1-py3-none-any.whl
Algorithm Hash digest
SHA256 4fa2667fe7f602518a854a20eb8b46eeab4c08e36f727cffb68e0d3b20e9ab4c
MD5 d03f36f0e8402d759464133a561be262
BLAKE2b-256 ef7237c6c0d4660d3c44e742f6ee644b035b73820b31553728eada61b047a15f

See more details on using hashes here.

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