diff --git a/.bumpversion.cfg b/.bumpversion.cfg deleted file mode 100644 index 518bb2a4..00000000 --- a/.bumpversion.cfg +++ /dev/null @@ -1,15 +0,0 @@ -[bumpversion] -current_version = 0.19.5 -tag = True -tag_name = {new_version} -commit = True -message = Version {new_version} -parse = (?P\d+)\.(?P\d+)\.(?P\d+) -serialize = - {major}.{minor}.{patch} - -[bumpversion:file:openapi_core/__init__.py] - -[bumpversion:file:pyproject.toml] -search = version = "{current_version}" -replace = version = "{new_version}" diff --git a/Makefile b/Makefile index 22859444..9386ec8f 100644 --- a/Makefile +++ b/Makefile @@ -38,12 +38,3 @@ docs-cleanup: @rm -rf docs_build cleanup: dist-cleanup test-cleanup - -release/patch: - @bump2version patch - -release/minor: - @bump2version minor - -release/major: - @bump2version major diff --git a/poetry.lock b/poetry.lock index b86ffcb3..02b0f5de 100644 --- a/poetry.lock +++ b/poetry.lock @@ -392,18 +392,6 @@ files = [ {file = "blinker-1.7.0.tar.gz", hash = "sha256:e6820ff6fa4e4d1d8e2747c2283749c3f547e4fee112b98555cdcdae32996182"}, ] -[[package]] -name = "bump2version" -version = "1.0.1" -description = "Version-bump your software with a single command!" -optional = false -python-versions = ">=3.5" -groups = ["dev"] -files = [ - {file = "bump2version-1.0.1-py2.py3-none-any.whl", hash = "sha256:37f927ea17cde7ae2d7baf832f8e80ce3777624554a653006c9144f8017fe410"}, - {file = "bump2version-1.0.1.tar.gz", hash = "sha256:762cb2bfad61f4ec8e2bdf452c7c267416f8c70dd9ecb1653fd0bbb01fa936e6"}, -] - [[package]] name = "certifi" version = "2024.7.4" @@ -528,6 +516,23 @@ files = [ {file = "charset_normalizer-3.3.2-py3-none-any.whl", hash = "sha256:3e4d1f6587322d2788836a99c69062fbb091331ec940e02d12d179c1d53e25fc"}, ] +[[package]] +name = "cli-ui" +version = "0.19.0" +description = "Build Nice User Interfaces In The Terminal" +optional = false +python-versions = "<4.0,>=3.9" +groups = ["dev"] +files = [ + {file = "cli_ui-0.19.0-py3-none-any.whl", hash = "sha256:1cf1b93328f7377730db29507e10bcb29ccc1427ceef45714b522d1f2055e7cd"}, + {file = "cli_ui-0.19.0.tar.gz", hash = "sha256:59cdab0c6a2a6703c61b31cb75a1943076888907f015fffe15c5a8eb41a933aa"}, +] + +[package.dependencies] +colorama = ">=0.4.1,<0.5.0" +tabulate = ">=0.9.0,<0.10.0" +unidecode = ">=1.3.6,<2.0.0" + [[package]] name = "click" version = "8.1.7" @@ -554,7 +559,7 @@ files = [ {file = "colorama-0.4.6-py2.py3-none-any.whl", hash = "sha256:4f1d9991f5acc0ca119f9d443620b77f9d6b33703e51011c16baf57afb285fc6"}, {file = "colorama-0.4.6.tar.gz", hash = "sha256:08695f5cb7ed6e0531a20572697297273c47b8cae5a63ffc6d6ed5c201be6e44"}, ] -markers = {main = "platform_system == \"Windows\"", dev = "platform_system == \"Windows\" or sys_platform == \"win32\""} +markers = {main = "platform_system == \"Windows\""} [[package]] name = "coverage" @@ -699,6 +704,17 @@ files = [ [package.dependencies] django = ">=4.2" +[[package]] +name = "docopt" +version = "0.6.2" +description = "Pythonic argument parser, that will make you smile" +optional = false +python-versions = "*" +groups = ["dev"] +files = [ + {file = "docopt-0.6.2.tar.gz", hash = "sha256:49b3a825280bd66b3aa83585ef59c4a8c82f2c8a522dbe754a8bc8d08c85c491"}, +] + [[package]] name = "exceptiongroup" version = "1.1.3" @@ -2683,6 +2699,18 @@ files = [ {file = "rpds_py-0.27.1.tar.gz", hash = "sha256:26a1c73171d10b7acccbded82bf6a586ab8203601e565badc74bbbf8bc5a10f8"}, ] +[[package]] +name = "schema" +version = "0.7.8" +description = "Simple data validation library" +optional = false +python-versions = "*" +groups = ["dev"] +files = [ + {file = "schema-0.7.8-py2.py3-none-any.whl", hash = "sha256:00bd977fadc7d9521bf289850cd8a8aa5f4948f575476b8daaa5c1b57af2dce1"}, + {file = "schema-0.7.8.tar.gz", hash = "sha256:e86cc08edd6fe6e2522648f4e47e3a31920a76e82cce8937535422e310862ab5"}, +] + [[package]] name = "setuptools" version = "78.1.1" @@ -2775,6 +2803,39 @@ files = [ {file = "strict-rfc3339-0.7.tar.gz", hash = "sha256:5cad17bedfc3af57b399db0fed32771f18fc54bbd917e85546088607ac5e1277"}, ] +[[package]] +name = "tabulate" +version = "0.9.0" +description = "Pretty-print tabular data" +optional = false +python-versions = ">=3.7" +groups = ["dev"] +files = [ + {file = "tabulate-0.9.0-py3-none-any.whl", hash = "sha256:024ca478df22e9340661486f85298cff5f6dcdba14f3813e8830015b9ed1948f"}, + {file = "tabulate-0.9.0.tar.gz", hash = "sha256:0095b12bf5966de529c0feb1fa08671671b3368eec77d7ef7ab114be2c068b3c"}, +] + +[package.extras] +widechars = ["wcwidth"] + +[[package]] +name = "tbump" +version = "6.11.0" +description = "Bump software releases" +optional = false +python-versions = ">=3.7,<4.0" +groups = ["dev"] +files = [ + {file = "tbump-6.11.0-py3-none-any.whl", hash = "sha256:6b181fe6f3ae84ce0b9af8cc2009a8bca41ded34e73f623a7413b9684f1b4526"}, + {file = "tbump-6.11.0.tar.gz", hash = "sha256:385e710eedf0a8a6ff959cf1e9f3cfd17c873617132fc0ec5f629af0c355c870"}, +] + +[package.dependencies] +cli-ui = ">=0.10.3" +docopt = ">=0.6.2,<0.7.0" +schema = ">=0.7.1,<0.8.0" +tomlkit = ">=0.11,<0.12" + [[package]] name = "tomli" version = "2.0.1" @@ -2788,6 +2849,18 @@ files = [ {file = "tomli-2.0.1.tar.gz", hash = "sha256:de526c12914f0c550d15924c62d72abc48d6fe7364aa87328337a31007fe8a4f"}, ] +[[package]] +name = "tomlkit" +version = "0.11.8" +description = "Style preserving TOML library" +optional = false +python-versions = ">=3.7" +groups = ["dev"] +files = [ + {file = "tomlkit-0.11.8-py3-none-any.whl", hash = "sha256:8c726c4c202bdb148667835f68d68780b9a003a9ec34167b6c673b38eff2a171"}, + {file = "tomlkit-0.11.8.tar.gz", hash = "sha256:9330fc7faa1db67b541b28e62018c17d20be733177d290a13b24c62d1614e0c3"}, +] + [[package]] name = "typing-extensions" version = "4.15.0" @@ -2828,6 +2901,18 @@ files = [ {file = "tzdata-2023.3.tar.gz", hash = "sha256:11ef1e08e54acb0d4f95bdb1be05da659673de4acbd21bf9c69e94cc5e907a3a"}, ] +[[package]] +name = "unidecode" +version = "1.4.0" +description = "ASCII transliterations of Unicode text" +optional = false +python-versions = ">=3.7" +groups = ["dev"] +files = [ + {file = "Unidecode-1.4.0-py3-none-any.whl", hash = "sha256:c3c7606c27503ad8d501270406e345ddb480a7b5f38827eafe4fa82a137f0021"}, + {file = "Unidecode-1.4.0.tar.gz", hash = "sha256:ce35985008338b676573023acc382d62c264f307c8f7963733405add37ea2b23"}, +] + [[package]] name = "urllib3" version = "2.6.0" @@ -3078,4 +3163,4 @@ starlette = ["aioitertools", "starlette"] [metadata] lock-version = "2.1" python-versions = "^3.9.0" -content-hash = "ff80df7871c551f9d90617702b8bf41ed86dab2985b56d797522bb4e3e5bb71b" +content-hash = "f47eed1ca1cba81049cfa9134242bc933877e4681e2129a74204f28b13340c82" diff --git a/pyproject.toml b/pyproject.toml index 47d9a3de..49556a61 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -111,9 +111,9 @@ httpx = ">=0.24,<0.29" deptry = ">=0.11,<0.21" aiohttp = "^3.8.4" pytest-aiohttp = "^1.1.0" -bump2version = "^1.0.1" pyflakes = "^3.1.0" fastapi = ">=0.111,<0.125" +tbump = "^6.11.0" [tool.poetry.group.docs.dependencies] mkdocs = "^1.6.1" @@ -146,3 +146,26 @@ line-length = 79 profile = "black" line_length = 79 force_single_line = true + +[tool.tbump] +github_url = "https://github.com/python-openapi/openapi-core" + +[tool.tbump.version] +current = "0.19.5" +regex = ''' + (?P\d+) + \. + (?P\d+) + \. + (?P\d+) + ''' + +[tool.tbump.git] +message_template = "Version {new_version}" +tag_template = "{new_version}" + +[[tool.tbump.file]] +src = "openapi_core/__init__.py" + +[[tool.tbump.file]] +src = "pyproject.toml"