Skip to content

modernize, release v0.9.0#47

Merged
nsheff merged 9 commits intomasterfrom
dev
Feb 11, 2026
Merged

modernize, release v0.9.0#47
nsheff merged 9 commits intomasterfrom
dev

Conversation

@nsheff
Copy link
Contributor

@nsheff 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

@nsheff nsheff changed the title modernize modernize, release v0.9.0 Feb 10, 2026
Copy link

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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.

Copy link
Member

@khoroshevskyi khoroshevskyi left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Everything looks good

@nsheff nsheff merged commit 3a715d7 into master Feb 11, 2026
5 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants