diff --git a/.github/workflows/checks.yml b/.github/workflows/checks.yml index 87d0071..b5bccd4 100644 --- a/.github/workflows/checks.yml +++ b/.github/workflows/checks.yml @@ -65,7 +65,7 @@ jobs: strategy: fail-fast: false matrix: - python-versions: ["3.10", "3.11", "3.12", "3.13"] + python-versions: ["3.10", "3.11", "3.12", "3.13", "3.14"] steps: - name: Check out Repository id: check-out-repository @@ -102,7 +102,7 @@ jobs: strategy: fail-fast: false matrix: - python-versions: ["3.10", "3.11", "3.12", "3.13"] + python-versions: ["3.10", "3.11", "3.12", "3.13", "3.14"] steps: - name: Check out Repository @@ -130,7 +130,7 @@ jobs: strategy: fail-fast: false matrix: - python-versions: ["3.10", "3.11", "3.12", "3.13"] + python-versions: ["3.10", "3.11", "3.12", "3.13", "3.14"] steps: - name: Check out Repository diff --git a/.github/workflows/fast-tests.yml b/.github/workflows/fast-tests.yml index 7f3fc87..649656a 100644 --- a/.github/workflows/fast-tests.yml +++ b/.github/workflows/fast-tests.yml @@ -14,7 +14,7 @@ jobs: strategy: fail-fast: false matrix: - python-versions: ["3.10", "3.11", "3.12", "3.13"] + python-versions: ["3.10", "3.11", "3.12", "3.13", "3.14"] steps: - name: Check out Repository diff --git a/doc/changes/changelog.md b/doc/changes/changelog.md index dc68d80..ff7a87d 100644 --- a/doc/changes/changelog.md +++ b/doc/changes/changelog.md @@ -1,6 +1,7 @@ # 📝 Changes * [unreleased](unreleased.md) +* [1.0.0](changes_1.0.0.md) * [0.16.0](changes_0.16.0.md) * [0.15.0](changes_0.15.0.md) * [0.14.0](changes_0.14.0.md) @@ -26,6 +27,7 @@ hidden: --- unreleased +changes_1.0.0 changes_0.16.0 changes_0.15.0 changes_0.14.0 diff --git a/doc/changes/changes_1.0.0.md b/doc/changes/changes_1.0.0.md new file mode 100644 index 0000000..35cd03f --- /dev/null +++ b/doc/changes/changes_1.0.0.md @@ -0,0 +1,15 @@ +# 1.0.0 - 2026-06-25 + +## Summary + +Added support for Python3.14 + +## Dependencies + +* #163: Added support for Python3.14 + +## Dependency Updates + +### `dev` + +* Updated dependency `pytest-exasol-backend:1.4.1` to `1.5.0` diff --git a/noxconfig.py b/noxconfig.py index 07b8efd..5f8960d 100644 --- a/noxconfig.py +++ b/noxconfig.py @@ -5,5 +5,5 @@ PROJECT_CONFIG = BaseConfig( root_path=Path(__file__).parent, project_name="python_extension_common", - python_versions=("3.10", "3.11", "3.12", "3.13"), + python_versions=("3.10", "3.11", "3.12", "3.13", "3.14"), ) diff --git a/poetry.lock b/poetry.lock index 04d0951..0c54772 100644 --- a/poetry.lock +++ b/poetry.lock @@ -1127,6 +1127,25 @@ typing-extensions = ">=3.7.4.1" all = ["pytz (>=2019.1)"] dates = ["pytz (>=2019.1)"] +[[package]] +name = "exasol-bucketfs" +version = "2.1.0" +description = "BucketFS utilities for the Python programming language" +optional = false +python-versions = "<4.0,>=3.10" +groups = ["main", "dev"] +markers = "python_version >= \"3.12\"" +files = [ + {file = "exasol_bucketfs-2.1.0-py3-none-any.whl", hash = "sha256:82d0f87d756921846ce60b7af112a71a491019aa46976693046399805c303a12"}, + {file = "exasol_bucketfs-2.1.0.tar.gz", hash = "sha256:55583af02e8a65b40bb15bc462e8bcdf1c0195e00f8c1e70148724869fb6da29"}, +] + +[package.dependencies] +attrs = ">=23.2.0" +exasol-saas-api = ">2.0.0,<3.0" +httpx = ">=0.27.0" +requests = ">=2.32.4" + [[package]] name = "exasol-bucketfs" version = "2.2.0" @@ -1134,6 +1153,7 @@ description = "BucketFS utilities for the Python programming language" optional = false python-versions = "<3.14,>=3.10" groups = ["main", "dev"] +markers = "python_version < \"3.12\"" files = [ {file = "exasol_bucketfs-2.2.0-py3-none-any.whl", hash = "sha256:cc1e1331467f64b951ee484fa0e51ba40d1e28bd7963cd09a021b793ba66531c"}, {file = "exasol_bucketfs-2.2.0.tar.gz", hash = "sha256:a66fe0e80756e034adc665dc1bc7f9c2115ecbb4d83ffd214099c35c6c62e539"}, @@ -1156,6 +1176,39 @@ files = [ ] markers = {main = "extra == \"slc-tool\""} +[[package]] +name = "exasol-integration-test-docker-environment" +version = "4.4.1" +description = "Integration Test Docker Environment for Exasol" +optional = false +python-versions = "<3.15,>=3.10" +groups = ["main", "dev"] +files = [ + {file = "exasol_integration_test_docker_environment-4.4.1-py3-none-any.whl", hash = "sha256:1aaaac92ca0165435e617394d3ad2192b629a459356f227ac8ef6cf22bdd9863"}, + {file = "exasol_integration_test_docker_environment-4.4.1.tar.gz", hash = "sha256:0f2cd9247189fdacfd54ab43653d97496b103a03fc7431499c80a38b7b4b315c"}, +] +markers = {main = "python_version >= \"3.12\" and extra == \"slc-tool\"", dev = "python_version >= \"3.12\""} + +[package.dependencies] +click = ">=7.0" +docker = {version = ">=4.0.0,<7.0.0 || >7.0.0", markers = "sys_platform != \"win32\""} +docutils = ">=0.21.2" +exasol-error-reporting = ">=1.0.0,<2.0.0" +fabric = ">=3.0.1,<4.0.0" +gitpython = ">=2.1.0" +humanfriendly = ">=4.18" +importlib_resources = ">=5.4.0" +jinja2 = ">=2.10.1" +jsonpickle = ">=1.1" +luigi = ">=2.8.4" +netaddr = ">=0.7.19" +networkx = ">=2.3" +portalocker = ">=2.7.0,<3.0.0" +pydot = ">=1.4.0" +requests = ">=2.32.4" +simplejson = ">=3.16.0" +"stopwatch.py" = ">=1.0.0" + [[package]] name = "exasol-integration-test-docker-environment" version = "6.2.0" @@ -1167,7 +1220,7 @@ files = [ {file = "exasol_integration_test_docker_environment-6.2.0-py3-none-any.whl", hash = "sha256:6bae833b3b304f2fdb5bbbda70438840583a086b9040f380a799e322718c34bc"}, {file = "exasol_integration_test_docker_environment-6.2.0.tar.gz", hash = "sha256:690960ce28768c371725a394d0b03c1f768cd656c3f3670bc75bce9d10c013f0"}, ] -markers = {main = "extra == \"slc-tool\""} +markers = {main = "python_version < \"3.12\" and extra == \"slc-tool\"", dev = "python_version < \"3.12\""} [package.dependencies] click = ">=7.0" @@ -1209,6 +1262,28 @@ requests = ">=2.32.4,<3.0.0" tenacity = ">=8,<10" types-requests = ">=2.31.0.6,<3.0.0.0" +[[package]] +name = "exasol-script-languages-container-tool" +version = "3.4.1" +description = "Script Languages Container Tool" +optional = false +python-versions = "<4,>=3.10" +groups = ["main", "dev"] +files = [ + {file = "exasol_script_languages_container_tool-3.4.1-py3-none-any.whl", hash = "sha256:d0fabc5a8bfab38c2ad6e13309ebce813051f5e4a13ecfd6e50775bffb733af4"}, + {file = "exasol_script_languages_container_tool-3.4.1.tar.gz", hash = "sha256:43264a85f2dbc6455993923583a0b73a58c5fb7e987852779fd83d89e3c63e2b"}, +] +markers = {main = "python_version >= \"3.12\" and extra == \"slc-tool\"", dev = "python_version >= \"3.12\""} + +[package.dependencies] +exasol-bucketfs = ">=1,<3" +exasol-integration-test-docker-environment = ">=4.1.0,<5.0.0" +importlib_metadata = ">=4.6.0" +importlib-resources = ">=6.4.0" +jsonschema = ">=4.23.0,<5.0.0" +networkx = ">=3.3.0,<4.0.0" +pydantic = ">=2.10.2,<3.0.0" + [[package]] name = "exasol-script-languages-container-tool" version = "4.1.0" @@ -1220,7 +1295,7 @@ files = [ {file = "exasol_script_languages_container_tool-4.1.0-py3-none-any.whl", hash = "sha256:67be6fe190144983b8e1c9f55e850364895b70d5aa770ee8c22411159bcf3d15"}, {file = "exasol_script_languages_container_tool-4.1.0.tar.gz", hash = "sha256:cca58883d576251ea4e5fc7b1eeaf134315cc76d91ada6c646f31c2fd8971bc9"}, ] -markers = {main = "extra == \"slc-tool\""} +markers = {main = "python_version < \"3.12\" and extra == \"slc-tool\"", dev = "python_version < \"3.12\""} [package.dependencies] click = ">=8.2.1,<9" @@ -1244,7 +1319,7 @@ files = [ {file = "exasol_script_languages_package_management-1.3.1-py3-none-any.whl", hash = "sha256:f8a38c8f024dfcb229c08d1de34894d0ab04057d4e513803a510a40531baa59a"}, {file = "exasol_script_languages_package_management-1.3.1.tar.gz", hash = "sha256:833ed226880474aa629b720acc1cc42ca7cc80b464da44b51fd38424ebfdc68b"}, ] -markers = {main = "extra == \"slc-tool\""} +markers = {main = "python_version < \"3.12\" and extra == \"slc-tool\"", dev = "python_version < \"3.12\""} [package.dependencies] click = ">=8.3.2,<9.0.0" @@ -1740,12 +1815,12 @@ version = "9.0.0" description = "Read metadata from Python packages" optional = false python-versions = ">=3.10" -groups = ["dev"] -markers = "python_version < \"3.12\" and platform_machine != \"ppc64le\" and platform_machine != \"s390x\"" +groups = ["main", "dev"] files = [ {file = "importlib_metadata-9.0.0-py3-none-any.whl", hash = "sha256:2d21d1cc5a017bd0559e36150c21c830ab1dc304dedd1b7ea85d20f45ef3edd7"}, {file = "importlib_metadata-9.0.0.tar.gz", hash = "sha256:a4f57ab599e6a2e3016d7595cfd72eb4661a5106e787a95bcc90c7105b831efc"}, ] +markers = {main = "python_version >= \"3.12\" and extra == \"slc-tool\"", dev = "platform_machine != \"ppc64le\" and platform_machine != \"s390x\" or python_version >= \"3.12\""} [package.dependencies] zipp = ">=3.20" @@ -1765,11 +1840,12 @@ version = "7.1.0" description = "Read resources from Python packages" optional = false python-versions = ">=3.10" -groups = ["dev"] +groups = ["main", "dev"] files = [ {file = "importlib_resources-7.1.0-py3-none-any.whl", hash = "sha256:1bd7b48b4088eddb2cd16382150bb515af0bd2c70128194392725f82ad2c96a1"}, {file = "importlib_resources-7.1.0.tar.gz", hash = "sha256:0722d4c6212489c530f2a145a34c0a7a3b4721bc96a15fada5930e2a0b760708"}, ] +markers = {main = "python_version >= \"3.12\" and extra == \"slc-tool\""} [package.extras] check = ["pytest-checkdocs (>=2.14)", "pytest-ruff (>=0.2.1) ; sys_platform != \"cygwin\""] @@ -2593,7 +2669,7 @@ files = [ {file = "networkx-3.4.2-py3-none-any.whl", hash = "sha256:df5d4365b724cf81b8c6a7312509d0c22386097011ad1abe274afd5e9d3bbc5f"}, {file = "networkx-3.4.2.tar.gz", hash = "sha256:307c3669428c5362aab27c8a1260aa8f47c4e91d3891f48be0141738d8d053e1"}, ] -markers = {main = "python_version == \"3.10\" and extra == \"slc-tool\"", dev = "python_version == \"3.10\""} +markers = {main = "(python_version == \"3.10\" or python_version >= \"3.12\") and extra == \"slc-tool\"", dev = "python_version == \"3.10\" or python_version >= \"3.12\""} [package.extras] default = ["matplotlib (>=3.7)", "numpy (>=1.24)", "pandas (>=2.0)", "scipy (>=1.10,!=1.11.0,!=1.11.1)"] @@ -2614,7 +2690,7 @@ files = [ {file = "networkx-3.6.1-py3-none-any.whl", hash = "sha256:d47fbf302e7d9cbbb9e2555a0d267983d2aa476bac30e90dfbe5669bd57f3762"}, {file = "networkx-3.6.1.tar.gz", hash = "sha256:26b7c357accc0c8cde558ad486283728b65b6a95d85ee1cd66bafab4c8168509"}, ] -markers = {main = "python_version >= \"3.11\" and extra == \"slc-tool\"", dev = "python_version >= \"3.11\""} +markers = {main = "python_version == \"3.11\" and extra == \"slc-tool\"", dev = "python_version == \"3.11\""} [package.extras] benchmarking = ["asv", "virtualenv"] @@ -2852,61 +2928,6 @@ files = [ ] markers = {main = "python_version == \"3.11\" and extra == \"slc-tool\"", dev = "python_version == \"3.11\""} -[[package]] -name = "numpy" -version = "2.5.0" -description = "Fundamental package for array computing in Python" -optional = false -python-versions = ">=3.12" -groups = ["main", "dev"] -files = [ - {file = "numpy-2.5.0-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:489780423903667933b4ed6197b6ec3b75ea5dd17d1d8f0f38d798feb6921561"}, - {file = "numpy-2.5.0-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:ece55976ced6bca95a03ae2839e2e5ccffe8eb6a3e7022415645eb154a81e4e6"}, - {file = "numpy-2.5.0-cp312-cp312-macosx_14_0_arm64.whl", hash = "sha256:c83b664b0e6eee9594fa920cf0639d8af796606d3fad6cc70180c87e4b97c7be"}, - {file = "numpy-2.5.0-cp312-cp312-macosx_14_0_x86_64.whl", hash = "sha256:bf80333980bf37f523341ddd72c783f39d6829ec7736b9eb99086388a2d52cc2"}, - {file = "numpy-2.5.0-cp312-cp312-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:a1a4874217b36d5ac8fc876f52e39df56f8182c88463e9e2dceabf7ca8b7efb8"}, - {file = "numpy-2.5.0-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:aaa760137137e8d3c920d27927748215b56014f92667dc9b6c27dfc61249255a"}, - {file = "numpy-2.5.0-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:7174ce8265fc7f7417d171c9ea8fe905220748893ea67a2a7abe726ec331c4b0"}, - {file = "numpy-2.5.0-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:b8c3daaf99de52415d20b42f8e8155c78642cb04207d02f9d317a0dcf1b3fb54"}, - {file = "numpy-2.5.0-cp312-cp312-win32.whl", hash = "sha256:6206db0af545d73d068add6d992279145f158428d1da6cc49adc4b630c5d6ee5"}, - {file = "numpy-2.5.0-cp312-cp312-win_amd64.whl", hash = "sha256:6f2d6873e2940c860a309d21e25b1e69af6aaffdd80aa056b04c16380db1c4f2"}, - {file = "numpy-2.5.0-cp312-cp312-win_arm64.whl", hash = "sha256:a55e1eb2bca2cfd17a16b213c99dfc8502d47b0d494224d2122277d0400935ca"}, - {file = "numpy-2.5.0-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:520e6b8be0a4b65840ac8090d4f51cef4bed66e2b0894d5a520f099adc24a9b2"}, - {file = "numpy-2.5.0-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:146b81cdd3967fdb6beca8ba25f00c58741d8f3cbd797f55af0fbe0bfec3469c"}, - {file = "numpy-2.5.0-cp313-cp313-macosx_14_0_arm64.whl", hash = "sha256:126b88d95e8ff9b00c9e717aa540469f21d6180162f84c0caec51b16215d49cd"}, - {file = "numpy-2.5.0-cp313-cp313-macosx_14_0_x86_64.whl", hash = "sha256:d4313cef1594c5ce46c31b6e54e918338f63f16ee9322304e8c9114d6d81c8bd"}, - {file = "numpy-2.5.0-cp313-cp313-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:750fb097caf26fa878746d9d119f6f9da12dedcbff1eea966c3e3447647c4a9e"}, - {file = "numpy-2.5.0-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:3893adc2dc7c0412ba76777db55a049215d99c9aa3113003be8f49f4f1290ab9"}, - {file = "numpy-2.5.0-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:835e454dd99b238cdc5a3f63bce2371296f5ebc53ca1e0f8e6ddbb6d92a29aab"}, - {file = "numpy-2.5.0-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:6f9836778081a0a3c02a6a21493f3e9f5b311f8d2541934f31f05583dc999ea4"}, - {file = "numpy-2.5.0-cp313-cp313-win32.whl", hash = "sha256:0b525be4744b60bb0557ac872d53ef07d085b5f39622bc579c98d3809d05b988"}, - {file = "numpy-2.5.0-cp313-cp313-win_amd64.whl", hash = "sha256:44353e2878930039db472b99dc353d749826e4010bd4d2a7f835e94a97a5c748"}, - {file = "numpy-2.5.0-cp313-cp313-win_arm64.whl", hash = "sha256:48f54b00711f83a5f796b70c518e8c2b3c5848dda03a54911f23eb68519b9b60"}, - {file = "numpy-2.5.0-cp314-cp314-macosx_10_15_x86_64.whl", hash = "sha256:f27582c55ba4c750b7c58c8faf021d2cd9324a662b466229db8a417b41368af9"}, - {file = "numpy-2.5.0-cp314-cp314-macosx_11_0_arm64.whl", hash = "sha256:28e7137057d551e4a83c4ae414e3451f50568409db7569aacc7f9811ee06a446"}, - {file = "numpy-2.5.0-cp314-cp314-macosx_14_0_arm64.whl", hash = "sha256:e1da54b53e75cd9fcfc23efcc7edab2c6aecf97b6037566d8a0fe804af8ec57c"}, - {file = "numpy-2.5.0-cp314-cp314-macosx_14_0_x86_64.whl", hash = "sha256:694d8f74e156f7fd01179f1aa8faa2f648ab6ae0f70b6c3fe57a03249aea2303"}, - {file = "numpy-2.5.0-cp314-cp314-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:1a7569a7b53c77716f036bb28cb1c91f166a26ec7d9502cd1e4bdfe502fdec22"}, - {file = "numpy-2.5.0-cp314-cp314-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:39a0433bd4086ebd462960cf375e19195bb07b53dc1d87dd5fcf47ad78576f03"}, - {file = "numpy-2.5.0-cp314-cp314-musllinux_1_2_aarch64.whl", hash = "sha256:929f0c79ac38bcbd7154fe631dc907abfeddbcc5027a896bd1f7767323271e7a"}, - {file = "numpy-2.5.0-cp314-cp314-musllinux_1_2_x86_64.whl", hash = "sha256:cc4f247a47bbf070bfd70be53ccdcf47b800af563535e7bbe172322197c30e21"}, - {file = "numpy-2.5.0-cp314-cp314-win32.whl", hash = "sha256:5dc71423499fab3f46f7a7201155ade1669ea101f2f429d332df9e72f8161731"}, - {file = "numpy-2.5.0-cp314-cp314-win_amd64.whl", hash = "sha256:ebb81d9d5443e0309d6c54894c3fbed74ad7da0714352a67b6d773cd189eae73"}, - {file = "numpy-2.5.0-cp314-cp314-win_arm64.whl", hash = "sha256:3b94d0d0deceebfad3e67ae5c0e5eb87371e8f7a0581cd04a779928c2450cf1e"}, - {file = "numpy-2.5.0-cp314-cp314t-macosx_11_0_arm64.whl", hash = "sha256:22f3d43e362d650bc39db1f17851302874a148ca95ba6981c1dfb5fa6862f35b"}, - {file = "numpy-2.5.0-cp314-cp314t-macosx_14_0_arm64.whl", hash = "sha256:243563efb4cd7528a264567e9fd206c87826457322521d06206a00bfa316c927"}, - {file = "numpy-2.5.0-cp314-cp314t-macosx_14_0_x86_64.whl", hash = "sha256:84881d825ca75249b189bbee875fcfe3238aa5c479e6100893cda566e8e86826"}, - {file = "numpy-2.5.0-cp314-cp314t-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:cda12aa4779d42b8771180aba759c96f527d43446d8f380ab59e2b35e8489efd"}, - {file = "numpy-2.5.0-cp314-cp314t-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:1c0121101093d2bd74981b10f8837d78e794a8ff57834eb27179f49e1ba11ac6"}, - {file = "numpy-2.5.0-cp314-cp314t-musllinux_1_2_aarch64.whl", hash = "sha256:d371c92cfa09da00022f501ab67fafaea813d752eb30ac44336d45b1e5b0268a"}, - {file = "numpy-2.5.0-cp314-cp314t-musllinux_1_2_x86_64.whl", hash = "sha256:9990713e9c38154c6861e7547f1e3fc7a87e75ff09bab24ef1cc81d81c2835e9"}, - {file = "numpy-2.5.0-cp314-cp314t-win32.whl", hash = "sha256:edadfbd4794b1086c0d822f81863e8a68fc129d132fd0bb9e31e955d7fbbbdb7"}, - {file = "numpy-2.5.0-cp314-cp314t-win_amd64.whl", hash = "sha256:f7e5fa4382967ae6548bd2f174219afb908e294b0d5f625af01166edd5f7d9aa"}, - {file = "numpy-2.5.0-cp314-cp314t-win_arm64.whl", hash = "sha256:016623417bb330d719d579daf2d6b9a01ddc52e41a9ed61a47f39fde46dcd865"}, - {file = "numpy-2.5.0.tar.gz", hash = "sha256:5a129578019311b6e56bdd714250f19b518f7dceeeb8d1af5490f4942d3f891c"}, -] -markers = {main = "python_version >= \"3.12\" and extra == \"slc-tool\"", dev = "python_version >= \"3.12\""} - [[package]] name = "packageurl-python" version = "0.17.6" @@ -3001,13 +3022,12 @@ files = [ {file = "pandas-2.3.3-cp39-cp39-win_amd64.whl", hash = "sha256:d3e28b3e83862ccf4d85ff19cf8c20b2ae7e503881711ff2d534dc8f761131aa"}, {file = "pandas-2.3.3.tar.gz", hash = "sha256:e05e1af93b977f7eafa636d043f9f94c7ee3ac81af99c13508215942e64c993b"}, ] -markers = {main = "extra == \"slc-tool\""} +markers = {main = "python_version < \"3.12\" and extra == \"slc-tool\"", dev = "python_version < \"3.12\""} [package.dependencies] numpy = [ {version = ">=1.22.4", markers = "python_version < \"3.11\""}, {version = ">=1.23.2", markers = "python_version == \"3.11\""}, - {version = ">=1.26.0", markers = "python_version >= \"3.12\""}, ] python-dateutil = ">=2.8.2" pytz = ">=2020.1" @@ -3671,20 +3691,20 @@ dev = ["argcomplete", "attrs (>=19.2)", "hypothesis (>=3.56)", "mock", "requests [[package]] name = "pytest-exasol-backend" -version = "1.4.1" +version = "1.5.0" description = "" optional = false -python-versions = "<3.14,>=3.10" +python-versions = "<3.15,>=3.10" groups = ["dev"] files = [ - {file = "pytest_exasol_backend-1.4.1-py3-none-any.whl", hash = "sha256:208b5f6e3da31105a8e692c6aaa04775d3f2d29e3985f69092e2ed805c3285ca"}, - {file = "pytest_exasol_backend-1.4.1.tar.gz", hash = "sha256:c89af2b959377cc2ac6fda81b6d433ecc66e9e9b6608f2a0048f3f1890223470"}, + {file = "pytest_exasol_backend-1.5.0-py3-none-any.whl", hash = "sha256:5dcf9acffbb16f5fc6cab9886749a46574023dce47410ee1f91c8f1f14c9f111"}, + {file = "pytest_exasol_backend-1.5.0.tar.gz", hash = "sha256:fa8b46be7b112ea6f8cce31f7e2680c8eab6ec75605eb928bb951a80cb369d32"}, ] [package.dependencies] exasol-integration-test-docker-environment = ">=4.3,<7" exasol-saas-api = ">=2.8,<3" -pytest = ">=7,<10" +pytest = ">=9,<10" [[package]] name = "python-daemon" @@ -3810,7 +3830,7 @@ files = [ {file = "pytz-2026.2-py2.py3-none-any.whl", hash = "sha256:04156e608bee23d3792fd45c94ae47fae1036688e75032eea2e3bf0323d1f126"}, {file = "pytz-2026.2.tar.gz", hash = "sha256:0e60b47b29f21574376f218fe21abc009894a2321ea16c6754f3cad6eb7cdd6a"}, ] -markers = {main = "extra == \"slc-tool\""} +markers = {main = "python_version < \"3.12\" and extra == \"slc-tool\"", dev = "python_version < \"3.12\""} [[package]] name = "pyupgrade" @@ -3954,7 +3974,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 = {main = "extra == \"slc-tool\""} +markers = {main = "python_version < \"3.12\" and extra == \"slc-tool\""} [[package]] name = "readme-renderer" @@ -4370,7 +4390,7 @@ description = "C version of reader, parser and emitter for ruamel.yaml derived f optional = false python-versions = ">=3.9" groups = ["dev"] -markers = "platform_python_implementation == \"CPython\"" +markers = "python_version < \"3.14\" and platform_python_implementation == \"CPython\"" files = [ {file = "ruamel_yaml_clib-0.2.15-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:88eea8baf72f0ccf232c22124d122a7f26e8a24110a0273d9bcddcb0f7e1fa03"}, {file = "ruamel_yaml_clib-0.2.15-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:9b6f7d74d094d1f3a4e157278da97752f16ee230080ae331fcc219056ca54f77"}, @@ -5085,7 +5105,7 @@ description = "Standard library imghdr redistribution. \"dead battery\"." optional = false python-versions = "*" groups = ["dev"] -markers = "python_version == \"3.13\"" +markers = "python_version >= \"3.13\"" files = [ {file = "standard_imghdr-3.10.14-py3-none-any.whl", hash = "sha256:cdf6883163349624dee9a81d2853a20260337c4cd41c04e99c082e01833a08e2"}, {file = "standard_imghdr-3.10.14.tar.gz", hash = "sha256:2598fe2e7c540dbda34b233295e10957ab8dc8ac6f3bd9eaa8d38be167232e52"}, @@ -5142,7 +5162,7 @@ files = [ {file = "tabulate-0.10.0-py3-none-any.whl", hash = "sha256:f0b0622e567335c8fabaaa659f1b33bcb6ddfe2e496071b743aa113f8774f2d3"}, {file = "tabulate-0.10.0.tar.gz", hash = "sha256:e2cfde8f79420f6deeffdeda9aaec3b6bc5abce947655d17ac662b126e48a60d"}, ] -markers = {main = "extra == \"slc-tool\""} +markers = {main = "python_version < \"3.12\" and extra == \"slc-tool\""} [package.extras] widechars = ["wcwidth"] @@ -5351,7 +5371,7 @@ files = [ {file = "types_pyyaml-6.0.12.20260518-py3-none-any.whl", hash = "sha256:d2150f75a231c9fe9c7463bd29487d93e60bac90400287351384bc2284eba7cd"}, {file = "types_pyyaml-6.0.12.20260518.tar.gz", hash = "sha256:d917f83fb38462550338c1297faedd860b3ec83912b96b1e3d73255f7473e466"}, ] -markers = {main = "extra == \"slc-tool\""} +markers = {main = "python_version < \"3.12\" and extra == \"slc-tool\"", dev = "python_version < \"3.12\""} [[package]] name = "types-requests" @@ -5408,7 +5428,7 @@ files = [ {file = "tzdata-2026.2-py2.py3-none-any.whl", hash = "sha256:bbe9af844f658da81a5f95019480da3a89415801f6cc966806612cc7169bffe7"}, {file = "tzdata-2026.2.tar.gz", hash = "sha256:9173fde7d80d9018e02a662e168e5a2d04f87c41ea174b139fbef642eda62d10"}, ] -markers = {main = "extra == \"slc-tool\""} +markers = {main = "python_version < \"3.12\" and extra == \"slc-tool\"", dev = "python_version < \"3.12\""} [[package]] name = "urllib3" @@ -5598,12 +5618,12 @@ version = "4.1.0" description = "Backport of pathlib-compatible object wrapper for zip files" optional = false python-versions = ">=3.10" -groups = ["dev"] -markers = "python_version < \"3.12\" and platform_machine != \"ppc64le\" and platform_machine != \"s390x\"" +groups = ["main", "dev"] files = [ {file = "zipp-4.1.0-py3-none-any.whl", hash = "sha256:25ad4e16390cd314347dd8f1de67a2ac538ae658ed4ab9db16029c07c188e97f"}, {file = "zipp-4.1.0.tar.gz", hash = "sha256:4cb57381f544315db7688e976e922a2b18cdb513d21cc194eb42232ba2a3e602"}, ] +markers = {main = "python_version >= \"3.12\" and extra == \"slc-tool\"", dev = "platform_machine != \"ppc64le\" and platform_machine != \"s390x\" or python_version >= \"3.12\""} [package.extras] check = ["pytest-checkdocs (>=2.14)", "pytest-ruff (>=0.2.1) ; sys_platform != \"cygwin\""] @@ -5639,5 +5659,5 @@ slc-tool = ["exasol-script-languages-container-tool"] [metadata] lock-version = "2.1" -python-versions = ">=3.10,<3.14" -content-hash = "23924b77dc145202ae85b6795b30150712a7b8b5105ce56492983d73f6e62b84" +python-versions = ">=3.10,<3.15" +content-hash = "85954a9c44f75dfd2da9c508241c7210a2fbc9d91192fe56e69b1022ccf47ef9" diff --git a/pyproject.toml b/pyproject.toml index cfacdd4..490b923 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -1,9 +1,9 @@ [project] name = "exasol-python-extension-common" -version = "0.16.0" +version = "1.0.0" description = "A collection of common utilities for Exasol extensions." authors = [{ name = "Mikhail Beck", email = "mikhail.beck@exasol.com" }] -requires-python = ">=3.10,<3.14" +requires-python = ">=3.10,<3.15" readme = "README.md" license = "MIT" classifiers = [ @@ -12,6 +12,7 @@ classifiers = [ "Programming Language :: Python :: 3.11", "Programming Language :: Python :: 3.12", "Programming Language :: Python :: 3.13", + "Programming Language :: Python :: 3.14", ] dependencies = [ "pyexasol>=0.25.0, <3",