{
  "schema_version": "ecz-python-tools-index-v1",
  "title": "ECZ-ID Python Tools",
  "canonical_url": "https://developers.ecocitizenz.com/python",
  "role": "documentation_and_routing",
  "summary": "Ten local inspection tools on PyPI. They inspect, explain and route. They do not issue an ECZ-ID, write canonical truth, create public proof, upload source code, make safety/compliance/insurance decisions, or replace Resolver proof.",
  "role_boundaries": {
    "backend_core": "Writes canonical truth.",
    "trustops": "Setup, acquisition, payment, lifecycle and repair.",
    "resolver": "Read-only public proof of current state.",
    "developer_gateway": "Explains, documents and routes.",
    "python_tools": "Inspect, explain and route only. No tool issues an ECZ-ID, determines BOUND, activates proof, creates Resolver truth or prices a cart.",
    "editor_extensions": "Discover, inspect, educate and route only."
  },
  "canonical_roots": {
    "trustops_url": "https://trustops.ecocitizenz.com/start",
    "resolver_url": "https://resolver.ecocitizenz.org",
    "machine_interface_url": "https://machine.ecocitizenz.org/.well-known/ecz-machine.json",
    "developer_gateway_url": "https://developers.ecocitizenz.com",
    "ecocitizenz_com": "https://www.ecocitizenz.com",
    "ecocitizenz_org": "https://www.ecocitizenz.org",
    "vs_marketplace_publisher": "https://marketplace.visualstudio.com/publishers/ecocitizenz",
    "open_vsx_namespace": "https://open-vsx.org/namespace/ecocitizenz",
    "pypi_family_search": "https://pypi.org/search/?q=ecz-id"
  },
  "packages": [
    {
      "name": "ecz-id",
      "category": "Foundation",
      "purpose": "Shared ECZ-ID local inspection and machine-readable integration foundation for the whole Python family.",
      "pypi_url": "https://pypi.org/project/ecz-id/",
      "install_command": "python -m pip install ecz-id",
      "cli_command": "ecz-id --help",
      "role_boundary": "Inspects, explains and routes only. Does not issue an ECZ-ID, write canonical truth or create public proof.",
      "trustops_url": "https://trustops.ecocitizenz.com/start",
      "resolver_url": "https://resolver.ecocitizenz.org",
      "machine_interface_url": "https://machine.ecocitizenz.org/.well-known/ecz-machine.json"
    },
    {
      "name": "ecz-id-api",
      "category": "APIs & software",
      "purpose": "Inspect API and OpenAPI configuration posture, then route API evidence setup.",
      "pypi_url": "https://pypi.org/project/ecz-id-api/",
      "install_command": "python -m pip install ecz-id-api",
      "cli_command": "ecz-id-api --help",
      "role_boundary": "Inspects, explains and routes only. Does not issue an ECZ-ID, write canonical truth or create public proof.",
      "trustops_url": "https://trustops.ecocitizenz.com/start",
      "resolver_url": "https://resolver.ecocitizenz.org",
      "machine_interface_url": "https://machine.ecocitizenz.org/.well-known/ecz-machine.json"
    },
    {
      "name": "ecz-id-digital-counterparty",
      "category": "Business & counterparty",
      "purpose": "Inspect website, portal or digital-counterparty descriptors before operator setup.",
      "pypi_url": "https://pypi.org/project/ecz-id-digital-counterparty/",
      "install_command": "python -m pip install ecz-id-digital-counterparty",
      "cli_command": "ecz-id-counterparty --help",
      "role_boundary": "Inspects, explains and routes only. Does not issue an ECZ-ID, write canonical truth or create public proof.",
      "trustops_url": "https://trustops.ecocitizenz.com/start",
      "resolver_url": "https://resolver.ecocitizenz.org",
      "machine_interface_url": "https://machine.ecocitizenz.org/.well-known/ecz-machine.json"
    },
    {
      "name": "ecz-id-agents",
      "category": "Agents & AI",
      "purpose": "Inspect agent and Know-Your-Agent declaration posture, then route agent accountability setup.",
      "pypi_url": "https://pypi.org/project/ecz-id-agents/",
      "install_command": "python -m pip install ecz-id-agents",
      "cli_command": "ecz-id-agents --help",
      "role_boundary": "Inspects, explains and routes only. Never imports or executes agent code; never reads prompts into results.",
      "trustops_url": "https://trustops.ecocitizenz.com/start",
      "resolver_url": "https://resolver.ecocitizenz.org",
      "machine_interface_url": "https://machine.ecocitizenz.org/.well-known/ecz-machine.json"
    },
    {
      "name": "ecz-id-mcp",
      "category": "Agents & AI",
      "purpose": "Inspect MCP server configuration posture, then route MCP evidence setup.",
      "pypi_url": "https://pypi.org/project/ecz-id-mcp/",
      "install_command": "python -m pip install ecz-id-mcp",
      "cli_command": "ecz-id-mcp --help",
      "role_boundary": "Inspects, explains and routes only. Never starts a server, connects a transport or executes a configured command.",
      "trustops_url": "https://trustops.ecocitizenz.com/start",
      "resolver_url": "https://resolver.ecocitizenz.org",
      "machine_interface_url": "https://machine.ecocitizenz.org/.well-known/ecz-machine.json"
    },
    {
      "name": "ecz-id-sbom",
      "category": "APIs & software",
      "purpose": "Inspect SBOM evidence posture, then route software supply-chain evidence setup.",
      "pypi_url": "https://pypi.org/project/ecz-id-sbom/",
      "install_command": "python -m pip install ecz-id-sbom",
      "cli_command": "ecz-id-sbom --help",
      "role_boundary": "Inspects, explains and routes only. Not a vulnerability assessment; XML DTDs and entities are rejected, never expanded.",
      "trustops_url": "https://trustops.ecocitizenz.com/start",
      "resolver_url": "https://resolver.ecocitizenz.org",
      "machine_interface_url": "https://machine.ecocitizenz.org/.well-known/ecz-machine.json"
    },
    {
      "name": "ecz-id-dora",
      "category": "Resilience & vendor",
      "purpose": "Inspect DORA-oriented vendor resilience evidence posture.",
      "pypi_url": "https://pypi.org/project/ecz-id-dora/",
      "install_command": "python -m pip install ecz-id-dora",
      "cli_command": "ecz-id-dora --help",
      "role_boundary": "Inspects, explains and routes only. Not a DORA compliance verdict, regulatory approval or audit outcome.",
      "trustops_url": "https://trustops.ecocitizenz.com/start",
      "resolver_url": "https://resolver.ecocitizenz.org",
      "machine_interface_url": "https://machine.ecocitizenz.org/.well-known/ecz-machine.json"
    },
    {
      "name": "ecz-id-robotics",
      "category": "Robotics & physical",
      "purpose": "Inspect robot deployment descriptors for ECZ-ID robot-passport configuration posture.",
      "pypi_url": "https://pypi.org/project/ecz-id-robotics/",
      "install_command": "python -m pip install ecz-id-robotics",
      "cli_command": "ecz-id-robotics --help",
      "role_boundary": "Inspects, explains and routes only. Never connects to or commands a robot and never starts ROS.",
      "trustops_url": "https://trustops.ecocitizenz.com/start",
      "resolver_url": "https://resolver.ecocitizenz.org",
      "machine_interface_url": "https://machine.ecocitizenz.org/.well-known/ecz-machine.json"
    },
    {
      "name": "ecz-id-humanoid-insurability-readiness",
      "category": "Robotics & physical",
      "purpose": "Explain HUMANOID profile readiness under the correct Industrial, Public-Space or Domestic Robot Passport route.",
      "pypi_url": "https://pypi.org/project/ecz-id-humanoid-insurability-readiness/",
      "install_command": "python -m pip install ecz-id-humanoid-insurability-readiness",
      "cli_command": "ecz-id-humanoid --help",
      "role_boundary": "HUMANOID is a profile and readiness route, not a separate Passport. The operating environment determines the correct Robot Passport route. HUMANOID requires the Assured tier. ECZ-ID is not an insurer and makes no insurance decision or premium guarantee.",
      "trustops_url": "https://trustops.ecocitizenz.com/start",
      "resolver_url": "https://resolver.ecocitizenz.org",
      "machine_interface_url": "https://machine.ecocitizenz.org/.well-known/ecz-machine.json"
    },
    {
      "name": "ecz-id-ai-provenance",
      "category": "Agents & AI",
      "purpose": "Inspect AI artefact provenance declaration posture, then route provenance evidence setup.",
      "pypi_url": "https://pypi.org/project/ecz-id-ai-provenance/",
      "install_command": "python -m pip install ecz-id-ai-provenance",
      "cli_command": "ecz-id-ai-provenance --help",
      "role_boundary": "Inspects, explains and routes only. Does not fetch model weights or datasets and does not evaluate a model.",
      "trustops_url": "https://trustops.ecocitizenz.com/start",
      "resolver_url": "https://resolver.ecocitizenz.org",
      "machine_interface_url": "https://machine.ecocitizenz.org/.well-known/ecz-machine.json"
    }
  ],
  "forbidden_inferences": [
    "safety",
    "certification",
    "approval",
    "compliance",
    "insurance",
    "underwriting",
    "platform_endorsement"
  ],
  "policy": {
    "runs_locally": true,
    "no_source_upload": true,
    "no_hidden_telemetry": true,
    "local_policy_decides": true,
    "recheck_before_reliance": true,
    "no_safety_or_approval_inference": true
  }
}
