Skip to main content

apipod_registry

Parse, hold and persist Services. This package is the one-stop tool for managing AI service information: it turns raw specs into typed contracts and keeps services, models and categories in one registry.

Built on socaity-schemas: Service is the aggregate root, each ServiceDetails binding carries a ServiceContract (the machine-readable interface parsed from OpenAPI or Cog).

What it does

  • parse_contract(spec): OpenAPI, APIPod and Cog specs become a ServiceContract with typed endpoints, parameters, streaming flags and a specification_hash.
  • materialize_contract(spec, provider): parse_contract plus provider wire behavior. Replicate wraps every cog model in its predictions job API, so contracts of replicate deployments get has_job_queue=True here, not in the parsers.
  • parse_address(url): URLs become typed ServiceAddress objects (socaity, RunPod, Replicate, generic).
  • create_service(contract, address): the minimal Service, one details binding, ready to register.
  • credential_requirements(contract): security scheme names a caller must supply, contract-wide and per endpoint. Parsers keep securitySchemes and security on the contract so clients place credentials at send time.
  • Registry: in-memory catalog with id/name lookups for services, models and categories. Attach a ServiceStore for persistence; a cache miss reads through store.load, load_all() warms the whole cache. Included stores: FileSystemStore (local JSON) and CatalogStore (read-only, over the platform catalog API; pass a socaity-cli CatalogClient). The platform backend ServiceCatalog owns service data; this package never talks to a database.

Usage

from apipod_registry import parse_contract, create_service, Registry, FileSystemStore

contract = parse_contract(openapi_dict)
service = create_service(contract, address="https://api.socaity.ai/services/v1/abc123")

registry = Registry(service_store=FileSystemStore())
registry.load_all()
registry.add_service(service)

registry.get_service("abc123")            # by id
registry.get_service("face2face")         # by name
registry.get_endpoint("face2face", "/swap")

Two axes that stay separate by design: contract.specification says how the spec is written (openapi, apipod, cog, cog2), details.deployment.provider (or a connector address) says where it runs, details.execution says who provisions it (provisioned, mediated, external, platform). A Cog model hosted on Replicate is specification="cog" and deployment.provider="replicate".

MIT-licensed.

Metadata

Release files for apipod-registry 0.1.9

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

Source distribution (sdist)

Source distribution for apipod-registry 0.1.9
File Size Uploaded
apipod_registry-0.1.9.tar.gz 59.8 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for apipod-registry 0.1.9
File Interpreter ABI Platform
apipod_registry-0.1.9-py3-none-any.whl Python 3 none any Details

Total release size: 111.9 kB

Release files / apipod_registry-0.1.9.tar.gz

Download URL apipod_registry-0.1.9.tar.gz
Size 59.8 kB
Tags Source
SHA-256 checksum
How to use checksums
d0f54a81756988cccdbd69bb52655880225d9ecc6c42d56db61bbaad07172645
BLAKE2b-256 checksum
How to use checksums
ef1ae719a80c0263109fec37db4ecaf148aa4ebbadfa6f3fec4052a249c57f8a
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.12.14

Release files / apipod_registry-0.1.9-py3-none-any.whl

Download URL apipod_registry-0.1.9-py3-none-any.whl
Size 52.1 kB
Tags Python 3
SHA-256 checksum
How to use checksums
3d2ca0b57189e1c8fdf6674e0d997be211f12041c68e2ac0f5e9a648098ab2dc
BLAKE2b-256 checksum
How to use checksums
3bb0b4f5718bd07a728d42f2bfd9d4a860d9907aaea06d01a3180634b7c0526b
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.12.14

Release history Release notifications | RSS feed

0.1.12

2 release files

0.1.11

2 release files

This release

0.1.9 This release

2 release files

0.1.8

2 release files

0.1.7

2 release files

0.1.6

2 release files

0.1.5

2 release files

0.1.4

2 release files

0.1.3

2 release files

0.1.2

2 release files

0.1.1

2 release files

0.0.7

2 release files

0.0.6

2 release files

0.0.5

2 release files

0.0.4

2 release files

0.0.3

2 release files

0.0.2

2 release files

0.0.1

2 release files

0.0.0

2 release files

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