Skip to content

Move packaging to pyproject.toml - #108

Open
stephenfin wants to merge 10 commits into
ParallelSSH:masterfrom
stephenfin:packaging
Open

stephenfin wants to merge 10 commits into
ParallelSSH:masterfrom
stephenfin:packaging

Conversation

@stephenfin

@stephenfin stephenfin commented Nov 12, 2026 •

Copy link
Copy Markdown

Well, as much of it as we can. This is quite a large PR, so I've broken it down into a series of individual commits. I think it would be much easier to review this that way.

NOTE
I'm marking this as draft since I expect to see failures in CI here. Hopefully not, but better safe than sorry.

Commits

  • Stop using setup.py
  • Move flake8 configuration to .flake8 file
  • Remove [bdist_wheel] universal
  • Add minimal pyproject.toml
  • Move versioneer to a build-time dependency
  • Move (most) packaging metadata to pyproject.toml
  • Move package data definition to pyproject.toml
  • Move versioneer configuration to pyproject.toml
  • Move pytest configuration to pyproject.toml
  • Remove obsolete Windows Python version check

Use the replacements for setup.py build and setup.py install.

Signed-off-by: Stephen Finucane <stephen@that.guru>
Signed-off-by: Stephen Finucane <stephen@that.guru>
We were setting this to 0 which is already the default. It is also
irrelevant since we are building binary wheels.

Signed-off-by: Stephen Finucane <stephen@that.guru>
We only populate [build-system] for now.

Signed-off-by: Stephen Finucane <stephen@that.guru>
We no longer need to vendor this.

Signed-off-by: Stephen Finucane <stephen@that.guru>
Note that we use the older, deprecated 'project.license' configuration
to avoid breaking builds on Python 3.8 (whose newest setuptools version
does not support this).

Signed-off-by: Stephen Finucane <stephen@that.guru>
This is kept separate since it's a little more complicated.

We also remove the `platforms='any'` definition since this is legacy
that has no meaning nowadays.

Signed-off-by: Stephen Finucane <stephen@that.guru>
Signed-off-by: Stephen Finucane <stephen@that.guru>
This removes our last user of setup.cfg.

Signed-off-by: Stephen Finucane <stephen@that.guru>
We already handle this via requires-python.

Signed-off-by: Stephen Finucane <stephen@that.guru>
@stephenfin
stephenfin marked this pull request as ready for review November 13, 2026 16:51
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.

1 participant