Skip to content
New issue

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

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

Already on GitHub? # to your account

docs: Add Environment :: WebAssembly :: Emscripten PyPI trove classifier #2100

Merged
merged 4 commits into from
Feb 16, 2023

Conversation

matthewfeickert
Copy link
Member

@matthewfeickert matthewfeickert commented Jan 22, 2023

Description

Add PyPI trove classifiers to the PyPI metadata for Environment :: WebAssembly :: Emscripten as pyhf can run on a WASM build of CPython.

Thanks to @treyhunner for sharing this on Twitter and to @brettcannon for adding them in pypa/trove-classifiers#129. 👍

Checklist Before Requesting Reviewer

  • Tests are passing
  • "WIP" removed from the title of the pull request
  • Selected an Assignee for the PR to be responsible for the log summary

Before Merging

For the PR Assignees:

  • Summarize commit messages into a comprehensive review of the PR
* Add the PyPI Environment :: WebAssembly :: Emscripten trove classifier
  to the PyPI metadata as pyhf can run on a WASM build of CPython.
   - c.f. https://discuss.python.org/t/do-we-want-classifiers-for-webassembly-on-pypi/22712
* Update hatchling lower bound to v1.13.0, the first version to support
  the Environment :: WebAssembly trove classifiers.

@matthewfeickert matthewfeickert added the docs Documentation related label Jan 22, 2023
@matthewfeickert matthewfeickert self-assigned this Jan 22, 2023
@matthewfeickert
Copy link
Member Author

@henryiii maybe we should add these to all the Scikit-HEP packages that currently work in pyodide?

@matthewfeickert
Copy link
Member Author

I opened up pypa/hatch#725 as Environment :: WebAssembly isn't a valid classifier in the latest hatchling.

@matthewfeickert
Copy link
Member Author

matthewfeickert commented Jan 22, 2023

This will also require bumping

[build-system]
- requires = ["hatchling>=1.0.0", "hatch-vcs"]
+ requires = ["hatchling>=1.12.3", "hatch-vcs>=0.3.0"]  # c.f. PR #2100

assuming this fix would get into v1.12.3 (also throwing in a lower bound on hatch-vcs as might as well).

@matthewfeickert matthewfeickert marked this pull request as draft January 22, 2023 21:33
@brettcannon
Copy link

To be clear, Environment :: WebAssembly should only be specified if a package will work in both WASI and Emscripten (i.e. Pyodide). If your project only works with Emscripten/Pyodide, then use the Environment :: WebAssembly :: Emscripten classifier.

pyproject.toml Outdated
Comment on lines 32 to 34
"Environment :: WebAssembly",
"Environment :: WebAssembly :: Emscripten",
"Environment :: WebAssembly :: WASI",
Copy link
Member Author

Choose a reason for hiding this comment

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

Suggested change
"Environment :: WebAssembly",
"Environment :: WebAssembly :: Emscripten",
"Environment :: WebAssembly :: WASI",
"Environment :: WebAssembly :: Emscripten",

As @brettcannon reminds me, NumPy and SciPy work with Emscripten, but they don't cleanly work with WASI in a way that would merit the WASI support classifier.

@matthewfeickert matthewfeickert force-pushed the docs/add-webassembly-to-metadata branch from 31d969d to 6a07979 Compare February 16, 2023 06:33
@matthewfeickert matthewfeickert marked this pull request as ready for review February 16, 2023 06:34
@codecov
Copy link

codecov bot commented Feb 16, 2023

Codecov Report

Base: 98.30% // Head: 98.30% // No change to project coverage 👍

Coverage data is based on head (eb0aae6) compared to base (29fb68e).
Patch has no changes to coverable lines.

Additional details and impacted files
@@           Coverage Diff           @@
##             main    #2100   +/-   ##
=======================================
  Coverage   98.30%   98.30%           
=======================================
  Files          69       69           
  Lines        4531     4531           
  Branches      645      645           
=======================================
  Hits         4454     4454           
  Misses         45       45           
  Partials       32       32           
Flag Coverage Δ
contrib 97.88% <ø> (ø)
doctest 61.15% <ø> (ø)
unittests-3.10 96.31% <ø> (ø)
unittests-3.8 96.33% <ø> (ø)
unittests-3.9 96.35% <ø> (ø)

Flags with carried forward coverage won't be shown. Click here to find out more.

Help us with your feedback. Take ten seconds to tell us how you rate us. Have a feature suggestion? Share it here.

☔ View full report at Codecov.
📢 Do you have feedback about the report comment? Let us know in this issue.

@matthewfeickert matthewfeickert added the build Changes that affect the build system or external dependencies label Feb 16, 2023
@matthewfeickert matthewfeickert changed the title docs: Add Environment :: WebAssembly PyPI trove classifiers docs: Add Environment :: WebAssembly :: Emscripten PyPI trove classifier Feb 16, 2023
@matthewfeickert
Copy link
Member Author

I'm going to approve and merge this myself. As always, PRs approved by a single core dev can be reverted as needed by the rest of the dev team.

@matthewfeickert matthewfeickert merged commit 46ce316 into main Feb 16, 2023
@matthewfeickert matthewfeickert deleted the docs/add-webassembly-to-metadata branch February 16, 2023 07:17
matthewfeickert added a commit that referenced this pull request Mar 31, 2023
* Backport PR #2095 to the release/v0.7.x branch for easier comparisons.
* Also backport components of:
    - PR #2072
    - PR #2099
    - PR #2100
    - PR #2119
    - PR #2125
    - PR #2145
* In filterwarnings ignore all DeprecationWarning on patch release branches
  (e.g. release/v0.7.x).
# for free to join this conversation on GitHub. Already have an account? # to comment
Labels
build Changes that affect the build system or external dependencies docs Documentation related
Projects
Status: Done
Development

Successfully merging this pull request may close these issues.

2 participants