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

Modernization: introduce pyproject.toml for setuptools configuration #655

Merged
merged 25 commits into from Oct 23, 2022

Conversation

jayaddison
Copy link
Collaborator

This builds on top of pull request #650, and is an alternative to #654 -- this time without adding poetry as a dependency; instead using pyproject.toml to configure setuptools.

@jayaddison jayaddison marked this pull request as ready for review October 20, 2022 21:54
@jayaddison
Copy link
Collaborator Author

I'm not sure that this is backwards-compatible with the publish workflow. Pausing work on this for now.

@jayaddison jayaddison marked this pull request as draft October 20, 2022 23:51
pyproject.toml Outdated
Comment on lines 8 to 13
authors = [
{ name = "Hristo Harsev", email = "r+pypi@hharsev.com" },
]
urls = { Homepage = "https://github.com/hhursev/recipe-scrapers/" }
keywords = ["python", "recipes", "scraper", "harvest", "recipe-scraper", "recipe-scrapers"]
license = { file = "LICENSE" }
Copy link
Collaborator Author

Choose a reason for hiding this comment

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

These four fields have slightly different output in PKG-INFO, as produced by setuptools v65.5.0, between the setup.py approach in the main branch and the pyproject.toml approach in this development branch.

  • Author and Author-email fields are condensed into a single Author-email line (Firstname Lastname <username@example.org> format)
  • Instead of a single home-page URL entry, a list of Project-URL entries with associated name, URL pairs is emitted (Homepage, ... in this case)
  • Keywords are joined into a comma-separated list
  • Instead of a license-files entry containing filenames, the license file's content is read and included into the PKG-INFO file

Those all seem fairly reasonable to me.

The wildcard blob in 5900d6e (used to make sure that settings and plugins are included) doesn't match the top-level module
@jayaddison jayaddison marked this pull request as ready for review October 22, 2022 10:55
@hhursev
Copy link
Owner

hhursev commented Oct 22, 2022

excited about this one! checking out locally and probing right now

@hhursev hhursev assigned hhursev and unassigned hhursev Oct 22, 2022
Copy link
Owner

@hhursev hhursev left a comment

Choose a reason for hiding this comment

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

Thanks!

I basically didn't change a thing (aside from adjusting the publish action). Decided to remove the setup.py file and us building the package with the newer tools.

I hope the [tool.setuptools] table being beta won't bite us (I think it's highly unlikely). We'll be able to react quickly so no real issues imo.

Feel free to merge/bump version whenever

@jayaddison
Copy link
Collaborator Author

Thanks @hhursev @bfcarpio!

And well spotted @hhursev about the license content in the pypi sidebar.. that's weird/spammy. Looks like it is a known issue (mesonbuild/meson-python#129).

@jayaddison jayaddison merged commit aacd321 into main Oct 23, 2022
@jayaddison jayaddison deleted the issue-617/tox-plus-setuptools-pyproject branch October 23, 2022 12:22
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

3 participants