SeedSigner / seedsigner

Use an air-gapped Raspberry Pi Zero to sign for Bitcoin transactions! (and do other cool stuff)
MIT License
699 stars 161 forks source link

Migrate to pyproject.toml #554

Closed dbast closed 2 months ago

dbast commented 4 months ago

Description

Move towards a more modernised tool-agnostic Python package setup: Migrate .coveragerc, MANIFEST.in, pytest.ini, setup.py to one single pyproject.toml to have less boilerplate files in the repo root.

This is not so much relevant for the use on the image as there only the src folder is kept from the repo and every other file is ignored / removed see e.g. https://github.com/SeedSigner/seedsigner/blob/dev/.github/workflows/build.yml#L76

So the pyproject.toml is both an informal place containing all the Python tooling specific package information and is currently only used when installing the package during testing via pip. Both coverage (since version 5.0, we use 7.3.1) and pytest (since version 6.0, we use 7.4.2) support reading their configuration from the central pyproject.toml.

The formal spec can be found here https://packaging.python.org/en/latest/specifications/pyproject-toml/#pyproject-toml-spec

This pull request is categorized as a:

Checklist

If you modified or added functionality/workflow, did you add new unit tests?

I have tested this PR on the following platforms/os:

Note: Keep your changes limited in scope; if you uncover other issues or improvements along the way, ideally submit those as a separate PR. The more complicated the PR the harder to review, test, and merge.

kdmukai commented 2 months ago

ACK!

I can confirm that everything ran as expected:

pytest
coverage run -m pytest
coverage report
coverage html
newtonick commented 2 months ago

ACK