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

Should we disallow the use of "PyPI" (and/or extra keys) for shared/static libraries' recipes? #57

Open
agriyakhetarpal opened this issue Nov 9, 2024 · 4 comments

Comments

@agriyakhetarpal
Copy link
Member

As the issue title says: I added the PyPI: key to a static library's recipe in addition to a home: key under the about: field, which doesn't make sense because it's not a Python package – and a warning/error was not raised for it. Should we disallow the use of extra fields, such as this one and any others that we shouldn't allow?

@agriyakhetarpal
Copy link
Member Author

We mention in an admonition under https://pyodide.org/en/stable/development/new-packages.html#creating-the-meta-yaml-file that the recipe format was inspired by conda but isn't strictly compatible with it, and conda restricts additional fields. If we have to do this, we should supply our own schema even if it's a subset of that of conda's1. Text editors like Visual Studio Code are currently listing our recipe format as "conda metadata build recipe" in the bottom right.

Tools like cibuildwheel also have their own schemas which are then hosted in an external place like https://json.schemastore.org/partial-cibuildwheel.json

Footnotes

  1. https://docs.conda.io/projects/conda-build/en/latest/resources/define-metadata.html

@agriyakhetarpal
Copy link
Member Author

@hoodmane
Copy link
Member

hoodmane commented Nov 9, 2024

Fine with me, these fields are strictly informational so I am not that concerned. It's nice if the licenses are accurate though.

@agriyakhetarpal
Copy link
Member Author

Fine with me, these fields are strictly informational so I am not that concerned. It's nice if the licenses are accurate though.

Yes, I expect that any problems with the format could increase, but only after we unvendor recipes and when they don't get to be in the main repository anymore. The licenses could be renamed to a license-expression: perhaps – and validated with the list that SPDX provides? https://spdx.org/licenses/. The recent PEP 639 (while provisional) is going to mark a shift for PyPI build backends, maybe conda-forge will adjust to this, too (and that means we should, too).

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

2 participants