ci: regenerated with OpenAPI Doc , Speakeasy CLI 1.401.2

This commit is contained in:
speakeasybot
2024-09-22 00:02:44 +00:00
parent 4a12ecad2c
commit c6203e8f1a
43 changed files with 672 additions and 193 deletions

File diff suppressed because one or more lines are too long

View File

@@ -12,7 +12,7 @@ generation:
auth: auth:
oAuth2ClientCredentialsEnabled: true oAuth2ClientCredentialsEnabled: true
python: python:
version: 0.13.0 version: 0.13.1
additionalDependencies: additionalDependencies:
dev: {} dev: {}
main: {} main: {}

View File

@@ -8,8 +8,8 @@ sources:
- latest - latest
plexapi: plexapi:
sourceNamespace: plexapi sourceNamespace: plexapi
sourceRevisionDigest: sha256:5aa71ad96ca6de91143ee513c9880e08e555e7748fb4b5f8d069c6ab0c8f3069 sourceRevisionDigest: sha256:fc6eebe661455e23b1aa352a91c14ef773fa72331330ec4caeddc2c460dc16bb
sourceBlobDigest: sha256:1cbef844e2856c2eabba4bd6d677d96c572fed13b27978d0d953aa06b224c02f sourceBlobDigest: sha256:2e81e86c83d7f4e8842efca0d43a2db84a4932534c8439e3737e1f65c873f855
tags: tags:
- latest - latest
- main - main
@@ -17,10 +17,10 @@ targets:
plexpy: plexpy:
source: plexapi source: plexapi
sourceNamespace: plexapi sourceNamespace: plexapi
sourceRevisionDigest: sha256:5aa71ad96ca6de91143ee513c9880e08e555e7748fb4b5f8d069c6ab0c8f3069 sourceRevisionDigest: sha256:fc6eebe661455e23b1aa352a91c14ef773fa72331330ec4caeddc2c460dc16bb
sourceBlobDigest: sha256:1cbef844e2856c2eabba4bd6d677d96c572fed13b27978d0d953aa06b224c02f sourceBlobDigest: sha256:2e81e86c83d7f4e8842efca0d43a2db84a4932534c8439e3737e1f65c873f855
codeSamplesNamespace: code-samples-python-plexpy codeSamplesNamespace: code-samples-python-plexpy
codeSamplesRevisionDigest: sha256:8bfb75b70f00309ec9169edcb1875e4504094a9bc95a9f86c95232723f22db47 codeSamplesRevisionDigest: sha256:024365b752e0bab5dddaf0c68d5dea77d7bbb16f3dfdd469ed8b27eb2f14cf99
workflow: workflow:
workflowVersion: 1.0.0 workflowVersion: 1.0.0
speakeasyVersion: latest speakeasyVersion: latest

View File

@@ -759,3 +759,13 @@ Based on:
- [python v0.13.0] . - [python v0.13.0] .
### Releases ### Releases
- [PyPI v0.13.0] https://pypi.org/project/plex-api-client/0.13.0 - . - [PyPI v0.13.0] https://pypi.org/project/plex-api-client/0.13.0 - .
## 2024-09-22 00:01:19
### Changes
Based on:
- OpenAPI Doc
- Speakeasy CLI 1.401.2 (2.421.3) https://github.com/speakeasy-api/speakeasy
### Generated
- [python v0.13.1] .
### Releases
- [PyPI v0.13.1] https://pypi.org/project/plex-api-client/0.13.1 - .

View File

@@ -561,7 +561,7 @@ actions:
device_name="Linux", device_name="Linux",
) )
res = s.library.get_top_watched_content(type_=operations.GetTopWatchedContentQueryParamType.SHOW, include_guids=1) res = s.library.get_top_watched_content(type_=operations.GetTopWatchedContentQueryParamType.TV_SHOW, include_guids=1)
if res.object is not None: if res.object is not None:
# handle response # handle response
@@ -869,7 +869,7 @@ actions:
device_name="Linux", device_name="Linux",
) )
res = s.library.get_search_library(section_key=9518, type_=operations.QueryParamType.SHOW) res = s.library.get_search_library(section_key=9518, type_=operations.QueryParamType.TV_SHOW)
if res.object is not None: if res.object is not None:
# handle response # handle response
@@ -897,7 +897,7 @@ actions:
"tag": operations.Tag.EDITION, "tag": operations.Tag.EDITION,
"include_guids": operations.IncludeGuids.ENABLE, "include_guids": operations.IncludeGuids.ENABLE,
"include_meta": operations.IncludeMeta.ENABLE, "include_meta": operations.IncludeMeta.ENABLE,
"type": operations.Type.SHOW, "type": operations.Type.TV_SHOW,
"x_plex_container_start": 0, "x_plex_container_start": 0,
"x_plex_container_size": 50, "x_plex_container_size": 50,
}) })
@@ -1270,7 +1270,7 @@ actions:
device_name="Linux", device_name="Linux",
) )
res = s.playlists.get_playlist_contents(playlist_id=5004.46, type_=operations.GetPlaylistContentsQueryParamType.SHOW) res = s.playlists.get_playlist_contents(playlist_id=5004.46, type_=operations.GetPlaylistContentsQueryParamType.TV_SHOW)
if res.object is not None: if res.object is not None:
# handle response # handle response

View File

@@ -0,0 +1,9 @@
# Action
## Fields
| Field | Type | Required | Description | Example |
| ------------------------------ | ------------------------------ | ------------------------------ | ------------------------------ | ------------------------------ |
| `id` | *str* | :heavy_check_mark: | N/A | addToContinueWatching |
| `key` | *str* | :heavy_check_mark: | N/A | /actions/addToContinueWatching |

View File

@@ -0,0 +1,12 @@
# ActiveDirection
The direction of the sort. Can be either `asc` or `desc`.
## Values
| Name | Value |
| ------------ | ------------ |
| `ASCENDING` | asc |
| `DESCENDING` | desc |

View File

@@ -0,0 +1,8 @@
# Collection
## Fields
| Field | Type | Required | Description | Example |
| ------------------ | ------------------ | ------------------ | ------------------ | ------------------ |
| `tag` | *Optional[str]* | :heavy_minus_sign: | N/A | Working NL Subs |

View File

@@ -0,0 +1,12 @@
# DefaultDirection
The direction of the sort. Can be either `asc` or `desc`.
## Values
| Name | Value |
| ------------ | ------------ |
| `ASCENDING` | asc |
| `DESCENDING` | desc |

View File

@@ -3,8 +3,12 @@
## Fields ## Fields
| Field | Type | Required | Description | | Field | Type | Required | Description | Example |
| ---------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------- | | ---------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------- |
| `key` | *Optional[str]* | :heavy_minus_sign: | N/A | | `type` | *str* | :heavy_check_mark: | N/A | |
| `type` | *Optional[str]* | :heavy_minus_sign: | N/A | | `key` | *Optional[str]* | :heavy_minus_sign: | N/A | |
| `directory` | List[[operations.GetMediaProvidersDirectory](../../models/operations/getmediaprovidersdirectory.md)] | :heavy_minus_sign: | N/A | | `flavor` | *Optional[str]* | :heavy_minus_sign: | N/A | global |
| `scrobble_key` | *Optional[str]* | :heavy_minus_sign: | N/A | /:/scrobble/new |
| `unscrobble_key` | *Optional[str]* | :heavy_minus_sign: | N/A | /:/unscrobble/new |
| `directory` | List[[operations.GetMediaProvidersDirectory](../../models/operations/getmediaprovidersdirectory.md)] | :heavy_minus_sign: | N/A | |
| `action` | List[[operations.Action](../../models/operations/action.md)] | :heavy_minus_sign: | N/A | |

View File

@@ -0,0 +1,9 @@
# FlattenSeasons
## Values
| Name | Value |
| ------- | ------- |
| `FALSE` | 0 |
| `TRUE` | 1 |

View File

@@ -0,0 +1,10 @@
# GetLibraryItemsImage
## Fields
| Field | Type | Required | Description | Example |
| -------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------- |
| `alt` | *str* | :heavy_check_mark: | N/A | Episode 1 |
| `type` | [operations.GetLibraryItemsLibraryResponseType](../../models/operations/getlibraryitemslibraryresponsetype.md) | :heavy_check_mark: | N/A | background |
| `url` | *str* | :heavy_check_mark: | N/A | /library/metadata/45521/thumb/1644710589 |

View File

@@ -0,0 +1,11 @@
# GetLibraryItemsLibraryResponseType
## Values
| Name | Value |
| -------------- | -------------- |
| `COVER_POSTER` | coverPoster |
| `BACKGROUND` | background |
| `SNAPSHOT` | snapshot |
| `CLEAR_LOGO` | clearLogo |

View File

@@ -0,0 +1,14 @@
# GetLibraryItemsLibraryType
## Fields
| Field | Type | Required | Description | Example |
| ------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------ |
| `key` | *str* | :heavy_check_mark: | N/A | /library/sections/2/all?type=2 |
| `type` | *str* | :heavy_check_mark: | N/A | show |
| `title` | *str* | :heavy_check_mark: | N/A | TV Shows |
| `active` | *bool* | :heavy_check_mark: | N/A | false |
| `filter_` | List[[operations.GetLibraryItemsFilter](../../models/operations/getlibraryitemsfilter.md)] | :heavy_minus_sign: | N/A | |
| `sort` | List[[operations.GetLibraryItemsSort](../../models/operations/getlibraryitemssort.md)] | :heavy_minus_sign: | N/A | |
| `field` | List[[operations.GetLibraryItemsField](../../models/operations/getlibraryitemsfield.md)] | :heavy_minus_sign: | N/A | |

View File

