SageMath external packages

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

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 also for another collection

Python implementation of chebfun

by Chris Swierczewski

Purple Sage

by William Stein, Fredrik Stromberg, Stephan Ehlen, Martin Raum and others

A Library of Number Theory Code that depends on Sage.

Sébastien Labbé's research code

by Sébastien Labbé

See also this blog post

(added to Sage in


by Nicolas Borie

A Sage Library of Combinatorial Hopf algebras.


by Nicolas M. Thiéry

A semigroup (representation) theory library for SageMath.

(very preliminary!!!)

Automata and semigroups

by Charles Paperman


by Luca De Feo

keywords: isogeny elliptic curve cryptography quantum

Schottky uniformization

by Jeremy Upsal

Various ideas from Schottky uniformization are implemented in Sage. These now include the SK prime function and will later include the Riemann Theta function built from a RS via Schottky uniformization due to Darren Crowdy.

surface-dynamics: flat surfaces

by Vincent Delecroix and Samuel Lelièvre

(added to Sage in

sage-flatsurf: flat surfaces

by Vincent Delecroix and Pat Hooper

(added to Sage in

Sage train track

by Thierry Coulbois


by Emil R. Vaughan

A tool for researchers in extremal graph theory

(it is a subject of a GSoC 2016 project to port it to Sage 7.4)


by Christoph Sorger and Manfred Lehn

A Sage library for computations in intersection theory.


by Manuel Kauers et al.

A Sage implementation of Ore algebras and Ore polynomials.

(added to Sage in



The library implements algorithms to construct elliptic curves with certain desired properties.


by Sara Forouhar

CryptoSage provides cryptography algorithms in SageMath.

cutgeneratingfunctionology (formerly infinite-group-relaxation-sage-code)

by Matthias Köppe, Yuan Zhou, C. Y. Hong, and Jiawei Wang

Python code for computation and experimentation with cut-generating functions, in particular the Gomory-Johnson model

(added to Sage in


by Viviane Pons

A Sage package to work on multipolynomials bases (Schubert, Grothendieck, Key).

(added to Sage in


by Tobias Rossmann

Zeta provides methods for computing local and topological zeta functions arising from the enumeration of subalgebras, ideals, submodules, representations, and conjugacy classes of suitable algebraic structures, as well as some other types of zeta functions.

(Check also zetalib, a fork which can be installed from PyPI)

Igusa and topological zeta

by Juan Viu-Sos

Calculation Of The (Local) Igusa And Topological Zeta Functions Of A Non-Degenerated Polynomial With Respect To His Newton'S Polyhedron.


by Johannes Schmitt et alii

admcycles is a SageMath module to compute with the tautological ring of the moduli spaces of complex curves.

(added to Sage in


by Jonathan Bober

This contains some Sage/Cython code for working with Dirichlet characters using a numbering scheme described by Brian Conrey.


by Stefan Wewers, Julian Rüth

A Sage toolbox for computing with Models of Curves over Local Fields.

Usain Boltz

by Matthieu Dien and Martin Pépin

Usain Boltz is a Python/Cython library meant to automate the random generation of tree-like structures.


by Matt Torrence

This is a Sage package for fast Additive Combinatorics functions.


by Peijun Xiao, Zeyi Wang, and Yuan Zhou

Interactive mixed integer linear programming solver

(added to Sage in


by Suchandan Pal

This is a package for calculating regular models of curves.


by Christian Nassau

Sage package for Steenrod algebra cohomology.

Torus Knots Counter

by Ángel González-Prieto (Universidad Politécnica de Madrid) and Vicente Muñoz (Universidad de Málaga).

SageMath script that computes the motive of the irreducible SL(r,k)-character variety of an (n,m)-torus knot


by Markus Wageringel

Sage interface for computing Gröbner bases with FGb.


by Markus Wageringel

Sage/NumPy interface for solving generalized eigenvalue problems of singular matrix pencils with GUPTRI.


by Frédéric Chyzak, Antonio Jiménez-Pastor, Pierre Lairez

A unified interface for working with generating functions and related object to Walks in the Quarter Plane.


by Peter Banks and Brent Pym

A package for symbolic calculations with Poisson brackets and Kontsevich's deformation quantization formula


by Janos Vidali

A package for checking the feasibility of distance-regular graph parameter sets.


by Eric Gourgoulhon, Alexandre Le Tiec, Frédéric H. Vincent and Niels Warburton

A pip-installable SageMath package for computing geodesics of the Kerr spacetime as well as gravitational waves from bodies orbiting a Kerr black hole


by Pascal Weil

A pip-installable SageMath package to experiment with finitely generated subgroups of infinite groups.


by Sergey Mozgovoy

A package for computations of moduli space invariants.


by Jean-Florent Raymond

a graph editor for SageMath as a Jupyter widget

(added to Sage in


by Jean-Philippe Labbé

Package dealing with LImit ROots of COxeter groups (eternal Beta version)


by Jean-Philippe Labbé


by Jean-Philippe Labbé


by Jan Legerský


by Eduard Duryev

Compute completed volumes of strata of quadratic differentials with odd zeros


by Peter Bruin


by Nicolas Thiéry


by Matthew Drescher

Run Sherali-Adams relaxation on a system of the form Ax <= b represented by raw numpy matrix A and array b


by Paul Mercat

Beta-adic tools and automata


by Antonio Jiménez-Pastor

computation with DD-finite functions


by Alex J. Best and Raymond van Bommel

cluster pictures, BY-trees, models and local invariants of hyperelliptic curves


by Mathé Hertogh

Computing with adèles and idèles

Hodge diamond cutter

by Pieter Belmans

Computing with Hodge diamonds (and Hochschild homology) of smooth projective varieties

Hilbert modular groups

by Fredrik Stromberg

Computing with Hilbert modular groups and, in particular, implements a reduction algorithm.

gcaops: Graph Complex Action on Poisson Structures

by Ricardo Buring

Package implementing the action of Kontsevich's graph complex(es) on Poisson structures.

SageMathExternalPackages (last edited 2022-07-08 13:23:04 by chapoton)