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

Update packaging to *bleeding edge* #120

Closed
masklinn opened this issue May 5, 2022 · 2 comments
Closed

Update packaging to *bleeding edge* #120

masklinn opened this issue May 5, 2022 · 2 comments

Comments

@masklinn
Copy link
Contributor

masklinn commented May 5, 2022

That may or may not be a bad idea, but it at least sounds pretty interesting.

Basic resources:

The biggest issue with this plan is without a doubt the precompilation of yaml to regex. In the brave new world of pyproject.toml this apparently has to be done via custom build systems.

Additional:

  • Hynek's Testing & Packaging, strongly recommends moving the code to src/ in order to ensure what's tested is what will be installed, also provides help with setting up multi-version coverage (though there's almost no version-specific codepaths in uap, and of course coverage currently isn't set up; could be useful for yaml but that'll probably become just a data loader per new api #116)

Various:

  • flit seems to explicitely self-deselect:

    If your package needs a build step, you won’t be able to use Flit. Setuptools is the de-facto standard, but newer tools such as Enscons also cover this case.

@masklinn
Copy link
Contributor Author

  • managing artifacts using raw PEP 517 builders seems ill defined and quite unclear / ill-defined / non-standard, it looks like a pluggable frontend like Hatch might be a better idea
  • hatch does support package-local plugins, it calls them "custom"
  • hatch has existing plugins with a similar role (e.g. cython) which should serve as inspiration

@masklinn
Copy link
Contributor Author

Resolved by #148, kept to using setuptools but switched over to pyproject.toml and modernised the way setuptools is used a lot.

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

No branches or pull requests

1 participant