-
-
Notifications
You must be signed in to change notification settings - Fork 503
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
Complete our GitHub dependency graph (javascript help needed) #35890
Comments
I've knowledge of js, how can i help? |
Learn about the GH Dependency submission API (link above), the dependency-submission-toolkit (link above), then write a JS program that reads the package metadata at https://github.com/sagemath/sage/tree/develop/build/pkgs |
okay. |
Can you tell me which one is metadata file(s) in these directories |
The contents of these directories are documented in https://doc.sagemath.org/html/en/developer/packaging.html#directory-structure What information will you need for each package? |
…nts.txt` <!-- ^^^^^ Please provide a concise, informative and self-explanatory title. Don't put issue numbers in there, do this in the PR body below. For example, instead of "Fixes sagemath#1234" use "Introduce new method to calculate 1+1" --> <!-- Describe your changes here in detail --> As discussed in sagemath#36982: - the name "install-requires" has become outdated with the transition to the new names set by the `pyproject.toml` format (see https://setupto ols.pypa.io/en/latest/userguide/dependency_management.html#declaring- required-dependency, compare the tabs "pyproject.toml" vs. "setup.cfg") - this will help with sagemath#35890, as GitHub will be able to just read the `version_requirements.txt` files sagemath#36982 (comment) Notes for reviewers: - **This is a simple, limited-scope improvement and not intended as a long-term commitment to the format of the files in build/pkgs/....** - PRs sagemath#37430, sagemath#37350, sagemath#36740 remove direct access to build/pkgs in favor of using the sage_bootstrap API (sage --package). <!-- Why is this change required? What problem does it solve? --> <!-- If this PR resolves an open issue, please link to it here. For example "Fixes sagemath#12345". --> <!-- If your change requires a documentation PR, please link it appropriately. --> ### 📝 Checklist <!-- Put an `x` in all the boxes that apply. --> <!-- If your change requires a documentation PR, please link it appropriately --> <!-- If you're unsure about any of these, don't hesitate to ask. We're here to help! --> <!-- Feel free to remove irrelevant items. --> - [x] The title is concise, informative, and self-explanatory. - [x] The description explains in detail what this PR is about. - [x] I have linked a relevant issue or discussion. - [ ] I have created tests covering the changes. - [ ] I have updated the documentation accordingly. ### ⌛ Dependencies <!-- List all open PRs that this PR logically depends on - sagemath#12345: short description why this is a dependency - sagemath#34567: ... --> - Depends on sagemath#37401 <!-- If you're unsure about any of these, don't hesitate to ask. We're here to help! --> URL: sagemath#36999 Reported by: Matthias Köppe Reviewer(s): Dima Pasechnik, Kwankyu Lee, Nathan Dunfield
…nts.txt` <!-- ^^^^^ Please provide a concise, informative and self-explanatory title. Don't put issue numbers in there, do this in the PR body below. For example, instead of "Fixes sagemath#1234" use "Introduce new method to calculate 1+1" --> <!-- Describe your changes here in detail --> As discussed in sagemath#36982: - the name "install-requires" has become outdated with the transition to the new names set by the `pyproject.toml` format (see https://setupto ols.pypa.io/en/latest/userguide/dependency_management.html#declaring- required-dependency, compare the tabs "pyproject.toml" vs. "setup.cfg") - this will help with sagemath#35890, as GitHub will be able to just read the `version_requirements.txt` files sagemath#36982 (comment) Notes for reviewers: - **This is a simple, limited-scope improvement and not intended as a long-term commitment to the format of the files in build/pkgs/....** - PRs sagemath#37430, sagemath#37350, sagemath#36740 remove direct access to build/pkgs in favor of using the sage_bootstrap API (sage --package). <!-- Why is this change required? What problem does it solve? --> <!-- If this PR resolves an open issue, please link to it here. For example "Fixes sagemath#12345". --> <!-- If your change requires a documentation PR, please link it appropriately. --> ### 📝 Checklist <!-- Put an `x` in all the boxes that apply. --> <!-- If your change requires a documentation PR, please link it appropriately --> <!-- If you're unsure about any of these, don't hesitate to ask. We're here to help! --> <!-- Feel free to remove irrelevant items. --> - [x] The title is concise, informative, and self-explanatory. - [x] The description explains in detail what this PR is about. - [x] I have linked a relevant issue or discussion. - [ ] I have created tests covering the changes. - [ ] I have updated the documentation accordingly. ### ⌛ Dependencies <!-- List all open PRs that this PR logically depends on - sagemath#12345: short description why this is a dependency - sagemath#34567: ... --> - Depends on sagemath#37401 <!-- If you're unsure about any of these, don't hesitate to ask. We're here to help! --> URL: sagemath#36999 Reported by: Matthias Köppe Reviewer(s): Dima Pasechnik, Kwankyu Lee, Nathan Dunfield
https://github.com/sagemath/sage/network/dependencies?page=1 knows about some our Python dependencies -- because it happens to find the
build/pkgs/*/requirements.txt
files of our "pip" packages.This is, of course, highly incomplete. To add all of SageMath's dependencies, we should use the GitHub Dependency submission API. This will also make SageMath visible in our upstream projects' GitHub front pages (in the "Used by" section.)
This will need some basic Javascript coding, using https://github.com/github/dependency-submission-toolkit in a GH Actions workflow and reading in our package metadata from
build/pkgs
.Bonus points for making this workflow reusable by our upstream projects, reusing the dependency information that we have for them in
build/pkgs
.Depends on:
sage --package
,sage-get-system-packages
: Support PURLspkg:pypi/DISTRO-NAME
, obtain dependencies of wheels from PyPI #37500 (because the Dependency API uses PURLs)The text was updated successfully, but these errors were encountered: