koi_net.protocol.api.models

Pydantic models for request and response objects in the KOI-net API.

Classes

BundlesPayload(**data)

ErrorResponse(**data)

EventsPayload(**data)

FetchBundles(**data)

FetchManifests(**data)

FetchRids(**data)

ManifestsPayload(**data)

PollEvents(**data)

RidsPayload(**data)

type koi_net.protocol.api.models.ApiModels = Annotated[RequestModels | ResponseModels, FieldInfo(annotation=NoneType, required=True, discriminator='type')]
class koi_net.protocol.api.models.BundlesPayload(**data)[source]

Bases: BaseModel

Parameters:
  • type (Literal['bundles_payload'])

  • bundles (list[Bundle])

  • not_found (list[RID])

  • deferred (list[RID])

bundles: list[Bundle]
deferred: list[RID]
model_config: ClassVar[ConfigDict] = {}

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

not_found: list[RID]
type: Literal['bundles_payload']
class koi_net.protocol.api.models.ErrorResponse(**data)[source]

Bases: BaseModel

Parameters:
  • type (Literal['error_response'])

  • error (ErrorType)

error: ErrorType
model_config: ClassVar[ConfigDict] = {}

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

type: Literal['error_response']
class koi_net.protocol.api.models.EventsPayload(**data)[source]

Bases: BaseModel

Parameters:
  • type (Literal['events_payload'])

  • events (list[Event])

events: list[Event]
model_config: ClassVar[ConfigDict] = {}

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

type: Literal['events_payload']
class koi_net.protocol.api.models.FetchBundles(**data)[source]

Bases: BaseModel

Parameters:
  • type (Literal['fetch_bundles'])

  • rids (list[RID])

model_config: ClassVar[ConfigDict] = {}

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

rids: list[RID]
type: Literal['fetch_bundles']
class koi_net.protocol.api.models.FetchManifests(**data)[source]

Bases: BaseModel

Parameters:
  • type (Literal['fetch_manifests'])

  • rid_types (list[RIDType])

  • rids (list[RID])

model_config: ClassVar[ConfigDict] = {}

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

rid_types: list[RIDType]
rids: list[RID]
type: Literal['fetch_manifests']
class koi_net.protocol.api.models.FetchRids(**data)[source]

Bases: BaseModel

Parameters:
  • type (Literal['fetch_rids'])

  • rid_types (list[RIDType])

model_config: ClassVar[ConfigDict] = {}

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

rid_types: list[RIDType]
type: Literal['fetch_rids']
class koi_net.protocol.api.models.ManifestsPayload(**data)[source]

Bases: BaseModel

Parameters:
  • type (Literal['manifests_payload'])

  • manifests (list[Manifest])

  • not_found (list[RID])

manifests: list[Manifest]
model_config: ClassVar[ConfigDict] = {}

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

not_found: list[RID]
type: Literal['manifests_payload']
class koi_net.protocol.api.models.PollEvents(**data)[source]

Bases: BaseModel

Parameters:
  • type (Literal['poll_events'])

  • limit (int)

limit: int
model_config: ClassVar[ConfigDict] = {}

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

type: Literal['poll_events']
type koi_net.protocol.api.models.RequestModels = EventsPayload | PollEvents | FetchRids | FetchManifests | FetchBundles
type koi_net.protocol.api.models.ResponseModels = RidsPayload | ManifestsPayload | BundlesPayload | EventsPayload | ErrorResponse
class koi_net.protocol.api.models.RidsPayload(**data)[source]

Bases: BaseModel

Parameters:
  • type (Literal['rids_payload'])

  • rids (list[RID])

model_config: ClassVar[ConfigDict] = {}

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

rids: list[RID]
type: Literal['rids_payload']