Skip to content

Modernizing packaging to Poetry, and automate publishing to PyPI#13

Merged
vtnate merged 13 commits intomainfrom
modernizing
Sep 30, 2025
Merged

Modernizing packaging to Poetry, and automate publishing to PyPI#13
vtnate merged 13 commits intomainfrom
modernizing

Conversation

@vtnate
Copy link
Collaborator

@vtnate vtnate commented Sep 19, 2025

  • Update packaging from setup.py to pyproject.toml managed by poetry
  • Add workflow that automatically publishes to PyPI when a release is made on Github
  • Bump pre-commit hook versions
  • Add ruff_cache to gitignore, so that once ruff is activated we don't keep these cache files on Github

@vtnate vtnate self-assigned this Sep 19, 2025
Copilot AI review requested due to automatic review settings September 19, 2025 18:36
@vtnate vtnate added the enhancement New feature or request label Sep 19, 2025
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

This PR modernizes the project's packaging infrastructure by migrating from setuptools to Poetry and implementing automated PyPI publishing. The changes streamline dependency management and enable continuous deployment upon GitHub releases.

  • Migration from setup.py to Poetry-managed pyproject.toml configuration
  • Addition of GitHub Actions workflow for automated PyPI publishing on releases
  • Updates to pre-commit hook versions and gitignore improvements

Reviewed Changes

Copilot reviewed 5 out of 7 changed files in this pull request and generated 2 comments.

Show a summary per file
File Description
setup.py Removed legacy setuptools configuration file
setup.cfg Removed setuptools metadata configuration
pyproject.toml Converted to Poetry configuration with updated dependencies and build system
.pre-commit-config.yaml Updated pre-commit hook versions from v5.0.0 to v6.0.0 and ruff from v0.12.1 to v0.13.1
.github/workflows/pypi_release.yml Added new GitHub Actions workflow for automated PyPI publishing

Tip: Customize your code reviews with copilot-instructions.md. Create the file or learn how to get started.

@vtnate vtnate requested a review from kflemin September 19, 2025 18:53
@kflemin kflemin requested a review from nllong September 19, 2025 19:15
mypy.ini Outdated
@@ -1,3 +1,3 @@
[mypy]
python_version = "3.9"
python_version = "3.10"
Copy link

Choose a reason for hiding this comment

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

@nllong can we make this change now? I think SEED is still on 3.9...

Copy link
Collaborator Author

Choose a reason for hiding this comment

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

Shouldn't be too hard to stick with 3.9. The original didn't have any versioning on dependencies, so I just set the current version of everything. I could enforce older versions of dependencies and that way support 3.9 again, though we might give up 3.13 in the process.

Copy link
Member

Choose a reason for hiding this comment

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

stick with 3.9...

@vtnate
Copy link
Collaborator Author

vtnate commented Sep 30, 2025

Not sure why this is still looking for a 3.12 CI run. Maybe because develop is still testing 3.12? @nllong @kflemin please review at your convenience.

@vtnate vtnate requested a review from kflemin September 30, 2025 20:56
Copy link
Member

@nllong nllong left a comment

Choose a reason for hiding this comment

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

once you make sure that Python 3.9 is supported, then merge!

@vtnate vtnate merged commit bd91b6a into main Sep 30, 2025
3 checks passed
@vtnate vtnate deleted the modernizing branch September 30, 2025 21:43
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

enhancement New feature or request

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants