Feature/issue 1333 pyproject modernize - #1381
Conversation
There was a problem hiding this comment.
Code Review
This pull request migrates the project's build configuration and metadata from setup.py to pyproject.toml, updating documentation, packaging scripts, and manifest files accordingly. Feedback on the changes suggests correcting the license field format in pyproject.toml to comply with PEP 621 and restoring the missing Apache Software License classifier to maintain parity with the previous setup.
|
@mhucka keeping |
Thank you for that work! Re GCA's comments about the |
|
Regarding the timing of merging this PR: we're trying to get a release out this week, so we're going to leave this until after the release. |
|
Thanks @mhucka, glad this looks on track. No stress from my side, happy to wait until after the release. Ping me if anything else should change before merge. <3 |
There was a problem hiding this comment.
Thank you for taking this on, and sorry for the long delay in getting back to this PR.
This looks good. I have just a couple of fussy change requests.
Before merging this, I'd like to merge #1445 first, to update the version of Pylint; once the other PR is merged, if you could update the version of pylint in this pyproject.toml, the result should help ensure everything works together.
Add resource-estimate deps to dev group for uv parity. Document pyproject.toml and uv sync in CONTRIBUTING.
…t 4.0 Restore the existing copyright year, drop the parenthetical about setup.py, pin pylint to 4.0 to match quantumlib#1445, and pick up the package description and pytest helper deps from main.
c510879 to
a51907b
Compare
|
@rosspeili Other PR merged. Once you update the branch on this one, I think it'll be ready to merge. |
Moved project metadata from
setup.pyintopyproject.toml(PEP 621), modeled on qsim:[project]metadata, dynamic version/deps fromdev_tools/requirements/deps/*.txt,resourcesoptional extra, and a PEP 735devdependency group foruv sync --group dev. Removedsetup.py, and updatedMANIFEST.inand_version.pyaccordingly.Tested with
python -m build(sdist + wheel),pip install -e ., and full pytest (2196 passed; 6 Windows-only parallel-test failures also onmain), also updatedCONTRIBUTING.mdto point atpyproject.tomlas the canonical config and document theuv sync --group devworkflow.Intentionally deferred:
.pylintrc/ other dotfile tool configs intopyproject.tomluv.lock(if we want that workflow?)uv syncinstead of lockeddev_tools/requirements/envs/*.txt(those files andcreate-env-files.share unchanged)Closes #1333