Skip to content

Conversation

@t-b
Copy link
Collaborator

@t-b t-b commented Aug 8, 2025

Close #574

@t-b t-b self-assigned this Aug 8, 2025
@t-b t-b force-pushed the update-packaging branch 2 times, most recently from 1958163 to 50b403e Compare August 8, 2025 19:15
@t-b t-b marked this pull request as draft August 8, 2025 19:32
@t-b t-b force-pushed the update-packaging branch from 07bc3fb to fa903f4 Compare August 27, 2025 14:12
@t-b t-b changed the title Update packaging to pyproject.toml and resurrect deploy CI Update packaging to pyproject.toml Aug 27, 2025
@t-b t-b force-pushed the update-packaging branch 3 times, most recently from 3fb547b to 2cac8a3 Compare September 8, 2025 18:46
@t-b t-b requested a review from gouwens September 10, 2025 15:59
@t-b t-b assigned gouwens and unassigned t-b Sep 10, 2025
@t-b t-b marked this pull request as ready for review September 10, 2025 16:03
@t-b t-b assigned t-b and unassigned gouwens Sep 10, 2025
t-b added 6 commits September 10, 2025 18:06
Created with hatch new --init.
The new way of packaging in python is based on pyproject.toml. This allows
us to have only one file defining the package properties instead of three.

We also switch to hatch instead of setuptools. And the version number is
now gathered from git instead of being hardcoded in ipfx/version.txt.

The new source package (sdist) has the following differences:
- We don't ship the tests folder anymore. It is not usable without
  datafiles anyway and including them would require ~250MB of disc space.
- `ipfx/version.txt` is gone as the version is now gathered from git with the build-time created `ipfx/_version.py`
- No more IPFX.egg-info/MANIFEST.in/setup.cfg/setup.py but only pyproject.toml
- Added missing files in docs

The wheel is now different in the following regard:
- It is not an universal wheel anymore as Python 2 support is already long gone
- No more `*dist-info` folder as we are now packaging with hatch, the files LICENSE and AUTHORS.rst are
  therefore manually included
- Same comment regarding `ipfx/version.txt` as in the sdist

The flake8 configuration can not be included in pyproject.toml, see
PyCQA/flake8#234. It will also be
replaced by another linter in a future commit.
And also standardize on dashes like we do for test.
We don't use a dev branch anymore and also version.txt is gone. Mention
also the switch from setuptools to hatch.
Only this creates ipfx/_version.py.
@t-b t-b assigned gouwens and unassigned t-b Sep 10, 2025
@t-b
Copy link
Collaborator Author

t-b commented Sep 10, 2025

@gouwens And the next one!

Copy link
Collaborator

@gouwens gouwens left a comment

Choose a reason for hiding this comment

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

Looks good

@t-b t-b merged commit e9d33b4 into master Sep 10, 2025
12 checks passed
@t-b t-b deleted the update-packaging branch September 10, 2025 16:58
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.

Update packaging to pyproject.toml

3 participants