@@ -5,17 +5,19 @@
| Field | Type | Required | Description | Example | | Field | Type | Required | Description | Example |
| -------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------- | | -------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------- |
| `id` | *Optional[int]* | :heavy_minus_sign: | N/A | 119534 | | `id` | *int* | :heavy_check_mark: | N/A | 119534 |
| `duration` | *Optional[int]* | :heavy_minus_sign: | N/A | 11558112 | | `duration` | *int* | :heavy_check_mark: | N/A | 11558112 |
| `bitrate` | *Optional[int]* | :heavy_minus_sign: | N/A | 25025 | | `bitrate` | *int* | :heavy_check_mark: | N/A | 25025 |
| `width` | *Optional[int]* | :heavy_minus_sign: | N/A | 3840 | | `width` | *int* | :heavy_check_mark: | N/A | 3840 |
| `height` | *Optional[int]* | :heavy_minus_sign: | N/A | 2072 | | `height` | *int* | :heavy_check_mark: | N/A | 2072 |
| `aspect_ratio` | *Optional[float]* | :heavy_minus_sign: | N/A | 1.85 | | `aspect_ratio` | *float* | :heavy_check_mark: | N/A | 1.85 |
| `audio_channels` | *Optional[int]* | :heavy_minus_sign: | N/A | 6 | | `audio_channels` | *int* | :heavy_check_mark: | N/A | 6 |
| `audio_codec` | *Optional[str]* | :heavy_minus_sign: | N/A | eac3 | | `audio_codec` | *str* | :heavy_check_mark: | N/A | eac3 |
| `video_codec` | *Optional[str]* | :heavy_minus_sign: | N/A | hevc | | `video_codec` | *str* | :heavy_check_mark: | N/A | hevc |
| `video_resolution` | *Optional[str]* | :heavy_minus_sign: | N/A | 4k | | `video_resolution` | *str* | :heavy_check_mark: | N/A | 4k |
| `container` | *Optional[str]* | :heavy_minus_sign: | N/A | mkv | | `container` | *str* | :heavy_check_mark: | N/A | mkv |
| `video_frame_rate` | *Optional[str]* | :heavy_minus_sign: | N/A | 24p | | `video_frame_rate` | *str* | :heavy_check_mark: | N/A | 24p |
| `video_profile` | *Optional[str]* | :heavy_minus_sign: | N/A | main 10 | | `video_profile` | *str* | :heavy_check_mark: | N/A | main 10 |
| `part` | List[[operations.GetLibraryItemsPart](../../models/operations/getlibraryitemspart.md)] | :heavy_minus_sign: | N/A | | | `part` | List[[operations.GetLibraryItemsPart](../../models/operations/getlibraryitemspart.md)] | :heavy_check_mark: | N/A | |
| `audio_profile` | *Optional[str]* | :heavy_minus_sign: | N/A | dts |
| `has_voice_activity` | *Optional[bool]* | :heavy_minus_sign: | N/A | false |

View File

@@ -6,6 +6,9 @@
| Field | Type | Required | Description | Example | | Field | Type | Required | Description | Example |
| ----------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------- | | ----------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------- |
| `size` | *int* | :heavy_check_mark: | N/A | 70 | | `size` | *int* | :heavy_check_mark: | N/A | 70 |
| `total_size` | *int* | :heavy_check_mark: | N/A | 170 |
| `offset` | *int* | :heavy_check_mark: | N/A | 0 |
| `content` | *str* | :heavy_check_mark: | N/A | secondary |
| `allow_sync` | *bool* | :heavy_check_mark: | N/A | true | | `allow_sync` | *bool* | :heavy_check_mark: | N/A | true |
| `art` | *str* | :heavy_check_mark: | N/A | /:/resources/movie-fanart.jpg | | `art` | *str* | :heavy_check_mark: | N/A | /:/resources/movie-fanart.jpg |
| `identifier` | *str* | :heavy_check_mark: | N/A | com.plexapp.plugins.library | | `identifier` | *str* | :heavy_check_mark: | N/A | com.plexapp.plugins.library |
@@ -18,7 +21,8 @@
| `title1` | *str* | :heavy_check_mark: | N/A | Movies | | `title1` | *str* | :heavy_check_mark: | N/A | Movies |
| `title2` | *str* | :heavy_check_mark: | N/A | Recently Released | | `title2` | *str* | :heavy_check_mark: | N/A | Recently Released |
| `view_group` | *str* | :heavy_check_mark: | N/A | movie | | `view_group` | *str* | :heavy_check_mark: | N/A | movie |
| `metadata` | List[[operations.GetLibraryItemsMetadata](../../models/operations/getlibraryitemsmetadata.md)] | :heavy_check_mark: | N/A | |
| `nocache` | *Optional[bool]* | :heavy_minus_sign: | N/A | true |
| `view_mode` | *Optional[int]* | :heavy_minus_sign: | N/A | 65592 | | `view_mode` | *Optional[int]* | :heavy_minus_sign: | N/A | 65592 |
| `mixed_parents` | *Optional[bool]* | :heavy_minus_sign: | N/A | true | | `mixed_parents` | *Optional[bool]* | :heavy_minus_sign: | N/A | true |
| `metadata` | List[[operations.GetLibraryItemsMetadata](../../models/operations/getlibraryitemsmetadata.md)] | :heavy_minus_sign: | N/A | |
| `meta` | [Optional[operations.Meta]](../../models/operations/meta.md) | :heavy_minus_sign: | The Meta object is only included in the response if the `includeMeta` parameter is set to `1`.<br/> | | | `meta` | [Optional[operations.Meta]](../../models/operations/meta.md) | :heavy_minus_sign: | The Meta object is only included in the response if the `includeMeta` parameter is set to `1`.<br/> | |

View File

