Skip to content
Merged
Show file tree
Hide file tree
Changes from 1 commit
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 2 additions & 2 deletions .github/workflows/release.yml
Original file line number Diff line number Diff line change
Expand Up @@ -22,8 +22,8 @@ jobs:

- name: Configure git
run: |
git config --global user.name "GH-actions-bot"
git config --global user.email "gh-actions-bot@noreply.github.com"
git config --global user.name "Tester"
git config --global user.email "test@example.com"

- uses: astral-sh/setup-uv@v7
- run: uvx --with tox-uv tox -e py,docs,style
Expand Down
8 changes: 4 additions & 4 deletions .github/workflows/tests.yml
Original file line number Diff line number Diff line change
Expand Up @@ -28,8 +28,8 @@ jobs:

- name: Configure git
run: |
git config --global user.name "GH-actions-bot"
git config --global user.email "gh-actions-bot@noreply.github.com"
git config --global user.name "Tester"
git config --global user.email "test@example.com"

- uses: astral-sh/setup-uv@v7
- run: uvx --with tox-uv tox -e py
Expand All @@ -56,8 +56,8 @@ jobs:

- name: Configure git
run: |
git config --global user.name "GH-actions-bot"
git config --global user.email "gh-actions-bot@noreply.github.com"
git config --global user.name "Tester"
git config --global user.email "test@example.com"

- uses: astral-sh/setup-uv@v7
- run: uvx --with tox-uv tox -e py
Expand Down
14 changes: 12 additions & 2 deletions HISTORY.rst
Original file line number Diff line number Diff line change
Expand Up @@ -2,14 +2,24 @@
Release notes
=============

3.9.0 (2026-02-09)
3.9.0 (2026-02-11)
------------------

* Test with py3.14, publish sdist with py3.13

* Removed commands: ``entrypoints``, ``cleanall``

* Removed post-version-bump hook support (unused, unnecessary, and was not well documented)

* Internal project modernizations (use ``uv``, ``ruff``, enabled more linter rules, etc)
* Removed old ``register`` hook used with setuptools v50

* Removed support for pygradle-style versioning

* Internal project modernizations:

* Refactored usage of ``subrocess.run()``, removed last left overs from the py2 days
Comment thread
zsimic marked this conversation as resolved.
Outdated

* use ``uv``, ``ruff``, enabled more linter rules, etc

* Use coveralls_ for test coverage reporting

Expand Down
36 changes: 0 additions & 36 deletions docs/commands.rst
Original file line number Diff line number Diff line change
Expand Up @@ -106,40 +106,4 @@ Typical usage::
python setup.py version --b minor --commit # Effectively bump


cleanall
========

Handily clean build artifacts. Cleans the usual suspects:
``.cache/ .tox/ build/ dist/ venv/ __pycache__/ *.egg-info *.py[cod]``.

Example::

🦎 3.9 ~/dev/github/setupmeta: ./setup.py cleanall
running cleanall
deleted .tox
deleted setupmeta.egg-info
deleted examples/direct/__pycache__
deleted examples/hierarchical/__pycache__
deleted examples/single/__pycache__
deleted setupmeta/__pycache__
deleted tests/__pycache__
deleted tests/scenarios/complex/tests/__pycache__
deleted tests/scenarios/readmes/__pycache__
deleted 14 .pyc files


entrypoints
===========

This will simply show you your ``entry_points/console_scripts``.
Can be handy for pygradle_ users.

Example::

🦎 3.9 ~/github/pickley: python setup.py entrypoints

pickley = pickley.cli:protected_main

.. _PEP-440: https://www.python.org/dev/peps/pep-0440/

.. _pygradle: https://github.com/linkedin/pygradle/
8 changes: 7 additions & 1 deletion docs/versioning.rst
Original file line number Diff line number Diff line change
Expand Up @@ -392,8 +392,14 @@ This is what ``versioning="post"`` is a shortcut for::
...
)

