From 915b394db3fa730b616d56fdd89ffdae5bac6402 Mon Sep 17 00:00:00 2001 From: Joshua Date: Thu, 18 Jan 2024 12:07:36 -0600 Subject: [PATCH 1/8] Add "just-tag" --- pyproject.toml | 1 + src/setuptools_scm/version.py | 4 ++++ testing/test_version.py | 27 +++++++++++++++++++++++++++ 3 files changed, 32 insertions(+) diff --git a/pyproject.toml b/pyproject.toml index a93544d2..8bb19d5f 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -101,6 +101,7 @@ PKG-INFO = "setuptools_scm.fallbacks:parse_pkginfo" "post-release" = "setuptools_scm.version:postrelease_version" "python-simplified-semver" = "setuptools_scm.version:simplified_semver_version" "release-branch-semver" = "setuptools_scm.version:release_branch_semver_version" +"just-tag" = "setuptools_scm.version:just_tag" [tool.setuptools.packages.find] where = ["src"] diff --git a/src/setuptools_scm/version.py b/src/setuptools_scm/version.py index f43e14b6..2a18d2f9 100644 --- a/src/setuptools_scm/version.py +++ b/src/setuptools_scm/version.py @@ -299,6 +299,10 @@ def release_branch_semver(version: ScmVersion) -> str: return release_branch_semver_version(version) +def just_tag(version: ScmVersion) -> str: + return version.format_with("{tag}") + + def no_guess_dev_version(version: ScmVersion) -> str: if version.exact: return version.format_with("{tag}") diff --git a/testing/test_version.py b/testing/test_version.py index ea4c7d99..eb860b65 100644 --- a/testing/test_version.py +++ b/testing/test_version.py @@ -18,6 +18,7 @@ from setuptools_scm.version import release_branch_semver_version from setuptools_scm.version import ScmVersion from setuptools_scm.version import simplified_semver_version +from setuptools_scm.version import just_tag c = Configuration() @@ -169,6 +170,32 @@ def test_bump_dev_version_nonzero_raises() -> None: with pytest.raises(ValueError, match=match): guess_next_version(m("1.0.dev1")) +@pytest.mark.parametrize( + "version", + [ + "1.dev0", + "1.0.dev456", + "1.0a1", + "1.0a2.dev456", + "1.0a12.dev456", + "1.0a12", + "1.0b1.dev456", + "1.0b2", + "1.0b2.post345.dev456", + "1.0b2.post345", + "1.0rc1.dev456", + "1.0rc1", + "1.0", + "1.0.post456.dev34", + "1.0.post456", + "1.0.15", + "1.1.dev1", + ], +) +def test_just_tag(version: str) -> None: + assert version == just_tag(meta(version, config=c)) + assert version == just_tag(meta(version, distance=2, config=c)) + @pytest.mark.parametrize( ("tag", "expected"), From 80b4ebb95a12153169b002882a174c659c7d658f Mon Sep 17 00:00:00 2001 From: Joshua Date: Thu, 18 Jan 2024 12:08:36 -0600 Subject: [PATCH 2/8] docs too --- docs/extending.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/docs/extending.md b/docs/extending.md index 957c762e..401ff55f 100644 --- a/docs/extending.md +++ b/docs/extending.md @@ -84,6 +84,8 @@ representing the version. `no-guess-dev` : Does no next version guessing, just adds `.post1.devN` +`just-tag` +: Just use the version from the tag, as given. ### `setuptools_scm.local_scheme` Configures how the local part of a version is rendered given a From 2e0f1285e244f3cc2ef901f7f640d6d17d7b2204 Mon Sep 17 00:00:00 2001 From: Joshua Date: Thu, 18 Jan 2024 12:10:39 -0600 Subject: [PATCH 3/8] rename --- docs/extending.md | 2 +- pyproject.toml | 2 +- src/setuptools_scm/version.py | 2 +- testing/test_version.py | 8 ++++---- 4 files changed, 7 insertions(+), 7 deletions(-) diff --git a/docs/extending.md b/docs/extending.md index 401ff55f..87021d54 100644 --- a/docs/extending.md +++ b/docs/extending.md @@ -84,7 +84,7 @@ representing the version. `no-guess-dev` : Does no next version guessing, just adds `.post1.devN` -`just-tag` +`just-version` : Just use the version from the tag, as given. ### `setuptools_scm.local_scheme` diff --git a/pyproject.toml b/pyproject.toml index 8bb19d5f..86986959 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -101,7 +101,7 @@ PKG-INFO = "setuptools_scm.fallbacks:parse_pkginfo" "post-release" = "setuptools_scm.version:postrelease_version" "python-simplified-semver" = "setuptools_scm.version:simplified_semver_version" "release-branch-semver" = "setuptools_scm.version:release_branch_semver_version" -"just-tag" = "setuptools_scm.version:just_tag" +"just-version" = "setuptools_scm.version:just_version" [tool.setuptools.packages.find] where = ["src"] diff --git a/src/setuptools_scm/version.py b/src/setuptools_scm/version.py index 2a18d2f9..ac4c7ff0 100644 --- a/src/setuptools_scm/version.py +++ b/src/setuptools_scm/version.py @@ -299,7 +299,7 @@ def release_branch_semver(version: ScmVersion) -> str: return release_branch_semver_version(version) -def just_tag(version: ScmVersion) -> str: +def just_version(version: ScmVersion) -> str: return version.format_with("{tag}") diff --git a/testing/test_version.py b/testing/test_version.py index eb860b65..450ce640 100644 --- a/testing/test_version.py +++ b/testing/test_version.py @@ -18,7 +18,7 @@ from setuptools_scm.version import release_branch_semver_version from setuptools_scm.version import ScmVersion from setuptools_scm.version import simplified_semver_version -from setuptools_scm.version import just_tag +from setuptools_scm.version import just_version c = Configuration() @@ -192,9 +192,9 @@ def test_bump_dev_version_nonzero_raises() -> None: "1.1.dev1", ], ) -def test_just_tag(version: str) -> None: - assert version == just_tag(meta(version, config=c)) - assert version == just_tag(meta(version, distance=2, config=c)) +def test_just_version(version: str) -> None: + assert version == just_version(meta(version, config=c)) + assert version == just_version(meta(version, distance=2, config=c)) @pytest.mark.parametrize( From 73525e23a66a57c978b7841a246f5679315c53ec Mon Sep 17 00:00:00 2001 From: "pre-commit-ci[bot]" <66853113+pre-commit-ci[bot]@users.noreply.github.com> Date: Thu, 18 Jan 2024 18:11:13 +0000 Subject: [PATCH 4/8] [pre-commit.ci] auto fixes from pre-commit.com hooks for more information, see https://pre-commit.ci --- pyproject.toml | 2 +- testing/test_version.py | 3 ++- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/pyproject.toml b/pyproject.toml index 86986959..7b715e66 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -97,11 +97,11 @@ PKG-INFO = "setuptools_scm.fallbacks:parse_pkginfo" [project.entry-points."setuptools_scm.version_scheme"] "calver-by-date" = "setuptools_scm.version:calver_by_date" "guess-next-dev" = "setuptools_scm.version:guess_next_dev_version" +"just-version" = "setuptools_scm.version:just_version" "no-guess-dev" = "setuptools_scm.version:no_guess_dev_version" "post-release" = "setuptools_scm.version:postrelease_version" "python-simplified-semver" = "setuptools_scm.version:simplified_semver_version" "release-branch-semver" = "setuptools_scm.version:release_branch_semver_version" -"just-version" = "setuptools_scm.version:just_version" [tool.setuptools.packages.find] where = ["src"] diff --git a/testing/test_version.py b/testing/test_version.py index 450ce640..f3b833d8 100644 --- a/testing/test_version.py +++ b/testing/test_version.py @@ -13,12 +13,12 @@ from setuptools_scm.version import format_version from setuptools_scm.version import guess_next_date_ver from setuptools_scm.version import guess_next_version +from setuptools_scm.version import just_version from setuptools_scm.version import meta from setuptools_scm.version import no_guess_dev_version from setuptools_scm.version import release_branch_semver_version from setuptools_scm.version import ScmVersion from setuptools_scm.version import simplified_semver_version -from setuptools_scm.version import just_version c = Configuration() @@ -170,6 +170,7 @@ def test_bump_dev_version_nonzero_raises() -> None: with pytest.raises(ValueError, match=match): guess_next_version(m("1.0.dev1")) + @pytest.mark.parametrize( "version", [ From b9a0356a141227f1454a9c96069413e016537c98 Mon Sep 17 00:00:00 2001 From: Joshua Date: Fri, 19 Jan 2024 09:32:54 -0600 Subject: [PATCH 5/8] Rename --- docs/extending.md | 4 ++-- pyproject.toml | 34 +++++++++------------------------- src/setuptools_scm/version.py | 2 +- testing/test_version.py | 8 ++++---- 4 files changed, 16 insertions(+), 32 deletions(-) diff --git a/docs/extending.md b/docs/extending.md index 87021d54..3c10ab40 100644 --- a/docs/extending.md +++ b/docs/extending.md @@ -84,8 +84,8 @@ representing the version. `no-guess-dev` : Does no next version guessing, just adds `.post1.devN` -`just-version` -: Just use the version from the tag, as given. +`only-version` +: Only use the version from the tag, as given. ### `setuptools_scm.local_scheme` Configures how the local part of a version is rendered given a diff --git a/pyproject.toml b/pyproject.toml index 86986959..1737ff27 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -2,14 +2,8 @@ [build-system] build-backend = "_own_version_helper:build_meta" -requires = [ - "setuptools>=61", - 'tomli; python_version < "3.11"', -] -backend-path = [ - ".", - "src", -] +requires = ["setuptools>=61", 'tomli; python_version < "3.11"'] +backend-path = [".", "src"] [project] name = "setuptools-scm" @@ -17,7 +11,7 @@ description = "the blessed package to manage your versions by scm tags" readme = "README.md" license.file = "LICENSE" authors = [ - {name="Ronny Pfannschmidt", email="opensource@ronnypfannschmidt.de"} + { name = "Ronny Pfannschmidt", email = "opensource@ronnypfannschmidt.de" }, ] requires-python = ">=3.8" classifiers = [ @@ -36,9 +30,7 @@ classifiers = [ "Topic :: System :: Software Distribution", "Topic :: Utilities", ] -dynamic = [ - "version", -] +dynamic = ["version"] dependencies = [ "packaging>=20", "setuptools", @@ -54,17 +46,9 @@ docs = [ "mkdocstrings[python]", "pygments", ] -rich = [ - "rich", -] -test = [ - "build", - "pytest", - "rich", - "wheel", -] -toml = [ -] +rich = ["rich"] +test = ["build", "pytest", "rich", "wheel"] +toml = [] [project.urls] documentation = "https://setuptools-scm.readthedocs.io/" repository = "https://github.com/pypa/setuptools_scm/" @@ -101,14 +85,14 @@ PKG-INFO = "setuptools_scm.fallbacks:parse_pkginfo" "post-release" = "setuptools_scm.version:postrelease_version" "python-simplified-semver" = "setuptools_scm.version:simplified_semver_version" "release-branch-semver" = "setuptools_scm.version:release_branch_semver_version" -"just-version" = "setuptools_scm.version:just_version" +"only-version" = "setuptools_scm.version:only_version" [tool.setuptools.packages.find] where = ["src"] namespaces = false [tool.setuptools.dynamic] -version = { attr = "_own_version_helper.version"} +version = { attr = "_own_version_helper.version" } [tool.setuptools_scm] diff --git a/src/setuptools_scm/version.py b/src/setuptools_scm/version.py index ac4c7ff0..8bf03057 100644 --- a/src/setuptools_scm/version.py +++ b/src/setuptools_scm/version.py @@ -299,7 +299,7 @@ def release_branch_semver(version: ScmVersion) -> str: return release_branch_semver_version(version) -def just_version(version: ScmVersion) -> str: +def only_version(version: ScmVersion) -> str: return version.format_with("{tag}") diff --git a/testing/test_version.py b/testing/test_version.py index 450ce640..6eb1b637 100644 --- a/testing/test_version.py +++ b/testing/test_version.py @@ -18,7 +18,7 @@ from setuptools_scm.version import release_branch_semver_version from setuptools_scm.version import ScmVersion from setuptools_scm.version import simplified_semver_version -from setuptools_scm.version import just_version +from setuptools_scm.version import only_version c = Configuration() @@ -192,9 +192,9 @@ def test_bump_dev_version_nonzero_raises() -> None: "1.1.dev1", ], ) -def test_just_version(version: str) -> None: - assert version == just_version(meta(version, config=c)) - assert version == just_version(meta(version, distance=2, config=c)) +def test_only_version(version: str) -> None: + assert version == only_version(meta(version, config=c)) + assert version == only_version(meta(version, distance=2, config=c)) @pytest.mark.parametrize( From 087fe10d09f19a96b62730f2f07f31ef881c406a Mon Sep 17 00:00:00 2001 From: "pre-commit-ci[bot]" <66853113+pre-commit-ci[bot]@users.noreply.github.com> Date: Fri, 19 Jan 2024 15:33:51 +0000 Subject: [PATCH 6/8] [pre-commit.ci] auto fixes from pre-commit.com hooks for more information, see https://pre-commit.ci --- pyproject.toml | 30 +++++++++++++++++++++++------- 1 file changed, 23 insertions(+), 7 deletions(-) diff --git a/pyproject.toml b/pyproject.toml index 06897510..a12d4849 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -2,8 +2,14 @@ [build-system] build-backend = "_own_version_helper:build_meta" -requires = ["setuptools>=61", 'tomli; python_version < "3.11"'] -backend-path = [".", "src"] +requires = [ + "setuptools>=61", + 'tomli; python_version < "3.11"', +] +backend-path = [ + ".", + "src", +] [project] name = "setuptools-scm" @@ -30,7 +36,9 @@ classifiers = [ "Topic :: System :: Software Distribution", "Topic :: Utilities", ] -dynamic = ["version"] +dynamic = [ + "version", +] dependencies = [ "packaging>=20", "setuptools", @@ -46,9 +54,17 @@ docs = [ "mkdocstrings[python]", "pygments", ] -rich = ["rich"] -test = ["build", "pytest", "rich", "wheel"] -toml = [] +rich = [ + "rich", +] +test = [ + "build", + "pytest", + "rich", + "wheel", +] +toml = [ +] [project.urls] documentation = "https://setuptools-scm.readthedocs.io/" repository = "https://github.com/pypa/setuptools_scm/" @@ -83,10 +99,10 @@ PKG-INFO = "setuptools_scm.fallbacks:parse_pkginfo" "guess-next-dev" = "setuptools_scm.version:guess_next_dev_version" "just-version" = "setuptools_scm.version:just_version" "no-guess-dev" = "setuptools_scm.version:no_guess_dev_version" +"only-version" = "setuptools_scm.version:only_version" "post-release" = "setuptools_scm.version:postrelease_version" "python-simplified-semver" = "setuptools_scm.version:simplified_semver_version" "release-branch-semver" = "setuptools_scm.version:release_branch_semver_version" -"only-version" = "setuptools_scm.version:only_version" [tool.setuptools.packages.find] where = ["src"] From 573199857e09c3a633c9e501facdf1ba31df0cdc Mon Sep 17 00:00:00 2001 From: Joshua Date: Fri, 19 Jan 2024 09:34:22 -0600 Subject: [PATCH 7/8] Dont autoformat this --- pyproject.toml | 33 ++++++++++++++++++++++++--------- 1 file changed, 24 insertions(+), 9 deletions(-) diff --git a/pyproject.toml b/pyproject.toml index 06897510..a0c82933 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -2,8 +2,14 @@ [build-system] build-backend = "_own_version_helper:build_meta" -requires = ["setuptools>=61", 'tomli; python_version < "3.11"'] -backend-path = [".", "src"] +requires = [ + "setuptools>=61", + 'tomli; python_version < "3.11"', +] +backend-path = [ + ".", + "src", +] [project] name = "setuptools-scm" @@ -11,7 +17,7 @@ description = "the blessed package to manage your versions by scm tags" readme = "README.md" license.file = "LICENSE" authors = [ - { name = "Ronny Pfannschmidt", email = "opensource@ronnypfannschmidt.de" }, + {name="Ronny Pfannschmidt", email="opensource@ronnypfannschmidt.de"} ] requires-python = ">=3.8" classifiers = [ @@ -30,7 +36,9 @@ classifiers = [ "Topic :: System :: Software Distribution", "Topic :: Utilities", ] -dynamic = ["version"] +dynamic = [ + "version", +] dependencies = [ "packaging>=20", "setuptools", @@ -46,9 +54,17 @@ docs = [ "mkdocstrings[python]", "pygments", ] -rich = ["rich"] -test = ["build", "pytest", "rich", "wheel"] -toml = [] +rich = [ + "rich", +] +test = [ + "build", + "pytest", + "rich", + "wheel", +] +toml = [ +] [project.urls] documentation = "https://setuptools-scm.readthedocs.io/" repository = "https://github.com/pypa/setuptools_scm/" @@ -81,7 +97,6 @@ PKG-INFO = "setuptools_scm.fallbacks:parse_pkginfo" [project.entry-points."setuptools_scm.version_scheme"] "calver-by-date" = "setuptools_scm.version:calver_by_date" "guess-next-dev" = "setuptools_scm.version:guess_next_dev_version" -"just-version" = "setuptools_scm.version:just_version" "no-guess-dev" = "setuptools_scm.version:no_guess_dev_version" "post-release" = "setuptools_scm.version:postrelease_version" "python-simplified-semver" = "setuptools_scm.version:simplified_semver_version" @@ -93,7 +108,7 @@ where = ["src"] namespaces = false [tool.setuptools.dynamic] -version = { attr = "_own_version_helper.version" } +version = { attr = "_own_version_helper.version"} [tool.setuptools_scm] From 62f28e1424c44bee864079f5a0db300c9a405870 Mon Sep 17 00:00:00 2001 From: Joshua Date: Fri, 19 Jan 2024 09:35:56 -0600 Subject: [PATCH 8/8] docs warning --- docs/extending.md | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/docs/extending.md b/docs/extending.md index 3c10ab40..fa71841e 100644 --- a/docs/extending.md +++ b/docs/extending.md @@ -85,7 +85,10 @@ representing the version. : Does no next version guessing, just adds `.post1.devN` `only-version` -: Only use the version from the tag, as given. +: Only use the version from the tag, as given. + + !!! warning "This means version is no longer pseudo unique per commit" + ### `setuptools_scm.local_scheme` Configures how the local part of a version is rendered given a