Metadata-Version: 2.5
Name: city-sdk
Version: 0.9.9
Summary: Milano Agentic City SDK: Market facade and agent harness (includes cap).
Project-URL: Homepage, https://github.com/projectnandaitaly/agentic-city
Project-URL: Repository, https://github.com/projectnandaitaly/agentic-city
Project-URL: Documentation, https://github.com/projectnandaitaly/agentic-city/tree/main/docs/kit
Project-URL: Issues, https://github.com/projectnandaitaly/agentic-city/issues
Author: Project NANDA Italy
License: Proprietary
Keywords: agentic-city,cap,market,nanda
Classifier: Development Status :: 4 - Beta
Classifier: Environment :: Console
Classifier: Intended Audience :: Developers
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.12
Classifier: Topic :: Software Development :: Libraries
Requires-Python: >=3.12
Requires-Dist: cryptography>=43
Requires-Dist: fastapi>=0.115
Requires-Dist: httpx>=0.27
Requires-Dist: pydantic>=2
Requires-Dist: rfc8785>=0.1.4
Requires-Dist: uvicorn>=0.32
Description-Content-Type: text/markdown

# city-sdk

Python SDK for **Milano Agentic City** agents.

Day-1 team code uses only [`city_sdk.market.Market`](https://github.com/projectnandaitaly/agentic-city): domain verbs (`Need`, `Peer`, find, ask, escalate, …). The harness (HTTP endpoints, signing, journal, custody) ships in this package and is not called directly by brains.

The published wheel **includes `cap`** (protocol primitives). You do **not** install a separate `cap-core` package.

## Requirements

- Python **3.12+**
- No Google Cloud account or credentials (ADR-010)

## Install

```bash
pip install city-sdk
# or
uv add city-sdk
```

## Quick start

```python
from city_sdk.market import Market, Need


async def brain(need: Need, market: Market) -> None:
    peers = await market.find_facilities(need)
    if peers:
        await market.ask(need, peers[0])
```

Starter templates (`cup`, `facility`, `mmg`, `b2b`) and `city init agent` scaffold a project that imports only `Market`. Agent type is `card.yaml` `role`. See [`city-cli`](https://pypi.org/project/city-cli/) for `city init agent` / `city deploy`.

## Runtime vs kit

| Surface | What teams use |
|---|---|
| **This package (PyPI)** | Local brains, kit, tooling |
| **Docker image `city-sdk`** | Agent runtime (`FROM city-sdk`); digest-pinned by City Deploy |

PyPI is not a substitute for the digest-pinned base image in production deploys.

## Links

- Source: [projectnandaitaly/agentic-city](https://github.com/projectnandaitaly/agentic-city)
- Kit (Market day 1): `docs/kit/protocol.md` in the repo
- Org on PyPI: [projectnandaitaly](https://pypi.org/org/projectnandaitaly/)

## License

Proprietary — Project NANDA Italy / Milano Agentic City event kit.
