To install the unreleased gp-libs version, see developmental releases.
pip:
$ pip install --user --upgrade --pre gp-libs
- Add your latest changes from PRs here
- Fix for
pytest-asyncio
compatibility (#46)
- Add
from __future__ import annotations
to defer annotation resolution and reduce unnecessary runtime computations during type checking. - Enable Ruff checks for PEP-compliant annotations:
For more details on PEP 563, see: https://peps.python.org/pep-0563/
Maintenance release: no bug fixes or new features.
-
Drop Python 3.8
The minimum version of Python in this and future releases is Python 3.9.
Python 3.8 reached end-of-life status on October 7th, 2024 (see PEP 569).
-
Aggressive automated lint fixes via
ruff
(#41)via ruff v0.8.4, all automated lint fixes, including unsafe and previews were applied for Python 3.9:
ruff check --select ALL . --fix --unsafe-fixes --preview --show-fixes; ruff format .
uv is the new package and project manager for the project, replacing Poetry.
Build system moved from poetry to hatchling.
- Final Python 3.8 release, as it has reached end-of-life status October 7th, 2024, see PEP-569.
-
poetry: 1.8.1 -> 1.8.2
See also: https://github.com/python-poetry/poetry/blob/1.8.2/CHANGELOG.md
- Automatically linkify links that were previously only text.
To lift the development burden of supporting legacy APIs, as this package is lightly used, minimum constraints have been pinned:
- docutils: 0.20.1+
- myst-parser: 2.0.0+
If you have even passing interested in supporting legacy versions, file an issue on the tracker.
-
Aggressive automated lint fixes via
ruff
(#33)via ruff v0.3.4, all automated lint fixes, including unsafe and previews were applied:
ruff check --select ALL . --fix --unsafe-fixes --preview --show-fixes; ruff format .
Branches were treated with:
git rebase \ --strategy-option=theirs \ --exec 'poetry run ruff check --select ALL . --fix --unsafe-fixes --preview --show-fixes; poetry run ruff format .; git add src tests; git commit --amend --no-edit' \ origin/master
-
poetry: 1.7.1 -> 1.8.1
See also: https://github.com/python-poetry/poetry/blob/1.8.1/CHANGELOG.md
-
ruff 0.2.2 -> 0.3.0 (#32)
Related formattings. Update CI to use
ruff check .
instead ofruff .
.See also: https://github.com/astral-sh/ruff/blob/v0.3.0/CHANGELOG.md
-
Strengthen linting (#31)
-
Add flake8-commas (COM)
-
Add flake8-builtins (A)
-
Add flake8-errmsg (EM)
-
- Relax pytest version constraint from 8+ to 7+ (#30)
-
Support pytest >8 (#29)
- Update doctest pytest plugin for pytest 8.
- ruff 0.2.0
Maintenance release: no bug fixes or new features.
- Move CodeQL from advanced configuration file to GitHub's default
- ci: Add pydocstyle rule to ruff (#28)
- Add docstrings to functions, methods, classes, and packages (#28)
-
poetry: 1.6.1 -> 1.7.0
See also: https://github.com/python-poetry/poetry/blob/1.7.0/CHANGELOG.md
-
Move formatting from
black
toruff format
(#27)This retains the same formatting style of
black
while eliminating a dev dependency by using our existing rust-basedruff
linter. -
CI: Update action packages to fix warnings
- dorny/paths-filter: 2.7.0 -> 2.11.1
-
Add Python 3.12 to trove classifiers
-
Packaging (poetry): Fix development dependencies
Per Poetry's docs on managing dependencies and
poetry check
, we had it wrong: Instead of using extras, we should create these:[tool.poetry.group.group-name.dependencies] dev-dependency = "1.0.0"
Which we now do.
_from_module
: Backport {func}functools.cached_property
support (#25)
pytest_collect_file
: Typing fix (#25)
-
Use
import typing as t
everywhere (#25)See also: pytest-dev/pytest#11317
- Move pytest configuration to
pyproject.toml
(#24)
- Python 3.7 Dropped (#23)
- Add your latest changes from PRs here
-
linkify_issues: Automatically link
conf.py:
issue_url_tpl = 'https://github.com/git-pull/gp-libs/issues/{issue_id}'
-
doctest_docutils: :mod:
doctest
w/ docutils support (and markdown) -
doctest_docutils: Support for sphinx-inline-tab's
tab
directive was added in v0.0.1a17 (#18)````{tab} example tab ```python >>> 4 + 4 8 ``` ```` ````{tab} example second ```python >>> 4 + 2 6 ``` ````
-
sphinx_toctree_autodoc_fix
was removed in v0.0.1a12Overcome by Sphinx 5.2 bakes this in by default:
Settings options:
add_function_parentheses = False
(default:True
)toc_object_entries_show_parents
can be (default:'domain'
):toc_object_entries_show_parents = 'domain'
toc_object_entries_show_parents = 'hide'
toc_object_entries_show_parents = 'all'
See also:
- Initial docs, packaging, etc.
pytest-doctest-docutils:
- Add tests for pytest conftest.py files (#9)
-
Ruff (additional linting rules): Added in #20 and #21
-
CI: docutils testgrid (#16)
-
CI speedups (#13)
- Split out release to separate job so the PyPI Upload docker image isn't pulled on normal runs
- Clean up CodeQL
-
Poetry: Bump 1.1.x to 1.6.x