Metadata-Version: 2.4
Name: socaity-schemas
Version: 0.1.10
Summary: Shared Pydantic schemas for APIPod services and the socaity product APIs.
Author: SocAIty
License: Apache-2.0
Project-URL: Repository, https://github.com/SocAIty/socaity-schemas
Project-URL: Homepage, https://www.socaity.ai
Requires-Python: >=3.8
Description-Content-Type: text/markdown
License-File: LICENSE
Requires-Dist: pydantic>=2.11.3
Dynamic: license-file

# socaity-schemas

Shared Pydantic models for APIPod services and the socaity product APIs. One definition, used on both sides of the wire, so a service and a client stay on the same field names.

Import the module that defines the type. The package root does not re-export symbols.

`public` is what anyone calling a service needs:

- `public.inference.language`: chat, completion, embedding, tools, usage, and stream chunks.
- `public.inference.generation`: image, video, audio, vision, and 3D.
- `public.inference.media`: `FileModel` and its typed subclasses.
- `public.providers`: Socaity, RunPod, and Replicate job envelopes, plus the `StreamingResponse` sentinel.
- `public.spec.address`: `ServiceAddress` variants and URL helpers.
- `public.spec.endpoint`: parameters, `Endpoint`, and `ServiceContract`.

`platform` is the socaity product:

- `platform.catalog`: `Service` (category, endpoint meta, `ServiceDetails`), hosting (`Deployment`, `ContainerConfig`, `ServiceConnector`), `AIModel`, and public pricing.
- `platform.jobs`: `Job` and `Project`.
- `platform.conversations`: chat transcript and the interrupt inbox.
- `platform.workflows`: the workflow document and the catalog (revision, run, trace, upsert, estimate).
- `platform.account`: `User`, `ApiKeyView`, and billing (`Balance`, `Purchase`, `Subscription`, `SpendBreakdown`).
- `platform.credentials`, `platform.files`, `platform.context`, `platform.agent`.

```python
from socaity_schemas.public.inference.language import ChatCompletionRequest
from socaity_schemas.public.spec.endpoint import ServiceContract
from socaity_schemas.platform.catalog.service import Service
from socaity_schemas.platform.catalog.model import AIModel
```

The inference shapes follow the OpenAI API so OpenAI-compatible clients work without translation. That is the wire format only. Any provider that matches the shape is a valid backend.

## Install

```bash
pip install socaity-schemas
```

Apache-2.0.
