Skip to content

Migrated to pyproject.toml and uv.lock#39

Open
robin523790 wants to merge 5 commits into
timrid:mainfrom
robin523790:main
Open

Migrated to pyproject.toml and uv.lock#39
robin523790 wants to merge 5 commits into
timrid:mainfrom
robin523790:main

Conversation

@robin523790

Copy link
Copy Markdown

Migrated to pyproject.toml and uv.lock.
Bumped required Python version to >=3.10 (previously: >=3.8 which has reached end-of-life).
Bumped wxPython to >=4.2.2 (previously: >=4.1.1 which looks like it was yanked).
Removed unused imports.

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Pull request overview

This pull request migrates the project from setup.py / requirements.txt to a modern pyproject.toml + uv.lock-based workflow, while raising the minimum supported Python version and updating key dependencies.

Changes:

  • Replace legacy packaging/config (setup.py, requirements.txt, pyrightconfig.json) with pyproject.toml and a committed uv.lock.
  • Bump required Python to >=3.10 and update wxPython requirement to >=4.2.2.
  • Remove a set of unused imports across the wx widgets, core, and gallery modules.

Reviewed changes

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

Show a summary per file
File Description
uv.lock Adds uv lockfile for reproducible installs (note: contains a marker issue for wxPython→NumPy on Python 3.12+).
pyproject.toml Defines project metadata, dependencies, and tool configs (note: uv workspace member path and Ruff exclude config need adjustment).
scripts/run-pyright-locally.ps1 Adds a local lint/typecheck helper script (note: venv activation path and npm exec invocation need fixes).
setup.py Removed in favor of PEP 621 pyproject.toml.
requirements.txt Removed in favor of pyproject.toml/uv dependency management.
pyrightconfig.json Removed in favor of [tool.pyright] in pyproject.toml.
construct_editor/wx_widgets/wx_obj_view.py Removes an unused import.
construct_editor/wx_widgets/wx_hex_editor.py Removes unused wx imports.
construct_editor/wx_widgets/wx_construct_editor.py Removes unused EntryFlag import.
construct_editor/core/entries.py Removes unused enum import.
construct_editor/core/construct_editor.py Removes unused model import.
construct_editor/gallery/* Removes unused imports in gallery examples/tests.

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

Comment thread scripts/run-pyright-locally.ps1 Outdated
Comment thread scripts/run-pyright-locally.ps1 Outdated
Comment thread pyproject.toml Outdated
Comment thread pyproject.toml Outdated
Bumped minimum Python version to >=3.10 (previously: >=3.8 which reached end-of-life)
Bumped wxPython to >=4.2.2 (previously: >=4.1.1 which looks like it was yanked)
Comment thread uv.lock
Comment thread CHANGELOG.md Outdated
Comment thread construct_editor/version.py
Comment thread scripts/run-pyright-locally.ps1 Outdated
Comment thread scripts/run-pyright-locally.ps1 Outdated
Comment thread pyproject.toml Outdated
…ill be a separate PR)

Re-added `construct` as direct dependencies.
Added "optional extra" dependencies to `pyproject.toml`.
Added `poethepoet` and `pyright` as dev-dependencies.
Added Changelog entry about `version.py` being removed.
Moved "extras" to dev-dependencies, added `cryptography`.
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.

4 participants