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

Reference manual: Show package list by category (math/front-end/other) #37315

Merged
merged 15 commits into from
Mar 25, 2024

Conversation

mkoeppe
Copy link
Member

@mkoeppe mkoeppe commented Feb 13, 2024

Likewise, a selection of other packages is marked with a 'front-end' tag.

This tag is then used to break our long package lists in the documentation into math, front-end, and other packages, for better navigability:

https://deploy-preview-37315--sagemath.netlify.app/html/en/reference/spkg/

📝 Checklist

  • The title is concise, informative, and self-explanatory.
  • The description explains in detail what this PR is about.
  • I have linked a relevant issue or discussion.
  • I have created tests covering the changes.
  • I have updated the documentation accordingly.

⌛ Dependencies

@mkoeppe mkoeppe force-pushed the pkgs_math_tag branch 2 times, most recently from 4d7b4c6 to e2f6d5a Compare February 13, 2024 08:21
@mkoeppe mkoeppe self-assigned this Feb 13, 2024
@mkoeppe mkoeppe marked this pull request as ready for review February 13, 2024 19:43
@mkoeppe mkoeppe requested a review from videlec February 13, 2024 19:43
@mkoeppe mkoeppe requested a review from tscrim February 13, 2024 19:46
@videlec
Copy link
Contributor

videlec commented Feb 14, 2024

It indeed looks better in this one page of the sage documentation and might help a little for searches. Thanks!

Further questions not directly related to this specific MR but rather to package management that I am not sure where to post

  • what is the way to install optional packages given that
    • sage -i is not an option for system sage (= not built from source)
    • some packages (such as bliss) require recompilation of some of the sage source code
    • sage -pip install is not an option on eg gentoo
  • does/should sage provides some guarantee on these math packages such as
    • list compatibilities with sage versions
    • usage of sage coding practice in downstream packages

@videlec
Copy link
Contributor

videlec commented Feb 14, 2024

Though, about searches, I think that a random mathematician would rather google "how do I do X in sagemath" rather than looking at the documentation.

@mkoeppe
Copy link
Member Author

mkoeppe commented Feb 14, 2024

Further questions not directly related to this specific MR but rather to package management that I am not sure where to post

  • what is the way to install optional packages given that

    • sage -i is not an option for system sage (= not built from source)

Instead of pointing people to sage -i, point them to the SPKG page, which has the install instructions for all systems that carry the package. For example:
https://deploy-preview-37315--sagemath.netlify.app/html/en/reference/spkg/qepcad#equivalent-system-packages

Within the Sage library, you can write :ref:`qepcad <spkg_qepcad>`

  • some packages (such as bliss) require recompilation of some of the sage source code

For that we now have the modularized distribution packages of the Sage library:

  • sage -pip install is not an option on eg gentoo

Take a look at #37250

  • does/should sage provides some guarantee on these math packages such as

    • list compatibilities with sage versions

Well, we test all optional packages in the Sage CI, for every Sage beta release.
For example: https://github.com/sagemath/sage/actions/runs/7604697685/job/20752529368

I look at these runs periodically, in particular in the rc phase.
That's how some of these notes come about:
https://github.com/sagemath/sage/wiki/Sage-10.2-Release-Tour#known-problems-and-workarounds

There's also #33338

  • usage of sage coding practice in downstream packages

Soon to come with the modularization: That you can declare proper dependencies on parts of the Sage library (build-system requires, install-requires).
Take a look at #35095

@mkoeppe
Copy link
Member Author

mkoeppe commented Feb 14, 2024

Though, about searches, I think that a random mathematician would rather google "how do I do X in sagemath" rather than looking at the documentation.

Sure. But they will also find outdated trash, something that worked ages ago or was hallucinated by an LLM.

In contrast to those old Sage wiki pages where the info on components and packages are collected, this documentation is generated from the same source as what is automatically tested.

@mkoeppe mkoeppe requested a review from kwankyu February 19, 2024 07:21
@mkoeppe mkoeppe force-pushed the pkgs_math_tag branch 2 times, most recently from 7b61c5f to 2ec58af Compare February 25, 2024 17:43
@mkoeppe mkoeppe changed the title build/pkgs: Mark math packages with a 'math' tag Reference manual: Show package list by category (math/front-end/other) Feb 27, 2024
Copy link

github-actions bot commented Mar 2, 2024

Documentation preview for this PR (built with commit 0f7aec6; changes) is ready! 🎉

@mkoeppe mkoeppe requested a review from kcrisman March 2, 2024 19:59
@kcrisman
Copy link
Member

kcrisman commented Mar 3, 2024

What is yet to be reviewed here? Other than the proliferation of empty files, the documentation looks pretty good and is probably way better organized than our previous lists. But I feel like I'm missing something; did @videlec have a suggestion that you then implemented?

@mkoeppe
Copy link
Member Author

mkoeppe commented Mar 3, 2024

All that is missing is someone giving the green light for merging it.

@kcrisman
Copy link
Member

kcrisman commented Mar 3, 2024

Okay. I have to admit the deploy preview thing is pretty nifty. Is there any mechanism to make sure the extra empty files are added if/when a new package shows up, other than the referee being aware of this new mechanism? Otherwise LGTM, and helps with organization to be sure.

@mkoeppe
Copy link
Member Author

mkoeppe commented Mar 3, 2024

Well, these new tags are documented in the developer's guide, and the worst thing that can happen is that a math package is categorized as "other".

@kcrisman
Copy link
Member

kcrisman commented Mar 3, 2024

okay. Did I do this right under the new workflow?

@mkoeppe
Copy link
Member Author

mkoeppe commented Mar 3, 2024

Perfect. Thank you!

@kcrisman
Copy link
Member

kcrisman commented Mar 3, 2024 via email

@mkoeppe mkoeppe added this to the sage-10.3 milestone Mar 5, 2024
@mkoeppe mkoeppe removed this from the sage-10.3 milestone Mar 20, 2024
@vbraun vbraun merged commit c8f5fa4 into sagemath:develop Mar 25, 2024
16 of 35 checks passed
@mkoeppe mkoeppe added this to the sage-10.4 milestone Mar 25, 2024
This pull request was closed.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants