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:
oAuth2ClientCredentialsEnabled: true
python:
version: 0.13.0
version: 0.13.1
additionalDependencies:
dev: {}
main: {}

View File

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

View File

@@ -759,3 +759,13 @@ Based on:
- [python v0.13.0] .
### Releases
- [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",
)
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:
# handle response
@@ -869,7 +869,7 @@ actions:
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:
# handle response
@@ -897,7 +897,7 @@ actions:
"tag": operations.Tag.EDITION,
"include_guids": operations.IncludeGuids.ENABLE,
"include_meta": operations.IncludeMeta.ENABLE,
"type": operations.Type.SHOW,
"type": operations.Type.TV_SHOW,
"x_plex_container_start": 0,
"x_plex_container_size": 50,
})
@@ -1270,7 +1270,7 @@ actions:
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:
# 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
| Field | Type | Required | Description |
| ---------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------- |
| `key` | *Optional[str]* | :heavy_minus_sign: | N/A |
| `type` | *Optional[str]* | :heavy_minus_sign: | N/A |
| `directory` | List[[operations.GetMediaProvidersDirectory](../../models/operations/getmediaprovidersdirectory.md)] | :heavy_minus_sign: | N/A |
| Field | Type | Required | Description | Example |
| ---------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------- |
| `type` | *str* | :heavy_check_mark: | N/A | |
| `key` | *Optional[str]* | :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 |
| -------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------- |
| `id` | *Optional[int]* | :heavy_minus_sign: | N/A | 119534 |
| `duration` | *Optional[int]* | :heavy_minus_sign: | N/A | 11558112 |
| `bitrate` | *Optional[int]* | :heavy_minus_sign: | N/A | 25025 |
| `width` | *Optional[int]* | :heavy_minus_sign: | N/A | 3840 |
| `height` | *Optional[int]* | :heavy_minus_sign: | N/A | 2072 |
| `aspect_ratio` | *Optional[float]* | :heavy_minus_sign: | N/A | 1.85 |
| `audio_channels` | *Optional[int]* | :heavy_minus_sign: | N/A | 6 |
| `audio_codec` | *Optional[str]* | :heavy_minus_sign: | N/A | eac3 |
| `video_codec` | *Optional[str]* | :heavy_minus_sign: | N/A | hevc |
| `video_resolution` | *Optional[str]* | :heavy_minus_sign: | N/A | 4k |
| `container` | *Optional[str]* | :heavy_minus_sign: | N/A | mkv |
| `video_frame_rate` | *Optional[str]* | :heavy_minus_sign: | N/A | 24p |
| `video_profile` | *Optional[str]* | :heavy_minus_sign: | N/A | main 10 |
| `part` | List[[operations.GetLibraryItemsPart](../../models/operations/getlibraryitemspart.md)] | :heavy_minus_sign: | N/A | |
| `id` | *int* | :heavy_check_mark: | N/A | 119534 |
| `duration` | *int* | :heavy_check_mark: | N/A | 11558112 |
| `bitrate` | *int* | :heavy_check_mark: | N/A | 25025 |
| `width` | *int* | :heavy_check_mark: | N/A | 3840 |
| `height` | *int* | :heavy_check_mark: | N/A | 2072 |
| `aspect_ratio` | *float* | :heavy_check_mark: | N/A | 1.85 |
| `audio_channels` | *int* | :heavy_check_mark: | N/A | 6 |
| `audio_codec` | *str* | :heavy_check_mark: | N/A | eac3 |
| `video_codec` | *str* | :heavy_check_mark: | N/A | hevc |
| `video_resolution` | *str* | :heavy_check_mark: | N/A | 4k |
| `container` | *str* | :heavy_check_mark: | N/A | mkv |
| `video_frame_rate` | *str* | :heavy_check_mark: | N/A | 24p |
| `video_profile` | *str* | :heavy_check_mark: | N/A | main 10 |
| `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 |
| ----------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------- |
| `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 |
| `art` | *str* | :heavy_check_mark: | N/A | /:/resources/movie-fanart.jpg |
| `identifier` | *str* | :heavy_check_mark: | N/A | com.plexapp.plugins.library |
@@ -18,7 +21,8 @@
| `title1` | *str* | :heavy_check_mark: | N/A | Movies |
| `title2` | *str* | :heavy_check_mark: | N/A | Recently Released |
| `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 |
| `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/> | |

