To install the unreleased g version, see developmental releases.
pip:
$ pip install --user --upgrade --pre g
pipx:
$ pipx install --suffix=@next g --pip-args '\--pre' --force
// Usage: g@next --help
- Notes on upcoming releases will be added here
- 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 only, 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
(#32)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 .
Maintenance only, no bug fixes, or new features
uv is the new package and project manager for the project, replacing Poetry.
Build system moved from poetry to hatchling.
- Fix
g
when running outside of a VCS directory (#24)
- Use declarative, typed
NamedTuple
-style fortest_command_line
fixtures (#24)
-
poetry: 1.8.1 -> 1.8.2
See also: https://github.com/python-poetry/poetry/blob/1.8.2/CHANGELOG.md
Maintenance only, no bug fixes, or new features
-
Aggressive automated lint fixes via
ruff
(#23)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 (#22)
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 (#21)
-
Add flake8-commas (COM)
-
Add flake8-builtins (A)
-
Add flake8-errmsg (EM)
-
- Add your latest changes from PRs here
-
Move pytest configuration to
pyproject.toml
(#14) -
Poetry 1.4.0 -> 1.7.0
See also: https://github.com/python-poetry/poetry/blob/1.7.0/CHANGELOG.md
-
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.
-
Move formatting, import sorting, and linting to ruff.
This rust-based checker has dramatically improved performance. Linting and formatting can be done almost instantly.
This change replaces isort, flake8 and flake8 plugins.
-
Add additional ruff linters in #11
-
Move from black to
ruff format
(#17)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
-
CI: Move CodeQL from advanced configuration file to GitHub's default
-
CI speedups (#8)
- Split out release to separate job so the PyPI Upload docker image isn't pulled on normal runs
- Clean up CodeQL
-
ci: Add pydocstyle rule to ruff (#18)
-
Poetry: Bump 1.1.x to 1.2.x
- Remove
.tmuxp-before-script.sh
(was used intmuxp.yaml
'sbefore_script
) - Drop Python 3.7 (#13)
- Add docstrings to functions, methods, classes, and packages (#18)
- Prevent outputting
<Popen: returncode: 1 args: ['git']>
when runningg
(#19)
Maintenance only release, no bug fixes or features
- Move to
src/
layout (#7) - Add flake8-bugbear (#4)
- Add flake8-comprehensions (#5)
- Render changelog in
linkify_issues
(#6) - Fix Table of contents rendering with sphinx autodoc with
sphinx_toctree_autodoc_fix
(#6)
Tests now pass
Infrastructure updates for static type checking and doctest examples.
-
Update development packages (black, isort)
-
Add .tool-versions, .python-version
-
Run code through black w/o
--skip-string-normalization
-
Initial doctests support added, via #2
-
Initial mypy validation, via #2, including
--strict
typings -
CI (tests, docs): Improve caching of python dependencies via
action/setup-python
's v3/4's new poetry caching, via #2 -
CI (docs): Skip if no
PUBLISH
condition triggered, via #2
- sphinx, furo theme, sphinx-autobuild
- Setup CI, codecov, cloudfront, s3