Skip to content

Clean up pyproject.toml and build pipeline#5540

Draft
emilykl wants to merge 7 commits intomainfrom
simplify-build-system
Draft

Clean up pyproject.toml and build pipeline#5540
emilykl wants to merge 7 commits intomainfrom
simplify-build-system

Conversation

@emilykl
Copy link
Contributor

@emilykl emilykl commented Mar 16, 2026

Link to issue

Closes #5537

Description of change

  • Switch build backend from setuptools to hatch (hatch is distributed by PyPA and has a number of advantages compared to setuptools
  • Update pyproject.toml config to work with hatch, and remove unused config sections
    • Remove MANIFEST.in file, since it's only required by setuptools, not needed for hatch
  • Update js/package.json to reflect the correct version number matching plotly.py version, which we've forgotten to do for the last few releases
  • Update RELEASE.md instructions to add step to update version number in js/package.json
  • Remove keys from js/install.json file which I believe are not needed

NOTE: The build command remains the same: python -m build .

Demo

python-m-build.mov

When running python -m build . locally, the output should look like the above.

Testing strategy

No additional testing needed: The CI already runs python -m build ., so if that step fails then we know something is wrong.

However, we should verify manually that the resulting build is the same before and after these changes.

This can be done by checking out this branch, running python -m build ., and comparing the .tar.gz and .whl files to the official 6.6.0 release artifacts.

Guidelines

@emilykl emilykl force-pushed the simplify-build-system branch from bd5dea9 to 2b66470 Compare March 16, 2026 22:49
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.

Some config options in pyproject.toml are unused

1 participant