@@ -5,25 +5,30 @@
| Field | Type | Required | Description | Example | | Field | Type | Required | Description | Example |
| ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `rating_key` | *str* | :heavy_check_mark: | N/A | 58683 | | `rating_key` | *str* | :heavy_check_mark: | The rating key (Media ID) of this media item.<br/>Note: This is always an integer, but is represented as a string in the API.<br/> | 58683 |
| `key` | *str* | :heavy_check_mark: | N/A | /library/metadata/58683 | | `key` | *str* | :heavy_check_mark: | N/A | /library/metadata/58683 |
| `guid` | *str* | :heavy_check_mark: | N/A | plex://movie/5d7768ba96b655001fdc0408 | | `guid` | *str* | :heavy_check_mark: | N/A | plex://movie/5d7768ba96b655001fdc0408 |
| `type` | *str* | :heavy_check_mark: | N/A | movie | | `type` | [operations.GetLibraryItemsType](../../models/operations/getlibraryitemstype.md) | :heavy_check_mark: | The type of media content<br/> | movie |
| `title` | *str* | :heavy_check_mark: | N/A | Avatar: The Way of Water | | `title` | *str* | :heavy_check_mark: | N/A | Avatar: The Way of Water |
| `year` | *int* | :heavy_check_mark: | N/A | 2022 | | `summary` | *str* | :heavy_check_mark: | N/A | Jake Sully lives with his newfound family formed on the extrasolar moon Pandora. Once a familiar threat returns to finish what was previously started, Jake must work with Neytiri and the army of the Na'vi race to protect their home. |
| `duration` | *int* | :heavy_check_mark: | N/A | 11558112 | | `added_at` | *int* | :heavy_check_mark: | Unix epoch datetime in seconds | 1556281940 |
| `media` | List[[operations.GetLibraryItemsMedia](../../models/operations/getlibraryitemsmedia.md)] | :heavy_check_mark: | N/A | |
| `studio` | *Optional[str]* | :heavy_minus_sign: | N/A | 20th Century Studios | | `studio` | *Optional[str]* | :heavy_minus_sign: | N/A | 20th Century Studios |
| `skip_children` | *Optional[bool]* | :heavy_minus_sign: | N/A | false |
| `slug` | *Optional[str]* | :heavy_minus_sign: | N/A | 4-for-texas |
| `content_rating` | *Optional[str]* | :heavy_minus_sign: | N/A | PG-13 | | `content_rating` | *Optional[str]* | :heavy_minus_sign: | N/A | PG-13 |
| `summary` | *Optional[str]* | :heavy_minus_sign: | N/A | Jake Sully lives with his newfound family formed on the extrasolar moon Pandora. Once a familiar threat returns to finish what was previously started, Jake must work with Neytiri and the army of the Na'vi race to protect their home. |
| `rating` | *Optional[float]* | :heavy_minus_sign: | N/A | 7.6 | | `rating` | *Optional[float]* | :heavy_minus_sign: | N/A | 7.6 |
| `audience_rating` | *Optional[float]* | :heavy_minus_sign: | N/A | 9.2 | | `audience_rating` | *Optional[float]* | :heavy_minus_sign: | N/A | 9.2 |
| `year` | *Optional[int]* | :heavy_minus_sign: | N/A | 2022 |
| `season_count` | *Optional[int]* | :heavy_minus_sign: | N/A | 2022 |
| `tagline` | *Optional[str]* | :heavy_minus_sign: | N/A | Return to Pandora. | | `tagline` | *Optional[str]* | :heavy_minus_sign: | N/A | Return to Pandora. |
| `flatten_seasons` | [Optional[operations.FlattenSeasons]](../../models/operations/flattenseasons.md) | :heavy_minus_sign: | N/A | 1 |
| `show_ordering` | [Optional[operations.ShowOrdering]](../../models/operations/showordering.md) | :heavy_minus_sign: | Setting that indicates the episode ordering for the show <br/>None = Library default, <br/>tmdbAiring = The Movie Database (Aired), <br/>aired = TheTVDB (Aired), <br/>dvd = TheTVDB (DVD), <br/>absolute = TheTVDB (Absolute)).<br/> | dvd |
| `thumb` | *Optional[str]* | :heavy_minus_sign: | N/A | /library/metadata/58683/thumb/1703239236 | | `thumb` | *Optional[str]* | :heavy_minus_sign: | N/A | /library/metadata/58683/thumb/1703239236 |
| `art` | *Optional[str]* | :heavy_minus_sign: | N/A | /library/metadata/58683/art/1703239236 | | `art` | *Optional[str]* | :heavy_minus_sign: | N/A | /library/metadata/58683/art/1703239236 |
| `banner` | *Optional[str]* | :heavy_minus_sign: | N/A | /library/metadata/58683/banner/1703239236 |
| `duration` | *Optional[int]* | :heavy_minus_sign: | N/A | 11558112 |
| `originally_available_at` | [datetime](https://docs.python.org/3/library/datetime.html#datetime-objects) | :heavy_minus_sign: | N/A | 2022-12-14 00:00:00 +0000 UTC | | `originally_available_at` | [datetime](https://docs.python.org/3/library/datetime.html#datetime-objects) | :heavy_minus_sign: | N/A | 2022-12-14 00:00:00 +0000 UTC |
| `added_at` | *Optional[int]* | :heavy_minus_sign: | N/A | 1680457607 | | `updated_at` | *Optional[int]* | :heavy_minus_sign: | Unix epoch datetime in seconds | 1556281940 |
| `updated_at` | *Optional[int]* | :heavy_minus_sign: | N/A | 1703239236 |
| `audience_rating_image` | *Optional[str]* | :heavy_minus_sign: | N/A | rottentomatoes://image.rating.upright | | `audience_rating_image` | *Optional[str]* | :heavy_minus_sign: | N/A | rottentomatoes://image.rating.upright |
| `chapter_source` | *Optional[str]* | :heavy_minus_sign: | N/A | media | | `chapter_source` | *Optional[str]* | :heavy_minus_sign: | N/A | media |
| `primary_extra_key` | *Optional[str]* | :heavy_minus_sign: | N/A | /library/metadata/58684 | | `primary_extra_key` | *Optional[str]* | :heavy_minus_sign: | N/A | /library/metadata/58684 |
@@ -33,14 +38,19 @@
| `grandparent_key` | *Optional[str]* | :heavy_minus_sign: | N/A | /library/metadata/66 | | `grandparent_key` | *Optional[str]* | :heavy_minus_sign: | N/A | /library/metadata/66 |
| `grandparent_title` | *Optional[str]* | :heavy_minus_sign: | N/A | Caprica | | `grandparent_title` | *Optional[str]* | :heavy_minus_sign: | N/A | Caprica |
| `grandparent_thumb` | *Optional[str]* | :heavy_minus_sign: | N/A | /library/metadata/66/thumb/1705716261 | | `grandparent_thumb` | *Optional[str]* | :heavy_minus_sign: | N/A | /library/metadata/66/thumb/1705716261 |
| `grandparent_slug` | *Optional[str]* | :heavy_minus_sign: | N/A | alice-in-borderland-2020 |
| `grandparent_art` | *Optional[str]* | :heavy_minus_sign: | N/A | /library/metadata/66/art/1705716261 | | `grandparent_art` | *Optional[str]* | :heavy_minus_sign: | N/A | /library/metadata/66/art/1705716261 |
| `grandparent_theme` | *Optional[str]* | :heavy_minus_sign: | N/A | /library/metadata/66/theme/1705716261 | | `grandparent_theme` | *Optional[str]* | :heavy_minus_sign: | N/A | /library/metadata/66/theme/1705716261 |
| `media` | List[[operations.GetLibraryItemsMedia](../../models/operations/getlibraryitemsmedia.md)] | :heavy_minus_sign: | The Media object is only included when type query is `4` or higher.<br/> | |
| `genre` | List[[operations.GetLibraryItemsGenre](../../models/operations/getlibraryitemsgenre.md)] | :heavy_minus_sign: | N/A | | | `genre` | List[[operations.GetLibraryItemsGenre](../../models/operations/getlibraryitemsgenre.md)] | :heavy_minus_sign: | N/A | |
| `country` | List[[operations.GetLibraryItemsCountry](../../models/operations/getlibraryitemscountry.md)] | :heavy_minus_sign: | N/A | | | `country` | List[[operations.GetLibraryItemsCountry](../../models/operations/getlibraryitemscountry.md)] | :heavy_minus_sign: | N/A | |
| `director` | List[[operations.GetLibraryItemsDirector](../../models/operations/getlibraryitemsdirector.md)] | :heavy_minus_sign: | N/A | | | `director` | List[[operations.GetLibraryItemsDirector](../../models/operations/getlibraryitemsdirector.md)] | :heavy_minus_sign: | N/A | |
| `writer` | List[[operations.GetLibraryItemsWriter](../../models/operations/getlibraryitemswriter.md)] | :heavy_minus_sign: | N/A | | | `writer` | List[[operations.GetLibraryItemsWriter](../../models/operations/getlibraryitemswriter.md)] | :heavy_minus_sign: | N/A | |
| `collection` | List[[operations.Collection](../../models/operations/collection.md)] | :heavy_minus_sign: | N/A | |
| `role` | List[[operations.GetLibraryItemsRole](../../models/operations/getlibraryitemsrole.md)] | :heavy_minus_sign: | N/A | | | `role` | List[[operations.GetLibraryItemsRole](../../models/operations/getlibraryitemsrole.md)] | :heavy_minus_sign: | N/A | |
| `media_guid` | List[[operations.MediaGUID](../../models/operations/mediaguid.md)] | :heavy_minus_sign: | The Guid object is only included in the response if the `includeGuids` parameter is set to `1`.<br/> | | | `media_guid` | List[[operations.MediaGUID](../../models/operations/mediaguid.md)] | :heavy_minus_sign: | The Guid object is only included in the response if the `includeGuids` parameter is set to `1`.<br/> | |
| `ultra_blur_colors` | [Optional[operations.UltraBlurColors]](../../models/operations/ultrablurcolors.md) | :heavy_minus_sign: | N/A | |
| `image` | List[[operations.GetLibraryItemsImage](../../models/operations/getlibraryitemsimage.md)] | :heavy_minus_sign: | N/A | |
| `title_sort` | *Optional[str]* | :heavy_minus_sign: | N/A | Whale | | `title_sort` | *Optional[str]* | :heavy_minus_sign: | N/A | Whale |
| `view_count` | *Optional[int]* | :heavy_minus_sign: | N/A | 1 | | `view_count` | *Optional[int]* | :heavy_minus_sign: | N/A | 1 |
| `last_viewed_at` | *Optional[int]* | :heavy_minus_sign: | N/A | 1682752242 | | `last_viewed_at` | *Optional[int]* | :heavy_minus_sign: | N/A | 1682752242 |
@@ -54,7 +64,7 @@
| `child_count` | *Optional[int]* | :heavy_minus_sign: | N/A | 1 | | `child_count` | *Optional[int]* | :heavy_minus_sign: | N/A | 1 |
| `has_premium_extras` | *Optional[str]* | :heavy_minus_sign: | N/A | 1 | | `has_premium_extras` | *Optional[str]* | :heavy_minus_sign: | N/A | 1 |
| `has_premium_primary_extra` | *Optional[str]* | :heavy_minus_sign: | N/A | 1 | | `has_premium_primary_extra` | *Optional[str]* | :heavy_minus_sign: | N/A | 1 |
| `parent_rating_key` | *Optional[str]* | :heavy_minus_sign: | N/A | 66 | | `parent_rating_key` | *Optional[str]* | :heavy_minus_sign: | The rating key of the parent item.<br/> | 66 |
| `parent_guid` | *Optional[str]* | :heavy_minus_sign: | N/A | plex://show/5d9c081b170e24001f2a7be4 | | `parent_guid` | *Optional[str]* | :heavy_minus_sign: | N/A | plex://show/5d9c081b170e24001f2a7be4 |
| `parent_studio` | *Optional[str]* | :heavy_minus_sign: | N/A | UCP | | `parent_studio` | *Optional[str]* | :heavy_minus_sign: | N/A | UCP |
| `parent_key` | *Optional[str]* | :heavy_minus_sign: | N/A | /library/metadata/66 | | `parent_key` | *Optional[str]* | :heavy_minus_sign: | N/A | /library/metadata/66 |

View File

@@ -5,10 +5,13 @@
| Field | Type | Required | Description | Example | | Field | Type | Required | Description | Example |
| -------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------- | | -------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------- |
| `id` | *Optional[int]* | :heavy_minus_sign: | N/A | 119542 | | `id` | *int* | :heavy_check_mark: | N/A | 119542 |
| `key` | *Optional[str]* | :heavy_minus_sign: | N/A | /library/parts/119542/1680457526/file.mkv | | `key` | *str* | :heavy_check_mark: | N/A | /library/parts/119542/1680457526/file.mkv |
| `duration` | *Optional[int]* | :heavy_minus_sign: | N/A | 11558112 | | `duration` | *int* | :heavy_check_mark: | N/A | 11558112 |
| `file` | *Optional[str]* | :heavy_minus_sign: | N/A | /movies/Avatar The Way of Water (2022)/Avatar.The.Way.of.Water.2022.2160p.WEB-DL.DDP5.1.Atmos.DV.HDR10.HEVC-CMRG.mkv | | `file` | *str* | :heavy_check_mark: | N/A | /movies/Avatar The Way of Water (2022)/Avatar.The.Way.of.Water.2022.2160p.WEB-DL.DDP5.1.Atmos.DV.HDR10.HEVC-CMRG.mkv |
| `size` | *Optional[int]* | :heavy_minus_sign: | N/A | 36158371307 | | `size` | *int* | :heavy_check_mark: | N/A | 36158371307 |
| `container` | *Optional[str]* | :heavy_minus_sign: | N/A | mkv | | `container` | *str* | :heavy_check_mark: | The container format of the media file.<br/> | mkv |
| `video_profile` | *Optional[str]* | :heavy_minus_sign: | N/A | main 10 | | `video_profile` | *str* | :heavy_check_mark: | N/A | main 10 |
| `audio_profile` | *Optional[str]* | :heavy_minus_sign: | N/A | dts |
| `indexes` | *Optional[str]* | :heavy_minus_sign: | N/A | sd |
| `has_thumbnail` | [Optional[operations.HasThumbnail]](../../models/operations/hasthumbnail.md) | :heavy_minus_sign: | N/A | 1 |

View File

@@ -7,8 +7,8 @@
| ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `section_key` | *int* | :heavy_check_mark: | The unique key of the Plex library. <br/>Note: This is unique in the context of the Plex server.<br/> | 9518 | | `section_key` | *int* | :heavy_check_mark: | The unique key of the Plex library. <br/>Note: This is unique in the context of the Plex server.<br/> | 9518 |
| `tag` | [operations.Tag](../../models/operations/tag.md) | :heavy_check_mark: | A key representing a specific tag within the section. | | | `tag` | [operations.Tag](../../models/operations/tag.md) | :heavy_check_mark: | A key representing a specific tag within the section. | |
| `type` | [operations.Type](../../models/operations/type.md) | :heavy_check_mark: | The type of media to retrieve.<br/>1 = movie<br/>2 = show<br/>3 = season<br/>4 = episode<br/>E.g. A movie library will not return anything with type 3 as there are no seasons for movie libraries<br/> | 2 |
| `include_guids` | [Optional[operations.IncludeGuids]](../../models/operations/includeguids.md) | :heavy_minus_sign: | Adds the Guids object to the response<br/> | 1 | | `include_guids` | [Optional[operations.IncludeGuids]](../../models/operations/includeguids.md) | :heavy_minus_sign: | Adds the Guids object to the response<br/> | 1 |
| `include_meta` | [Optional[operations.IncludeMeta]](../../models/operations/includemeta.md) | :heavy_minus_sign: | Adds the Meta object to the response<br/> | 1 | | `include_meta` | [Optional[operations.IncludeMeta]](../../models/operations/includemeta.md) | :heavy_minus_sign: | Adds the Meta object to the response<br/> | 1 |
| `type` | [Optional[operations.Type]](../../models/operations/type.md) | :heavy_minus_sign: | The type of media to retrieve.<br/>1 = movie<br/>2 = show<br/>3 = season<br/>4 = episode<br/>E.g. A movie library will not return anything with type 3 as there are no seasons for movie libraries<br/> | 2 |
| `x_plex_container_start` | *Optional[int]* | :heavy_minus_sign: | The index of the first item to return. If not specified, the first item will be returned.<br/>If the number of items exceeds the limit, the response will be paginated.<br/>By default this is 0<br/> | 0 | | `x_plex_container_start` | *Optional[int]* | :heavy_minus_sign: | The index of the first item to return. If not specified, the first item will be returned.<br/>If the number of items exceeds the limit, the response will be paginated.<br/>By default this is 0<br/> | 0 |
| `x_plex_container_size` | *Optional[int]* | :heavy_minus_sign: | The number of items to return. If not specified, all items will be returned.<br/>If the number of items exceeds the limit, the response will be paginated.<br/>By default this is 50<br/> | 50 | | `x_plex_container_size` | *Optional[int]* | :heavy_minus_sign: | The number of items to return. If not specified, all items will be returned.<br/>If the number of items exceeds the limit, the response will be paginated.<br/>By default this is 50<br/> | 50 |

View File

@@ -4,10 +4,12 @@
## Fields ## Fields
| Field | Type | Required | Description | Example | | Field | Type | Required | Description | Example |
| ---------------------------------- | ---------------------------------- | ---------------------------------- | ---------------------------------- | ---------------------------------- | | ------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------ |
| `default_direction` | *str* | :heavy_check_mark: | N/A | asc |
| `key` | *str* | :heavy_check_mark: | N/A | titleSort | | `key` | *str* | :heavy_check_mark: | N/A | titleSort |
| `title` | *str* | :heavy_check_mark: | N/A | Title | | `title` | *str* | :heavy_check_mark: | N/A | Title |
| `default` | *Optional[str]* | :heavy_minus_sign: | N/A | asc | | `default` | *Optional[str]* | :heavy_minus_sign: | N/A | asc |
| `active` | *Optional[bool]* | :heavy_minus_sign: | N/A | false |
| `active_direction` | [Optional[operations.ActiveDirection]](../../models/operations/activedirection.md) | :heavy_minus_sign: | The direction of the sort. Can be either `asc` or `desc`.<br/> | asc |
| `default_direction` | [Optional[operations.DefaultDirection]](../../models/operations/defaultdirection.md) | :heavy_minus_sign: | The direction of the sort. Can be either `asc` or `desc`.<br/> | asc |
| `desc_key` | *Optional[str]* | :heavy_minus_sign: | N/A | titleSort:desc | | `desc_key` | *Optional[str]* | :heavy_minus_sign: | N/A | titleSort:desc |
| `first_character_key` | *Optional[str]* | :heavy_minus_sign: | N/A | /library/sections/2/firstCharacter | | `first_character_key` | *Optional[str]* | :heavy_minus_sign: | N/A | /library/sections/2/firstCharacter |

View File

@@ -1,14 +1,14 @@
# GetLibraryItemsType # GetLibraryItemsType
The type of media content
## Fields
| Field | Type | Required | Description | Example |
| ------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------ | ## Values
| `key` | *str* | :heavy_check_mark: | N/A | /library/sections/2/all?type=2 |
| `type` | *str* | :heavy_check_mark: | N/A | show | | Name | Value |
| `title` | *str* | :heavy_check_mark: | N/A | TV Shows | | --------- | --------- |
| `active` | *bool* | :heavy_check_mark: | N/A | false | | `MOVIE` | movie |
| `filter_` | List[[operations.GetLibraryItemsFilter](../../models/operations/getlibraryitemsfilter.md)] | :heavy_minus_sign: | N/A | | | `TV_SHOW` | show |
| `sort` | List[[operations.GetLibraryItemsSort](../../models/operations/getlibraryitemssort.md)] | :heavy_minus_sign: | N/A | | | `SEASON` | season |
| `field` | List[[operations.GetLibraryItemsField](../../models/operations/getlibraryitemsfield.md)] | :heavy_minus_sign: | N/A | | | `EPISODE` | episode |

View File

@@ -14,6 +14,6 @@ E.g. A movie library will not return anything with type 3 as there are no season
| Name | Value | | Name | Value |
| --------- | --------- | | --------- | --------- |
| `MOVIE` | 1 | | `MOVIE` | 1 |
| `SHOW` | 2 | | `TV_SHOW` | 2 |
| `SEASON` | 3 | | `SEASON` | 3 |
| `EPISODE` | 4 | | `EPISODE` | 4 |

View File

@@ -32,6 +32,7 @@ Logged in user details
| `title` | *str* | :heavy_check_mark: | The title of the account (username or friendly name) | UsernameTitle | | `title` | *str* | :heavy_check_mark: | The title of the account (username or friendly name) | UsernameTitle |
| `username` | *str* | :heavy_check_mark: | The account username | Username | | `username` | *str* | :heavy_check_mark: | The account username | Username |
| `uuid` | *str* | :heavy_check_mark: | The account UUID | dae343c1f45beb4f | | `uuid` | *str* | :heavy_check_mark: | The account UUID | dae343c1f45beb4f |
| `attribution_partner` | *Nullable[str]* | :heavy_check_mark: | N/A | <nil> |
| `anonymous` | *OptionalNullable[bool]* | :heavy_minus_sign: | Unknown | | | `anonymous` | *OptionalNullable[bool]* | :heavy_minus_sign: | Unknown | |
| `backup_codes_created` | *Optional[bool]* | :heavy_minus_sign: | If the two-factor authentication backup codes have been created | | | `backup_codes_created` | *Optional[bool]* | :heavy_minus_sign: | If the two-factor authentication backup codes have been created | |
| `confirmed` | *Optional[bool]* | :heavy_minus_sign: | If the account has been confirmed | | | `confirmed` | *Optional[bool]* | :heavy_minus_sign: | If the account has been confirmed | |

View File

@@ -14,6 +14,6 @@ E.g. A movie library will not return anything with type 3 as there are no season
| Name | Value | | Name | Value |
| --------- | --------- | | --------- | --------- |
| `MOVIE` | 1 | | `MOVIE` | 1 |
| `SHOW` | 2 | | `TV_SHOW` | 2 |
| `SEASON` | 3 | | `SEASON` | 3 |
| `EPISODE` | 4 | | `EPISODE` | 4 |

View File

@@ -0,0 +1,9 @@
# HasThumbnail
## Values
| Name | Value |
| ------- | ------- |
| `FALSE` | 0 |
| `TRUE` | 1 |

View File

@@ -7,6 +7,6 @@ The Meta object is only included in the response if the `includeMeta` parameter
## Fields ## Fields
| Field | Type | Required | Description | | Field | Type | Required | Description |
| ------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------ | | ---------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------- |
| `type` | List[[operations.GetLibraryItemsType](../../models/operations/getlibraryitemstype.md)] | :heavy_minus_sign: | N/A | | `type` | List[[operations.GetLibraryItemsLibraryType](../../models/operations/getlibraryitemslibrarytype.md)] | :heavy_minus_sign: | N/A |
| `field_type` | List[[operations.GetLibraryItemsFieldType](../../models/operations/getlibraryitemsfieldtype.md)] | :heavy_minus_sign: | N/A | | `field_type` | List[[operations.GetLibraryItemsFieldType](../../models/operations/getlibraryitemsfieldtype.md)] | :heavy_minus_sign: | N/A |

View File

@@ -32,6 +32,7 @@ Returns the user account data with a valid auth token
| `title` | *str* | :heavy_check_mark: | The title of the account (username or friendly name) | UsernameTitle | | `title` | *str* | :heavy_check_mark: | The title of the account (username or friendly name) | UsernameTitle |
| `username` | *str* | :heavy_check_mark: | The account username | Username | | `username` | *str* | :heavy_check_mark: | The account username | Username |
| `uuid` | *str* | :heavy_check_mark: | The account UUID | dae343c1f45beb4f | | `uuid` | *str* | :heavy_check_mark: | The account UUID | dae343c1f45beb4f |
| `attribution_partner` | *Nullable[str]* | :heavy_check_mark: | N/A | <nil> |
| `past_subscriptions` | List[[operations.PastSubscription](../../models/operations/pastsubscription.md)] | :heavy_check_mark: | N/A | | | `past_subscriptions` | List[[operations.PastSubscription](../../models/operations/pastsubscription.md)] | :heavy_check_mark: | N/A | |
| `trials` | List[[operations.Trials](../../models/operations/trials.md)] | :heavy_check_mark: | N/A | | | `trials` | List[[operations.Trials](../../models/operations/trials.md)] | :heavy_check_mark: | N/A | |
| `anonymous` | *OptionalNullable[bool]* | :heavy_minus_sign: | Unknown | | | `anonymous` | *OptionalNullable[bool]* | :heavy_minus_sign: | Unknown | |

View File

@@ -14,6 +14,6 @@ E.g. A movie library will not return anything with type 3 as there are no season
| Name | Value | | Name | Value |
| --------- | --------- | | --------- | --------- |
| `MOVIE` | 1 | | `MOVIE` | 1 |
| `SHOW` | 2 | | `TV_SHOW` | 2 |
| `SEASON` | 3 | | `SEASON` | 3 |
| `EPISODE` | 4 | | `EPISODE` | 4 |

View File

@@ -0,0 +1,20 @@
# ShowOrdering
Setting that indicates the episode ordering for the show
None = Library default,
tmdbAiring = The Movie Database (Aired),
aired = TheTVDB (Aired),
dvd = TheTVDB (DVD),
absolute = TheTVDB (Absolute)).
## Values
| Name | Value |
| ------------- | ------------- |
| `NONE` | None |
| `TMDB_AIRING` | tmdbAiring |
| `AIRED` | aired |
| `DVD` | dvd |
| `ABSOLUTE` | absolute |

