Skip to content

Conversation

@t-b
Copy link
Collaborator

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

Close #579

t-b added 14 commits August 27, 2025 15:55
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.
Taken from pynwb in version 2c2bc850 (Remove python 3.8 support and add
python 3.13 support (#2007), 2024-12-18).
The release job depends on the test jobs so we don't have to duplicate the
test run code.
Only this creates ipfx/_version.py.
@t-b t-b marked this pull request as draft August 27, 2025 14:16
@t-b t-b self-assigned this Aug 27, 2025
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.

Port circeCI to github actions

2 participants