city-sdk
Python SDK for Milano Agentic City agents.
Day-1 team code uses only city_sdk.market.Market: 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
pip install city-sdk
# or
uv add city-sdk
Quick start
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])
Role templates (cup, facility, mmg, b2b) and the city CLI scaffold a project that imports only Market. See city-cli for city init / 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
- Kit (Market day 1):
docs/kit/protocol.mdin the repo - Org on PyPI: projectnandaitaly
License
Proprietary — Project NANDA Italy / Milano Agentic City event kit.
Metadata
Release files for city-sdk 0.9.3
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| city_sdk-0.9.3.tar.gz | 24.6 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| city_sdk-0.9.3-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 69.8 kB
Release files / city_sdk-0.9.3.tar.gz
| Download URL | city_sdk-0.9.3.tar.gz |
|---|---|
| Size | 24.6 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
3e31b014a57c3932af3a45ef1ac19cbab0986a8c06536def9f9bba3f2e8348ad
|
|
BLAKE2b-256 checksum How to use checksums |
ff4cc28029052e37e1fb6ce9eb31c8fcb9fb58f038d19a50631b6b8c8b5f667b
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
uv/0.9.30 {"installer":{"name":"uv","version":"0.9.30","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Debian GNU/Linux","version":"12","id":"bookworm","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}
|
Release files / city_sdk-0.9.3-py3-none-any.whl
| Download URL | city_sdk-0.9.3-py3-none-any.whl |
|---|---|
| Size | 45.3 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
e44304093219042a7a0f3bed1def801e04c0312173f01fe42bfbcce10bfc20c3
|
|
BLAKE2b-256 checksum How to use checksums |
b8e6e9d942a77a88431afd35504984d22b72e6b7da155e55352aafaf6cfdc340
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
uv/0.9.30 {"installer":{"name":"uv","version":"0.9.30","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Debian GNU/Linux","version":"12","id":"bookworm","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}
|