Note that starting with setupmeta v4.0, only ``v*.*`` tags are taken into account by default.
The above complex ``versioning`` form will be the only way to continue using old ``*.*`` version tags...

Prior to setupmeta v4.0, setupmeta used to look for ``v*.*`` first, and if it didn't find anything,
it would "try harder" by falling back to looking for ``*.*``.

``version_tag`` is the glob pattern of git tags to consider as version tags.
Unfortunately (for historical reasons), the default form is ``*.*`` (ie: any git tag
Unfortunately (for historical reasons), the default form was ``*.*`` (ie: any git tag
with a dot in it), and arguably should have been ``v*.*`` (ie: git tags that start with ``v``
and have dot in them...)

Expand Down
3 changes: 0 additions & 3 deletions examples/direct/expected.txt
Original file line number Diff line number Diff line change
Expand Up @@ -54,8 +54,5 @@ direct = direct:main""", # from entr
:: check


:: entrypoints
direct = direct:main

:: version
1.0.0
4 changes: 0 additions & 4 deletions examples/hierarchical/expected.txt
Original file line number Diff line number Diff line change
Expand Up @@ -58,9 +58,5 @@ subm = hierarchical.submodule:main""", # from ent
:: check


:: entrypoints
hierarchical = hierarchical:main
subm = hierarchical.submodule:main

:: version
1.0.0
3 changes: 0 additions & 3 deletions examples/single/expected.txt
Original file line number Diff line number Diff line change
Expand Up @@ -39,8 +39,5 @@ setup(
:: check


:: entrypoints


:: version
0.1.0
3 changes: 0 additions & 3 deletions examples/via-cfg/expected.txt
Original file line number Diff line number Diff line change
Expand Up @@ -41,8 +41,5 @@ setup(
:: check


:: entrypoints
pytest=pytest:main

:: version
1.2.3
2 changes: 1 addition & 1 deletion pyproject.toml
Original file line number Diff line number Diff line change
Expand Up @@ -36,7 +36,7 @@ extend-select = [
"T10", # flake8-debugger
"TID", # flake8-tidy-imports
"TCH", # flake8-type-checking
"TD", # flake8-todos
# "TD", # flake8-todos
"TRY", # tryceratops
"W", # pycodestyle warnings
]
Expand Down
18 changes: 5 additions & 13 deletions setup.py
Original file line number Diff line number Diff line change
Expand Up @@ -12,8 +12,6 @@
ENTRY_POINTS = """
[distutils.commands]
check = setupmeta.commands:CheckCommand
cleanall = setupmeta.commands:CleanCommand
entrypoints = setupmeta.commands:EntryPointsCommand
explain = setupmeta.commands:ExplainCommand
version = setupmeta.commands:VersionCommand

Expand All @@ -26,20 +24,13 @@
"""


def decode(text):
if isinstance(text, bytes):
return text.decode("utf-8")

return text


def run_bootstrap(message):
sys.stderr.write("--- Bootstrapping %s\n" % message)
p = subprocess.Popen([sys.executable, "setup.py", "egg_info"], stdout=subprocess.PIPE, stderr=subprocess.PIPE) # noqa: S603
sys.stderr.write(f"--- Bootstrapping {message}\n")
p = subprocess.Popen([sys.executable, "setup.py", "egg_info"], stdout=subprocess.PIPE, stderr=subprocess.PIPE, text=True) # noqa: S603
output, error = p.communicate()
if p.returncode:
print(decode(output))
sys.stderr.write("%s\n" % decode(error))
print(output)
sys.stderr.write(f"{error}\n")
sys.exit(p.returncode)

if not os.path.isdir(EGG):
Expand All @@ -48,6 +39,7 @@ def run_bootstrap(message):

def complete_args(args):
args["setup_requires"] = ["setupmeta"]
args["install_requires"] = ["setuptools>=67"]
args["versioning"] = "dev"


Expand Down
Loading
Loading