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])
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 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
- 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.8
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | |
|---|---|---|---|---|
| city_sdk-0.9.8.tar.gz | 24.6 kB | Without provenance | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| city_sdk-0.9.8-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 69.9 kB
Release files / city_sdk-0.9.8.tar.gz
| Download URL | city_sdk-0.9.8.tar.gz |
|---|---|
| Size | 24.6 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
8075c208fa4f4248cffa427a1df6f3f3bfeb2d16dfb44241d29d662b95a05a89
|
|
BLAKE2b-256 checksum How to use checksums |
c5ff3021f186e72353f22db7b204494d758d59dad91a12012808822539055a12
|
| 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.8-py3-none-any.whl
| Download URL | city_sdk-0.9.8-py3-none-any.whl |
|---|---|
| Size | 45.3 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
54779dd643f14a6b9fc56279b279f3544b6f4f986739782b8df22732cbcca2e7
|
|
BLAKE2b-256 checksum How to use checksums |
5229dc7759c8309fa47c246177b8889b55fa47f78e6f220997dbda5cf32853d5
|
| 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}
|
Security for city-sdk 0.9.8
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.