Agentics is a Python framework that provides structured, scalable, and semantically grounded agentic computation.
Project description
Agentics
Transduction is all you need
Agentics is a Python framework for structured, scalable, and semantically grounded agentic computation.
Build AI-powered pipelines as typed data transformations—combining Pydantic schemas, LLM-powered transduction, and async execution.
✨ Why Agentics
Most "agent frameworks" let untyped text flow through a pipeline. Agentics flips that: types are the interface. Workflows are expressed as transformations between structured states, with predictable schemas and composable operators.
🚀 Key Features
- Typed agentic computation: Define workflows over structured types using standard Pydantic models.
- Logical transduction (
<<): Transform data between types using LLMs (few-shot examples, tools, memory). - Async mapping & reduction: Scale out with
amapandareduceover datasets. - Batch execution & retry: Built-in batching, retries, and graceful fallbacks.
- Tool support (MCP): Integrate external tools via MCP.
📦 Getting Started
Quickstart:
Install Agentics in your current env, set up your environment variable, and run your first logical transduction:
uv pip install agentics-py
set up your .env using the required parameters for your LLM provider of choice. Use .env_sample as a reference.
Find out more 👉 Getting Started: docs/getting_started.md
Examples
Run scripts in the examples/ folder (via uv):
uv run python examples/hello_world.py
🧪 Example Usage
from pydantic import BaseModel, Field
from agentics.core.transducible_functions import transducible, Transduce
class ProductDescription(BaseModel):
name: str
features: str
price: float
class ViralTweet(BaseModel):
tweet: str = Field(..., description="Engaging tweet under 280 characters")
hashtags: list[str] = Field(..., description="3-5 relevant hashtags")
hook: str = Field(..., description="Attention-grabbing opening line")
@transducible()
async def generate_viral_tweet(product: ProductDescription) -> ViralTweet:
"""Transform boring product descriptions into viral social media content."""
return Transduce(product)
# Transform a product into viral content
product = ProductDescription(
name="Agentics Framework",
features="Type-safe AI workflows with LLM-powered transductions",
price=0.0 # Open source!
)
tweet = await generate_viral_tweet(product)
print(f"🔥 {tweet.tweet}")
print(f"📱 {' '.join(tweet.hashtags)}")
Output:
🔥 Stop wrestling with unstructured LLM outputs! 🎯 Agentics gives you type-safe AI workflows that just work. Build production-ready agents in minutes, not weeks. And it's FREE! 🚀
📱 #AI #OpenSource #Python #LLM #DevTools
📘 Documentation and Notebooks
Complete documentation available here
| Notebook | Description |
|---|---|
| agentics.ipynb | Core Agentics concepts: typed states, operators, and workflow structure |
| atypes.ipynb | Working with ATypes: schema composition, merging, and type-driven design patterns |
| logical_transduction_algebra.ipynb | Logical Transduction Algebra: principles and examples behind << |
| map_reduce.ipynb | Scale out workflows with amap / areduce (MapReduce-style execution) |
| synthetic_data_generation.ipynb | Generate structured synthetic datasets using typed transductions |
| transducible_functions.ipynb | Build reusable @transducible functions, explanations, and transduction control |
✅ Tests
Run all tests:
uv run pytest
📄 License
Apache 2.0
👥 Authors
Project Lead and Main Contributor
- Alfio Massimiliano Gliozzo (IBM Research) — gliozzo@us.ibm.com
Core Contributors
- Junkyu Lee (IBM) — Junkyu.Lee@ibm.com
- Nahuel Defosse (IBM) — nahuel.defosse@ibm.com
- Naweed Aghmad Khan (IBM) — naweed.khan@ibm.com
Community Contributors
- Christodoulos Constantinides (IBM) — Christodoulos.Constantinides@ibm.com
- Nandana Mihindukulasooriya (IBM) — nandana@ibm.com
- Mustafa Eyceoz (Red Hat) — Mustafa.Eyceoz@partner.ibm.com
- Gaetano Rossiello (IBM) — gaetano.rossiello@ibm.com
- Agostino Capponi (Columbia University) — ac3827@columbia.edu
- Chunghyun Han (Columbia University) — ch4005@columbia.edu
- Abhinav Goel (Columbia University) ag5252@columbia.edu
- Chaitya Shan (Columbia University) — cs4621@columbia.edu
- Brian Zi Qi Zhu (Columbia University) — bzz2101@columbia.edu
🧠 Conceptual Overview
Most “agent frameworks” let untyped text flow through a pipeline. Agentics flips that: types are the interface. Workflows are expressed as transformations between structured states, with predictable schemas and composable operators.
Because every step is a typed transformation, you can compose workflows safely (merge and compose types/instances, chain transductions, and reuse @transducible functions) without losing semantic structure.
Agentics makes it natural to scale out: apply transformations over collections with async amap, and aggregate results with areduce.
Agentics models workflows as transformations between typed states.
Core operations:
amap(func): apply an async function over each stateareduce(func): reduce a list of states into a single value<<: logical transduction from source to target Agentics&: merge Pydantic types / instances@: compose Pydantic types / instances
📜 Reference
Agentics implements Logical Transduction Algebra, described in:
- Alfio Gliozzo, Naweed Khan, Christodoulos Constantinides, Nandana Mihindukulasooriya, Nahuel Defosse, Junkyu Lee. Transduction is All You Need for Structured Data Workflows (August 2025). arXiv:2508.15610 — https://arxiv.org/abs/2508.15610
🤝 Contributing
Contributions are welcome! CONTRIBUTING.md
Please ensure your commit messages include:
Signed-off-by: Author Name <authoremail@example.com>
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 agentics_py-0.3.2.tar.gz.
File metadata
- Download URL: agentics_py-0.3.2.tar.gz
- Upload date:
- Size: 53.6 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
d1c37c8597bca0a9d12702b01b8ae91a447d337ce684aaf7fb3809a35a2dcb77
|
|
| MD5 |
a84bb17e09dad05078f8669cd159aa92
|
|
| BLAKE2b-256 |
addb1ac214e99270a4dd5f581eb106df26f9e50af44398cb9bc4da70ad3afae9
|
Provenance
The following attestation bundles were made for agentics_py-0.3.2.tar.gz:
Publisher:
pypi.yaml on IBM/Agentics
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
agentics_py-0.3.2.tar.gz -
Subject digest:
d1c37c8597bca0a9d12702b01b8ae91a447d337ce684aaf7fb3809a35a2dcb77 - Sigstore transparency entry: 1082179402
- Sigstore integration time:
-
Permalink:
IBM/Agentics@4966e285acef4a7c4756aae24185d9b464b8f593 -
Branch / Tag:
refs/tags/v0.3.2 - Owner: https://github.com/IBM
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
pypi.yaml@4966e285acef4a7c4756aae24185d9b464b8f593 -
Trigger Event:
release
-
Statement type:
File details
Details for the file agentics_py-0.3.2-py3-none-any.whl.
File metadata
- Download URL: agentics_py-0.3.2-py3-none-any.whl
- Upload date:
- Size: 59.6 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
b0885ca2e4e0ed46fc3432c5101c91dafb7c6ec76951cc1739ab206354ff053b
|
|
| MD5 |
4a6df08ab1127da2c13bf72a5fb961bb
|
|
| BLAKE2b-256 |
b0cc1ee2626421ac8acc632f4064b2d1d4c04e420119c14d19f80fdda8391ab0
|
Provenance
The following attestation bundles were made for agentics_py-0.3.2-py3-none-any.whl:
Publisher:
pypi.yaml on IBM/Agentics
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
agentics_py-0.3.2-py3-none-any.whl -
Subject digest:
b0885ca2e4e0ed46fc3432c5101c91dafb7c6ec76951cc1739ab206354ff053b - Sigstore transparency entry: 1082179451
- Sigstore integration time:
-
Permalink:
IBM/Agentics@4966e285acef4a7c4756aae24185d9b464b8f593 -
Branch / Tag:
refs/tags/v0.3.2 - Owner: https://github.com/IBM
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
pypi.yaml@4966e285acef4a7c4756aae24185d9b464b8f593 -
Trigger Event:
release
-
Statement type: