Skip to main content

city-cli

Command-line tool for Milano Agentic City teams.

Install once, then scaffold an agent, run it locally, and publish it through the City Deploy API — without GCP credentials (ADR-010).

Requirements

  • Python 3.12+
  • For live deploy: Deploy API URL (see below)

Install

pipx install city-cli
# or
uv tool install city-cli
# or
pip install city-cli

This provides the city command. It depends on city-sdk for the Market facade and harness types.

Live city (remote Deploy API)

export CITY_DEPLOY_URL=https://deploy.projectnandaitaly.ai

city login --team t07
city init agent demo
# edit card.yaml role if needed (cup|facility|mmg|b2b)
city card validate
city deploy --promote
city status agent:t07/demo

Per-command override:

city --api-url https://deploy.projectnandaitaly.ai status agent:t07/demo

JSON for scripting:

city --json --api-url "$CITY_DEPLOY_URL" status agent:t07/demo

Local kit (no API URL)

If CITY_DEPLOY_URL / --api-url is unset, city uses an in-process Deploy service (useful for init, dev, and offline checks).

city init agent demo
city dev
city conform --profile fast

Commands (overview)

Command Purpose
city login Device-flow team session; stores token and ensures Team Controller Key under .city/
city keys init Escape hatch: regenerate controller key + register public key
city init agent <name> Scaffold project (--template cup|facility|mmg|b2b); agent type is card.yaml role
city card validate Validate card.yaml against the MHM card schema (base roles only)
city dev One local need through the harness
city conform Conformance suite (--profile full|fast, or --url)
city deploy Upload + pipeline; rejects non-base role before build (--promote, --runtime)
city promote / rollback / status / retire Lifecycle
city secrets set / city scale / city llm key rotate Ops
city compliance / city verify Receipts and offline verify

License

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

Metadata

Release files for city-cli 0.9.7

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for city-cli 0.9.7
File Size Uploaded Provenance
city_cli-0.9.7.tar.gz 52.5 kB Without provenance Details

Built distribution (wheel)

Table of built distributions (wheels) for city-cli 0.9.7
File Interpreter ABI Platform
city_cli-0.9.7-py3-none-any.whl Python 3 none any Details

Total release size: 126.1 kB

Release files / city_cli-0.9.7.tar.gz

Download URL city_cli-0.9.7.tar.gz
Size 52.5 kB
Tags Source
SHA-256 checksum
How to use checksums
bfa9121af18896a2c318256bd291f61ef80fddda0e94e77a10bcbae1bde3aba0
BLAKE2b-256 checksum
How to use checksums
14a5d2ebb7473fddf54e22e0e83b7a5b9f51604b306659eb1c225f55d0a8b0e1
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_cli-0.9.7-py3-none-any.whl

Download URL city_cli-0.9.7-py3-none-any.whl
Size 73.6 kB
Tags Python 3
SHA-256 checksum
How to use checksums
a2070efe0fef2f6c953f10acaa54c8c90db5bc51627dd8e2f3b7243059b6a7ae
BLAKE2b-256 checksum
How to use checksums
8d5ef90e98fd0801e0703fc691036ec2d5164e526ac8eaaa9a29b167256013e4
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-cli 0.9.7

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.

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page