From 8d6691ecd483aa94a687d69a17bef63399e831d3 Mon Sep 17 00:00:00 2001 From: penguinboi Date: Fri, 31 Jul 2026 00:26:45 -0400 Subject: [PATCH 1/3] derive package version from git tags via setuptools_scm --- .gitignore | 3 +++ grace/__init__.py | 7 ++++++- pyproject.toml | 5 ++++- 3 files changed, 13 insertions(+), 2 deletions(-) diff --git a/.gitignore b/.gitignore index 689250b..d34b255 100644 --- a/.gitignore +++ b/.gitignore @@ -140,6 +140,9 @@ venv.bak/ /site docs/site/ +# setuptools_scm generated version file +grace/_version.py + # mypy .mypy_cache/ .dmypy.json diff --git a/grace/__init__.py b/grace/__init__.py index 5b13c3b..02a7038 100644 --- a/grace/__init__.py +++ b/grace/__init__.py @@ -1,3 +1,8 @@ -__version__ = "1.0.5-alpha" +from importlib.metadata import PackageNotFoundError, version + +try: + __version__ = version("grace-framework") +except PackageNotFoundError: + from grace._version import version as __version__ from discord.ext.commands import * diff --git a/pyproject.toml b/pyproject.toml index cad809b..f5cd091 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -3,7 +3,7 @@ requires = ["setuptools>=64", "setuptools_scm>=8"] [project] name = "grace-framework" -version = "1.0.5-alpha" +dynamic = ["version"] authors = [ { name="Simon Roy" } ] @@ -61,6 +61,9 @@ grace = "grace.cli:main" packages = ["grace"] license-files = [] +[tool.setuptools_scm] +write_to = "grace/_version.py" + [[tool.mypy.overrides]] module = ["jinja2_pluralize.*", "cookiecutter.*"] follow_untyped_imports = true From fdc7c9036b1dc4d119caf35f7881af7c9bf810c5 Mon Sep 17 00:00:00 2001 From: penguinboi Date: Fri, 31 Jul 2026 00:47:54 -0400 Subject: [PATCH 2/3] Fetch full git history in publish workflow so setuptools_scm can see tags --- .github/workflows/publish.yml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/.github/workflows/publish.yml b/.github/workflows/publish.yml index 8225aab..4f6bad4 100644 --- a/.github/workflows/publish.yml +++ b/.github/workflows/publish.yml @@ -13,6 +13,8 @@ jobs: steps: - uses: actions/checkout@v4 + with: + fetch-depth: 0 - uses: actions/setup-python@v5 with: From d0f01dda95250a8d321001b2ae279241ddc50679 Mon Sep 17 00:00:00 2001 From: penguinboi Date: Fri, 31 Jul 2026 00:59:57 -0400 Subject: [PATCH 3/3] Exclude generated grace/_version.py from black formatting checks --- pyproject.toml | 1 + 1 file changed, 1 insertion(+) diff --git a/pyproject.toml b/pyproject.toml index f5cd091..cbd2310 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -87,6 +87,7 @@ exclude = ''' | __pypackages__ | grace/generators/templates )/ +| grace/_version\.py ''' [tool.isort]