Conversation
Contributor
nsheff
commented
Feb 10, 2026
- Drop Python 3.9 support (minimum is now 3.10)
- Remove deprecated asciify_dict() function
- Migrate from setup.py/setup.cfg to pyproject.toml with hatchling backend
- Delete setup.py, setup.cfg, MANIFEST.in, and requirements/ directory
- Source version via importlib.metadata instead of _version.py string
- Replace black with ruff for linting and formatting
- Add .pre-commit-config.yaml with ruff and pre-commit-hooks
- Update all GitHub Actions workflows to actions/checkout@v4 and actions/setup-python@v5
- Update lint workflow to use ruff instead of psf/black@stable
- Update pytest workflow: Python 3.10/3.13 matrix, install via pip install ".[test]", trigger on push
- Update publish workflow to use python -m build instead of setup.py sdist
- Modernize type hints to PEP 604 syntax (X | None, X | Y)
- Convert remaining Sphinx-style docstrings to Google style
- Fix bare except, type() == comparisons, and == None checks
- Move changelog.md from docs/ to repo root, delete docs/
- Version bump to 0.9.0
There was a problem hiding this comment.
Pull request overview
Modernizes the ubiquerg Python package by updating packaging/build tooling and CI configuration, dropping Python 3.9 support, and applying broad codebase cleanup (type hints, docstrings, lint/format).
Changes:
- Migrates packaging to
pyproject.toml(hatchling) and removes legacy packaging/requirements/docs files. - Updates codebase for Python 3.10+ (PEP 604 type hints), removes deprecated
asciify_dict(), and normalizes docstrings/style. - Reworks CI/lint/publish workflows and adds pre-commit/ruff configuration.
Reviewed changes
Copilot reviewed 29 out of 31 changed files in this pull request and generated 7 comments.
Show a summary per file
| File | Description |
|---|---|
ubiquerg/system.py |
Updates type hints to PEP 604 and minor formatting. |
ubiquerg/paths.py |
Updates type hints to PEP 604 (notably return types/optionals). |
ubiquerg/files.py |
Updates type hints/import order and minor formatting. |
ubiquerg/file_locking.py |
Refactors imports/type hints and replaces some type comparisons with isinstance. |
ubiquerg/environment.py |
Updates __exit__ typing to PEP 604. |
ubiquerg/collection.py |
Removes deprecated asciify_dict() and modernizes typing/docstrings. |
ubiquerg/cli_tools.py |
Updates typing, avoids bare except, and formatting adjustments. |
ubiquerg/_version.py |
Switches version sourcing to importlib.metadata. |
ubiquerg/__init__.py |
Adjusts export ordering and imports __version__ from _version. |
tests/test_web.py |
Formatting-only changes. |
tests/test_system.py |
Formatting-only changes. |
tests/test_query_yes_no.py |
Formatting-only changes. |
tests/test_paths.py |
Updates docstring style and fixes == None to is None. |
tests/test_packaging.py |
Import formatting reorder. |
tests/test_files.py |
Import ordering and formatting-only changes. |
tests/test_environment.py |
Formatting-only changes. |
tests/test_collection.py |
Converts docstrings to Google style and modernizes a few comparisons/formatting. |
tests/test_cli_tools.py |
Converts docstrings to Google style and formatting. |
setup.py |
Deleted (legacy packaging removed). |
setup.cfg |
Deleted (pytest config moved to pyproject.toml). |
MANIFEST.in |
Deleted (packaging metadata moved to pyproject.toml). |
requirements/requirements-docs.txt |
Deleted (requirements directory removed). |
docs/README.md |
Deleted (docs directory removed). |
pyproject.toml |
New build system/project metadata, pytest config, and ruff config. |
.pre-commit-config.yaml |
Adds pre-commit hooks for basic hygiene + ruff/ruff-format. |
changelog.md |
Adds 0.9.0 entry describing modernization changes. |
.github/workflows/run-pytest.yml |
Updates test matrix and install method (now via extras). |
.github/workflows/run-lint.yml |
Replaces Black action with ruff check + format check. |
.github/workflows/python-publish.yml |
Switches publishing build step to python -m build and updates action versions. |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.