From 2bf80d459ebdea10ecabf270450a0e9b2dd98b30 Mon Sep 17 00:00:00 2001 From: Michael Makukha Date: Mon, 5 Aug 2024 13:16:15 +0300 Subject: [PATCH] Test with Python 3.13.0rc1 (#25) * Remove Brewfile.lock.json * Add support for Python 3.13.0rc1 * Update dev pipeline --- .bumpversion.toml | 2 +- .gitignore | 1 + Brewfile.lock.json | 252 --------------------------------------------- README.md | 4 +- Taskfile.yml | 20 +++- src/caseutil.py | 2 +- tox.ini | 14 ++- 7 files changed, 33 insertions(+), 262 deletions(-) delete mode 100644 Brewfile.lock.json diff --git a/.bumpversion.toml b/.bumpversion.toml index 0d610f0..3657726 100644 --- a/.bumpversion.toml +++ b/.bumpversion.toml @@ -1,5 +1,5 @@ [tool.bumpversion] -current_version = "0.6.1" +current_version = "0.6.2" allow_dirty = true [[tool.bumpversion.files]] diff --git a/.gitignore b/.gitignore index ffd705e..5881ccd 100644 --- a/.gitignore +++ b/.gitignore @@ -1,3 +1,4 @@ +Brewfile.lock.json dist/ .idea/ .pdm-build/ diff --git a/Brewfile.lock.json b/Brewfile.lock.json deleted file mode 100644 index 69bf2ab..0000000 --- a/Brewfile.lock.json +++ /dev/null @@ -1,252 +0,0 @@ -{ - "entries": { - "brew": { - "pdm": { - "version": "2.17.3", - "bottle": { - "rebuild": 0, - "root_url": "https://ghcr.io/v2/homebrew/core", - "files": { - "arm64_sonoma": { - "cellar": ":any_skip_relocation", - "url": "https://ghcr.io/v2/homebrew/core/pdm/blobs/sha256:d842c1c53b05426e7a692170d867af85a4fb670fb50983f6f51d5421620860f1", - "sha256": "d842c1c53b05426e7a692170d867af85a4fb670fb50983f6f51d5421620860f1" - }, - "arm64_ventura": { - "cellar": ":any_skip_relocation", - "url": "https://ghcr.io/v2/homebrew/core/pdm/blobs/sha256:bc15a8b800b2bed910cedd59ba23a5a71c6540d3d89fb91904561db6e75f2b19", - "sha256": "bc15a8b800b2bed910cedd59ba23a5a71c6540d3d89fb91904561db6e75f2b19" - }, - "arm64_monterey": { - "cellar": ":any_skip_relocation", - "url": "https://ghcr.io/v2/homebrew/core/pdm/blobs/sha256:44b0517d6308a391ee11a9b7e01e364149992a75cae017b2ebeac8454c767b07", - "sha256": "44b0517d6308a391ee11a9b7e01e364149992a75cae017b2ebeac8454c767b07" - }, - "sonoma": { - "cellar": ":any_skip_relocation", - "url": "https://ghcr.io/v2/homebrew/core/pdm/blobs/sha256:8586635e0ff1628031de4aaeaae57d858e88a87e5177cf2f2dee64acaa4d5bed", - "sha256": "8586635e0ff1628031de4aaeaae57d858e88a87e5177cf2f2dee64acaa4d5bed" - }, - "ventura": { - "cellar": ":any_skip_relocation", - "url": "https://ghcr.io/v2/homebrew/core/pdm/blobs/sha256:f442373308f31b6e0a08c657a40ba3c076841ea965037145c2976163d8c42438", - "sha256": "f442373308f31b6e0a08c657a40ba3c076841ea965037145c2976163d8c42438" - }, - "monterey": { - "cellar": ":any_skip_relocation", - "url": "https://ghcr.io/v2/homebrew/core/pdm/blobs/sha256:73754cbcd56b4ced3dc151ecc1f725364d2abddad9df8abf74632ddb339a3346", - "sha256": "73754cbcd56b4ced3dc151ecc1f725364d2abddad9df8abf74632ddb339a3346" - }, - "x86_64_linux": { - "cellar": ":any_skip_relocation", - "url": "https://ghcr.io/v2/homebrew/core/pdm/blobs/sha256:b6235de62bf8e2a251f949e4886378b92447df20e6f79cbf1073e8e62d287b2a", - "sha256": "b6235de62bf8e2a251f949e4886378b92447df20e6f79cbf1073e8e62d287b2a" - } - } - } - }, - "tox": { - "version": "4.16.0", - "bottle": { - "rebuild": 0, - "root_url": "https://ghcr.io/v2/homebrew/core", - "files": { - "arm64_sonoma": { - "cellar": ":any_skip_relocation", - "url": "https://ghcr.io/v2/homebrew/core/tox/blobs/sha256:c0725abf571c05f07e535b7b402596124b63f0c09057245755c1edc8bf6309ef", - "sha256": "c0725abf571c05f07e535b7b402596124b63f0c09057245755c1edc8bf6309ef" - }, - "arm64_ventura": { - "cellar": ":any_skip_relocation", - "url": "https://ghcr.io/v2/homebrew/core/tox/blobs/sha256:c0725abf571c05f07e535b7b402596124b63f0c09057245755c1edc8bf6309ef", - "sha256": "c0725abf571c05f07e535b7b402596124b63f0c09057245755c1edc8bf6309ef" - }, - "arm64_monterey": { - "cellar": ":any_skip_relocation", - "url": "https://ghcr.io/v2/homebrew/core/tox/blobs/sha256:c0725abf571c05f07e535b7b402596124b63f0c09057245755c1edc8bf6309ef", - "sha256": "c0725abf571c05f07e535b7b402596124b63f0c09057245755c1edc8bf6309ef" - }, - "sonoma": { - "cellar": ":any_skip_relocation", - "url": "https://ghcr.io/v2/homebrew/core/tox/blobs/sha256:15eebb0187595aee905d7b787afd50c10d3fa8ba93990aed0f42eb4696cdb9ad", - "sha256": "15eebb0187595aee905d7b787afd50c10d3fa8ba93990aed0f42eb4696cdb9ad" - }, - "ventura": { - "cellar": ":any_skip_relocation", - "url": "https://ghcr.io/v2/homebrew/core/tox/blobs/sha256:15eebb0187595aee905d7b787afd50c10d3fa8ba93990aed0f42eb4696cdb9ad", - "sha256": "15eebb0187595aee905d7b787afd50c10d3fa8ba93990aed0f42eb4696cdb9ad" - }, - "monterey": { - "cellar": ":any_skip_relocation", - "url": "https://ghcr.io/v2/homebrew/core/tox/blobs/sha256:15eebb0187595aee905d7b787afd50c10d3fa8ba93990aed0f42eb4696cdb9ad", - "sha256": "15eebb0187595aee905d7b787afd50c10d3fa8ba93990aed0f42eb4696cdb9ad" - }, - "x86_64_linux": { - "cellar": ":any_skip_relocation", - "url": "https://ghcr.io/v2/homebrew/core/tox/blobs/sha256:97756a56596b220232be07a2249133228fe51a72575afad3ebf51998c7e5a32d", - "sha256": "97756a56596b220232be07a2249133228fe51a72575afad3ebf51998c7e5a32d" - } - } - } - }, - "zlib": { - "version": "1.3.1", - "bottle": { - "rebuild": 0, - "root_url": "https://ghcr.io/v2/homebrew/core", - "files": { - "arm64_sonoma": { - "cellar": ":any", - "url": "https://ghcr.io/v2/homebrew/core/zlib/blobs/sha256:f867540472a59ab3fb1201625df546593e5fae2e98948c4c16c6154b0468b682", - "sha256": "f867540472a59ab3fb1201625df546593e5fae2e98948c4c16c6154b0468b682" - }, - "arm64_ventura": { - "cellar": ":any", - "url": "https://ghcr.io/v2/homebrew/core/zlib/blobs/sha256:9033eedbd240076116fea9fa181882e75edee7fe0c5d2e3850258a185c52792f", - "sha256": "9033eedbd240076116fea9fa181882e75edee7fe0c5d2e3850258a185c52792f" - }, - "arm64_monterey": { - "cellar": ":any", - "url": "https://ghcr.io/v2/homebrew/core/zlib/blobs/sha256:ebf10e203575beb64d6a8637ec2dc31774fa3141cfccab8ae7039f88b9efa7f6", - "sha256": "ebf10e203575beb64d6a8637ec2dc31774fa3141cfccab8ae7039f88b9efa7f6" - }, - "sonoma": { - "cellar": ":any", - "url": "https://ghcr.io/v2/homebrew/core/zlib/blobs/sha256:217f4245cd1da65a3388f512530089f526cd63a38d49ee5f29a90576dfeb3bb7", - "sha256": "217f4245cd1da65a3388f512530089f526cd63a38d49ee5f29a90576dfeb3bb7" - }, - "ventura": { - "cellar": ":any", - "url": "https://ghcr.io/v2/homebrew/core/zlib/blobs/sha256:6012d7831245716d8507da3d1eb14ad274f8aa0b71b59275fe6bbbd6cebd787f", - "sha256": "6012d7831245716d8507da3d1eb14ad274f8aa0b71b59275fe6bbbd6cebd787f" - }, - "monterey": { - "cellar": ":any", - "url": "https://ghcr.io/v2/homebrew/core/zlib/blobs/sha256:56bbfa3d7bd6a5ccf17ffa53ab926e67f24e74bd64b4740b56fd96c312e37c44", - "sha256": "56bbfa3d7bd6a5ccf17ffa53ab926e67f24e74bd64b4740b56fd96c312e37c44" - }, - "x86_64_linux": { - "cellar": ":any_skip_relocation", - "url": "https://ghcr.io/v2/homebrew/core/zlib/blobs/sha256:38f2469db2ce63b70855a98e5ee27b5b5a92874e52542cbdc0b230bba1e7195f", - "sha256": "38f2469db2ce63b70855a98e5ee27b5b5a92874e52542cbdc0b230bba1e7195f" - } - } - } - }, - "pyenv": { - "version": "2.4.8", - "bottle": { - "rebuild": 0, - "root_url": "https://ghcr.io/v2/homebrew/core", - "files": { - "arm64_sonoma": { - "cellar": ":any", - "url": "https://ghcr.io/v2/homebrew/core/pyenv/blobs/sha256:45459a58894d865fd97cc43dbb4287a8d3f5265e1d3c3ac592c74ecba39c3f0c", - "sha256": "45459a58894d865fd97cc43dbb4287a8d3f5265e1d3c3ac592c74ecba39c3f0c" - }, - "arm64_ventura": { - "cellar": ":any", - "url": "https://ghcr.io/v2/homebrew/core/pyenv/blobs/sha256:02d6d5e67a592310ee4ab8f0405ba63a7db910f56967db15a682d42c5aabad94", - "sha256": "02d6d5e67a592310ee4ab8f0405ba63a7db910f56967db15a682d42c5aabad94" - }, - "arm64_monterey": { - "cellar": ":any", - "url": "https://ghcr.io/v2/homebrew/core/pyenv/blobs/sha256:7b985c2ff3d7506779b65a2a9661486de02b582dc4e690f81e7e01dbe2278ed4", - "sha256": "7b985c2ff3d7506779b65a2a9661486de02b582dc4e690f81e7e01dbe2278ed4" - }, - "sonoma": { - "cellar": ":any", - "url": "https://ghcr.io/v2/homebrew/core/pyenv/blobs/sha256:dba07d3dd1836c8adb0125e2657ba0fc71c54faab569b84d49e6de41d675691e", - "sha256": "dba07d3dd1836c8adb0125e2657ba0fc71c54faab569b84d49e6de41d675691e" - }, - "ventura": { - "cellar": ":any", - "url": "https://ghcr.io/v2/homebrew/core/pyenv/blobs/sha256:e09ad870f5ba2196d07e15474c7a3979792813d0ad2c157bf868e19a18f52201", - "sha256": "e09ad870f5ba2196d07e15474c7a3979792813d0ad2c157bf868e19a18f52201" - }, - "monterey": { - "cellar": ":any", - "url": "https://ghcr.io/v2/homebrew/core/pyenv/blobs/sha256:467da6451af0f41b32cd1d851573f059e53c9ed3f23cbd9ccc0c356bd341989f", - "sha256": "467da6451af0f41b32cd1d851573f059e53c9ed3f23cbd9ccc0c356bd341989f" - }, - "x86_64_linux": { - "cellar": ":any_skip_relocation", - "url": "https://ghcr.io/v2/homebrew/core/pyenv/blobs/sha256:7020e8bbede18f41c3e3a1520d845c2675f50fa8b758e020b044980d5aa2e13d", - "sha256": "7020e8bbede18f41c3e3a1520d845c2675f50fa8b758e020b044980d5aa2e13d" - } - } - } - }, - "yq": { - "version": "4.44.2", - "bottle": { - "rebuild": 0, - "root_url": "https://ghcr.io/v2/homebrew/core", - "files": { - "arm64_sonoma": { - "cellar": ":any_skip_relocation", - "url": "https://ghcr.io/v2/homebrew/core/yq/blobs/sha256:977679430d5dafca5fcb26f8c0f085ca4d6b0378a8ba6e948a4bf77ac210093d", - "sha256": "977679430d5dafca5fcb26f8c0f085ca4d6b0378a8ba6e948a4bf77ac210093d" - }, - "arm64_ventura": { - "cellar": ":any_skip_relocation", - "url": "https://ghcr.io/v2/homebrew/core/yq/blobs/sha256:398c8ab340dbff5808bbd4b03b9abe6c6c2898577cd1a01d276bee8750749519", - "sha256": "398c8ab340dbff5808bbd4b03b9abe6c6c2898577cd1a01d276bee8750749519" - }, - "arm64_monterey": { - "cellar": ":any_skip_relocation", - "url": "https://ghcr.io/v2/homebrew/core/yq/blobs/sha256:308f642333ed2b98edc08cd9949a4be30b68077e4a094cc44388f1a5c42e5e5c", - "sha256": "308f642333ed2b98edc08cd9949a4be30b68077e4a094cc44388f1a5c42e5e5c" - }, - "sonoma": { - "cellar": ":any_skip_relocation", - "url": "https://ghcr.io/v2/homebrew/core/yq/blobs/sha256:6e5ef90594c34eaff5beb3474d28a12dc593f63695518b2e762ef837323a6ffa", - "sha256": "6e5ef90594c34eaff5beb3474d28a12dc593f63695518b2e762ef837323a6ffa" - }, - "ventura": { - "cellar": ":any_skip_relocation", - "url": "https://ghcr.io/v2/homebrew/core/yq/blobs/sha256:1ffca458716ecbce38c8c66758af3dc3b2e365299305ba5c5ce9e5fa604ffd61", - "sha256": "1ffca458716ecbce38c8c66758af3dc3b2e365299305ba5c5ce9e5fa604ffd61" - }, - "monterey": { - "cellar": ":any_skip_relocation", - "url": "https://ghcr.io/v2/homebrew/core/yq/blobs/sha256:03059d9e8e1fd024e4dd27d72e82b2f5b38fae67a0d0c0e72d8fd79ac68a337c", - "sha256": "03059d9e8e1fd024e4dd27d72e82b2f5b38fae67a0d0c0e72d8fd79ac68a337c" - }, - "x86_64_linux": { - "cellar": ":any_skip_relocation", - "url": "https://ghcr.io/v2/homebrew/core/yq/blobs/sha256:03a1e8274841cb3122204e9e637bcf81b393de0efd8cc17a3201dea362a29808", - "sha256": "03a1e8274841cb3122204e9e637bcf81b393de0efd8cc17a3201dea362a29808" - } - } - } - } - }, - "cask": { - "alacritty": { - "version": "0.13.2", - "options": { - "full_name": "alacritty" - } - }, - "font-jetbrains-mono-nerd-font": { - "version": "3.2.1", - "options": { - "full_name": "font-jetbrains-mono-nerd-font" - } - } - } - }, - "system": { - "macos": { - "monterey": { - "HOMEBREW_VERSION": "4.3.12", - "HOMEBREW_PREFIX": "/usr/local", - "Homebrew/homebrew-core": "api", - "CLT": "14.2.0.0.1.1668646533", - "Xcode": "14.2", - "macOS": "12.7.5" - } - } - } -} diff --git a/README.md b/README.md index 520ddb3..74a9c9d 100644 --- a/README.md +++ b/README.md @@ -1,7 +1,7 @@ # caseutil ⇄ 🐍🐫🍢 [![license](https://img.shields.io/github/license/makukha/caseutil.svg)](https://github.com/makukha/caseutil/blob/main/LICENSE) -[![Tests](https://raw.githubusercontent.com/makukha/caseutil/0.6.1/docs/badge/tests.svg)](https://github.com/makukha/caseutil) -[![Coverage](https://raw.githubusercontent.com/makukha/caseutil/0.6.1/docs/badge/coverage.svg)](https://github.com/makukha/caseutil) +[![Tests](https://raw.githubusercontent.com/makukha/caseutil/0.6.2/docs/badge/tests.svg)](https://github.com/makukha/caseutil) +[![Coverage](https://raw.githubusercontent.com/makukha/caseutil/0.6.2/docs/badge/coverage.svg)](https://github.com/makukha/caseutil) [![pypi](https://img.shields.io/pypi/v/caseutil.svg)](https://pypi.python.org/pypi/caseutil) [![versions](https://img.shields.io/pypi/pyversions/caseutil.svg)](https://pypi.org/project/caseutil) diff --git a/Taskfile.yml b/Taskfile.yml index 445cb17..6fc7ac4 100644 --- a/Taskfile.yml +++ b/Taskfile.yml @@ -1,5 +1,8 @@ version: '3' +vars: + GET_PYTHON_VERSIONS: tox --listenvs | sed -e 's/^py//' | xargs echo + tasks: init: @@ -14,12 +17,10 @@ tasks: sources: - tox.ini vars: - VERSIONS: - sh: > - sed -ne '/^env_list/ s/^.*{\(.*\)}.*/\1/; s/,/ /gp' < tox.ini + PYTHON_VERSIONS: {sh: '{{.GET_PYTHON_VERSIONS}}'} cmds: - cmd: pyenv install --skip-existing {{.ITEM}} - for: {var: VERSIONS} + for: {var: PYTHON_VERSIONS} install: desc: Install dev python environment. @@ -53,3 +54,14 @@ tasks: desc: Publish package on PyPi. cmds: - pdm publish + + check:python-versions: + desc: Check python versions available to pyenv. + vars: + PYTHON_VERSIONS: {sh: '{{.GET_PYTHON_VERSIONS}}'} + cmds: + - brew upgrade --quiet pyenv + - cmd: echo {{.ITEM}}; pyenv install --list | grep " $(echo {{.ITEM}} | cut -d. -f1-2)" | tac + for: {var: PYTHON_VERSIONS} + silent: true + diff --git a/src/caseutil.py b/src/caseutil.py index ff63ecb..e98297e 100644 --- a/src/caseutil.py +++ b/src/caseutil.py @@ -1,7 +1,7 @@ """ Case convert and verify for Python: snake_case, camelCase, kebab-case, and more. """ -__version__ = '0.6.1' +__version__ = '0.6.2' from argparse import ArgumentParser from io import TextIOBase diff --git a/tox.ini b/tox.ini index 4170492..1423991 100644 --- a/tox.ini +++ b/tox.ini @@ -1,10 +1,20 @@ [tox] # see https://devguide.python.org/versions/ -env_list = py{3.13.0b4,3.12.4,3.11.9,3.10.14,3.9.19,3.8.19,3.7.17,3.6.15,3.5.10,2.7.18} +env_list = + py2.7.18 + py3.5.10 + py3.6.15 + py3.7.17 + py3.8.19 + py3.9.19 + py3.10.14 + py3.11.9 + py3.12.4 + py3.13.0rc1 setenv = VIRTUALENV_DISCOVERY=pyenv [testenv] -package = externals +package = external allowlist_externals = sh commands = sh -c 'python -m doctest tests/test_*.txt'