View File

@@ -14,6 +14,6 @@ E.g. A movie library will not return anything with type 3 as there are no season
| Name | Value | | Name | Value |
| --------- | --------- | | --------- | --------- |
| `MOVIE` | 1 | | `MOVIE` | 1 |
| `SHOW` | 2 | | `TV_SHOW` | 2 |
| `SEASON` | 3 | | `SEASON` | 3 |
| `EPISODE` | 4 | | `EPISODE` | 4 |

View File

@@ -0,0 +1,11 @@
# UltraBlurColors
## Fields
| Field | Type | Required | Description | Example |
| ------------------ | ------------------ | ------------------ | ------------------ | ------------------ |
| `top_left` | *str* | :heavy_check_mark: | N/A | 11333b |
| `top_right` | *str* | :heavy_check_mark: | N/A | 0a232d |
| `bottom_right` | *str* | :heavy_check_mark: | N/A | 73958 |
| `bottom_left` | *str* | :heavy_check_mark: | N/A | 1f5066 |

View File

@@ -341,9 +341,9 @@ s = PlexAPI(
res = s.library.get_library_items(request={ res = s.library.get_library_items(request={
"section_key": 9518, "section_key": 9518,
"tag": operations.Tag.EDITION, "tag": operations.Tag.EDITION,
"type": operations.Type.SHOW,
"include_guids": operations.IncludeGuids.ENABLE, "include_guids": operations.IncludeGuids.ENABLE,
"include_meta": operations.IncludeMeta.ENABLE, "include_meta": operations.IncludeMeta.ENABLE,
"type": operations.Type.TV_SHOW,
"x_plex_container_start": 0, "x_plex_container_start": 0,
"x_plex_container_size": 50, "x_plex_container_size": 50,
}) })
@@ -460,7 +460,7 @@ s = PlexAPI(
device_name="Linux", device_name="Linux",
) )
res = s.library.get_search_library(section_key=9518, type_=operations.QueryParamType.SHOW) res = s.library.get_search_library(section_key=9518, type_=operations.QueryParamType.TV_SHOW)
if res.object is not None: if res.object is not None:
# handle response # handle response
@@ -604,7 +604,7 @@ s = PlexAPI(
device_name="Linux", device_name="Linux",
) )
res = s.library.get_top_watched_content(type_=operations.GetTopWatchedContentQueryParamType.SHOW, include_guids=1) res = s.library.get_top_watched_content(type_=operations.GetTopWatchedContentQueryParamType.TV_SHOW, include_guids=1)
if res.object is not None: if res.object is not None:
# handle response # handle response

