# SageMath external packages

A list of external packages for SageMath (spkg, pip-installable packages, etc).

- Please free to add more packages, links, notes to Meta-ticket #31164, which tracks the task of adding packages to Sage so that they appear in the spkg section of the Sage reference manual.
- Please do not duplicate information that is already available in the spkg section of the Sage reference manual.
- Use this list to add examples to the Code Sharing Workflow wiki page.
- Note also Chris Swierczewski's Creating External Sage Packages.
- With the SageMath sample package you will find a minimal example of a Sage package.
- See an April 2020 sage-devel thread on CI infrastructure options for external Sage packages.
- See Sage Trac: Surveying the mathematical software landscape

### New-style SPKGs

The single authoritative source for the packages integrated in the Sage distribution (SPKGs) is the SAGE_ROOT/build/pkgs/ directory. Each SPKG is represented by a subdirectory. The structure of these subdirectories is explained in the Developer's Guide.

Since Sage 9.2, the spkg section of the Sage reference manual is automatically generated from the information in `SAGE_ROOT/build/pkgs/`. (Trac #29655 improves the formatting of this information.)

Use the following shell commands below to access the information from the SAGE_ROOT/build/pkgs directory of your copy of Sage:

- Standard packages:
./sage -standard- Installed packages:
./sage -installed- Optional packages available:
./sage -optional- Experimental packages available:
./sage -experimental- Details about an SPKG:
./sage -info <SPKG>

For some advanced package tools, use `./sage -package`

### List of external packages

These packages are not (yet?) integrated in the SageMath distribution as SPKGs and have to be installed separately.

'''See Meta-ticket #31164.'''

See also https://github.com/slel/external-packages for another collection