View File

@@ -5,25 +5,30 @@
| 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 |
| `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 |
| `year` | *int* | :heavy_check_mark: | N/A | 2022 |
| `duration` | *int* | :heavy_check_mark: | N/A | 11558112 |
| `media` | List[[operations.GetLibraryItemsMedia](../../models/operations/getlibraryitemsmedia.md)] | :heavy_check_mark: | N/A | |
| `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. |
| `added_at` | *int* | :heavy_check_mark: | Unix epoch datetime in seconds | 1556281940 |
| `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 |
| `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 |
| `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. |
| `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 |
| `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 |
| `added_at` | *Optional[int]* | :heavy_minus_sign: | N/A | 1680457607 |
| `updated_at` | *Optional[int]* | :heavy_minus_sign: | N/A | 1703239236 |
| `updated_at` | *Optional[int]* | :heavy_minus_sign: | Unix epoch datetime in seconds | 1556281940 |
| `audience_rating_image` | *Optional[str]* | :heavy_minus_sign: | N/A | rottentomatoes://image.rating.upright |
| `chapter_source` | *Optional[str]* | :heavy_minus_sign: | N/A | media |
| `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_title` | *Optional[str]* | :heavy_minus_sign: | N/A | Caprica |
| `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_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 | |
| `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 | |
| `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 | |
| `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 |
| `view_count` | *Optional[int]* | :heavy_minus_sign: | N/A | 1 |
| `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 |
| `has_premium_extras` | *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_studio` | *Optional[str]* | :heavy_minus_sign: | N/A | UCP |
| `parent_key` | *Optional[str]* | :heavy_minus_sign: | N/A | /library/metadata/66 |

View File

@@ -5,10 +5,13 @@
| Field | Type | Required | Description | Example |
| -------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------- |
| `id` | *Optional[int]* | :heavy_minus_sign: | N/A | 119542 |
| `key` | *Optional[str]* | :heavy_minus_sign: | N/A | /library/parts/119542/1680457526/file.mkv |
| `duration` | *Optional[int]* | :heavy_minus_sign: | 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 |
| `size` | *Optional[int]* | :heavy_minus_sign: | N/A | 36158371307 |
| `container` | *Optional[str]* | :heavy_minus_sign: | N/A | mkv |
| `video_profile` | *Optional[str]* | :heavy_minus_sign: | N/A | main 10 |
| `id` | *int* | :heavy_check_mark: | N/A | 119542 |
| `key` | *str* | :heavy_check_mark: | N/A | /library/parts/119542/1680457526/file.mkv |
| `duration` | *int* | :heavy_check_mark: | N/A | 11558112 |
| `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` | *int* | :heavy_check_mark: | N/A | 36158371307 |
| `container` | *str* | :heavy_check_mark: | The container format of the media file.<br/> | mkv |
| `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 |
| `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_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_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
| Field | Type | Required | Description | Example |
| ---------------------------------- | ---------------------------------- | ---------------------------------- | ---------------------------------- | ---------------------------------- |
| `default_direction` | *str* | :heavy_check_mark: | N/A | asc |
| ------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------ |
| `key` | *str* | :heavy_check_mark: | N/A | titleSort |
| `title` | *str* | :heavy_check_mark: | N/A | Title |
| `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 |
| `first_character_key` | *Optional[str]* | :heavy_minus_sign: | N/A | /library/sections/2/firstCharacter |

View File