View File

@@ -290,7 +290,7 @@ s = PlexAPI(
device_name="Linux", device_name="Linux",
) )
res = s.playlists.get_playlist_contents(playlist_id=5004.46, type_=operations.GetPlaylistContentsQueryParamType.SHOW) res = s.playlists.get_playlist_contents(playlist_id=5004.46, type_=operations.GetPlaylistContentsQueryParamType.TV_SHOW)
if res.object is not None: if res.object is not None:
# handle response # handle response

View File

@@ -1,6 +1,6 @@
[tool.poetry] [tool.poetry]
name = "plex-api-client" name = "plex-api-client"
version = "0.13.0" version = "0.13.1"
description = "Python Client SDK Generated by Speakeasy" description = "Python Client SDK Generated by Speakeasy"
authors = ["Speakeasy",] authors = ["Speakeasy",]
readme = "README-PYPI.md" readme = "README-PYPI.md"

View File

@@ -113,6 +113,11 @@ from .get_library_details import (
SortTypedDict, SortTypedDict,
) )
from .get_library_items import ( from .get_library_items import (
ActiveDirection,
Collection,
CollectionTypedDict,
DefaultDirection,
FlattenSeasons,
GetLibraryItemsCountry, GetLibraryItemsCountry,
GetLibraryItemsCountryTypedDict, GetLibraryItemsCountryTypedDict,
GetLibraryItemsDirector, GetLibraryItemsDirector,
@@ -125,6 +130,11 @@ from .get_library_items import (
GetLibraryItemsFilterTypedDict, GetLibraryItemsFilterTypedDict,
GetLibraryItemsGenre, GetLibraryItemsGenre,
GetLibraryItemsGenreTypedDict, GetLibraryItemsGenreTypedDict,
GetLibraryItemsImage,
GetLibraryItemsImageTypedDict,
GetLibraryItemsLibraryResponseType,
GetLibraryItemsLibraryType,
GetLibraryItemsLibraryTypeTypedDict,
GetLibraryItemsMedia, GetLibraryItemsMedia,
GetLibraryItemsMediaContainer, GetLibraryItemsMediaContainer,
GetLibraryItemsMediaContainerTypedDict, GetLibraryItemsMediaContainerTypedDict,
@@ -146,9 +156,9 @@ from .get_library_items import (
GetLibraryItemsSort, GetLibraryItemsSort,
GetLibraryItemsSortTypedDict, GetLibraryItemsSortTypedDict,
GetLibraryItemsType, GetLibraryItemsType,
GetLibraryItemsTypeTypedDict,
GetLibraryItemsWriter, GetLibraryItemsWriter,
GetLibraryItemsWriterTypedDict, GetLibraryItemsWriterTypedDict,
HasThumbnail,
IncludeGuids, IncludeGuids,
IncludeMeta, IncludeMeta,
LibrarySectionID, LibrarySectionID,
@@ -157,10 +167,15 @@ from .get_library_items import (
MediaGUIDTypedDict, MediaGUIDTypedDict,
Meta, Meta,
MetaTypedDict, MetaTypedDict,
ShowOrdering,
Tag, Tag,
Type, Type,
UltraBlurColors,
UltraBlurColorsTypedDict,
) )
from .get_media_providers import ( from .get_media_providers import (
Action,
ActionTypedDict,
Feature, Feature,
FeatureTypedDict, FeatureTypedDict,
GetMediaProvidersDirectory, GetMediaProvidersDirectory,
@@ -901,6 +916,9 @@ from .uploadplaylist import (
__all__ = [ __all__ = [
"Account", "Account",
"AccountTypedDict", "AccountTypedDict",
"Action",
"ActionTypedDict",
"ActiveDirection",
"Activity", "Activity",
"ActivityTypedDict", "ActivityTypedDict",
"AddPlaylistContentsMediaContainer", "AddPlaylistContentsMediaContainer",
@@ -936,6 +954,8 @@ __all__ = [
"ClearPlaylistContentsRequestTypedDict", "ClearPlaylistContentsRequestTypedDict",
"ClearPlaylistContentsResponse", "ClearPlaylistContentsResponse",
"ClearPlaylistContentsResponseTypedDict", "ClearPlaylistContentsResponseTypedDict",
"Collection",
"CollectionTypedDict",
"Connections", "Connections",
"ConnectionsTypedDict", "ConnectionsTypedDict",
"Context", "Context",
@@ -953,6 +973,7 @@ __all__ = [
"CreatePlaylistResponseBody", "CreatePlaylistResponseBody",
"CreatePlaylistResponseBodyTypedDict", "CreatePlaylistResponseBodyTypedDict",
"CreatePlaylistResponseTypedDict", "CreatePlaylistResponseTypedDict",
"DefaultDirection",
"DefaultSubtitleAccessibility", "DefaultSubtitleAccessibility",
"DefaultSubtitleForced", "DefaultSubtitleForced",
"DeleteLibraryRequest", "DeleteLibraryRequest",
@@ -980,6 +1001,7 @@ __all__ = [
"FieldTypeTypedDict", "FieldTypeTypedDict",
"FieldTypedDict", "FieldTypedDict",
"Filter", "Filter",
"FlattenSeasons",
"Force", "Force",
"Friend", "Friend",
"FriendTypedDict", "FriendTypedDict",
@@ -1111,6 +1133,11 @@ __all__ = [
"GetLibraryItemsFilterTypedDict", "GetLibraryItemsFilterTypedDict",
"GetLibraryItemsGenre", "GetLibraryItemsGenre",
"GetLibraryItemsGenreTypedDict", "GetLibraryItemsGenreTypedDict",
"GetLibraryItemsImage",
"GetLibraryItemsImageTypedDict",
"GetLibraryItemsLibraryResponseType",
"GetLibraryItemsLibraryType",
"GetLibraryItemsLibraryTypeTypedDict",
"GetLibraryItemsMedia", "GetLibraryItemsMedia",
"GetLibraryItemsMediaContainer", "GetLibraryItemsMediaContainer",
"GetLibraryItemsMediaContainerTypedDict", "GetLibraryItemsMediaContainerTypedDict",
@@ -1132,7 +1159,6 @@ __all__ = [
"GetLibraryItemsSort", "GetLibraryItemsSort",
"GetLibraryItemsSortTypedDict", "GetLibraryItemsSortTypedDict",
"GetLibraryItemsType", "GetLibraryItemsType",
"GetLibraryItemsTypeTypedDict",
"GetLibraryItemsWriter", "GetLibraryItemsWriter",
"GetLibraryItemsWriterTypedDict", "GetLibraryItemsWriterTypedDict",
"GetMediaProvidersDirectory", "GetMediaProvidersDirectory",
@@ -1460,6 +1486,7 @@ __all__ = [
"GetWatchListResponseTypedDict", "GetWatchListResponseTypedDict",
"Guids", "Guids",
"GuidsTypedDict", "GuidsTypedDict",
"HasThumbnail",
"Hub", "Hub",
"HubTypedDict", "HubTypedDict",
"Image", "Image",
@@ -1593,6 +1620,7 @@ __all__ = [
"SharedServersTypedDict", "SharedServersTypedDict",
"SharedSources", "SharedSources",
"SharedSourcesTypedDict", "SharedSourcesTypedDict",
"ShowOrdering",
"Skip", "Skip",
"Smart", "Smart",
"Sort", "Sort",
@@ -1637,6 +1665,8 @@ __all__ = [
"Trials", "Trials",
"TrialsTypedDict", "TrialsTypedDict",
"Type", "Type",
"UltraBlurColors",
"UltraBlurColorsTypedDict",
"UpdatePlayProgressRequest", "UpdatePlayProgressRequest",
"UpdatePlayProgressRequestTypedDict", "UpdatePlayProgressRequestTypedDict",
"UpdatePlayProgressResponse", "UpdatePlayProgressResponse",

View File

@@ -60,7 +60,7 @@ class Type(int, Enum):
""" """
MOVIE = 1 MOVIE = 1
SHOW = 2 TV_SHOW = 2
SEASON = 3 SEASON = 3
EPISODE = 4 EPISODE = 4
@@ -73,15 +73,6 @@ class GetLibraryItemsRequestTypedDict(TypedDict):
""" """
tag: Tag tag: Tag
r"""A key representing a specific tag within the section.""" r"""A key representing a specific tag within the section."""
type: Type
r"""The type of media to retrieve.
1 = movie
2 = show
3 = season
4 = episode
E.g. A movie library will not return anything with type 3 as there are no seasons for movie libraries
"""
include_guids: NotRequired[IncludeGuids] include_guids: NotRequired[IncludeGuids]
r"""Adds the Guids object to the response r"""Adds the Guids object to the response
@@ -89,6 +80,15 @@ class GetLibraryItemsRequestTypedDict(TypedDict):
include_meta: NotRequired[IncludeMeta] include_meta: NotRequired[IncludeMeta]
r"""Adds the Meta object to the response r"""Adds the Meta object to the response
"""
type: NotRequired[Type]
r"""The type of media to retrieve.
1 = movie
2 = show
3 = season
4 = episode
E.g. A movie library will not return anything with type 3 as there are no seasons for movie libraries
""" """
x_plex_container_start: NotRequired[int] x_plex_container_start: NotRequired[int]
r"""The index of the first item to return. If not specified, the first item will be returned. r"""The index of the first item to return. If not specified, the first item will be returned.
@@ -120,18 +120,6 @@ class GetLibraryItemsRequest(BaseModel):
] ]
r"""A key representing a specific tag within the section.""" r"""A key representing a specific tag within the section."""
type: Annotated[
Type, FieldMetadata(query=QueryParamMetadata(style="form", explode=True))
]
r"""The type of media to retrieve.
1 = movie
2 = show
3 = season
4 = episode
E.g. A movie library will not return anything with type 3 as there are no seasons for movie libraries
"""
include_guids: Annotated[ include_guids: Annotated[
Optional[IncludeGuids], Optional[IncludeGuids],
pydantic.Field(alias="includeGuids"), pydantic.Field(alias="includeGuids"),
@@ -150,6 +138,19 @@ class GetLibraryItemsRequest(BaseModel):
""" """
type: Annotated[
Optional[Type],
FieldMetadata(query=QueryParamMetadata(style="form", explode=True)),
] = None
r"""The type of media to retrieve.
1 = movie
2 = show
3 = season
4 = episode
E.g. A movie library will not return anything with type 3 as there are no seasons for movie libraries
"""
x_plex_container_start: Annotated[ x_plex_container_start: Annotated[
Optional[int], Optional[int],
pydantic.Field(alias="X-Plex-Container-Start"), pydantic.Field(alias="X-Plex-Container-Start"),
@@ -179,84 +180,137 @@ LibrarySectionIDTypedDict = Union[int, str]
LibrarySectionID = Union[int, str] LibrarySectionID = Union[int, str]
class GetLibraryItemsType(str, Enum):
r"""The type of media content"""
MOVIE = "movie"
TV_SHOW = "show"
SEASON = "season"
EPISODE = "episode"
class FlattenSeasons(str, Enum):
FALSE = "0"
TRUE = "1"
class ShowOrdering(str, Enum):
r"""Setting that indicates the episode ordering for the show
None = Library default,
tmdbAiring = The Movie Database (Aired),
aired = TheTVDB (Aired),
dvd = TheTVDB (DVD),
absolute = TheTVDB (Absolute)).
"""
NONE = "None"
TMDB_AIRING = "tmdbAiring"
AIRED = "aired"
DVD = "dvd"
ABSOLUTE = "absolute"
class HasThumbnail(str, Enum):
FALSE = "0"
TRUE = "1"
class GetLibraryItemsPartTypedDict(TypedDict): class GetLibraryItemsPartTypedDict(TypedDict):
id: NotRequired[int] id: int
key: NotRequired[str] key: str
duration: NotRequired[int] duration: int
file: NotRequired[str] file: str
size: NotRequired[int] size: int
container: NotRequired[str] container: str
video_profile: NotRequired[str] r"""The container format of the media file.
"""
video_profile: str
audio_profile: NotRequired[str]
indexes: NotRequired[str]
has_thumbnail: NotRequired[HasThumbnail]
class GetLibraryItemsPart(BaseModel): class GetLibraryItemsPart(BaseModel):
id: Optional[int] = None id: int
key: Optional[str] = None key: str
duration: Optional[int] = None duration: int
file: Optional[str] = None file: str
size: Optional[int] = None size: int
container: Optional[str] = None container: str
r"""The container format of the media file.
video_profile: Annotated[Optional[str], pydantic.Field(alias="videoProfile")] = None """
video_profile: Annotated[str, pydantic.Field(alias="videoProfile")]
audio_profile: Annotated[Optional[str], pydantic.Field(alias="audioProfile")] = None
indexes: Optional[str] = None
has_thumbnail: Annotated[
Optional[HasThumbnail], pydantic.Field(alias="hasThumbnail")
] = HasThumbnail.FALSE
class GetLibraryItemsMediaTypedDict(TypedDict): class GetLibraryItemsMediaTypedDict(TypedDict):
id: NotRequired[int] id: int
duration: NotRequired[int] duration: int
bitrate: NotRequired[int] bitrate: int
width: NotRequired[int] width: int
height: NotRequired[int] height: int
aspect_ratio: NotRequired[float] aspect_ratio: float
audio_channels: NotRequired[int] audio_channels: int
audio_codec: NotRequired[str] audio_codec: str
video_codec: NotRequired[str] video_codec: str
video_resolution: NotRequired[str] video_resolution: str
container: NotRequired[str] container: str
video_frame_rate: NotRequired[str] video_frame_rate: str
video_profile: NotRequired[str] video_profile: str
part: NotRequired[List[GetLibraryItemsPartTypedDict]] part: List[GetLibraryItemsPartTypedDict]
audio_profile: NotRequired[str]
has_voice_activity: NotRequired[bool]
class GetLibraryItemsMedia(BaseModel): class GetLibraryItemsMedia(BaseModel):
id: Optional[int] = None id: int
duration: Optional[int] = None duration: int
bitrate: Optional[int] = None bitrate: int
width: Optional[int] = None width: int
height: Optional[int] = None height: int
aspect_ratio: Annotated[Optional[float], pydantic.Field(alias="aspectRatio")] = None aspect_ratio: Annotated[float, pydantic.Field(alias="aspectRatio")]
audio_channels: Annotated[Optional[int], pydantic.Field(alias="audioChannels")] = ( audio_channels: Annotated[int, pydantic.Field(alias="audioChannels")]
None
)
audio_codec: Annotated[Optional[str], pydantic.Field(alias="audioCodec")] = None audio_codec: Annotated[str, pydantic.Field(alias="audioCodec")]
video_codec: Annotated[Optional[str], pydantic.Field(alias="videoCodec")] = None video_codec: Annotated[str, pydantic.Field(alias="videoCodec")]
video_resolution: Annotated[ video_resolution: Annotated[str, pydantic.Field(alias="videoResolution")]
Optional[str], pydantic.Field(alias="videoResolution")
] = None
container: Optional[str] = None container: str
video_frame_rate: Annotated[ video_frame_rate: Annotated[str, pydantic.Field(alias="videoFrameRate")]
Optional[str], pydantic.Field(alias="videoFrameRate")
] = None
video_profile: Annotated[Optional[str], pydantic.Field(alias="videoProfile")] = None video_profile: Annotated[str, pydantic.Field(alias="videoProfile")]
part: Annotated[ part: Annotated[List[GetLibraryItemsPart], pydantic.Field(alias="Part")]
Optional[List[GetLibraryItemsPart]], pydantic.Field(alias="Part")
audio_profile: Annotated[Optional[str], pydantic.Field(alias="audioProfile")] = None
has_voice_activity: Annotated[
Optional[bool], pydantic.Field(alias="hasVoiceActivity")
] = None ] = None
@@ -292,6 +346,14 @@ class GetLibraryItemsWriter(BaseModel):
tag: Optional[str] = None tag: Optional[str] = None
class CollectionTypedDict(TypedDict):
tag: NotRequired[str]
class Collection(BaseModel):
tag: Optional[str] = None
class GetLibraryItemsRoleTypedDict(TypedDict): class GetLibraryItemsRoleTypedDict(TypedDict):
tag: NotRequired[str] tag: NotRequired[str]
@@ -316,26 +378,86 @@ class MediaGUID(BaseModel):
""" """
class UltraBlurColorsTypedDict(TypedDict):
top_left: str
top_right: str
bottom_right: str
bottom_left: str
class UltraBlurColors(BaseModel):
top_left: Annotated[str, pydantic.Field(alias="topLeft")]
top_right: Annotated[str, pydantic.Field(alias="topRight")]
bottom_right: Annotated[str, pydantic.Field(alias="bottomRight")]
bottom_left: Annotated[str, pydantic.Field(alias="bottomLeft")]
class GetLibraryItemsLibraryResponseType(str, Enum):
COVER_POSTER = "coverPoster"
BACKGROUND = "background"
SNAPSHOT = "snapshot"
CLEAR_LOGO = "clearLogo"
class GetLibraryItemsImageTypedDict(TypedDict):
alt: str
type: GetLibraryItemsLibraryResponseType
url: str
class GetLibraryItemsImage(BaseModel):
alt: str
type: GetLibraryItemsLibraryResponseType
url: str
class GetLibraryItemsMetadataTypedDict(TypedDict): class GetLibraryItemsMetadataTypedDict(TypedDict):
rating_key: str rating_key: str
r"""The rating key (Media ID) of this media item.
Note: This is always an integer, but is represented as a string in the API.
"""
key: str key: str
guid: str guid: str
type: str type: GetLibraryItemsType
r"""The type of media content
"""
title: str title: str
year: int summary: str
duration: int added_at: int
media: List[GetLibraryItemsMediaTypedDict] r"""Unix epoch datetime in seconds"""
studio: NotRequired[str] studio: NotRequired[str]
skip_children: NotRequired[bool]
slug: NotRequired[str]
content_rating: NotRequired[str] content_rating: NotRequired[str]
summary: NotRequired[str]
rating: NotRequired[float] rating: NotRequired[float]
audience_rating: NotRequired[float] audience_rating: NotRequired[float]
year: NotRequired[int]
season_count: NotRequired[int]
tagline: NotRequired[str] tagline: NotRequired[str]
flatten_seasons: NotRequired[FlattenSeasons]
show_ordering: NotRequired[ShowOrdering]
r"""Setting that indicates the episode ordering for the show
None = Library default,
tmdbAiring = The Movie Database (Aired),
aired = TheTVDB (Aired),
dvd = TheTVDB (DVD),
absolute = TheTVDB (Absolute)).
"""
thumb: NotRequired[str] thumb: NotRequired[str]
art: NotRequired[str] art: NotRequired[str]
banner: NotRequired[str]
duration: NotRequired[int]
originally_available_at: NotRequired[date] originally_available_at: NotRequired[date]
added_at: NotRequired[int]
updated_at: NotRequired[int] updated_at: NotRequired[int]
r"""Unix epoch datetime in seconds"""
audience_rating_image: NotRequired[str] audience_rating_image: NotRequired[str]
chapter_source: NotRequired[str] chapter_source: NotRequired[str]
primary_extra_key: NotRequired[str] primary_extra_key: NotRequired[str]
@@ -345,17 +467,25 @@ class GetLibraryItemsMetadataTypedDict(TypedDict):
grandparent_key: NotRequired[str] grandparent_key: NotRequired[str]
grandparent_title: NotRequired[str] grandparent_title: NotRequired[str]
grandparent_thumb: NotRequired[str] grandparent_thumb: NotRequired[str]
grandparent_slug: NotRequired[str]
grandparent_art: NotRequired[str] grandparent_art: NotRequired[str]
grandparent_theme: NotRequired[str] grandparent_theme: NotRequired[str]
media: NotRequired[List[GetLibraryItemsMediaTypedDict]]
r"""The Media object is only included when type query is `4` or higher.
"""
genre: NotRequired[List[GetLibraryItemsGenreTypedDict]] genre: NotRequired[List[GetLibraryItemsGenreTypedDict]]
country: NotRequired[List[GetLibraryItemsCountryTypedDict]] country: NotRequired[List[GetLibraryItemsCountryTypedDict]]
director: NotRequired[List[GetLibraryItemsDirectorTypedDict]] director: NotRequired[List[GetLibraryItemsDirectorTypedDict]]
writer: NotRequired[List[GetLibraryItemsWriterTypedDict]] writer: NotRequired[List[GetLibraryItemsWriterTypedDict]]
collection: NotRequired[List[CollectionTypedDict]]
role: NotRequired[List[GetLibraryItemsRoleTypedDict]] role: NotRequired[List[GetLibraryItemsRoleTypedDict]]
media_guid: NotRequired[List[MediaGUIDTypedDict]] media_guid: NotRequired[List[MediaGUIDTypedDict]]
r"""The Guid object is only included in the response if the `includeGuids` parameter is set to `1`. r"""The Guid object is only included in the response if the `includeGuids` parameter is set to `1`.
""" """
ultra_blur_colors: NotRequired[UltraBlurColorsTypedDict]
image: NotRequired[List[GetLibraryItemsImageTypedDict]]
title_sort: NotRequired[str] title_sort: NotRequired[str]
view_count: NotRequired[int] view_count: NotRequired[int]
last_viewed_at: NotRequired[int] last_viewed_at: NotRequired[int]
@@ -370,6 +500,9 @@ class GetLibraryItemsMetadataTypedDict(TypedDict):
has_premium_extras: NotRequired[str] has_premium_extras: NotRequired[str]
has_premium_primary_extra: NotRequired[str] has_premium_primary_extra: NotRequired[str]
parent_rating_key: NotRequired[str] parent_rating_key: NotRequired[str]
r"""The rating key of the parent item.
"""
parent_guid: NotRequired[str] parent_guid: NotRequired[str]
parent_studio: NotRequired[str] parent_studio: NotRequired[str]
parent_key: NotRequired[str] parent_key: NotRequired[str]
@@ -382,48 +515,81 @@ class GetLibraryItemsMetadataTypedDict(TypedDict):
class GetLibraryItemsMetadata(BaseModel): class GetLibraryItemsMetadata(BaseModel):
rating_key: Annotated[str, pydantic.Field(alias="ratingKey")] rating_key: Annotated[str, pydantic.Field(alias="ratingKey")]
r"""The rating key (Media ID) of this media item.
Note: This is always an integer, but is represented as a string in the API.
"""
key: str key: str
guid: str guid: str
type: str type: GetLibraryItemsType
r"""The type of media content
"""
title: str title: str
year: int summary: str
duration: int added_at: Annotated[int, pydantic.Field(alias="addedAt")]
r"""Unix epoch datetime in seconds"""
media: Annotated[List[GetLibraryItemsMedia], pydantic.Field(alias="Media")]
studio: Optional[str] = None studio: Optional[str] = None
skip_children: Annotated[Optional[bool], pydantic.Field(alias="skipChildren")] = (
None
)
slug: Optional[str] = None
content_rating: Annotated[Optional[str], pydantic.Field(alias="contentRating")] = ( content_rating: Annotated[Optional[str], pydantic.Field(alias="contentRating")] = (
None None
) )
summary: Optional[str] = None
rating: Optional[float] = None rating: Optional[float] = None
audience_rating: Annotated[ audience_rating: Annotated[
Optional[float], pydantic.Field(alias="audienceRating") Optional[float], pydantic.Field(alias="audienceRating")
] = None ] = None
year: Optional[int] = None
season_count: Annotated[Optional[int], pydantic.Field(alias="seasonCount")] = None
tagline: Optional[str] = None tagline: Optional[str] = None
flatten_seasons: Annotated[
Optional[FlattenSeasons], pydantic.Field(alias="flattenSeasons")
] = FlattenSeasons.FALSE
show_ordering: Annotated[
Optional[ShowOrdering], pydantic.Field(alias="showOrdering")
] = None
r"""Setting that indicates the episode ordering for the show
None = Library default,
tmdbAiring = The Movie Database (Aired),
aired = TheTVDB (Aired),
dvd = TheTVDB (DVD),
absolute = TheTVDB (Absolute)).
"""
thumb: Optional[str] = None thumb: Optional[str] = None
art: Optional[str] = None art: Optional[str] = None
banner: Optional[str] = None
duration: Optional[int] = None
originally_available_at: Annotated[ originally_available_at: Annotated[
Optional[date], pydantic.Field(alias="originallyAvailableAt") Optional[date], pydantic.Field(alias="originallyAvailableAt")
] = None ] = None
added_at: Annotated[Optional[int], pydantic.Field(alias="addedAt")] = None
updated_at: Annotated[Optional[int], pydantic.Field(alias="updatedAt")] = None updated_at: Annotated[Optional[int], pydantic.Field(alias="updatedAt")] = None
r"""Unix epoch datetime in seconds"""
audience_rating_image: Annotated[ audience_rating_image: Annotated[
Optional[str], pydantic.Field(alias="audienceRatingImage") Optional[str], pydantic.Field(alias="audienceRatingImage")
@@ -459,6 +625,10 @@ class GetLibraryItemsMetadata(BaseModel):
Optional[str], pydantic.Field(alias="grandparentThumb") Optional[str], pydantic.Field(alias="grandparentThumb")
] = None ] = None
grandparent_slug: Annotated[
Optional[str], pydantic.Field(alias="grandparentSlug")
] = None
grandparent_art: Annotated[ grandparent_art: Annotated[
Optional[str], pydantic.Field(alias="grandparentArt") Optional[str], pydantic.Field(alias="grandparentArt")
] = None ] = None
@@ -467,6 +637,13 @@ class GetLibraryItemsMetadata(BaseModel):
Optional[str], pydantic.Field(alias="grandparentTheme") Optional[str], pydantic.Field(alias="grandparentTheme")
] = None ] = None
media: Annotated[
Optional[List[GetLibraryItemsMedia]], pydantic.Field(alias="Media")
] = None
r"""The Media object is only included when type query is `4` or higher.
"""
genre: Annotated[ genre: Annotated[
Optional[List[GetLibraryItemsGenre]], pydantic.Field(alias="Genre") Optional[List[GetLibraryItemsGenre]], pydantic.Field(alias="Genre")
] = None ] = None
@@ -483,6 +660,10 @@ class GetLibraryItemsMetadata(BaseModel):
Optional[List[GetLibraryItemsWriter]], pydantic.Field(alias="Writer") Optional[List[GetLibraryItemsWriter]], pydantic.Field(alias="Writer")
] = None ] = None
collection: Annotated[
Optional[List[Collection]], pydantic.Field(alias="Collection")
] = None
role: Annotated[ role: Annotated[
Optional[List[GetLibraryItemsRole]], pydantic.Field(alias="Role") Optional[List[GetLibraryItemsRole]], pydantic.Field(alias="Role")
] = None ] = None
@@ -494,6 +675,14 @@ class GetLibraryItemsMetadata(BaseModel):
""" """
ultra_blur_colors: Annotated[
Optional[UltraBlurColors], pydantic.Field(alias="UltraBlurColors")
] = None
image: Annotated[
Optional[List[GetLibraryItemsImage]], pydantic.Field(alias="Image")
] = None
title_sort: Annotated[Optional[str], pydantic.Field(alias="titleSort")] = None title_sort: Annotated[Optional[str], pydantic.Field(alias="titleSort")] = None
view_count: Annotated[Optional[int], pydantic.Field(alias="viewCount")] = None view_count: Annotated[Optional[int], pydantic.Field(alias="viewCount")] = None
@@ -533,6 +722,9 @@ class GetLibraryItemsMetadata(BaseModel):
parent_rating_key: Annotated[ parent_rating_key: Annotated[
Optional[str], pydantic.Field(alias="parentRatingKey") Optional[str], pydantic.Field(alias="parentRatingKey")
] = None ] = None
r"""The rating key of the parent item.
"""
parent_guid: Annotated[Optional[str], pydantic.Field(alias="parentGuid")] = None parent_guid: Annotated[Optional[str], pydantic.Field(alias="parentGuid")] = None
@@ -571,24 +763,60 @@ class GetLibraryItemsFilter(BaseModel):
type: str type: str
class ActiveDirection(str, Enum):
r"""The direction of the sort. Can be either `asc` or `desc`."""
ASCENDING = "asc"
DESCENDING = "desc"
class DefaultDirection(str, Enum):
r"""The direction of the sort. Can be either `asc` or `desc`."""
ASCENDING = "asc"
DESCENDING = "desc"
class GetLibraryItemsSortTypedDict(TypedDict): class GetLibraryItemsSortTypedDict(TypedDict):
default_direction: str
key: str key: str
title: str title: str
default: NotRequired[str] default: NotRequired[str]
active: NotRequired[bool]
active_direction: NotRequired[ActiveDirection]
r"""The direction of the sort. Can be either `asc` or `desc`.
"""
default_direction: NotRequired[DefaultDirection]
r"""The direction of the sort. Can be either `asc` or `desc`.
"""
desc_key: NotRequired[str] desc_key: NotRequired[str]
first_character_key: NotRequired[str] first_character_key: NotRequired[str]
class GetLibraryItemsSort(BaseModel): class GetLibraryItemsSort(BaseModel):
default_direction: Annotated[str, pydantic.Field(alias="defaultDirection")]
key: str key: str
title: str title: str
default: Optional[str] = None default: Optional[str] = None
active: Optional[bool] = None
active_direction: Annotated[
Optional[ActiveDirection], pydantic.Field(alias="activeDirection")
] = ActiveDirection.ASCENDING
r"""The direction of the sort. Can be either `asc` or `desc`.
"""
default_direction: Annotated[
Optional[DefaultDirection], pydantic.Field(alias="defaultDirection")
] = DefaultDirection.ASCENDING
r"""The direction of the sort. Can be either `asc` or `desc`.
"""
desc_key: Annotated[Optional[str], pydantic.Field(alias="descKey")] = None desc_key: Annotated[Optional[str], pydantic.Field(alias="descKey")] = None
first_character_key: Annotated[ first_character_key: Annotated[
@@ -613,7 +841,7 @@ class GetLibraryItemsField(BaseModel):
sub_type: Annotated[Optional[str], pydantic.Field(alias="subType")] = None sub_type: Annotated[Optional[str], pydantic.Field(alias="subType")] = None
class GetLibraryItemsTypeTypedDict(TypedDict): class GetLibraryItemsLibraryTypeTypedDict(TypedDict):
key: str key: str
type: str type: str
title: str title: str
@@ -623,7 +851,7 @@ class GetLibraryItemsTypeTypedDict(TypedDict):
field: NotRequired[List[GetLibraryItemsFieldTypedDict]] field: NotRequired[List[GetLibraryItemsFieldTypedDict]]
class GetLibraryItemsType(BaseModel): class GetLibraryItemsLibraryType(BaseModel):
key: str key: str
type: str type: str
@@ -670,7 +898,7 @@ class GetLibraryItemsFieldType(BaseModel):
class MetaTypedDict(TypedDict): class MetaTypedDict(TypedDict):
r"""The Meta object is only included in the response if the `includeMeta` parameter is set to `1`.""" r"""The Meta object is only included in the response if the `includeMeta` parameter is set to `1`."""
type: NotRequired[List[GetLibraryItemsTypeTypedDict]] type: NotRequired[List[GetLibraryItemsLibraryTypeTypedDict]]
field_type: NotRequired[List[GetLibraryItemsFieldTypeTypedDict]] field_type: NotRequired[List[GetLibraryItemsFieldTypeTypedDict]]
@@ -678,7 +906,7 @@ class Meta(BaseModel):
r"""The Meta object is only included in the response if the `includeMeta` parameter is set to `1`.""" r"""The Meta object is only included in the response if the `includeMeta` parameter is set to `1`."""
type: Annotated[ type: Annotated[
Optional[List[GetLibraryItemsType]], pydantic.Field(alias="Type") Optional[List[GetLibraryItemsLibraryType]], pydantic.Field(alias="Type")
] = None ] = None
field_type: Annotated[ field_type: Annotated[
@@ -688,6 +916,9 @@ class Meta(BaseModel):
class GetLibraryItemsMediaContainerTypedDict(TypedDict): class GetLibraryItemsMediaContainerTypedDict(TypedDict):
size: int size: int
total_size: int
offset: int
content: str
allow_sync: bool allow_sync: bool
art: str art: str
identifier: str identifier: str
@@ -700,9 +931,10 @@ class GetLibraryItemsMediaContainerTypedDict(TypedDict):
title1: str title1: str
title2: str title2: str
view_group: str view_group: str
metadata: List[GetLibraryItemsMetadataTypedDict]
nocache: NotRequired[bool]
view_mode: NotRequired[int] view_mode: NotRequired[int]
mixed_parents: NotRequired[bool] mixed_parents: NotRequired[bool]
metadata: NotRequired[List[GetLibraryItemsMetadataTypedDict]]
meta: NotRequired[MetaTypedDict] meta: NotRequired[MetaTypedDict]
r"""The Meta object is only included in the response if the `includeMeta` parameter is set to `1`. r"""The Meta object is only included in the response if the `includeMeta` parameter is set to `1`.
@@ -712,6 +944,12 @@ class GetLibraryItemsMediaContainerTypedDict(TypedDict):
class GetLibraryItemsMediaContainer(BaseModel): class GetLibraryItemsMediaContainer(BaseModel):
size: int size: int
total_size: Annotated[int, pydantic.Field(alias="totalSize")]
offset: int
content: str
allow_sync: Annotated[bool, pydantic.Field(alias="allowSync")] allow_sync: Annotated[bool, pydantic.Field(alias="allowSync")]
art: str art: str
@@ -738,16 +976,16 @@ class GetLibraryItemsMediaContainer(BaseModel):
view_group: Annotated[str, pydantic.Field(alias="viewGroup")] view_group: Annotated[str, pydantic.Field(alias="viewGroup")]
metadata: Annotated[List[GetLibraryItemsMetadata], pydantic.Field(alias="Metadata")]
nocache: Optional[bool] = None
view_mode: Annotated[Optional[int], pydantic.Field(alias="viewMode")] = None view_mode: Annotated[Optional[int], pydantic.Field(alias="viewMode")] = None
mixed_parents: Annotated[Optional[bool], pydantic.Field(alias="mixedParents")] = ( mixed_parents: Annotated[Optional[bool], pydantic.Field(alias="mixedParents")] = (
None None
) )
metadata: Annotated[
Optional[List[GetLibraryItemsMetadata]], pydantic.Field(alias="Metadata")
] = None
meta: Annotated[Optional[Meta], pydantic.Field(alias="Meta")] = None meta: Annotated[Optional[Meta], pydantic.Field(alias="Meta")] = None
r"""The Meta object is only included in the response if the `includeMeta` parameter is set to `1`. r"""The Meta object is only included in the response if the `includeMeta` parameter is set to `1`.

View File

@@ -93,21 +93,46 @@ class GetMediaProvidersDirectory(BaseModel):
pivot: Annotated[Optional[List[Pivot]], pydantic.Field(alias="Pivot")] = None pivot: Annotated[Optional[List[Pivot]], pydantic.Field(alias="Pivot")] = None
class ActionTypedDict(TypedDict):
id: str
key: str
class Action(BaseModel):
id: str
key: str
class FeatureTypedDict(TypedDict): class FeatureTypedDict(TypedDict):
type: str
key: NotRequired[str] key: NotRequired[str]
type: NotRequired[str] flavor: NotRequired[str]
scrobble_key: NotRequired[str]
unscrobble_key: NotRequired[str]
directory: NotRequired[List[GetMediaProvidersDirectoryTypedDict]] directory: NotRequired[List[GetMediaProvidersDirectoryTypedDict]]
action: NotRequired[List[ActionTypedDict]]
class Feature(BaseModel): class Feature(BaseModel):
type: str
key: Optional[str] = None key: Optional[str] = None
type: Optional[str] = None flavor: Optional[str] = None
scrobble_key: Annotated[Optional[str], pydantic.Field(alias="scrobbleKey")] = None
unscrobble_key: Annotated[Optional[str], pydantic.Field(alias="unscrobbleKey")] = (
None
)
directory: Annotated[ directory: Annotated[
Optional[List[GetMediaProvidersDirectory]], pydantic.Field(alias="Directory") Optional[List[GetMediaProvidersDirectory]], pydantic.Field(alias="Directory")
] = None ] = None
action: Annotated[Optional[List[Action]], pydantic.Field(alias="Action")] = None
class MediaProviderTypedDict(TypedDict): class MediaProviderTypedDict(TypedDict):
identifier: NotRequired[str] identifier: NotRequired[str]

View File

@@ -21,7 +21,7 @@ class QueryParamType(int, Enum):
""" """
MOVIE = 1 MOVIE = 1
SHOW = 2 TV_SHOW = 2
SEASON = 3 SEASON = 3
EPISODE = 4 EPISODE = 4

View File

@@ -22,7 +22,7 @@ class GetPlaylistContentsQueryParamType(int, Enum):
""" """
MOVIE = 1 MOVIE = 1
SHOW = 2 TV_SHOW = 2
SEASON = 3 SEASON = 3
EPISODE = 4 EPISODE = 4

View File

@@ -551,6 +551,7 @@ class GetTokenDetailsUserPlexAccountTypedDict(TypedDict):
r"""The account username""" r"""The account username"""
uuid: str uuid: str
r"""The account UUID""" r"""The account UUID"""
attribution_partner: Nullable[str]
anonymous: NotRequired[Nullable[bool]] anonymous: NotRequired[Nullable[bool]]
r"""Unknown""" r"""Unknown"""
backup_codes_created: NotRequired[bool] backup_codes_created: NotRequired[bool]
@@ -666,6 +667,10 @@ class GetTokenDetailsUserPlexAccount(BaseModel):
uuid: str uuid: str
r"""The account UUID""" r"""The account UUID"""
attribution_partner: Annotated[
Nullable[str], pydantic.Field(alias="attributionPartner")
]
anonymous: OptionalNullable[bool] = False anonymous: OptionalNullable[bool] = False
r"""Unknown""" r"""Unknown"""
@@ -751,6 +756,7 @@ class GetTokenDetailsUserPlexAccount(BaseModel):
"adsConsentSetAt", "adsConsentSetAt",
"locale", "locale",
"subscriptionDescription", "subscriptionDescription",
"attributionPartner",
"anonymous", "anonymous",
] ]
null_default_fields = [] null_default_fields = []

View File

@@ -22,7 +22,7 @@ class GetTopWatchedContentQueryParamType(int, Enum):
""" """
MOVIE = 1 MOVIE = 1
SHOW = 2 TV_SHOW = 2
SEASON = 3 SEASON = 3
EPISODE = 4 EPISODE = 4

View File

@@ -740,6 +740,7 @@ class PostUsersSignInDataUserPlexAccountTypedDict(TypedDict):
r"""The account username""" r"""The account username"""
uuid: str uuid: str
r"""The account UUID""" r"""The account UUID"""
attribution_partner: Nullable[str]
past_subscriptions: List[PastSubscriptionTypedDict] past_subscriptions: List[PastSubscriptionTypedDict]
trials: List[TrialsTypedDict] trials: List[TrialsTypedDict]
anonymous: NotRequired[Nullable[bool]] anonymous: NotRequired[Nullable[bool]]
@@ -857,6 +858,10 @@ class PostUsersSignInDataUserPlexAccount(BaseModel):
uuid: str uuid: str
r"""The account UUID""" r"""The account UUID"""
attribution_partner: Annotated[
Nullable[str], pydantic.Field(alias="attributionPartner")
]
past_subscriptions: Annotated[ past_subscriptions: Annotated[
List[PastSubscription], pydantic.Field(alias="pastSubscriptions") List[PastSubscription], pydantic.Field(alias="pastSubscriptions")
] ]
@@ -948,6 +953,7 @@ class PostUsersSignInDataUserPlexAccount(BaseModel):
"adsConsentSetAt", "adsConsentSetAt",
"locale", "locale",
"subscriptionDescription", "subscriptionDescription",
"attributionPartner",
"anonymous", "anonymous",
] ]
null_default_fields = [] null_default_fields = []

View File

@@ -39,9 +39,9 @@ class SDKConfiguration:
server_defaults: List[Dict[str, str]] = field(default_factory=List) server_defaults: List[Dict[str, str]] = field(default_factory=List)
language: str = "python" language: str = "python"
openapi_doc_version: str = "0.0.3" openapi_doc_version: str = "0.0.3"
sdk_version: str = "0.13.0" sdk_version: str = "0.13.1"
gen_version: str = "2.421.3" gen_version: str = "2.421.3"
user_agent: str = "speakeasy-sdk/python 0.13.0 2.421.3 0.0.3 plex-api-client" user_agent: str = "speakeasy-sdk/python 0.13.1 2.421.3 0.0.3 plex-api-client"
retry_config: OptionalNullable[RetryConfig] = Field(default_factory=lambda: UNSET) retry_config: OptionalNullable[RetryConfig] = Field(default_factory=lambda: UNSET)
timeout_ms: Optional[int] = None timeout_ms: Optional[int] = None