8000 Merge pull request #454 from python-semver/release/3.0.3 · python-semver/python-semver@486e489 · GitHub
[go: up one dir, main page]

Skip to content

Commit 486e489

Browse files
authored
Merge pull request #454 from python-semver/release/3.0.3
Release/3.0.3
2 parents 15aa6a6 + cc4ae07 commit 486e489

File tree

12 files changed

+210
-131
lines changed

12 files changed

+210
-131
lines changed

.readthedocs.yaml

Lines changed: 9 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -10,11 +10,17 @@ build:
1010
os: ubuntu-22.04
1111
tools:
1212
python: "3.11"
13+
jobs:
14+
pre_install:
15+
# - curl -LsSf https://astral.sh/uv/install.sh | sh
16+
- pip install uv
17+
- uv export --only-group docs --no-hashes --no-color > requirements-docs.txt
18+
post_install:
19+
- pip install -r requirements-docs.txt
20+
pre_build:
21+
- make -C docs html
1322

1423
# Build documentation in the docs/ directory with Sphinx
1524
sphinx:
1625
configuration: docs/conf.py
1726

18-
python:
19-
install:
20-
- requirements: docs/requirements.txt

CHANGELOG.rst

Lines changed: 86 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,11 +18,96 @@ This section covers the changes between major version 2 and version 3.
1818

1919
.. towncrier release notes start
2020
21+
Version 3.0.3
22+
=============
23+
24+
:Released: 2025-01-18
25+
:Maintainer: Tom Schraitle
26+
27+
28+
Bug Fixes
29+
---------
30+
31+
* :pr:`453`: The check in ``_comparator`` does not match the check in :meth:`Version.compare`.
32+
This breaks comparision with subclasses.
33+
34+
35+
36+
Improved Documentation
37+
----------------------
38+
39+
* :pr:`435`: Several small improvements for documentation:
40+
41+
* Add meta description to improve SEO
42+
* Use canonicals on ReadTheDocs (commit 87f639f)
43+
* Pin versions for reproducable doc builds (commit 03fb990)
44+
* Add missing :file:`.readthedocs.yaml` file (commit ec9348a)
45+
* Correct some smaller issues when building (commit f65feab)
46+
47+
* :pr:`436`: Move search box more at the top. This makes it easier for
48+
users as if the TOC is long, the search box isn't visible
49+
anymore.
50+
51+
52+
53+
Features
54+
--------
55+
56+
* :pr:`439`: Improve type hints to fix TODOs
57+
58+
59+
60+
Internal Changes
61+
----------------
62+
63+
* :pr:`440`: Update workflow file
64+
65+
* :pr:`446`: Add Python 3.13 to GitHub Actions
66+
67+
* :pr:`447`: Modernize project configs with :file:`pyproject.toml` and
68+
use Astral's uv command.
69+
70+
* In :file:`pyproject.toml`:
71+
72+
* Move all project related data from :file:`setup.cfg` to :file:`pyproject.toml`
73+
* Use new dependency group from :pep:`735`
74+
* Consolidate flake8, isort, pycodestyle with ruff
75+
* Split towncrier config type "trivial" into "trivial" and "internal"
76+
77+
* Create config file for ruff (:file:`.ruff.toml`)
78+
* Create config file for pytest (:file:`.pytest.ini`)
79+
* Simplify :file:`tox.ini` and remove old stuff
80+
* Document installation with new :command:`uv` command
81+
* Simplify Sphinx config with :func:`find_version()`
82+
* Update the authors
83+
* Use :command:`uv` in GitHub Action :file:`python-testing.yml` workflow
84+
85+
* Update :file:`release-procedure.md`.
86+
87+
* :pr:`451`: Turn our Markdown issue templates into YAML
88+
89+
90+
Trivial Changes
91+
---------------
92+
93+
* :pr:`438`: Replace organization placeholder in license
94+
95+
* :pr:`445`: Improve private :func:`_nat_cmp` method:
96+
97+
* Remove obsolete else.
98+
* Find a better way to identify digits without the :mod:`re` module.
99+
* Fix docstring in :meth:`Version.compare`
100+
101+
102+
103+
----
104+
105+
21106
Version 3.0.2
22107
=============
23108

24109
:Released: 2023-10-09
25-
:Maintainer:
110+
:Maintainer: Tom Schraitle
26111

27112

28113
Bug Fixes

changelog.d/pr435.doc.rst

Lines changed: 0 additions & 7 deletions
This file was deleted.

changelog.d/pr436.doc.rst

Lines changed: 0 additions & 3 deletions
This file was deleted.

changelog.d/pr447.internal.rst

Lines changed: 0 additions & 15 deletions
This file was deleted.

docs/build-semver.rst