@@ -1,14 +1,14 @@
# GetLibraryItemsType
The type of media content
## 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 | |
## Values
| Name | Value |
| --------- | --------- |
| `MOVIE` | movie |
| `TV_SHOW` | show |
| `SEASON` | season |
| `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 |
| --------- | --------- |
| `MOVIE` | 1 |
| `SHOW` | 2 |
| `TV_SHOW` | 2 |
| `SEASON` | 3 |
| `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 |
| `username` | *str* | :heavy_check_mark: | The account username | Username |
| `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 | |
| `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 | |

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 |
| --------- | --------- |
| `MOVIE` | 1 |
| `SHOW` | 2 |
| `TV_SHOW` | 2 |
| `SEASON` | 3 |
| `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
| 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 |

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 |
| `username` | *str* | :heavy_check_mark: | The account username | Username |
| `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 | |
| `trials` | List[[operations.Trials](../../models/operations/trials.md)] | :heavy_check_mark: | N/A | |
| `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 |
| --------- | --------- |
| `MOVIE` | 1 |
| `SHOW` | 2 |
| `TV_SHOW` | 2 |
| `SEASON` | 3 |
| `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 |
| --------- | --------- |
| `MOVIE` | 1 |
| `SHOW` | 2 |
| `TV_SHOW` | 2 |
| `SEASON` | 3 |
| `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={
"section_key": 9518,
"tag": operations.Tag.EDITION,
"type": operations.Type.SHOW,
"include_guids": operations.IncludeGuids.ENABLE,
"include_meta": operations.IncludeMeta.ENABLE,
"type": operations.Type.TV_SHOW,
"x_plex_container_start": 0,
"x_plex_container_size": 50,
})
@@ -460,7 +460,7 @@ s = PlexAPI(
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:
# handle response
@@ -604,7 +604,7 @@ s = PlexAPI(
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:
# handle response

View File

@@ -290,7 +290,7 @@ s = PlexAPI(
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:
# handle response

View File

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

View File

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

View File

@@ -60,7 +60,7 @@ class Type(int, Enum):
"""
MOVIE = 1
SHOW = 2
TV_SHOW = 2
SEASON = 3
EPISODE = 4
@@ -73,15 +73,6 @@ class GetLibraryItemsRequestTypedDict(TypedDict):
"""
tag: Tag
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]
r"""Adds the Guids object to the response
@@ -89,6 +80,15 @@ class GetLibraryItemsRequestTypedDict(TypedDict):
include_meta: NotRequired[IncludeMeta]
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]
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."""
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[
Optional[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[
Optional[int],
pydantic.Field(alias="X-Plex-Container-Start"),
@@ -179,84 +180,137 @@ LibrarySectionIDTypedDict = 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):
id: NotRequired[int]
key: NotRequired[str]
duration: NotRequired[int]
file: NotRequired[str]
size: NotRequired[int]
container: NotRequired[str]
video_profile: NotRequired[str]
id: int
key: str
duration: int
file: str
size: int
container: 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):
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):
id: NotRequired[int]
duration: NotRequired[int]
bitrate: NotRequired[int]
width: NotRequired[int]
height: NotRequired[int]
aspect_ratio: NotRequired[float]
audio_channels: NotRequired[int]
audio_codec: NotRequired[str]
video_codec: NotRequired[str]
video_resolution: NotRequired[str]
container: NotRequired[str]
video_frame_rate: NotRequired[str]
video_profile: NotRequired[str]
part: NotRequired[List[GetLibraryItemsPartTypedDict]]
id: int
duration: int
bitrate: int
width: int
height: int
aspect_ratio: float
audio_channels: int
audio_codec: str
video_codec: str
video_resolution: str
container: str
video_frame_rate: str
video_profile: str
part: List[GetLibraryItemsPartTypedDict]
audio_profile: NotRequired[str]
has_voice_activity: NotRequired[bool]
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")] = (
None
)
audio_channels: Annotated[int, pydantic.Field(alias="audioChannels")]
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[
Optional[str], pydantic.Field(alias="videoResolution")
] = None
video_resolution: Annotated[str, pydantic.Field(alias="videoResolution")]
container: Optional[str] = None
container: str
video_frame_rate: Annotated[
Optional[str], pydantic.Field(alias="videoFrameRate")
] = None
video_frame_rate: Annotated[str, pydantic.Field(alias="videoFrameRate")]
video_profile: Annotated[Optional[str], pydantic.Field(alias="videoProfile")] = None
video_profile: Annotated[str, pydantic.Field(alias="videoProfile")]
part: Annotated[
Optional[List[GetLibraryItemsPart]], pydantic.Field(alias="Part")
part: Annotated[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
@@ -292,6 +346,14 @@ class GetLibraryItemsWriter(BaseModel):
tag: Optional[str] = None
class CollectionTypedDict(TypedDict):
tag: NotRequired[str]
class Collection(BaseModel):
tag: Optional[str] = None
class GetLibraryItemsRoleTypedDict(TypedDict):
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):
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
guid: str
type: str
type: GetLibraryItemsType
r"""The type of media content
"""
title: str
year: int
duration: int
media: List[GetLibraryItemsMediaTypedDict]
summary: str
added_at: int
r"""Unix epoch datetime in seconds"""
studio: NotRequired[str]
skip_children: NotRequired[bool]
slug: NotRequired[str]
content_rating: NotRequired[str]
summary: NotRequired[str]
rating: NotRequired[float]
audience_rating: NotRequired[float]
year: NotRequired[int]
season_count: NotRequired[int]
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]
art: NotRequired[str]
banner: NotRequired[str]
duration: NotRequired[int]
originally_available_at: NotRequired[date]
added_at: NotRequired[int]
updated_at: NotRequired[int]
r"""Unix epoch datetime in seconds"""
audience_rating_image: NotRequired[str]
chapter_source: NotRequired[str]
primary_extra_key: NotRequired[str]
@@ -345,17 +467,25 @@ class GetLibraryItemsMetadataTypedDict(TypedDict):
grandparent_key: NotRequired[str]
grandparent_title: NotRequired[str]
grandparent_thumb: NotRequired[str]
grandparent_slug: NotRequired[str]
grandparent_art: 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]]
country: NotRequired[List[GetLibraryItemsCountryTypedDict]]
director: NotRequired[List[GetLibraryItemsDirectorTypedDict]]
writer: NotRequired[List[GetLibraryItemsWriterTypedDict]]
collection: NotRequired[List[CollectionTypedDict]]
role: NotRequired[List[GetLibraryItemsRoleTypedDict]]
media_guid: NotRequired[List[MediaGUIDTypedDict]]
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]
view_count: NotRequired[int]
last_viewed_at: NotRequired[int]
@@ -370,6 +500,9 @@ class GetLibraryItemsMetadataTypedDict(TypedDict):
has_premium_extras: NotRequired[str]
has_premium_primary_extra: NotRequired[str]
parent_rating_key: NotRequired[str]
r"""The rating key of the parent item.
"""
parent_guid: NotRequired[str]
parent_studio: NotRequired[str]
parent_key: NotRequired[str]
@@ -382,48 +515,81 @@ class GetLibraryItemsMetadataTypedDict(TypedDict):
class GetLibraryItemsMetadata(BaseModel):
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
guid: str
type: str
type: GetLibraryItemsType
r"""The type of media content
"""
title: str
year: int
summary: str
duration: int
media: Annotated[List[GetLibraryItemsMedia], pydantic.Field(alias="Media")]
added_at: Annotated[int, pydantic.Field(alias="addedAt")]
r"""Unix epoch datetime in seconds"""
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")] = (
None
)
summary: Optional[str] = None
rating: Optional[float] = None
audience_rating: Annotated[
Optional[float], pydantic.Field(alias="audienceRating")
] = None
year: Optional[int] = None
season_count: Annotated[Optional[int], pydantic.Field(alias="seasonCount")] = 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
art: Optional[str] = None
banner: Optional[str] = None
duration: Optional[int] = None
originally_available_at: Annotated[
Optional[date], pydantic.Field(alias="originallyAvailableAt")
] = None
added_at: Annotated[Optional[int], pydantic.Field(alias="addedAt")] = None
updated_at: Annotated[Optional[int], pydantic.Field(alias="updatedAt")] = None
r"""Unix epoch datetime in seconds"""
audience_rating_image: Annotated[
Optional[str], pydantic.Field(alias="audienceRatingImage")
@@ -459,6 +625,10 @@ class GetLibraryItemsMetadata(BaseModel):
Optional[str], pydantic.Field(alias="grandparentThumb")
] = None
grandparent_slug: Annotated[
Optional[str], pydantic.Field(alias="grandparentSlug")
] = None
grandparent_art: Annotated[
Optional[str], pydantic.Field(alias="grandparentArt")
] = None
@@ -467,6 +637,13 @@ class GetLibraryItemsMetadata(BaseModel):
Optional[str], pydantic.Field(alias="grandparentTheme")
] = 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[
Optional[List[GetLibraryItemsGenre]], pydantic.Field(alias="Genre")
] = None
@@ -483,6 +660,10 @@ class GetLibraryItemsMetadata(BaseModel):
Optional[List[GetLibraryItemsWriter]], pydantic.Field(alias="Writer")
] = None
collection: Annotated[
Optional[List[Collection]], pydantic.Field(alias="Collection")
] = None
role: Annotated[
Optional[List[GetLibraryItemsRole]], pydantic.Field(alias="Role")
] = 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
view_count: Annotated[Optional[int], pydantic.Field(alias="viewCount")] = None
@@ -533,6 +722,9 @@ class GetLibraryItemsMetadata(BaseModel):
parent_rating_key: Annotated[
Optional[str], pydantic.Field(alias="parentRatingKey")
] = None
r"""The rating key of the parent item.
"""
parent_guid: Annotated[Optional[str], pydantic.Field(alias="parentGuid")] = None
@@ -571,24 +763,60 @@ class GetLibraryItemsFilter(BaseModel):
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):
default_direction: str
key: str
title: 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]
first_character_key: NotRequired[str]
class GetLibraryItemsSort(BaseModel):
default_direction: Annotated[str, pydantic.Field(alias="defaultDirection")]
key: str
title: str
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
first_character_key: Annotated[
@@ -613,7 +841,7 @@ class GetLibraryItemsField(BaseModel):
sub_type: Annotated[Optional[str], pydantic.Field(alias="subType")] = None
class GetLibraryItemsTypeTypedDict(TypedDict):
class GetLibraryItemsLibraryTypeTypedDict(TypedDict):
key: str
type: str
title: str
@@ -623,7 +851,7 @@ class GetLibraryItemsTypeTypedDict(TypedDict):
field: NotRequired[List[GetLibraryItemsFieldTypedDict]]
class GetLibraryItemsType(BaseModel):
class GetLibraryItemsLibraryType(BaseModel):
key: str
type: str
@@ -670,7 +898,7 @@ class GetLibraryItemsFieldType(BaseModel):
class MetaTypedDict(TypedDict):
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]]
@@ -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`."""
type: Annotated[
Optional[List[GetLibraryItemsType]], pydantic.Field(alias="Type")
Optional[List[GetLibraryItemsLibraryType]], pydantic.Field(alias="Type")
] = None
field_type: Annotated[
@@ -688,6 +916,9 @@ class Meta(BaseModel):
class GetLibraryItemsMediaContainerTypedDict(TypedDict):
size: int
total_size: int
offset: int
content: str
allow_sync: bool
art: str
identifier: str
@@ -700,9 +931,10 @@ class GetLibraryItemsMediaContainerTypedDict(TypedDict):
title1: str
title2: str
view_group: str
metadata: List[GetLibraryItemsMetadataTypedDict]
nocache: NotRequired[bool]
view_mode: NotRequired[int]
mixed_parents: NotRequired[bool]
metadata: NotRequired[List[GetLibraryItemsMetadataTypedDict]]
meta: NotRequired[MetaTypedDict]
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):
size: int
total_size: Annotated[int, pydantic.Field(alias="totalSize")]
offset: int
content: str
allow_sync: Annotated[bool, pydantic.Field(alias="allowSync")]
art: str
@@ -738,16 +976,16 @@ class GetLibraryItemsMediaContainer(BaseModel):
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
mixed_parents: Annotated[Optional[bool], pydantic.Field(alias="mixedParents")] = (
None
)
metadata: Annotated[
Optional[List[GetLibraryItemsMetadata]], pydantic.Field(alias="Metadata")
] = 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`.

View File

@@ -93,21 +93,46 @@ class GetMediaProvidersDirectory(BaseModel):
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):
type: str
key: NotRequired[str]
type: NotRequired[str]
flavor: NotRequired[str]
scrobble_key: NotRequired[str]
unscrobble_key: NotRequired[str]
directory: NotRequired[List[GetMediaProvidersDirectoryTypedDict]]
action: NotRequired[List[ActionTypedDict]]
class Feature(BaseModel):
type: str
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[
Optional[List[GetMediaProvidersDirectory]], pydantic.Field(alias="Directory")
] = None
action: Annotated[Optional[List[Action]], pydantic.Field(alias="Action")] = None
class MediaProviderTypedDict(TypedDict):
identifier: NotRequired[str]

View File

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

View File

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

View File

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

View File

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

View File

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

View File

@@ -39,9 +39,9 @@ class SDKConfiguration:
server_defaults: List[Dict[str, str]] = field(default_factory=List)
language: str = "python"
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"
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)
timeout_ms: Optional[int] = None