Metadata-Version: 2.5
Name: city-sdk
Version: 0.9.161
Summary: Milano Agentic City SDK: Market facade and agent harness (includes cap).
Project-URL: Homepage, https://github.com/projectnandaitaly/mach-hackathon-kit
Project-URL: Repository, https://github.com/projectnandaitaly/mach-hackathon-kit
Project-URL: Documentation, https://github.com/projectnandaitaly/mach-hackathon-kit/tree/main/docs
Project-URL: Issues, https://github.com/projectnandaitaly/mach-hackathon-kit/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.city.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.city import City, Need


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

Starter templates and `city init agent` scaffold a project that imports only `City`. 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

- Public kit (docs, templates, browsable source): [projectnandaitaly/mach-hackathon-kit](https://github.com/projectnandaitaly/mach-hackathon-kit)
- Org on PyPI: [projectnandaitaly](https://pypi.org/org/projectnandaitaly/)

## License

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