Lines changed: 11 additions & 42 deletions
Original file line numberDiff line numberDiff line change
@@ -7,58 +7,27 @@ Building semver
77
:description lang=en:
88
Building semver
99

10-
.. _PEP 517: https://www.python.org/dev/peps/pep-0517/
11-
.. _PEP 621: https://www.python.org/dev/peps/pep-0621/
12-
.. _A Practical Guide to Setuptools and Pyproject.toml: https://godatadriven.com/blog/a-practical-guide-to-setuptools-and-pyproject-toml/
13-
.. _Declarative config: https://setuptools.rtfd.io/en/latest/userguide/declarative_config.html
10+
.. _Installing uv: https://docs.astral.sh/uv/getting-started/installation/
1411

1512

16-
This project changed slightly its way how it is built. The reason for this
17-
was to still support the "traditional" way with :command:`setup.py`,
18-
but at the same time try out the newer way with :file:`pyproject.toml`.
19-
As Python 3.6 got deprecated, this project does support from now on only
20-
:file:`pyproject.toml`.
13+
This project changed its way how it is built over time. We used to have
14+
a :file:`setup.py` file, but switched to a :file:`pyproject.toml` setup.
2115

16+
The build process is managed by :command:`uv` command.
2217

23-
Background information
24-
----------------------
18+
You need:
2519

26-
Skip this section and head over to :ref:`build-pyproject-build` if you just
27-
want to know how to build semver.
28-
This section gives some background information how this project is set up.
20+
* Python 3.7 or newer.
2921

30-
The traditional way with :command:`setup.py` in this project uses a
31-
`Declarative config`_. With this approach, the :command:`setup.py` is
32-
stripped down to its bare minimum and all the metadata is stored in
33-
:file:`setup.cfg`.
22+
* The :mod:`setuptools` module version 61 or newer which is used as
23+
a build backend.
3424

35-
The new :file:`pyproject.toml` contains only information about the build backend, currently setuptools.build_meta. The idea is taken from
36-
`A Practical Guide to Setuptools and Pyproject.toml`_.
37-
Setuptools-specific configuration keys as defined in `PEP 621`_ are currently
38-
not used.
25+
* The command :command:`uv` from Astral. Refer to the section
26+
`Installing uv`_ for more information.
3927

4028

41-
.. _build-pyproject-build:
42-
43-
Building with pyproject-build
44-
-----------------------------
45-
46-
To build semver you need:
47-
48-
* The :mod:`build` module which implements the `PEP 517`_ build
49-
frontend.
50-
Install it with::
51-
52-
pip install build
53-
54-
Some Linux distributions has already packaged it. If you prefer
55-
to use the module with your package manager, search for
56-
:file:`python-build` or :file:`python3-build` and install it.
57-
58-
* The command :command:`pyproject-build` from the :mod:`build` module.
59-
6029
To build semver, run::
6130

62-
pyproject-build
31+
uv build
6332

6433
After the command is finished, you can find two files in the :file:`dist` folder: a ``.tar.gz`` and a ``.whl`` file.

docs/usage/semver-version.rst

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,4 +4,4 @@ Getting the Version of semver
44
To know the version of semver itself, use the following construct::
55

66
>>> semver.__version__
7-
'3.0.3-alpha.1'
7+
'3.0.3'

pyproject.toml

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,6 @@
77

88
[build-system]
99
requires = [
10-
# sync with setup.py until we discard non-pep-517/518
1110
"setuptools>=61",
1211
# "setuptools-scm>=8",
1312
]
@@ -19,6 +18,8 @@ requires-python = ">=3.7"
1918
name = "semver"
2019
description = "Python helper for Semantic Versioning (https://semver.org)"
2120
readme = "README.rst"
21+
# PEP 639
22+
# licence = "BSD-2-Clause"
2223
# readme.content-type = "text/x-rst"
2324
license = { file = "LICENSE.txt" }
2425
authors = [
@@ -34,7 +35,7 @@ classifiers = [
3435
"Environment :: Web Environment",
3536
"Intended Audience :: Developers",
3637
"Development Status :: 5 - Production/Stable",
37-
"License :: OSI Approved :: BSD License",
38+
# "License :: OSI Approved :: BSD License",
3839
"Operating System :: OS Independent",
3940
"Programming Language :: Python :: 3",
4041
"Programming Language :: Python :: 3.7",
@@ -92,6 +93,7 @@ docs = [
9293
"sphinx", # ==7.0.1
9394
"sphinx-argparse", # ==0.4.0
9495
"sphinx-autodoc-typehints", # ==1.24.0
96+
"restview",
9597
]
9698
devel = [
9799
{include-group = "typing"},

0 commit comments

Comments
 (0)
0