Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Move project metadata to pyproject.toml, modify build scripts #91

Merged
merged 2 commits into from
Jul 15, 2023

Conversation

mwtoews
Copy link
Contributor

@mwtoews mwtoews commented May 17, 2023

This PR moves the project metadata to pyproject.toml (PEP 621), as supported by setuptools>61, and specifies "setuptools.build_meta" as the build-backend (PEP 517).

For now, keep setup.py, as some components expect this file. Also, the project name is repeated to allow GitHub dependency tracker to work.

It is mostly a 1:1 conversion, with a few exceptions:

  • Short description changed to the shorter version found on GitHub
  • License identifier is modified to the short identifier used by SPDX
  • A content type is specified for the long description (before this failed twine check --strict dist/*)
  • Platform is removed, since this is mostly useless metadata not used by pip
  • No need to ever specify "Python <4"
Full diff of the METADATA
4,8c4,7
< Summary: Conversion library for common geospatial data formats (GeoJSON/WKT/EWKT/WKB/EWKB/GeoPackage/EsriJson)
< Home-page: https://github.com/geomet/geomet
< Maintainer: Lars Butler
< Maintainer-email: lars.butler@gmail.com
< License: Apache 2.0
---
> Summary: Pure Python conversion library for common geospatial data formats
> Maintainer-email: Lars Butler <lars.butler@gmail.com>
> License: Apache-2.0
> Project-URL: Repository, https://github.com/geomet/geomet
10d8
< Platform: any
22c20,21
< Requires-Python: >=3.7, <4
---
> Requires-Python: >=3.7
> Description-Content-Type: text/x-rst
27d25
< 

Also, there are several changes to the build scripts:

  • Change commands that directly invoke setup.py, see Why you shouldn't invoke setup.py directly
  • It's a good idea to clean-up a few directories before building packages
  • Move the "twine check" step to after building the packages (it's not entirely clear to me what build-scripts/01-build.sh is for); also add --strict to catch warnings
  • packaging-requirements.txt only needs to contain build and twine, because the other requirements are defined in the build-system of pyproject.toml

@mwtoews
Copy link
Contributor Author

mwtoews commented May 17, 2023

Looking at #88, it is trivial to specify "README.md" without needing anything fancy.

@larsbutler
Copy link
Member

Hi @mwtoews, thank you very much for this contribution! Looks good to me.

Could you please add yourself to the AUTHORS.txt file?

And also, would you like to become a maintainer? (You can read about what that entails here: https://github.com/geomet/geomet/blob/master/CONTRIBUTING.md.) Just reply in the thread if you'd like that, and I'll set it up. :)

Copy link
Member

@larsbutler larsbutler left a comment

Choose a reason for hiding this comment

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

This is awesome. I've been meaning to do this work, and just haven't had the time. :D

Please add yourself to the AUTHORS.txt and I'm happy to merge this.

@larsbutler larsbutler merged commit 5a69f35 into geomet:master Jul 15, 2023
5 of 6 checks passed
@mwtoews mwtoews deleted the pyproject-toml branch July 15, 2023 18:07
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.

None yet

2 participants