-
-
Notifications
You must be signed in to change notification settings - Fork 481
NumFOCUS
sage-devel post Jan 13, 2024 with draft application, links to previous discussions.
Expanded below. Next target date: Apr 15, 2024
Yes
SageMath
https://github.com/sagemath/sage
Comprehensive mathematical software system
Yes
982721.png
https://twitter.com/sagemath, https://mathstodon.xyz/@sagemath, https://www.facebook.com/pages/Sage-Math/26593144945,
Our project will benefit from engaging closely with projects and organizations that have modern open-source governance structures.
Q10: Are you applying for Fiscal Sponsorship or Affiliation? For more information, see https://numfocus.org/projects-overview
B. affiliation
Cython, CVXpy, igraph, IPython, Jupyter, Matplotlib, NetworkX, NumPy, SciPy, SymPy are dependencies of SageMath. Additionally, volunteers maintain conda-forge packaging of SageMath.
Details: Integration with NumFOCUS Sponsored Projects
The sponsored projects IPython, Jupyter, Matplotlib, NetworkX, NumPy, SciPy, SymPy are dependencies of SageMath. Additionally, volunteers maintain conda-forge packaging of SageMath.
IPython and Project Jupyter are essential dependencies of SageMath:
- TODO shared history
- https://github.com/ipython/ipython/blob/main/.github/workflows/downstream.yml
Possible future integration with scikit-image
- #37494 add scikit-image as a Sage package
- Examples using scikit-image could refresh some SageMath tutorials, for example on linear algebra
Details: Integration with NumFOCUS Affiliated Projects
The affiliated projects CVXPY, Cython, igraph are dependencies of SageMath.
Cython is an essential dependency of SageMath:
- The Sage library contains over 500 Cython modules.
- TODO shared history
- Sage switched to the Cython 3.0 series in Sage 10.2, released December 2023.
Possible integration with Spack, package manager for HPC systems:
- This could improve the reach of SageMath to use on HPC systems, although viable alternatives such as conda-forge exist.
- Using Spack Packages as an upstream for SageMath's dependencies:
- Add system package information files
SAGE_ROOT/build/pkgs/*/distros/spack.txt
- Add portability tests for building in Spack environments, e.g. based on
spack containerize
- Add system package information files
- Downstream packaging of SageMath in Spack Packages: Various dependencies of SageMath already exist but are not up to date (e.g. gmp, suite-sparse) and are marked as "looking for a maintainer".
Q12: Describe how your project furthers the NumFOCUS mission: https://numfocus.org/community/mission
SageMath is mathematical software with an integration mission.
70
as per https://github.com/sagemath/sage/graphs/contributors?from=2023-02-09&to=2024-01-13&type=c
Organize virtual and in-person workshops, participate in Google Summer of Code
Q16: Where do you host conversations about project development and governance (e.g. mailing lists, forums, etc.), and how many participants do you have?
https://groups.google.com/g/sage-devel, TBD participants
GPL v2+, GPL v3+
Q18: Projects must adopt the NumFOCUS Code of Conduct or one similar in spirit. Please tell us how you plan to meet this requirement: https://numfocus.org/code-of-conduct
https://github.com/sagemath/sage/blob/develop/CODE_OF_CONDUCT.md was adopted in 2014
Draft application, not submitted yet
Additional requirements for Sponsored Project status (not part of the application; possible target: 2025)
- Duty (daily): Approve workflow runs for PRs by new contributors that are waiting for approval
- to batch-delete workflow runs that never got approved and do not need to be run any more:
gh run list --status action_required --branch pol-quotient-deg --limit 200 --json databaseId --jq '.[].databaseId' | xargs -n 1 gh run delete
- to batch-delete workflow runs that never got approved and do not need to be run any more:
- Duty (weekly): Assign closed issues, merged PRs without release milestone to the current milestone
- Duty (weekly): Monitor the workflows CI Linux (default), push to Docker Hub, publish to GH Releases and PyPI; hot-fix and restart if necessary
- Duty (weekly): Monitor the long-running CI workflows of development releases (check for broken portability)
- Duty (monthly): Monitor the long-running CI workflows of development releases (check for broken optional packages)
- Duty (monthly): Organize preparation of Release Tours
- Duty (monthly): Open a new release milestone when it is time
- Duty: Add people to the Triage role when appropriate
- Duty: Create new labels when appropriate
- Duty: Monitor/configure the GH Actions workflow that updates labels https://groups.google.com/g/sage-devel/c/sulCa-6EZRA/m/6P6ZCCzkAAAJ
TODO: Document governance of other projects hosted on https://github.com/sagemath/
Readme | Version | Citation | Authors | Contributing | Code of Conduct | Copyright ©️ 2023 Sage Developer Community