Skip to content

Modernize stages -- all #512

Merged
khoroshevskyi merged 10 commits into
peppy0_50from
peppy0_50_modernize
Apr 1, 2026
Merged

Modernize stages -- all #512
khoroshevskyi merged 10 commits into
peppy0_50from
peppy0_50_modernize

Conversation

@khoroshevskyi
Copy link
Copy Markdown
Member

@khoroshevskyi khoroshevskyi commented Mar 23, 2026

Changes:

  • Migrates packaging configuration from setup.py/requirements/*.txt/pytest.ini to pyproject.toml (including optional test extras).
  • Updates GitHub Actions workflows to build with python -m build and install test deps via pip install ".[test]".
  • Modernizes Python code (typing syntax, import ordering, docstring formatting) across core modules and tests.

Copy link
Copy Markdown

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

This PR modernizes the project’s packaging/build/test setup (moving to pyproject.toml/hatchling and updating CI), while also updating type hints and docstrings across the peppy, eido, and pephubclient modules.

Changes:

  • Migrates packaging configuration from setup.py/requirements/*.txt/pytest.ini to pyproject.toml (including optional test extras).
  • Updates GitHub Actions workflows to build with python -m build and install test deps via pip install ".[test]".
  • Modernizes Python code (typing syntax, import ordering, docstring formatting) across core modules and tests.

Reviewed changes

Copilot reviewed 55 out of 55 changed files in this pull request and generated 4 comments.

Show a summary per file
File Description
tests/peppytests/test_Sample.py Minor import/spacing normalization for linting/formatting consistency.
tests/peppytests/test_Project.py Import ordering cleanup (e.g., YAML import placement) for linting/formatting consistency.
tests/eidotests/test_validations.py Minor import/spacing normalization.
tests/eidotests/test_schema_operations.py Reorders imports for consistency.
tests/eidotests/conftest.py Minor import/spacing normalization.
tests/data/peppydata/example_peps-master/subannotation.ipynb Adds blank lines in example cells (formatting-only).
setup.py Removed legacy setuptools build configuration (replaced by pyproject.toml).
requirements/requirements-test.txt Removed legacy test requirements file (replaced by project.optional-dependencies).
requirements/requirements-doc.txt Removed legacy docs requirements file.
requirements/requirements-all.txt Removed legacy “all requirements” file (replaced by project.dependencies).
pytest.ini Removed legacy pytest config (replaced by [tool.pytest.ini_options]).
pyproject.toml Adds PEP 621 project metadata, deps/extras, build backend, pytest + ruff configuration.
peppy/utils.py Updates typing imports/annotations and reformats multiple docstrings.
peppy/simple_attr_map.py Adds type annotations to mapping protocol methods.
peppy/sample.py Modernizes typing syntax and updates docstrings to Args/Returns style.
peppy/project.py Broad docstring/type-hint modernization across the main Project API.
peppy/pephubclient/pephubclient.py Typing/docstring modernization and import ordering adjustments.
peppy/pephubclient/pephub_oauth/pephub_oauth.py Typing/docstring modernization.
peppy/pephubclient/pephub_oauth/exceptions.py Docstring cleanup for exceptions.
peppy/pephubclient/modules/view.py Typing/docstring modernization.
peppy/pephubclient/modules/sample.py Typing/docstring modernization.
peppy/pephubclient/models.py Modernizes type hints to `X
peppy/pephubclient/helpers.py Typing/docstring modernization and more precise annotations.
peppy/pephubclient/files_manager.py Docstring modernization and minor formatting cleanup.
peppy/pephubclient/exceptions.py Modernizes exception constructor annotations.
peppy/pephubclient/constants.py Updates Pydantic model field annotations to `X
peppy/parsers.py Modernizes container typing (list[...], dict[...]) and docstrings.
peppy/exceptions.py Updates typing syntax and docstring formatting.
peppy/eido/validation.py Modernizes typing annotations and docstrings; minor logic readability tweak (not in).
peppy/eido/schema.py Modernizes typing annotations and docstrings.
peppy/eido/output_formatters.py Modernizes typing annotations and docstrings.
peppy/eido/inspection.py Modernizes typing annotations and docstrings.
peppy/eido/exceptions.py Updates typing annotations for structured error payloads.
peppy/eido/conversion.py Switches to stdlib importlib.metadata.entry_points and modern typing/docstrings.
peppy/eido/conversion_plugins.py Modernizes return type annotations and docstrings.
peppy/eido/const.py Docstring cleanup/normalization.
peppy/eido/cli.py Modernizes typer option annotations (`X
peppy/cli.py Switches CLI version reporting to importlib.metadata.version.
peppy/_version.py Removes static version module (replaced by metadata-driven version).
peppy/init.py Switches package __version__ to importlib.metadata.version.
MANIFEST.in Removed legacy MANIFEST (build now controlled by hatchling defaults/config).
docs_jupyter/tutorial.ipynb Deleted legacy notebook documentation artifact.
docs_jupyter/feature5_amend.ipynb Deleted legacy notebook documentation artifact.
docs_jupyter/feature4_subsample_table.ipynb Deleted legacy notebook documentation artifact.
docs_jupyter/feature3_derived.ipynb Deleted legacy notebook documentation artifact.
docs_jupyter/feature2_imply.ipynb Deleted legacy notebook documentation artifact.
docs_jupyter/feature1_append.ipynb Deleted legacy notebook documentation artifact.
docs_jupyter/build/.gitignore Deleted legacy docs build ignore file.
.pre-commit-config.yaml Removed placeholder/invalid pre-commit config.
.github/workflows/python-publish.yml Updates publishing workflow to build with python -m build and sets minimal permissions.
.github/workflows/pytest.yml Updates test workflow to install via extras (pip install ".[test]") and bumps action versions.
.github/workflows/pytest-windows.yml Updates Windows tests similarly and bumps action versions.
.github/workflows/cli-coverage.yml Updates coverage workflow to install via extras and bumps Python/action versions.
.github/workflows/black.yml Replaces Black action usage with ruff lint + ruff format checks.
.flake8 Removed flake8 config (linting now driven by ruff).

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment thread peppy/__init__.py
Comment thread peppy/cli.py
Comment thread peppy/simple_attr_map.py
Comment thread peppy/utils.py
@khoroshevskyi khoroshevskyi changed the title Modernize stages 1-3 Modernize stages -- all Apr 1, 2026
@khoroshevskyi khoroshevskyi merged commit 7293a97 into peppy0_50 Apr 1, 2026
9 checks passed
@khoroshevskyi khoroshevskyi deleted the peppy0_50_modernize branch April 1, 2026 16:31
@github-project-automation github-project-automation Bot moved this to Done in PEP Apr 1, 2026
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.

2 participants