ymdantic 0.2.3__tar.gz → 0.2.4__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {ymdantic-0.2.3 → ymdantic-0.2.4}/PKG-INFO +2 -3
- {ymdantic-0.2.3 → ymdantic-0.2.4}/pyproject.toml +1 -2
- {ymdantic-0.2.3 → ymdantic-0.2.4}/uv.lock +1 -12
- {ymdantic-0.2.3 → ymdantic-0.2.4}/ymdantic/models/tracks/file_info.py +2 -2
- {ymdantic-0.2.3 → ymdantic-0.2.4}/.editorconfig +0 -0
- {ymdantic-0.2.3 → ymdantic-0.2.4}/.github/workflows/pypi-release.yml +0 -0
- {ymdantic-0.2.3 → ymdantic-0.2.4}/.github/workflows/tests.yml +0 -0
- {ymdantic-0.2.3 → ymdantic-0.2.4}/.gitignore +0 -0
- {ymdantic-0.2.3 → ymdantic-0.2.4}/.pre-commit-config.yaml +0 -0
- {ymdantic-0.2.3 → ymdantic-0.2.4}/LICENSE +0 -0
- {ymdantic-0.2.3 → ymdantic-0.2.4}/README.md +0 -0
- {ymdantic-0.2.3 → ymdantic-0.2.4}/examples/chart.py +0 -0
- {ymdantic-0.2.3 → ymdantic-0.2.4}/tests/__init__.py +0 -0
- {ymdantic-0.2.3 → ymdantic-0.2.4}/tests/account/__init__.py +0 -0
- {ymdantic-0.2.3 → ymdantic-0.2.4}/tests/account/test_settings.py +0 -0
- {ymdantic-0.2.3 → ymdantic-0.2.4}/tests/albums/__init__.py +0 -0
- {ymdantic-0.2.3 → ymdantic-0.2.4}/tests/albums/test_get_album_with_tracks.py +0 -0
- {ymdantic-0.2.3 → ymdantic-0.2.4}/tests/conftest.py +0 -0
- {ymdantic-0.2.3 → ymdantic-0.2.4}/tests/search/__init__.py +0 -0
- {ymdantic-0.2.3 → ymdantic-0.2.4}/tests/search/test_search_instant_mixed.py +0 -0
- {ymdantic-0.2.3 → ymdantic-0.2.4}/tests/tracks/__init__.py +0 -0
- {ymdantic-0.2.3 → ymdantic-0.2.4}/tests/tracks/test_get_track.py +0 -0
- {ymdantic-0.2.3 → ymdantic-0.2.4}/tests/tracks/test_get_track_download_info.py +0 -0
- {ymdantic-0.2.3 → ymdantic-0.2.4}/tests/tracks/test_get_track_file_info.py +0 -0
- {ymdantic-0.2.3 → ymdantic-0.2.4}/tests/tracks/test_get_tracks.py +0 -0
- {ymdantic-0.2.3 → ymdantic-0.2.4}/ymdantic/__init__.py +0 -0
- {ymdantic-0.2.3 → ymdantic-0.2.4}/ymdantic/adapters/__init__.py +0 -0
- {ymdantic-0.2.3 → ymdantic-0.2.4}/ymdantic/adapters/pydantic_factory.py +0 -0
- {ymdantic-0.2.3 → ymdantic-0.2.4}/ymdantic/adapters/to_camel.py +0 -0
- {ymdantic-0.2.3 → ymdantic-0.2.4}/ymdantic/adapters/to_query_params.py +0 -0
- {ymdantic-0.2.3 → ymdantic-0.2.4}/ymdantic/client/__init__.py +0 -0
- {ymdantic-0.2.3 → ymdantic-0.2.4}/ymdantic/client/session/__init__.py +0 -0
- {ymdantic-0.2.3 → ymdantic-0.2.4}/ymdantic/client/session/aiohttp_client.py +0 -0
- {ymdantic-0.2.3 → ymdantic-0.2.4}/ymdantic/client/session/aiohttp_method.py +0 -0
- {ymdantic-0.2.3 → ymdantic-0.2.4}/ymdantic/client/yandex_music.py +0 -0
- {ymdantic-0.2.3 → ymdantic-0.2.4}/ymdantic/enums/__init__.py +0 -0
- {ymdantic-0.2.3 → ymdantic-0.2.4}/ymdantic/enums/editorial_artists.py +0 -0
- {ymdantic-0.2.3 → ymdantic-0.2.4}/ymdantic/enums/editorial_compilation.py +0 -0
- {ymdantic-0.2.3 → ymdantic-0.2.4}/ymdantic/enums/editorial_new_releases.py +0 -0
- {ymdantic-0.2.3 → ymdantic-0.2.4}/ymdantic/enums/editorial_promotion.py +0 -0
- {ymdantic-0.2.3 → ymdantic-0.2.4}/ymdantic/enums/language.py +0 -0
- {ymdantic-0.2.3 → ymdantic-0.2.4}/ymdantic/enums/open_playlist.py +0 -0
- {ymdantic-0.2.3 → ymdantic-0.2.4}/ymdantic/enums/special.py +0 -0
- {ymdantic-0.2.3 → ymdantic-0.2.4}/ymdantic/exceptions/__init__.py +0 -0
- {ymdantic-0.2.3 → ymdantic-0.2.4}/ymdantic/exceptions/custom_exceptions.py +0 -0
- {ymdantic-0.2.3 → ymdantic-0.2.4}/ymdantic/mixins.py +0 -0
- {ymdantic-0.2.3 → ymdantic-0.2.4}/ymdantic/models/__init__.py +0 -0
- {ymdantic-0.2.3 → ymdantic-0.2.4}/ymdantic/models/account/__init__.py +0 -0
- {ymdantic-0.2.3 → ymdantic-0.2.4}/ymdantic/models/account/settings.py +0 -0
- {ymdantic-0.2.3 → ymdantic-0.2.4}/ymdantic/models/action_button.py +0 -0
- {ymdantic-0.2.3 → ymdantic-0.2.4}/ymdantic/models/agent.py +0 -0
- {ymdantic-0.2.3 → ymdantic-0.2.4}/ymdantic/models/albums/__init__.py +0 -0
- {ymdantic-0.2.3 → ymdantic-0.2.4}/ymdantic/models/albums/album.py +0 -0
- {ymdantic-0.2.3 → ymdantic-0.2.4}/ymdantic/models/albums/label.py +0 -0
- {ymdantic-0.2.3 → ymdantic-0.2.4}/ymdantic/models/artists/__init__.py +0 -0
- {ymdantic-0.2.3 → ymdantic-0.2.4}/ymdantic/models/artists/artist.py +0 -0
- {ymdantic-0.2.3 → ymdantic-0.2.4}/ymdantic/models/artists/artist_data.py +0 -0
- {ymdantic-0.2.3 → ymdantic-0.2.4}/ymdantic/models/artists/artist_track_chart_position.py +0 -0
- {ymdantic-0.2.3 → ymdantic-0.2.4}/ymdantic/models/artists/band_link_scanner_link.py +0 -0
- {ymdantic-0.2.3 → ymdantic-0.2.4}/ymdantic/models/artists/concert.py +0 -0
- {ymdantic-0.2.3 → ymdantic-0.2.4}/ymdantic/models/artists/counts.py +0 -0
- {ymdantic-0.2.3 → ymdantic-0.2.4}/ymdantic/models/artists/description.py +0 -0
- {ymdantic-0.2.3 → ymdantic-0.2.4}/ymdantic/models/artists/extra_action.py +0 -0
- {ymdantic-0.2.3 → ymdantic-0.2.4}/ymdantic/models/artists/ratings.py +0 -0
- {ymdantic-0.2.3 → ymdantic-0.2.4}/ymdantic/models/artists/social_link.py +0 -0
- {ymdantic-0.2.3 → ymdantic-0.2.4}/ymdantic/models/artists/video.py +0 -0
- {ymdantic-0.2.3 → ymdantic-0.2.4}/ymdantic/models/base.py +0 -0
- {ymdantic-0.2.3 → ymdantic-0.2.4}/ymdantic/models/chart_position.py +0 -0
- {ymdantic-0.2.3 → ymdantic-0.2.4}/ymdantic/models/clips/__init__.py +0 -0
- {ymdantic-0.2.3 → ymdantic-0.2.4}/ymdantic/models/clips/clip.py +0 -0
- {ymdantic-0.2.3 → ymdantic-0.2.4}/ymdantic/models/concerts/__init__.py +0 -0
- {ymdantic-0.2.3 → ymdantic-0.2.4}/ymdantic/models/concerts/city_case_forms.py +0 -0
- {ymdantic-0.2.3 → ymdantic-0.2.4}/ymdantic/models/concerts/concert.py +0 -0
- {ymdantic-0.2.3 → ymdantic-0.2.4}/ymdantic/models/content_restrictions.py +0 -0
- {ymdantic-0.2.3 → ymdantic-0.2.4}/ymdantic/models/cover.py +0 -0
- {ymdantic-0.2.3 → ymdantic-0.2.4}/ymdantic/models/custom_wave.py +0 -0
- {ymdantic-0.2.3 → ymdantic-0.2.4}/ymdantic/models/derived_colors.py +0 -0
- {ymdantic-0.2.3 → ymdantic-0.2.4}/ymdantic/models/error.py +0 -0
- {ymdantic-0.2.3 → ymdantic-0.2.4}/ymdantic/models/landing/__init__.py +0 -0
- {ymdantic-0.2.3 → ymdantic-0.2.4}/ymdantic/models/landing/album.py +0 -0
- {ymdantic-0.2.3 → ymdantic-0.2.4}/ymdantic/models/landing/artist.py +0 -0
- {ymdantic-0.2.3 → ymdantic-0.2.4}/ymdantic/models/landing/chart.py +0 -0
- {ymdantic-0.2.3 → ymdantic-0.2.4}/ymdantic/models/landing/chart_block.py +0 -0
- {ymdantic-0.2.3 → ymdantic-0.2.4}/ymdantic/models/landing/cover.py +0 -0
- {ymdantic-0.2.3 → ymdantic-0.2.4}/ymdantic/models/landing/editorial/__init__.py +0 -0
- {ymdantic-0.2.3 → ymdantic-0.2.4}/ymdantic/models/landing/editorial/new_releases.py +0 -0
- {ymdantic-0.2.3 → ymdantic-0.2.4}/ymdantic/models/landing/editorial/response.py +0 -0
- {ymdantic-0.2.3 → ymdantic-0.2.4}/ymdantic/models/landing/in_style.py +0 -0
- {ymdantic-0.2.3 → ymdantic-0.2.4}/ymdantic/models/landing/liked_playlist.py +0 -0
- {ymdantic-0.2.3 → ymdantic-0.2.4}/ymdantic/models/landing/open_playlist.py +0 -0
- {ymdantic-0.2.3 → ymdantic-0.2.4}/ymdantic/models/landing/personal_playlist.py +0 -0
- {ymdantic-0.2.3 → ymdantic-0.2.4}/ymdantic/models/landing/playlist.py +0 -0
- {ymdantic-0.2.3 → ymdantic-0.2.4}/ymdantic/models/landing/promotion.py +0 -0
- {ymdantic-0.2.3 → ymdantic-0.2.4}/ymdantic/models/landing/skeleton/__init__.py +0 -0
- {ymdantic-0.2.3 → ymdantic-0.2.4}/ymdantic/models/landing/skeleton/skeleton_response.py +0 -0
- {ymdantic-0.2.3 → ymdantic-0.2.4}/ymdantic/models/landing/skeleton/tab_block.py +0 -0
- {ymdantic-0.2.3 → ymdantic-0.2.4}/ymdantic/models/landing/skeleton/tab_data.py +0 -0
- {ymdantic-0.2.3 → ymdantic-0.2.4}/ymdantic/models/landing/skeleton/tab_source.py +0 -0
- {ymdantic-0.2.3 → ymdantic-0.2.4}/ymdantic/models/landing/skeleton/tabs_block.py +0 -0
- {ymdantic-0.2.3 → ymdantic-0.2.4}/ymdantic/models/landing/skeleton/tabs_source.py +0 -0
- {ymdantic-0.2.3 → ymdantic-0.2.4}/ymdantic/models/landing/special.py +0 -0
- {ymdantic-0.2.3 → ymdantic-0.2.4}/ymdantic/models/landing/view_all_action.py +0 -0
- {ymdantic-0.2.3 → ymdantic-0.2.4}/ymdantic/models/landing/waves.py +0 -0
- {ymdantic-0.2.3 → ymdantic-0.2.4}/ymdantic/models/landing3/__init__.py +0 -0
- {ymdantic-0.2.3 → ymdantic-0.2.4}/ymdantic/models/landing3/block.py +0 -0
- {ymdantic-0.2.3 → ymdantic-0.2.4}/ymdantic/models/landing3/chart.py +0 -0
- {ymdantic-0.2.3 → ymdantic-0.2.4}/ymdantic/models/landing3/menu.py +0 -0
- {ymdantic-0.2.3 → ymdantic-0.2.4}/ymdantic/models/pager.py +0 -0
- {ymdantic-0.2.3 → ymdantic-0.2.4}/ymdantic/models/playlists/__init__.py +0 -0
- {ymdantic-0.2.3 → ymdantic-0.2.4}/ymdantic/models/playlists/cover.py +0 -0
- {ymdantic-0.2.3 → ymdantic-0.2.4}/ymdantic/models/playlists/owner.py +0 -0
- {ymdantic-0.2.3 → ymdantic-0.2.4}/ymdantic/models/playlists/playlist.py +0 -0
- {ymdantic-0.2.3 → ymdantic-0.2.4}/ymdantic/models/playlists/tag.py +0 -0
- {ymdantic-0.2.3 → ymdantic-0.2.4}/ymdantic/models/playlists/track.py +0 -0
- {ymdantic-0.2.3 → ymdantic-0.2.4}/ymdantic/models/response.py +0 -0
- {ymdantic-0.2.3 → ymdantic-0.2.4}/ymdantic/models/s3.py +0 -0
- {ymdantic-0.2.3 → ymdantic-0.2.4}/ymdantic/models/search/__init__.py +0 -0
- {ymdantic-0.2.3 → ymdantic-0.2.4}/ymdantic/models/search/base.py +0 -0
- {ymdantic-0.2.3 → ymdantic-0.2.4}/ymdantic/models/search/results.py +0 -0
- {ymdantic-0.2.3 → ymdantic-0.2.4}/ymdantic/models/theme.py +0 -0
- {ymdantic-0.2.3 → ymdantic-0.2.4}/ymdantic/models/tracks/__init__.py +0 -0
- {ymdantic-0.2.3 → ymdantic-0.2.4}/ymdantic/models/tracks/album.py +0 -0
- {ymdantic-0.2.3 → ymdantic-0.2.4}/ymdantic/models/tracks/download_info.py +0 -0
- {ymdantic-0.2.3 → ymdantic-0.2.4}/ymdantic/models/tracks/fade.py +0 -0
- {ymdantic-0.2.3 → ymdantic-0.2.4}/ymdantic/models/tracks/lyrics_info.py +0 -0
- {ymdantic-0.2.3 → ymdantic-0.2.4}/ymdantic/models/tracks/major.py +0 -0
- {ymdantic-0.2.3 → ymdantic-0.2.4}/ymdantic/models/tracks/podcast.py +0 -0
- {ymdantic-0.2.3 → ymdantic-0.2.4}/ymdantic/models/tracks/position.py +0 -0
- {ymdantic-0.2.3 → ymdantic-0.2.4}/ymdantic/models/tracks/r128.py +0 -0
- {ymdantic-0.2.3 → ymdantic-0.2.4}/ymdantic/models/tracks/track.py +0 -0
- {ymdantic-0.2.3 → ymdantic-0.2.4}/ymdantic/models/trailer.py +0 -0
- {ymdantic-0.2.3 → ymdantic-0.2.4}/ymdantic/py.typed +0 -0
|
@@ -1,12 +1,11 @@
|
|
|
1
|
-
Metadata-Version: 2.
|
|
1
|
+
Metadata-Version: 2.5
|
|
2
2
|
Name: ymdantic
|
|
3
|
-
Version: 0.2.
|
|
3
|
+
Version: 0.2.4
|
|
4
4
|
Summary: Фреймворк предоставляющий доступ к API Яндекс Музыки (с Pydantic валидацией)
|
|
5
5
|
Author-email: KatantDev <vlad26@mail.ru>
|
|
6
6
|
License-File: LICENSE
|
|
7
7
|
Requires-Python: <3.15,>=3.12
|
|
8
8
|
Requires-Dist: aiohttp<4,>=3.9.0
|
|
9
|
-
Requires-Dist: certifi<2026,>=2025
|
|
10
9
|
Requires-Dist: dataclass-rest>=0.5.0
|
|
11
10
|
Requires-Dist: pydantic<3,>=2.4
|
|
12
11
|
Requires-Dist: strenum<0.5,>=0.4.15
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
[project]
|
|
2
2
|
name = "ymdantic"
|
|
3
|
-
version = "0.2.
|
|
3
|
+
version = "0.2.4"
|
|
4
4
|
description = "Фреймворк предоставляющий доступ к API Яндекс Музыки (с Pydantic валидацией)"
|
|
5
5
|
authors = [{ name = "KatantDev", email = "vlad26@mail.ru" }]
|
|
6
6
|
requires-python = ">=3.12,<3.15"
|
|
@@ -8,7 +8,6 @@ readme = "README.md"
|
|
|
8
8
|
dependencies = [
|
|
9
9
|
"aiohttp>=3.9.0,<4",
|
|
10
10
|
"pydantic>=2.4,<3",
|
|
11
|
-
"certifi>=2025,<2026",
|
|
12
11
|
"strenum>=0.4.15,<0.5",
|
|
13
12
|
"dataclass-rest>=0.5.0",
|
|
14
13
|
]
|
|
@@ -149,15 +149,6 @@ wheels = [
|
|
|
149
149
|
{ url = "https://files.pythonhosted.org/packages/64/b4/17d4b0b2a2dc85a6df63d1157e028ed19f90d4cd97c36717afef2bc2f395/attrs-26.1.0-py3-none-any.whl", hash = "sha256:c647aa4a12dfbad9333ca4e71fe62ddc36f4e63b2d260a37a8b83d2f043ac309", size = 67548, upload-time = "2026-03-19T14:22:23.645Z" },
|
|
150
150
|
]
|
|
151
151
|
|
|
152
|
-
[[package]]
|
|
153
|
-
name = "certifi"
|
|
154
|
-
version = "2025.11.12"
|
|
155
|
-
source = { registry = "https://pypi.org/simple" }
|
|
156
|
-
sdist = { url = "https://files.pythonhosted.org/packages/a2/8c/58f469717fa48465e4a50c014a0400602d3c437d7c0c468e17ada824da3a/certifi-2025.11.12.tar.gz", hash = "sha256:d8ab5478f2ecd78af242878415affce761ca6bc54a22a27e026d7c25357c3316", size = 160538, upload-time = "2025-11-12T02:54:51.517Z" }
|
|
157
|
-
wheels = [
|
|
158
|
-
{ url = "https://files.pythonhosted.org/packages/70/7d/9bc192684cea499815ff478dfcdc13835ddf401365057044fb721ec6bddb/certifi-2025.11.12-py3-none-any.whl", hash = "sha256:97de8790030bbd5c2d96b7ec782fc2f7820ef8dba6db909ccf95449f2d062d4b", size = 159438, upload-time = "2025-11-12T02:54:49.735Z" },
|
|
159
|
-
]
|
|
160
|
-
|
|
161
152
|
[[package]]
|
|
162
153
|
name = "cfgv"
|
|
163
154
|
version = "3.5.0"
|
|
@@ -1122,11 +1113,10 @@ wheels = [
|
|
|
1122
1113
|
|
|
1123
1114
|
[[package]]
|
|
1124
1115
|
name = "ymdantic"
|
|
1125
|
-
version = "0.2.
|
|
1116
|
+
version = "0.2.4"
|
|
1126
1117
|
source = { editable = "." }
|
|
1127
1118
|
dependencies = [
|
|
1128
1119
|
{ name = "aiohttp" },
|
|
1129
|
-
{ name = "certifi" },
|
|
1130
1120
|
{ name = "dataclass-rest" },
|
|
1131
1121
|
{ name = "pydantic" },
|
|
1132
1122
|
{ name = "strenum" },
|
|
@@ -1145,7 +1135,6 @@ dev = [
|
|
|
1145
1135
|
[package.metadata]
|
|
1146
1136
|
requires-dist = [
|
|
1147
1137
|
{ name = "aiohttp", specifier = ">=3.9.0,<4" },
|
|
1148
|
-
{ name = "certifi", specifier = ">=2025,<2026" },
|
|
1149
1138
|
{ name = "dataclass-rest", specifier = ">=0.5.0" },
|
|
1150
1139
|
{ name = "pydantic", specifier = ">=2.4,<3" },
|
|
1151
1140
|
{ name = "strenum", specifier = ">=0.4.15,<0.5" },
|
|
@@ -61,8 +61,8 @@ class FileInfo(YMBaseModel):
|
|
|
61
61
|
# Транспорт файла.
|
|
62
62
|
key: str | None = None
|
|
63
63
|
# Ключ файла. При использовании шифрования.
|
|
64
|
-
size: int
|
|
65
|
-
# Размер файла.
|
|
64
|
+
size: int | None = None
|
|
65
|
+
# Размер файла. Яндекс перестал его присылать.
|
|
66
66
|
gain: bool
|
|
67
67
|
# Флаг для нормализации громкости трека (видимо).
|
|
68
68
|
urls: list[HttpUrl]
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|