External Packages#
Standard Packages#
The Sage distribution includes most programs and libraries on which Sage depends. It installs them automatically if it does not find equivalent system packages.
_prereq: Represents system packages required for installing SageMath from source
alabaster: Default theme for the Sphinx documentation system
backports_zoneinfo: Backport of the standard library zoneinfo module
beniget: Extract semantic information about static Python code
boost_cropped: Portable C++ libraries (subset needed for Sage)
brial: Boolean Ring Algebra implementation using binary decision diagrams
cddlib: Double description method for polyhedral representation conversion
combinatorial_designs: Data from the Handbook of Combinatorial Designs
contourpy: Python library for calculating contours of 2D quadrilateral grids
conway_polynomials: Tables of Conway polynomials over finite fields
cypari2: Python interface to the number theory library libpari
cython: C-Extensions for Python, an optimizing static compiler
defusedxml: Addresses vulnerabilities of XML parsers and XML libraries
docutils: Processing plaintext documentation into useful formats, such as HTML or LaTeX
eclib: Enumerating and computing with elliptic curves defined over the rational numbers
entrypoints: Discover and load entry points from installed Python packages
executing: Get the currently executing AST node of a frame, and other information
fastjsonschema: Fastest Python implementation of JSON schema
fflas_ffpack: Dense linear algebra over word-size finite fields
flintqs: Multi-polynomial quadratic sieve for integer factorization
flit_core: Distribution-building parts of Flit. See flit package for more information
fplll: Lattice algorithms, including LLL with floating-point orthogonalization
gap: Groups, Algorithms, Programming - a system for computational discrete algebra
gast: Python AST that abstracts the underlying Python version
gcc: The GNU Compiler Collection or other suitable C and C++ compilers
gf2x: Fast arithmetic in GF(2)[x] and searching for irreducible/primitive trinomials
givaro: C++ library for arithmetic and algebraic computations
hatch_nodejs_version: Hatch plugin for versioning from a package.json file
hatch_vcs: Hatch plugin for versioning with your preferred VCS
iconv: Library for language/country-dependent character encodings
importlib_metadata: Library to access the metadata for a Python package
ipython: Interactive computing environment with an enhanced interactive Python shell
ipywidgets: Interactive HTML widgets for Jupyter notebooks and the IPython kernel
jupyter_client: Jupyter protocol implementation and client libraries
jupyterlab_pygments: Pygments theme using JupyterLab CSS variables
jupyterlab_widgets: Jupyter interactive widgets for JupyterLab
kiwisolver: An implementation of the Cassowary constraint solving algorithm
libatomic_ops: Access hardware-provided atomic memory update operations
linbox: Linear algebra with dense, sparse, structured matrices over the integers and finite fields
mathjax: A JavaScript library for displaying mathematical formulas
maxima: System for manipulating symbolic and numerical expressions
memory_allocator: An extension class to allocate memory easily with Cython
mpc: Arithmetic of complex numbers with arbitrarily high precision and correct rounding
mpfi: Multiple precision interval arithmetic library based on MPFR
mpfr: Multiple-precision floating-point computations with correct rounding
mpmath: Pure Python library for multiprecision floating-point arithmetic
nauty: Find automorphism groups of graphs, generate non-isomorphic graphs
nbclient: A client library for executing notebooks. Formerly nbconvert’s ExecutePreprocessor.
nbformat: Base implementation of the Jupyter notebook format
notebook: Jupyter notebook, a web-based notebook environment for interactive computing
openblas: An optimized implementation of BLAS (Basic Linear Algebra Subprograms)
pari: Computer algebra system for fast computations in number theory
pari_galdata: PARI data package needed to compute Galois groups in degrees 8 through 11
pari_seadata_small: PARI data package needed by ellap for large primes (small version)
patchelf: A small utility to modify the dynamic linker and RPATH of ELF executables
pathspec: Utility library for gitignore style pattern matching of file paths.
pexpect: Python module for controlling and automating other programs
pickleshare: A ‘shelve’ like datastore with concurrency support
polytopes_db: Databases of 2- and 3-dimensional reflexive polytopes
pplpy_doc: Python interface to the Parma Polyhedra Library (documentation)
primesieve: CLI program and C/C++ library for generating primes
prometheus_client: Python client for the systems monitoring and alerting toolkit Prometheus
ptyprocess: Python interaction with subprocesses in a pseudoterminal
py: library with cross-python path, ini-parsing, io, code, log facilities
pytz_deprecation_shim: Shims to make deprecation of pytz easier
qhull: Compute convex hulls, Delaunay triangulations, Voronoi diagrams
sage_conf: Configuration module for the SageMath library (distributable version)
Sage: Open Source Mathematics Software: Build system of the Sage documentation
sagenb_export: Convert legacy SageNB notebooks to Jupyter notebooks and other formats
sagetex: Embed code, results of computations, and plots from Sage into LaTeX documents
send2trash: Send file to trash natively under Mac OS X, Windows and Linux
setuptools_scm: Python build system extension to obtain package version from version control
setuptools_scm_git_archive: setuptools_scm plugin for git archives
simplegeneric: Simple single-dispatch generic functions for Python
snowballstemmer: Stemmer algorithms for natural language processing in Python
soupsieve: A modern CSS selector implementation for Beautiful Soup.
sphinxcontrib_applehelp: Sphinx extension which outputs Apple help book
sphinxcontrib_devhelp: Sphinx extension which outputs Devhelp documents
sphinxcontrib_htmlhelp: Sphinx extension which outputs HTML help book
sphinxcontrib_jsmath: Sphinx extension which renders display math in HTML via JavaScript
sphinxcontrib_qthelp: Sphinx extension which outputs QtHelp documents
sphinxcontrib_serializinghtml: Sphinx extension which outputs serialized HTML files
stack_data: Extract data from python stack frames and tracebacks for informative displays
sympow: Computes special values of symmetric power elliptic curve L-functions
terminado: Tornado websocket backend for the term.js Javascript terminal emulator library
threejs: JavaScript library to display 3D graphics in the browser
tornado: Python web framework and asynchronous networking library
tox: tox is a generic virtualenv management and test command line tool
typing_extensions: Backported and Experimental Type Hints for Python 3.5+
urllib3: HTTP library with thread-safe connection pooling, file post, and more.
vcversioner: Python build system extension to obtain package version from version control
wcwidth: Measures the displayed width of unicode strings in a terminal
webencodings: Character encoding aliases for legacy web content
widgetsnbextension: Jupyter notebook extension for interactive HTML widgets
Optional Packages#
For additional functionality, you can install some of the following optional packages.
4ti2: Algebraic, geometric and combinatorial problems on linear spaces
_bootstrap: Represents system packages required for running the top-level bootstrap script
_develop: Represents system packages recommended for development
_recommended: Represents system packages recommended for additional functionality
admcycles: Computation in the tautological ring of the moduli space of curves
benzene: Generate fusenes and benzenoids with a given number of faces
bliss: Computing automorphism groups and canonical forms of graphs
cbc: COIN-OR branch and cut solver for mixed-integer programs
coxeter3: Library for Coxeter groups, Bruhat ordering, Kazhdan-Lusztig polynomials
cunningham_tables: List of the prime numbers occuring in the Cunningham table
d3js: JavaScript library for manipulating documents based on data
database_cubic_hecke: Ivan Marin’s representations of the cubic Hecke algebra
database_knotinfo: Content of the KnotInfo and LinkInfo databases as lists of dictionaries
database_mutation_class: Database of exceptional mutation classes of quivers
database_odlyzko_zeta: Table of zeros of the Riemann zeta function
database_stein_watkins: Database of elliptic curves (full version)
database_stein_watkins_mini: Database of elliptic curves (small version)
database_symbolic_data: Database from the SymbolicData project
debugpy: An implementation of the Debug Adapter Protocol for Python
gitpython: GitPython is a python library used to interact with Git repositories
ImageMagick: A collection of tools and libraries for many image file formats
isl: Sets and relations of integer points bounded by affine constraints
jupyterlab: An extensible environment for interactive and reproducible computing
kenzo: Construct topological spaces and compute homology groups
latte_int: Count lattice points, compute volumes, and integrate over convex polytopes
libgraphviz: Graph visualization software (callable library)
libnauty: Find automorphism groups of graphs, generate non-isomorphic graphs (callable library)
llvm: The LLVM Compiler Infrastructure, including the Clang C/C++/Objective-C compiler
lrslib: Reverse search algorithm for vertex enumeration and convex hull problems
mathics_scanner: Character Tables and Tokenizer for Mathics and the Wolfram Language.
mcqd: An exact algorithm for finding a maximum clique in an undirected graph
p_group_cohomology: Modular cohomology rings of finite groups
mpfrcx: Arithmetic of univariate polynomials over arbitrary precision real or complex numbers
nodejs: A JavaScript runtime built on Chrome’s V8 JavaScript engine
p_group_cohomology: Modular cohomology rings of finite groups
pandoc_attributes: A parser and generator for pandoc block attributes
papilo: Parallel presolve for integer and linear optimization
pari_galpol: PARI data package for polynomials defining Galois extensions of the rationals
pari_seadata: PARI data package needed by ellap for large primes (full version)
perl_cpan_polymake_prereq: Represents all Perl packages that are prerequisites for polymake
perl_term_readline_gnu: Perl extension for the GNU Readline/History libraries
polytopes_db_4d: Database of 4-dimensional reflexive polytopes
pybtex: A BibTeX-compatible bibliography processor in Python
pyscipopt: Python interface and modeling environment for SCIP
pytest_mock: Thin-wrapper around the mock package for easier use with pytest
pytest_xdist: pytest xdist plugin for distributed testing and loop-on-failing modes
r: A free software environment for statistical computing and graphics
retrolab: JupyterLab Distribution with a retro look and feel
rst2ipynb: Convert reStructuredText files to Jupyter notebooks
sage_numerical_backends_coin: COIN-OR backend for Sage MixedIntegerLinearProgram
sage_numerical_backends_cplex: Cplex backend for Sage MixedIntegerLinearProgram
sage_numerical_backends_gurobi: Gurobi backend for Sage MixedIntegerLinearProgram
sage_sws2rst: Translate legacy Sage worksheet files (.sws) to reStructuredText (.rst) files
scip_sdp: Mixed integer semidefinite programming plugin for SCIP
sirocco: Compute topologically certified root continuation of bivariate polynomials
snappy: Topology and geometry of 3-manifolds, with a focus on hyperbolic structures
soplex: Linear optimization solver using the revised simplex method
topcom: Compute triangulations of point configurations and oriented matroids
Experimental Packages#
Some packages that provide additional functionality are marked as “experimental”. Developers are needed in order to improve the integration of these packages into the Sage distribution.
barvinok: Projections of integer point sets of parametric polytopes
deformation: Count points on hypersurfaces using the deformation method
gap3: A minimal distribution of GAP 3 containing packages that have no equivalent in GAP 4
lie: Library for the representation theory of complex semisimple Lie groups and algebras
qepcad: Quantifier elimination by partial cylindrical algebraic decomposition
Sage: Open Source Mathematics Software: Sage categories and basic rings
Sage: Open Source Mathematics Software: System and software environment
Sage: Open Source Mathematics Software: IPython kernel, Sage preparser, doctester
surf: Visualization of algebraic curves, algebraic surfaces and hyperplane sections of surfaces
valgrind: Memory error detector, call graph generator, runtime profiler