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.
alabaster: Default theme for the Sphinx documentation system
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
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
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, including the C, C++ and Fortran compiler
gf2x: Fast arithmetic in GF(2)[x] and searching for irreducible/primitive trinomials
givaro: C++ library for arithmetic and algebraic computations
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
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
MemoryAllocator: 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)
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)
_prereq: Represents system packages required for installing SageMath from source
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
qhull: Compute convex hulls, Delaunay triangulations, Voronoi diagrams
r: A free software environment for statistical computing and graphics
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
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
admcycles: Computation in the tautological ring of the moduli space of curves
barvinok: Projections of integer point sets of parametric polytopes
benzene: Generate fusenes and benzenoids with a given number of faces
bliss: Computing automorphism groups and canonical forms of graphs
_bootstrap: Represents system packages required for running the top-level bootstrap script
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_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
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
jupyterlab_widgets: A JupyterLab extension for Jupyter/IPython widgets
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
mpfrcx: Arithmetic of univariate polynomials over arbitrary precision real or complex numbers
nodejs: A JavaScript runtime built on Chrome’s V8 JavaScript engine
pandoc_attributes: A parser and generator for pandoc block attributes
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
p_group_cohomology: Modular cohomology rings of finite groups
polytopes_db_4d: Database of 4-dimensional reflexive polytopes
pybtex: A BibTeX-compatible bibliography processor in Python
_recommended: Represents system packages recommended for additional functionality
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
sip: Python extension module generator for C and C++ libraries
sirocco: Compute topologically certified root continuation of bivariate polynomials
snappy: Topology and geometry of 3-manifolds, with a focus on hyperbolic structures
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.
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
surf: Visualization of algebraic curves, algebraic surfaces and hyperplane sections of surfaces
valgrind: Memory error detector, call graph generator, runtime profiler