diff --git a/README.md b/README.md index 8377fff..5c76548 100644 --- a/README.md +++ b/README.md @@ -38,7 +38,7 @@ poetry add avito-py pip install avito-py ``` -Требование к интерпретатору: Python `3.14` и выше в рамках ветки `3.x`. Репозиторий и релизный контур валидируются именно на Python `3.14`. +Требование к интерпретатору: Python `3.12`, `3.13` или `3.14`. ## Инициализация клиента diff --git a/STYLEGUIDE.md b/STYLEGUIDE.md index c1114b2..afd0631 100644 --- a/STYLEGUIDE.md +++ b/STYLEGUIDE.md @@ -347,7 +347,7 @@ Minimum target `mypy` profile: ```toml [tool.mypy] -python_version = "3.14" +python_version = "3.12" strict = true warn_unused_ignores = true warn_redundant_casts = true diff --git a/docs/site/tutorials/getting-started.md b/docs/site/tutorials/getting-started.md index 3dad16d..04aa8c3 100644 --- a/docs/site/tutorials/getting-started.md +++ b/docs/site/tutorials/getting-started.md @@ -14,7 +14,7 @@ pip install avito-py ``` -Требования: Python 3.14 и выше. +Требования: Python 3.12, 3.13 или 3.14. --- diff --git a/poetry.lock b/poetry.lock index eeefe62..9859c35 100644 --- a/poetry.lock +++ b/poetry.lock @@ -14,6 +14,7 @@ files = [ [package.dependencies] idna = ">=2.8" +typing_extensions = {version = ">=4.5", markers = "python_version < \"3.13\""} [package.extras] trio = ["trio (>=0.32.0)"] @@ -688,7 +689,11 @@ files = [ ] [package.dependencies] -pyyaml = {version = ">=6.0.3", markers = "python_version >= \"3.14\""} +pyyaml = [ + {version = ">=5.2", markers = "python_version < \"3.13\""}, + {version = ">=6.0.3", markers = "python_version >= \"3.14\""}, +] +pyyaml-ft = {version = ">=8.0.0", markers = "python_version == \"3.13\""} [[package]] name = "librt" @@ -1623,6 +1628,7 @@ files = [ {file = "pyyaml-6.0.3-cp39-cp39-win_amd64.whl", hash = "sha256:2e71d11abed7344e42a8849600193d15b6def118602c4c176f748e4583246007"}, {file = "pyyaml-6.0.3.tar.gz", hash = "sha256:d76623373421df22fb4cf8817020cbb7ef15c725b9d5e45f17e189bfc384190f"}, ] +markers = {dev = "python_version == \"3.12\" or python_version >= \"3.14\""} [[package]] name = "pyyaml-env-tag" @@ -1639,6 +1645,34 @@ files = [ [package.dependencies] pyyaml = "*" +[[package]] +name = "pyyaml-ft" +version = "8.0.0" +description = "YAML parser and emitter for Python with support for free-threading" +optional = false +python-versions = ">=3.13" +groups = ["dev"] +markers = "python_version == \"3.13\"" +files = [ + {file = "pyyaml_ft-8.0.0-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:8c1306282bc958bfda31237f900eb52c9bedf9b93a11f82e1aab004c9a5657a6"}, + {file = "pyyaml_ft-8.0.0-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:30c5f1751625786c19de751e3130fc345ebcba6a86f6bddd6e1285342f4bbb69"}, + {file = "pyyaml_ft-8.0.0-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:3fa992481155ddda2e303fcc74c79c05eddcdbc907b888d3d9ce3ff3e2adcfb0"}, + {file = "pyyaml_ft-8.0.0-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:cec6c92b4207004b62dfad1f0be321c9f04725e0f271c16247d8b39c3bf3ea42"}, + {file = "pyyaml_ft-8.0.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:06237267dbcab70d4c0e9436d8f719f04a51123f0ca2694c00dd4b68c338e40b"}, + {file = "pyyaml_ft-8.0.0-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:8a7f332bc565817644cdb38ffe4739e44c3e18c55793f75dddb87630f03fc254"}, + {file = "pyyaml_ft-8.0.0-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:7d10175a746be65f6feb86224df5d6bc5c049ebf52b89a88cf1cd78af5a367a8"}, + {file = "pyyaml_ft-8.0.0-cp313-cp313-win_amd64.whl", hash = "sha256:58e1015098cf8d8aec82f360789c16283b88ca670fe4275ef6c48c5e30b22a96"}, + {file = "pyyaml_ft-8.0.0-cp313-cp313t-macosx_10_13_x86_64.whl", hash = "sha256:e64fa5f3e2ceb790d50602b2fd4ec37abbd760a8c778e46354df647e7c5a4ebb"}, + {file = "pyyaml_ft-8.0.0-cp313-cp313t-macosx_11_0_arm64.whl", hash = "sha256:8d445bf6ea16bb93c37b42fdacfb2f94c8e92a79ba9e12768c96ecde867046d1"}, + {file = "pyyaml_ft-8.0.0-cp313-cp313t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:8c56bb46b4fda34cbb92a9446a841da3982cdde6ea13de3fbd80db7eeeab8b49"}, + {file = "pyyaml_ft-8.0.0-cp313-cp313t-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:dab0abb46eb1780da486f022dce034b952c8ae40753627b27a626d803926483b"}, + {file = "pyyaml_ft-8.0.0-cp313-cp313t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:bd48d639cab5ca50ad957b6dd632c7dd3ac02a1abe0e8196a3c24a52f5db3f7a"}, + {file = "pyyaml_ft-8.0.0-cp313-cp313t-musllinux_1_2_aarch64.whl", hash = "sha256:052561b89d5b2a8e1289f326d060e794c21fa068aa11255fe71d65baf18a632e"}, + {file = "pyyaml_ft-8.0.0-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:3bb4b927929b0cb162fb1605392a321e3333e48ce616cdcfa04a839271373255"}, + {file = "pyyaml_ft-8.0.0-cp313-cp313t-win_amd64.whl", hash = "sha256:de04cfe9439565e32f178106c51dd6ca61afaa2907d143835d501d84703d3793"}, + {file = "pyyaml_ft-8.0.0.tar.gz", hash = "sha256:0c947dce03954c7b5d38869ed4878b2e6ff1d44b08a0d84dc83fdad205ae39ab"}, +] + [[package]] name = "requests" version = "2.33.1" @@ -1781,11 +1815,12 @@ version = "4.15.0" description = "Backported and Experimental Type Hints for Python 3.9+" optional = false python-versions = ">=3.9" -groups = ["dev"] +groups = ["main", "dev"] files = [ {file = "typing_extensions-4.15.0-py3-none-any.whl", hash = "sha256:f0fa19c6845758ab08074a0cfa8b7aecb71c999ca73d62883bc25cc018c4e548"}, {file = "typing_extensions-4.15.0.tar.gz", hash = "sha256:0cea48d173cc12fa28ecabc3b837ea3cf6f38c6d1136f85cbaaf598984861466"}, ] +markers = {main = "python_version == \"3.12\""} [[package]] name = "urllib3" @@ -1891,5 +1926,5 @@ bracex = ">=2.1.1" [metadata] lock-version = "2.1" -python-versions = "^3.14" -content-hash = "3e4d9e69e4fab1af2dfb5fd3fc81e525af569d7d35f34a56c5c5199f6cb46cf4" +python-versions = ">=3.12,<4.0" +content-hash = "8cd17d6641427b87f9ec0e46cf1fd6d4e01dc2363880555854699ee5dd92695b" diff --git a/pyproject.toml b/pyproject.toml index 9211d97..8281d50 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -19,11 +19,13 @@ classifiers=[ "Intended Audience :: Information Technology", "Natural Language :: Russian", "Natural Language :: English", + "Programming Language :: Python :: 3.12", + "Programming Language :: Python :: 3.13", "Programming Language :: Python :: 3.14", ] [tool.poetry.dependencies] -python = "^3.14" +python = ">=3.12,<4.0" httpx = "^0.28.1" [tool.poetry.group.dev.dependencies] @@ -64,7 +66,7 @@ skip_empty = true show_missing = true [tool.mypy] -python_version = "3.14" +python_version = "3.12" strict = true warn_unused_ignores = true warn_redundant_casts = true @@ -75,7 +77,7 @@ packages = ["avito"] exclude = ["tests"] [tool.ruff] -target-version = "py314" +target-version = "py312" line-length = 100 [tool.ruff.lint]