From 7b3a7c6124d5036cdafad9e956867879eaf9159d Mon Sep 17 00:00:00 2001 From: "pre-commit-ci[bot]" <66853113+pre-commit-ci[bot]@users.noreply.github.com> Date: Tue, 2 Jul 2024 00:35:23 +0000 Subject: [PATCH 1/9] [pre-commit.ci] pre-commit autoupdate MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit updates: - [github.com/pre-commit/pre-commit-hooks: v4.5.0 → v4.6.0](https://github.com/pre-commit/pre-commit-hooks/compare/v4.5.0...v4.6.0) - [github.com/tox-dev/pyproject-fmt: 1.7.0 → 2.1.3](https://github.com/tox-dev/pyproject-fmt/compare/1.7.0...2.1.3) - [github.com/abravalheri/validate-pyproject: v0.16 → v0.18](https://github.com/abravalheri/validate-pyproject/compare/v0.16...v0.18) --- .pre-commit-config.yaml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index 9cf530b..c036731 100644 --- a/.pre-commit-config.yaml +++ b/.pre-commit-config.yaml @@ -1,6 +1,6 @@ repos: - repo: https://github.com/pre-commit/pre-commit-hooks - rev: v4.5.0 + rev: v4.6.0 hooks: - id: check-case-conflict - id: check-merge-conflict @@ -11,13 +11,13 @@ repos: - id: trailing-whitespace - repo: https://github.com/tox-dev/pyproject-fmt - rev: 1.7.0 + rev: 2.1.3 hooks: - id: pyproject-fmt additional_dependencies: [tox] - repo: https://github.com/abravalheri/validate-pyproject - rev: v0.16 + rev: v0.18 hooks: - id: validate-pyproject From b1b45b3ce9f218d5cfaf507fe79ab9ed5ce1978a Mon Sep 17 00:00:00 2001 From: "pre-commit-ci[bot]" <66853113+pre-commit-ci[bot]@users.noreply.github.com> Date: Tue, 2 Jul 2024 00:35:54 +0000 Subject: [PATCH 2/9] [pre-commit.ci] auto fixes from pre-commit.com hooks for more information, see https://pre-commit.ci --- pyproject.toml | 22 +++++++++++----------- 1 file changed, 11 insertions(+), 11 deletions(-) diff --git a/pyproject.toml b/pyproject.toml index 22371b6..6f7b722 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -9,8 +9,12 @@ requires = [ name = "blurb" description = "Command-line tool to manage CPython Misc/NEWS.d entries." readme = "README.md" -maintainers = [{name = "Python Core Developers", email="core-workflow@mail.python.org"}] -authors = [{ name="Larry Hastings", email="larry@hastings.org"}] +maintainers = [ + { name = "Python Core Developers", email = "core-workflow@mail.python.org" }, +] +authors = [ + { name = "Larry Hastings", email = "larry@hastings.org" }, +] requires-python = ">=3.8" classifiers = [ "Intended Audience :: Developers", @@ -21,23 +25,19 @@ classifiers = [ "Programming Language :: Python :: 3.10", "Programming Language :: Python :: 3.11", "Programming Language :: Python :: 3.12", - "Programming Language :: Python :: 3.13", ] dynamic = [ "version", ] -[project.optional-dependencies] -tests = [ +optional-dependencies.tests = [ "pyfakefs", "pytest", "pytest-cov", ] -[project.urls] -Changelog = "https://github.com/python/blurb/blob/main/README.md#changelog" -Homepage = "https://github.com/python/blurb" -Source = "https://github.com/python/blurb" -[project.scripts] -blurb = "blurb.blurb:main" +urls.Changelog = "https://github.com/python/blurb/blob/main/README.md#changelog" +urls.Homepage = "https://github.com/python/blurb" +urls.Source = "https://github.com/python/blurb" +scripts.blurb = "blurb.blurb:main" [tool.hatch] version.source = "vcs" From e1cf3429921cc1e6150ee32325cdc4f361168835 Mon Sep 17 00:00:00 2001 From: Hugo van Kemenade <1324225+hugovk@users.noreply.github.com> Date: Tue, 2 Jul 2024 08:52:10 +0300 Subject: [PATCH 3/9] Configure pyproject-fmt for 3.13 Trove classifier --- .pre-commit-config.yaml | 1 - pyproject.toml | 4 ++++ 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index c036731..a8986c4 100644 --- a/.pre-commit-config.yaml +++ b/.pre-commit-config.yaml @@ -14,7 +14,6 @@ repos: rev: 2.1.3 hooks: - id: pyproject-fmt - additional_dependencies: [tox] - repo: https://github.com/abravalheri/validate-pyproject rev: v0.18 diff --git a/pyproject.toml b/pyproject.toml index 6f7b722..35c7dd9 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -25,6 +25,7 @@ classifiers = [ "Programming Language :: Python :: 3.10", "Programming Language :: Python :: 3.11", "Programming Language :: Python :: 3.12", + "Programming Language :: Python :: 3.13", ] dynamic = [ "version", @@ -44,3 +45,6 @@ version.source = "vcs" [tool.hatch.version.raw-options] local_scheme = "no-local-version" + +[tool.pyproject-fmt] +max_supported_python = "3.13" From 4ca574902dd4245296d867270f554e72fbb36269 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Miro=20Hron=C4=8Dok?= Date: Mon, 8 Jul 2024 18:35:24 +0200 Subject: [PATCH 4/9] Undocument blurb split The command was removed in 1.2.0. --- README.md | 26 -------------------------- 1 file changed, 26 deletions(-) diff --git a/README.md b/README.md index 74bf91b..9dd8ffe 100644 --- a/README.md +++ b/README.md @@ -191,32 +191,6 @@ uses the name of the directory CPython is checked out to. version I'm releasing, and using this shortcut saves me some typing.) -### blurb split - -`blurb split` only needs to be run once per-branch, ever. -It reads in `Misc/NEWS` -and splits it into individual `.rst` files. -The text files are stored as follows:: - - Misc/NEWS.d/.rst - -`` is the version number of Python where the -change was committed. Pre-release versions are denoted -with an abbreviation: `a` for alphas, `b` for betas, -and `rc` for release candidates. - -The individual `.rst` files actually (usually) -contain multiple entries. Each entry is delimited by a -single line containing `..` by itself. - -The assumption is, at the point we convert over to *blurb*, -we'll run `blurb split` on each active branch, -remove `Misc/NEWS` from the repo entirely, -never run `blurb split` ever again, -and ride off into the sunset, confident that the world is now -a better place. - - ## The "next" directory From 9baee80e01625fa7a297942c2031ea529cb76462 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sviatoslav=20Sydorenko=20=28=D0=A1=D0=B2=D1=8F=D1=82=D0=BE?= =?UTF-8?q?=D1=81=D0=BB=D0=B0=D0=B2=20=D0=A1=D0=B8=D0=B4=D0=BE=D1=80=D0=B5?= =?UTF-8?q?=D0=BD=D0=BA=D0=BE=29?= Date: Wed, 17 Jul 2024 00:13:51 +0200 Subject: [PATCH 5/9] Fix `blurb` import in the runpy interface When `blurb` was being restructured, the import paths moved to deeper levels of the project layout. It was updated in the console scripts so invoking just the `blurb` command worked but `python -m blurb` didn't. This resulted in breaking the MSI installer smoke testing workflow in CPython's CI [[1]]. Blurb's own CI never invokes said interface, so it had no chance of catching the regression. This patch corrects the import but does not make an attempt to improve testing. [1]: https://github.com/python/cpython/issues/121879 --- src/blurb/__main__.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/blurb/__main__.py b/src/blurb/__main__.py index 6aff72b..a173b94 100644 --- a/src/blurb/__main__.py +++ b/src/blurb/__main__.py @@ -1,5 +1,5 @@ -"""Run blurb using `python3 blurb/`.""" -import blurb +"""Run blurb using ``python3 -m blurb``.""" +from blurb import blurb if __name__ == '__main__': From 3529a9ea3b5d850f4aaa1acb4f72f6b76314a725 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sviatoslav=20Sydorenko=20=28=D0=A1=D0=B2=D1=8F=D1=82=D0=BE?= =?UTF-8?q?=D1=81=D0=BB=D0=B0=D0=B2=20=D0=A1=D0=B8=D0=B4=D0=BE=D1=80=D0=B5?= =?UTF-8?q?=D0=BD=D0=BA=D0=BE=29?= Date: Wed, 17 Jul 2024 00:19:49 +0200 Subject: [PATCH 6/9] Integrate a runpy smoke test in tox This just adds simple `python -m blurb` invocations, nothing fancy. --- tox.ini | 2 ++ 1 file changed, 2 insertions(+) diff --git a/tox.ini b/tox.ini index 29d8a8a..793f226 100644 --- a/tox.ini +++ b/tox.ini @@ -19,3 +19,5 @@ commands = {posargs} blurb test blurb help + {envpython} -I -m blurb test + {envpython} -I -m blurb help From 9b54fc9c086a6ab0e5e13b9de350f0db5511d837 Mon Sep 17 00:00:00 2001 From: Hugo van Kemenade <1324225+hugovk@users.noreply.github.com> Date: Wed, 17 Jul 2024 11:01:31 +0300 Subject: [PATCH 7/9] Move changelog to own file --- CHANGELOG.md | 28 ++++++++++++++++++++++++++++ README.md | 33 ++++----------------------------- pyproject.toml | 2 +- 3 files changed, 33 insertions(+), 30 deletions(-) create mode 100644 CHANGELOG.md diff --git a/CHANGELOG.md b/CHANGELOG.md new file mode 100644 index 0000000..364e743 --- /dev/null +++ b/CHANGELOG.md @@ -0,0 +1,28 @@ +# Changelog + +## 1.2.0 + +- Replace spaces with underscores in news directory. +- Drop support for Python 3.7. +- Remove `blurb split` command. +- Replace `gh-issue-NNNN:` with `gh-NNNN:` in the output. +- Accept GitHub issues numbered only 32426 or above. +- Improve error checking when parsing a Blurb. +- Loosen README check for CPython forks. +- Move code from `python/core-workflow` to own `python/blurb` repo. +- Deploy to PyPI via Trusted Publishers. + +## 1.1.0 + +- Support GitHub Issues in addition to b.p.o (bugs.python.org). + If "gh-issue" is in the metadata, then the filename will contain + "gh-issue-" instead of "bpo-". + +## 1.0.7 + +- When word wrapping, don't break on long words or hyphens. +- Use the `-f` flag when adding **blurb** files to a Git + commit. This forces them to be added, even when the files + might normally be ignored based on a `.gitignore` directive. +- Explicitly support the `-help` command-line option. +- Fix Travis CI integration. diff --git a/README.md b/README.md index 9dd8ffe..d477343 100644 --- a/README.md +++ b/README.md @@ -211,36 +211,11 @@ the right thing. If `NEWS` entries were already written to the final version directory, you'd have to move those around as part of the cherry-picking process. -## Changelog - -### 1.2.0 - -- Replace spaces with underscores in news directory. -- Drop support for Python 3.7. -- Remove `blurb split` command. -- Replace `gh-issue-NNNN:` with `gh-NNNN:` in the output. -- Accept GitHub issues numbered only 32426 or above. -- Improve error checking when parsing a Blurb. -- Loosen README check for CPython forks. -- Move code from `python/core-workflow` to own `python/blurb` repo. -- Deploy to PyPI via Trusted Publishers. - -### 1.1.0 - -- Support GitHub Issues in addition to b.p.o (bugs.python.org). - If "gh-issue" is in the metadata, then the filename will contain - "gh-issue-" instead of "bpo-". - -### 1.0.7 - -- When word wrapping, don't break on long words or hyphens. -- Use the `-f` flag when adding **blurb** files to a Git - commit. This forces them to be added, even when the files - might normally be ignored based on a `.gitignore` directive. -- Explicitly support the `-help` command-line option. -- Fix Travis CI integration. - ## Copyright **blurb** is Copyright 2015-2018 by Larry Hastings. Licensed to the PSF under a contributor agreement. + +## Changelog + +See [CHANGELOG.md](CHANGELOG.md). diff --git a/pyproject.toml b/pyproject.toml index 35c7dd9..0843f61 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -35,7 +35,7 @@ optional-dependencies.tests = [ "pytest", "pytest-cov", ] -urls.Changelog = "https://github.com/python/blurb/blob/main/README.md#changelog" +urls.Changelog = "https://github.com/python/blurb/blob/main/CHANGELOG.md" urls.Homepage = "https://github.com/python/blurb" urls.Source = "https://github.com/python/blurb" scripts.blurb = "blurb.blurb:main" From c79ec986e52f5d73952f0f2e55de9dce73b13470 Mon Sep 17 00:00:00 2001 From: Hugo van Kemenade <1324225+hugovk@users.noreply.github.com> Date: Wed, 17 Jul 2024 11:02:07 +0300 Subject: [PATCH 8/9] Prepare 1.2.1 release --- CHANGELOG.md | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 364e743..f15c356 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,10 @@ # Changelog +## 1.2.1 + +- Fix `python3 -m blurb`. +- Undocument removed `blurb split`. + ## 1.2.0 - Replace spaces with underscores in news directory. From 025766dcce03bc743b8a4b96cfb7a08ca054f77f Mon Sep 17 00:00:00 2001 From: Hugo van Kemenade <1324225+hugovk@users.noreply.github.com> Date: Wed, 17 Jul 2024 14:29:49 +0300 Subject: [PATCH 9/9] Improve formatting Co-authored-by: Ezio Melotti --- CHANGELOG.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index f15c356..4783afd 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -20,8 +20,8 @@ ## 1.1.0 - Support GitHub Issues in addition to b.p.o (bugs.python.org). - If "gh-issue" is in the metadata, then the filename will contain - "gh-issue-" instead of "bpo-". + If `gh-issue` is in the metadata, then the filename will contain + `gh-issue-` instead of `bpo-`. ## 1.0.7