To install the unreleased g version, see developmental releases.
pip:
$ pip install --user --upgrade --pre gpipx:
$ pipx install --suffix=@next 'g' --pip-args '\--pre' --force
// Usage: g@next --helpuv:
$ uv add g --prerelease allowuvx:
$ uvx --from 'g' --prerelease allow gNotes on upcoming releases will be added here
- Visual improvements to API docs from gp-sphinx-based Sphinx packages (#53)
- Bump gp-sphinx docs stack to v0.0.1a8 (#54)
-
g --versionandg -Vnow display g's version instead of being passed to the underlying VCS (#46)This makes it easier to check which version of g you have installed:
$ g --version g 0.0.10
-
Add CLI documentation page with complete command reference (#46)
-
CLI argument documentation now has linkable anchors (headerlinks) for easy sharing and reference (#46)
- Migrate to PyPI Trusted Publisher (#43)
- Migrate docs deployment to AWS OIDC authentication and AWS CLI
- Drop support for Python 3.9; the new minimum is Python 3.10 (#41). See also:
- Add Python 3.14 to test matrix (#40)
- Add
from __future__ import annotationsto 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
gwhen running outside of a VCS directory (#24)
- Use declarative, typed
NamedTuple-style fortest_command_linefixtures (#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
blackwhile eliminating a dev dependency by using our existing rust-basedrufflinter.
-
-
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
--stricttypings -
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
PUBLISHcondition triggered, via #2
- sphinx, furo theme, sphinx-autobuild
- Setup CI, codecov, cloudfront, s3