roocs / clisops

Climate Simulation Operations
https://clisops.readthedocs.io/en/latest/
Other
21 stars 9 forks source link

Adopt PEP 517 and PEP 621, use modern metadata conventions #296

Closed Zeitsperre closed 1 year ago

Zeitsperre commented 1 year ago

Pull Request Checklist:

What kind of change does this PR introduce?:

New Features

Bug Fixes

Other Changes

Does this PR introduce a breaking change?:

For developers, yes. The development tooling has changed slightly to better support the new structure. CLISOPS now uses flit, a mature PEP 517-compliant packaging library. wheel and twine are no longer needed and no longer installed. The requirements.txt, requirements_dev.txt, and MANIFEST.in are built into the pyproject.toml file. The contributing documentation notes the differences.

For users, no. CLISOPS can still be installed using $ pip install clisops. All existing behaviours of the library functions are untouched. Metadata is much more accurate.

Other information:

In order to prevent $ pip install clisops from also installing tests (i.e. import tests), I needed to flatten the folder structure, as including namespace identifiers (__init__.py) was causing the issue. All existing tests should function as normally, including those reliant on private testing data.

I noticed there were some missing authors so, as an added goodie, I also added a first_pull_request.yml workflow to remind new contributors to add their names to the AUTHORS.rst.

coveralls commented 1 year ago

Pull Request Test Coverage Report for Build 5932240385


Totals Coverage Status
Change from base Build 5930077615: 0.03%
Covered Lines: 1111
Relevant Lines: 1415

💛 - Coveralls
cehbrecht commented 1 year ago

Looks all good. Thanks 🙂