Metadata-Version: 2.5
Name: iagent_mesh
Version: 0.9.3
Summary: Universal contracts and infrastructure wrapper for the iagent Mesh — typed predicate registration, transport auth, and per-caller identity for mesh tools
Project-URL: Homepage, https://github.com/edgy-solutions/iagent-mesh-sdk
Project-URL: Repository, https://github.com/edgy-solutions/iagent-mesh-sdk
Project-URL: Issues, https://github.com/edgy-solutions/iagent-mesh-sdk/issues
Author-email: Chris Nogradi <cnogradi@gmail.com>
License-Expression: MIT
License-File: LICENSE
Keywords: agents,ai-mesh,datahub,fastapi,knowledge-graph,predicate-graph,topaz
Classifier: Development Status :: 4 - Beta
Classifier: Framework :: FastAPI
Classifier: Intended Audience :: Developers
Classifier: Operating System :: OS Independent
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Programming Language :: Python :: 3.13
Classifier: Topic :: Software Development :: Libraries
Requires-Python: >=3.10
Requires-Dist: acryl-datahub>=0.13.0
Requires-Dist: httpx>=0.24.0
Requires-Dist: mcp<2,>=1.0.0
Requires-Dist: nest-asyncio>=1.5.0
Requires-Dist: pydantic-settings>=2.0.0
Requires-Dist: pydantic>=2.0.0
Requires-Dist: pyjwt>=2.0.0
Requires-Dist: pyyaml>=6.0
Provides-Extra: dev
Requires-Dist: fastapi>=0.100.0; extra == 'dev'
Requires-Dist: httpx; extra == 'dev'
Requires-Dist: pytest; extra == 'dev'
Requires-Dist: pytest-asyncio; extra == 'dev'
Requires-Dist: pytest-mock; extra == 'dev'
Requires-Dist: uvicorn>=0.23.0; extra == 'dev'
Provides-Extra: server
Requires-Dist: fastapi>=0.100.0; extra == 'server'
Requires-Dist: uvicorn>=0.23.0; extra == 'server'
Description-Content-Type: text/markdown

# iagent-mesh-sdk (DevEx Hub)

This repository serves as the Data-Driven Developer Experience (DevEx) Hub and provides the `iagent_mesh` SDK core library, which includes universal contracts and an infrastructure wrapper for the iagent Mesh platform.

> 📖 **Architectural Guide:** Read [Launch Domain Nodes, Not Scripts](docs/architecture_manifesto.md) to understand why this framework is required for enterprise AI deployments.
>
> 🔌 **Substrate Interfaces:** Read [Substrate Interfaces](docs/interfaces.md) for `MeshGraph` / `MeshOntology` / `MeshVectors` — the named reads an engine uses instead of a driver or a query language, the `MeshResult` type every one of them returns, and the conformance suite that admits an implementation.

## Architecture & Features

This Hub leverages the **Inception Pattern** to dynamically scaffold new agent tools.

- **`iagent_mesh` Core Library**: Contains `MeshTool` for routing, FastAPI execution, and Topaz Zero-Trust security.
- **Substrate Interfaces** (`iagent_mesh.interfaces`): Three `Protocol`s — `MeshGraph`, `MeshOntology`, `MeshVectors` — giving an engine *named reads* over the property graph, the RDF store and the vector store instead of a driver handle or a query-language slot. Every operation carries the `Initiator` (who is asking) and returns a `MeshResult` that distinguishes *answered* / *empty* / *failed* / *unreachable*. Implementations are admitted by passing `iagent_mesh.conformance`, never by being named in the SDK. See [docs/interfaces.md](docs/interfaces.md).
- **Templates**: Standardized data scientist environments (Pure Math, Instructor + Polars, BAML + Pandas).
- **Interactive Scaffolding**: Use `scripts/scaffold.sh` to locally generate a new agent from a template.
- **MCP Server**: The `mcp_server/server.py` exposes tools (`scaffold_local_workspace`, `publish_local_to_mesh`) for intelligent IDE-based agent creation.
- **Cloud Endpoints**: `app.py` exposes REST APIs (`scaffold_generator`, `mesh_publisher`) for the central orchestrator to provision workspaces dynamically.

## Environment Configuration

This SDK relies on centralized environment variables for all integrations to ensure no hardcoded enterprise strings are checked in. See the `.env.example` file in the root directory for a full list.

**Required URLs:**
- `GIT_PROVISION_API_URL`: The platform provisioning API for repositories.
- `GIT_SERVER_HOST`: The core Git server hostname.
- `ARTIFACTORY_BASE_URL`: The enterprise artifact repository.

**Optional URLs / tokens (only needed if `MESH_REGISTER_ON_STARTUP=true`):**
- `DATAHUB_GMS_URL`: The DataHub GMS endpoint the SDK pushes registrations to.
- `DATAHUB_TOKEN`: Bearer token for the GMS emitter.

**Required Tokens (Depending on deployment):**
- `PLATFORM_GIT_TOKEN`: Used by the cloud pod (`app.py`) for live git publishing.
- `MESH_DEV_TOKEN`: Used by the local `mcp_server` to authenticate against provisioning APIs.

## Installation & Testing

Data scientists can install the core SDK via:
```bash
uv pip install git+https://[your-repo-url]
```

To run the robust regression testing suite:
```bash
uv pip install -e ".[dev]"
python -m pytest
```
