snap_python.schemas.store
- class snap_python.schemas.store.categories.Category(*, description: str | None = None, media: Media | None = None, name: str | None = None, summary: str | None = None, title: str | None = None, type: str | None = None, featured: bool | None = None)
Bases:
BaseModel
- description: str | None
- featured: bool | None
- model_config: ClassVar[ConfigDict] = {'exclude_unset': True}
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- name: str | None
- summary: str | None
- title: str | None
- type: str | None
- class snap_python.schemas.store.categories.CategoryResponse(*, categories: List[Category] | None = None)
Bases:
BaseModel
- model_config: ClassVar[ConfigDict] = {'exclude_unset': True}
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- class snap_python.schemas.store.categories.Media(*, height: float | None = None, type: str, url: str, width: float | None = None)
Bases:
BaseModel
- height: float | None
- model_config: ClassVar[ConfigDict] = {'exclude_unset': True}
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- type: str
- url: str
- width: float | None
- class snap_python.schemas.store.categories.SingleCategoryResponse(*, category: Category)
Bases:
BaseModel
- model_config: ClassVar[ConfigDict] = {'exclude_unset': True}
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- class snap_python.schemas.store.info.Channel(*, architecture: str, name: str, released_at: AwareDatetime | None = None, risk: str, track: str)
Bases:
BaseModel
- architecture: str
- model_config: ClassVar[ConfigDict] = {'exclude_unset': True}
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- name: str
- released_at: AwareDatetime | None
- risk: str
- track: str
- class snap_python.schemas.store.info.ChannelMapItem(*, architectures: List[str] | None = None, base: str | None = None, channel: Channel, common_ids: List[str] | None = None, confinement: str | None = None, created_at: AwareDatetime | None = None, download: Download | None = None, epoch: Epoch | None = None, resources: List[Resource] | None = None, revision: int | None = None, snap_yaml: str | None = None, type: str | None = None, version: str | None = None)
Bases:
BaseModel
- architectures: List[str] | None
- base: str | None
- common_ids: List[str] | None
- confinement: str | None
- created_at: AwareDatetime | None
- model_config: ClassVar[ConfigDict] = {'exclude_unset': True}
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- revision: int | None
- snap_yaml: str | None
- type: str | None
- version: str | None
- class snap_python.schemas.store.info.Delta(*, format: str, sha3_384: str | None = None, size: float, source: float, target: float, url: str)
Bases:
BaseModel
- format: str
- model_config: ClassVar[ConfigDict] = {'exclude_unset': True}
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- sha3_384: str | None
- size: float
- source: float
- target: float
- url: str
- class snap_python.schemas.store.info.Download(*, deltas: List[Delta], sha3_384: str | None = None, size: float, url: str)
Bases:
BaseModel
- model_config: ClassVar[ConfigDict] = {'exclude_unset': True}
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- sha3_384: str | None
- size: float
- url: str
- class snap_python.schemas.store.info.Download1(*, sha3_384: str | None = None, size: int | None = None, url: str | None = None)
Bases:
BaseModel
- model_config: ClassVar[ConfigDict] = {}
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- sha3_384: str | None
- size: int | None
- url: str | None
- class snap_python.schemas.store.info.Epoch(*, read: List[float], write: List[float])
Bases:
BaseModel
- model_config: ClassVar[ConfigDict] = {'exclude_unset': True}
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- read: List[float]
- write: List[float]
- class snap_python.schemas.store.info.ErrorListItem(*, code: str, message: str)
Bases:
BaseModel
- code: str
- message: str
- model_config: ClassVar[ConfigDict] = {'exclude_unset': True}
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- class snap_python.schemas.store.info.InfoResponse(*, channel_map: List[ChannelMapItem], default_track: str | None = None, error_list: List[ErrorListItem] | None = None, name: str, snap: StoreSnap, snap_id: str)
Bases:
BaseModel
- channel_map: List[ChannelMapItem]
- default_track: str | None
- error_list: List[ErrorListItem] | None
- model_config: ClassVar[ConfigDict] = {'exclude_unset': True}
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- name: str
- snap_id: str
- class snap_python.schemas.store.info.Resource(*, architectures: List[str] | None = None, created_at: str | None = None, description: str | None = None, download: Download1 | None = None, name: str | None = None, revision: int | None = None, type: str | None = None, version: str | None = None)
Bases:
BaseModel
- architectures: List[str] | None
- created_at: str | None
- description: str | None
- model_config: ClassVar[ConfigDict] = {'exclude_unset': True}
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- name: str | None
- revision: int | None
- type: str | None
- version: str | None
- class snap_python.schemas.store.refresh.RefreshResultData(*, default_track: str | None = None, name: str, snap: StoreRefreshSnap, instance_key: str, released_at: AwareDatetime | None = None, result: str, snap_id: str, error: RefreshResultError | None = None)
Bases:
BaseModel
- default_track: str | None
- error: RefreshResultError | None
- instance_key: str
- property is_error: bool
- model_config: ClassVar[ConfigDict] = {'exclude_unset': True}
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- name: str
- released_at: AwareDatetime | None
- result: str
- snap: StoreRefreshSnap
- snap_id: str
- class snap_python.schemas.store.refresh.RefreshResultError(*, code: str, message: str, extra: dict | None = None)
Bases:
BaseModel
- code: str
- extra: dict | None
- message: str
- model_config: ClassVar[ConfigDict] = {}
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- class snap_python.schemas.store.refresh.RefreshRevisionResponse(*, error_list: List[ErrorListItem] | None = None, results: List[RefreshResultData])
Bases:
BaseModel
- error_list: List[ErrorListItem] | None
- model_config: ClassVar[ConfigDict] = {}
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- results: List[RefreshResultData]
- class snap_python.schemas.store.refresh.SnapRefreshFields(*, architectures: list[str] | None = None, base: str | None = None, common_ids: list[str] | None = None, confinement: str | None = None, created_at: ~pydantic.types.AwareDatetime | None = None, download: ~snap_python.schemas.store.info.Download | None = None, epoch: dict[str, list[int]] | None = None, gated_snap_ids: list[str] | None = None, license: str | None = None, prices: dict[str, str] | None = None, resources: list[~snap_python.schemas.store.info.Resource] = <factory>, revision: int | None = None, snap_id: str | None = None, snap_yaml: str | None = None, type: str | None = None, version: str | None = None)
Bases:
BaseModel
- architectures: list[str] | None
- base: str | None
- common_ids: list[str] | None
- confinement: str | None
- created_at: AwareDatetime | None
- epoch: dict[str, list[int]] | None
- gated_snap_ids: list[str] | None
- license: str | None
- model_config: ClassVar[ConfigDict] = {}
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- prices: dict[str, str] | None
- revision: int | None
- snap_id: str | None
- snap_yaml: str | None
- type: str | None
- version: str | None
- class snap_python.schemas.store.refresh.StoreRefreshSnap(*, architectures: list[str] | None = None, base: str | None = None, common_ids: list[str] | None = None, confinement: str | None = None, created_at: ~pydantic.types.AwareDatetime | None = None, download: ~snap_python.schemas.store.info.Download | None = None, epoch: dict[str, list[int]] | None = None, gated_snap_ids: list[str] | None = None, license: str = 'unset', prices: dict[str, str] | None = None, resources: list[~snap_python.schemas.store.info.Resource] = <factory>, revision: int | None = None, snap_id: str | None = None, snap_yaml: str | None = None, type: str | None = None, version: str | None = None, contact: str | None = None, description: str | None = None, links: dict[str, list[str]] | None = None, media: list[~snap_python.schemas.common.Media] | None = None, name: str | None = None, private: bool | None = None, publisher: ~snap_python.schemas.common.Publisher | None = None, summary: str | None = None, title: str | None = None, unlisted: bool | None = None, website: str | None = None)
Bases:
Snap
,SnapRefreshFields
- model_config: ClassVar[ConfigDict] = {}
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- class snap_python.schemas.store.search.ArchSearchItem(*, aliases: list[dict[str, str]] | None, apps: list[str], package_name: str, summary: str, title: str, version: str)
Bases:
BaseModel
- aliases: list[dict[str, str]] | None
- apps: list[str]
- model_config: ClassVar[ConfigDict] = {}
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- package_name: str
- summary: str
- title: str
- version: str
- class snap_python.schemas.store.search.ArchSearchResponse(*, results: list[ArchSearchItem], arch: str = 'wide')
Bases:
BaseModel
- arch: str
- model_config: ClassVar[ConfigDict] = {}
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- results: list[ArchSearchItem]
- class snap_python.schemas.store.search.ErrorListItem(*, code: str, message: str)
Bases:
BaseModel
- code: str
- message: str
- model_config: ClassVar[ConfigDict] = {'exclude_unset': True}
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- class snap_python.schemas.store.search.PaginatedResponse(*, total: int, page: Annotated[int, Ge(ge=0)], limit: Annotated[int, Ge(ge=1), Le(le=100)])
Bases:
BaseModel
- property has_more: bool
- limit: int
- model_config: ClassVar[ConfigDict] = {}
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- property next_page: int | None
- page: int
- property previous_page: int | None
- total: int
- class snap_python.schemas.store.search.PaginatedSnapSearchResponse(*, total: int, page: Annotated[int, Ge(ge=0)], limit: Annotated[int, Ge(ge=1), Le(le=100)], results: list[ArchSearchItem])
Bases:
PaginatedResponse
- model_config: ClassVar[ConfigDict] = {}
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- results: list[ArchSearchItem]
- class snap_python.schemas.store.search.SearchResponse(*, error_list: List[ErrorListItem] | None = None, results: List[SearchResult])
Bases:
BaseModel
- error_list: List[ErrorListItem] | None
- model_config: ClassVar[ConfigDict] = {}
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- results: List[SearchResult]
- class snap_python.schemas.store.search.SearchResult(*, name: str, revision: Revision | None = None, snap: StoreSnap, snap_id: str)
Bases:
BaseModel
- classmethod from_installed_snap(installed_snap: InstalledSnap)
- model_config: ClassVar[ConfigDict] = {}
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- name: str
- snap_id: str
- class snap_python.schemas.store.search.SnapDetails(*, aliases: List[Dict] | None = None, anon_download_url: str, apps: List[str] | None = None, architecture: List[str], base: str | None = None, binary_filesize: int, channel: str, common_ids: List[str], confinement: str, contact: str | None = None, content: str | None = None, date_published: AwareDatetime, deltas: List[str] | None = None, description: str, developer_id: str, developer_name: str, developer_validation: str, download_sha3_384: str | None = None, download_sha512: str | None = None, download_url: str, epoch: str, gated_snap_ids: List[str] | None = None, icon_url: str, last_updated: AwareDatetime, license: str, links: Dict[str, Any], name: str, origin: str, package_name: str, prices: Dict[str, Any], private: bool, publisher: str, raitings_average: float = 0.0, release: List[str], revision: int, screenshot_urls: List[str], snap_id: str | None = None, summary: str | None = None, support_url: str | None = None, title: str | None = None, version: str | None = None, website: str | None = None)
Bases:
BaseModel
- aliases: List[Dict] | None
- anon_download_url: str
- apps: List[str] | None
- architecture: List[str]
- base: str | None
- binary_filesize: int
- channel: str
- common_ids: List[str]
- confinement: str
- contact: str | None
- content: str | None
- date_published: AwareDatetime
- deltas: List[str] | None
- description: str
- developer_id: str
- developer_name: str
- developer_validation: str
- download_sha3_384: str | None
- download_sha512: str | None
- download_url: str
- epoch: str
- gated_snap_ids: List[str] | None
- icon_url: str
- last_updated: AwareDatetime
- license: str
- links: Dict[str, Any]
- model_config: ClassVar[ConfigDict] = {}
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- name: str
- origin: str
- package_name: str
- prices: Dict[str, Any]
- private: bool
- publisher: str
- raitings_average: float
- release: List[str]
- revision: int
- screenshot_urls: List[str]
- snap_id: str | None
- summary: str | None
- support_url: str | None
- title: str | None
- version: str | None
- website: str | None
- class snap_python.schemas.store.track.TrackRevisionDetails(*, arch: str, base: str, channel: Channel, confinement: str, created_at: AwareDatetime, released_at: AwareDatetime, revision: int, risk: str, track: str, version: str)
Bases:
BaseModel
Contains details for a specific track/risk/architecture
- Raises:
ValueError: If the architecture is invalid.
- arch: str
- base: str
- confinement: str
- created_at: AwareDatetime
- model_config: ClassVar[ConfigDict] = {}
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- released_at: AwareDatetime
- revision: int
- risk: str
- track: str
- classmethod validate_arch(value)
- version: str
- class snap_python.schemas.store.track.TrackRiskMap(*, amd64: TrackRevisionDetails | None = None, arm64: TrackRevisionDetails | None = None, armhf: TrackRevisionDetails | None = None, i386: TrackRevisionDetails | None = None, ppc64el: TrackRevisionDetails | None = None, s390x: TrackRevisionDetails | None = None, riscv64: TrackRevisionDetails | None = None)
Bases:
BaseModel
Map of architectures to their revision details for a specific risk level.
- amd64: TrackRevisionDetails | None
- property architectures: list[str]
Return a list of architectures that have revisions.
- arm64: TrackRevisionDetails | None
- armhf: TrackRevisionDetails | None
- i386: TrackRevisionDetails | None
- model_config: ClassVar[ConfigDict] = {}
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- ppc64el: TrackRevisionDetails | None
- riscv64: TrackRevisionDetails | None
- s390x: TrackRevisionDetails | None
- snap_python.schemas.store.track.channel_map_to_current_track_map(channel_map: list[ChannelMapItem]) dict[str, dict[str, TrackRiskMap]]
Convert a list of ChannelMapItem to a map of track -> risk -> TrackRiskMap.