.. _spkg:

Packages and Features
=====================

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.

Mathematics
~~~~~~~~~~~

* :ref:`spkg_brial`
* :ref:`spkg_cddlib`
* :ref:`spkg_cliquer`
* :ref:`spkg_combinatorial_designs`
* :ref:`spkg_conway_polynomials`
* :ref:`spkg_cvxopt`
* :ref:`spkg_cypari`
* :ref:`spkg_eclib`
* :ref:`spkg_ecm`
* :ref:`spkg_elliptic_curves`
* :ref:`spkg_fflas_ffpack`
* :ref:`spkg_flint`
* :ref:`spkg_fplll`
* :ref:`spkg_fpylll`
* :ref:`spkg_gap`
* :ref:`spkg_gf2x`
* :ref:`spkg_gfan`
* :ref:`spkg_giac`
* :ref:`spkg_givaro`
* :ref:`spkg_glpk`
* :ref:`spkg_gmp`
* :ref:`spkg_gmpy2`
* :ref:`spkg_graphs`
* :ref:`spkg_gsl`
* :ref:`spkg_iml`
* :ref:`spkg_lcalc`
* :ref:`spkg_libbraiding`
* :ref:`spkg_libhomfly`
* :ref:`spkg_linbox`
* :ref:`spkg_lrcalc`
* :ref:`spkg_lrcalc_python`
* :ref:`spkg_m4ri`
* :ref:`spkg_m4rie`
* :ref:`spkg_maxima`
* :ref:`spkg_mpc`
* :ref:`spkg_mpfi`
* :ref:`spkg_mpfr`
* :ref:`spkg_mpmath`
* :ref:`spkg_nauty`
* :ref:`spkg_networkx`
* :ref:`spkg_ntl`
* :ref:`spkg_numpy`
* :ref:`spkg_openblas`
* :ref:`spkg_palp`
* :ref:`spkg_pari`
* :ref:`spkg_pari_galdata`
* :ref:`spkg_pari_seadata_small`
* :ref:`spkg_planarity`
* :ref:`spkg_polytopes_db`
* :ref:`spkg_ppl`
* :ref:`spkg_pplpy`
* :ref:`spkg_primecount`
* :ref:`spkg_primecountpy`
* :ref:`spkg_primesieve`
* :ref:`spkg_qhull`
* :ref:`spkg_rpy2`
* :ref:`spkg_rw`
* :ref:`spkg_scipy`
* :ref:`spkg_singular`
* :ref:`spkg_suitesparse`
* :ref:`spkg_symmetrica`
* :ref:`spkg_sympow`
* :ref:`spkg_sympy`

Front-end, graphics, document preparation
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

* :ref:`spkg_ipympl`
* :ref:`spkg_ipython`
* :ref:`spkg_ipywidgets`
* :ref:`spkg_jmol`
* :ref:`spkg_jupyter_jsmol`
* :ref:`spkg_jupyterlab`
* :ref:`spkg_jupyterlab_widgets`
* :ref:`spkg_matplotlib`
* :ref:`spkg_matplotlib_inline`
* :ref:`spkg_nbconvert`
* :ref:`spkg_notebook`
* :ref:`spkg_sagenb_export`
* :ref:`spkg_sagetex`
* :ref:`spkg_tachyon`
* :ref:`spkg_threejs`

Other dependencies
~~~~~~~~~~~~~~~~~~

* :ref:`spkg__prereq`
* :ref:`spkg_alabaster`
* :ref:`spkg_anyio`
* :ref:`spkg_appdirs`
* :ref:`spkg_appnope`
* :ref:`spkg_argon2_cffi`
* :ref:`spkg_argon2_cffi_bindings`
* :ref:`spkg_arrow`
* :ref:`spkg_asttokens`
* :ref:`spkg_async_lru`
* :ref:`spkg_attrs`
* :ref:`spkg_babel`
* :ref:`spkg_beautifulsoup4`
* :ref:`spkg_beniget`
* :ref:`spkg_bleach`
* :ref:`spkg_boost_cropped`
* :ref:`spkg_bzip2`
* :ref:`spkg_cachetools`
* :ref:`spkg_calver`
* :ref:`spkg_certifi`
* :ref:`spkg_cffi`
* :ref:`spkg_chardet`
* :ref:`spkg_charset_normalizer`
* :ref:`spkg_cmake`
* :ref:`spkg_colorama`
* :ref:`spkg_comm`
* :ref:`spkg_contourpy`
* :ref:`spkg_cppy`
* :ref:`spkg_curl`
* :ref:`spkg_cycler`
* :ref:`spkg_cysignals`
* :ref:`spkg_cython`
* :ref:`spkg_dateutil`
* :ref:`spkg_debugpy`
* :ref:`spkg_decorator`
* :ref:`spkg_defusedxml`
* :ref:`spkg_distlib`
* :ref:`spkg_docutils`
* :ref:`spkg_ecl`
* :ref:`spkg_editables`
* :ref:`spkg_entrypoints`
* :ref:`spkg_exceptiongroup`
* :ref:`spkg_executing`
* :ref:`spkg_fastjsonschema`
* :ref:`spkg_filelock`
* :ref:`spkg_flit_core`
* :ref:`spkg_fonttools`
* :ref:`spkg_fqdn`
* :ref:`spkg_freetype`
* :ref:`spkg_furo`
* :ref:`spkg_gast`
* :ref:`spkg_gc`
* :ref:`spkg_gcc`
* :ref:`spkg_gengetopt`
* :ref:`spkg_gfortran`
* :ref:`spkg_gnulib`
* :ref:`spkg_gnumake_tokenpool`
* :ref:`spkg_h11`
* :ref:`spkg_hatchling`
* :ref:`spkg_httpcore`
* :ref:`spkg_httpx`
* :ref:`spkg_iconv`
* :ref:`spkg_idna`
* :ref:`spkg_imagesize`
* :ref:`spkg_importlib_metadata`
* :ref:`spkg_importlib_resources`
* :ref:`spkg_info`
* :ref:`spkg_ipykernel`
* :ref:`spkg_ipython_genutils`
* :ref:`spkg_isoduration`
* :ref:`spkg_jedi`
* :ref:`spkg_jinja2`
* :ref:`spkg_json5`
* :ref:`spkg_jsonpointer`
* :ref:`spkg_jsonschema`
* :ref:`spkg_jsonschema_specifications`
* :ref:`spkg_jupyter_client`
* :ref:`spkg_jupyter_core`
* :ref:`spkg_jupyter_events`
* :ref:`spkg_jupyter_lsp`
* :ref:`spkg_jupyter_server`
* :ref:`spkg_jupyter_server_terminals`
* :ref:`spkg_jupyter_sphinx`
* :ref:`spkg_jupyterlab_mathjax2`
* :ref:`spkg_jupyterlab_pygments`
* :ref:`spkg_jupyterlab_server`
* :ref:`spkg_kiwisolver`
* :ref:`spkg_libatomic_ops`
* :ref:`spkg_libffi`
* :ref:`spkg_libgd`
* :ref:`spkg_liblzma`
* :ref:`spkg_libpng`
* :ref:`spkg_markupsafe`
* :ref:`spkg_mathjax`
* :ref:`spkg_memory_allocator`
* :ref:`spkg_meson`
* :ref:`spkg_meson_python`
* :ref:`spkg_mistune`
* :ref:`spkg_nbclient`
* :ref:`spkg_nbformat`
* :ref:`spkg_ncurses`
* :ref:`spkg_nest_asyncio`
* :ref:`spkg_ninja_build`
* :ref:`spkg_notebook_shim`
* :ref:`spkg_openssl`
* :ref:`spkg_overrides`
* :ref:`spkg_packaging`
* :ref:`spkg_pandocfilters`
* :ref:`spkg_parso`
* :ref:`spkg_patch`
* :ref:`spkg_patchelf`
* :ref:`spkg_pathspec`
* :ref:`spkg_pexpect`
* :ref:`spkg_pickleshare`
* :ref:`spkg_pillow`
* :ref:`spkg_pip`
* :ref:`spkg_pkgconf`
* :ref:`spkg_pkgconfig`
* :ref:`spkg_platformdirs`
* :ref:`spkg_pluggy`
* :ref:`spkg_ply`
* :ref:`spkg_pplpy_doc`
* :ref:`spkg_prometheus_client`
* :ref:`spkg_prompt_toolkit`
* :ref:`spkg_psutil`
* :ref:`spkg_ptyprocess`
* :ref:`spkg_pure_eval`
* :ref:`spkg_py`
* :ref:`spkg_pybind11`
* :ref:`spkg_pycparser`
* :ref:`spkg_pygments`
* :ref:`spkg_pyparsing`
* :ref:`spkg_pyproject_api`
* :ref:`spkg_pyproject_hooks`
* :ref:`spkg_pyproject_metadata`
* :ref:`spkg_pyrsistent`
* :ref:`spkg_python3`
* :ref:`spkg_python_build`
* :ref:`spkg_python_json_logger`
* :ref:`spkg_pythran`
* :ref:`spkg_pytz`
* :ref:`spkg_pytz_deprecation_shim`
* :ref:`spkg_pyyaml`
* :ref:`spkg_pyzmq`
* :ref:`spkg_readline`
* :ref:`spkg_referencing`
* :ref:`spkg_requests`
* :ref:`spkg_rfc3339_validator`
* :ref:`spkg_rfc3986_validator`
* :ref:`spkg_sage_conf`
* :ref:`spkg_sage_docbuild`
* :ref:`spkg_sage_setup`
* :ref:`spkg_send2trash`
* :ref:`spkg_setuptools`
* :ref:`spkg_setuptools_scm`
* :ref:`spkg_six`
* :ref:`spkg_sniffio`
* :ref:`spkg_snowballstemmer`
* :ref:`spkg_soupsieve`
* :ref:`spkg_sphinx`
* :ref:`spkg_sphinx_basic_ng`
* :ref:`spkg_sphinx_copybutton`
* :ref:`spkg_sphinx_inline_tabs`
* :ref:`spkg_sphinxcontrib_applehelp`
* :ref:`spkg_sphinxcontrib_devhelp`
* :ref:`spkg_sphinxcontrib_htmlhelp`
* :ref:`spkg_sphinxcontrib_jsmath`
* :ref:`spkg_sphinxcontrib_qthelp`
* :ref:`spkg_sphinxcontrib_serializinghtml`
* :ref:`spkg_sphinxcontrib_websupport`
* :ref:`spkg_sqlite`
* :ref:`spkg_stack_data`
* :ref:`spkg_terminado`
* :ref:`spkg_tinycss2`
* :ref:`spkg_tomli`
* :ref:`spkg_tornado`
* :ref:`spkg_tox`
* :ref:`spkg_traitlets`
* :ref:`spkg_trove_classifiers`
* :ref:`spkg_types_python_dateutil`
* :ref:`spkg_typing_extensions`
* :ref:`spkg_tzdata`
* :ref:`spkg_tzlocal`
* :ref:`spkg_uri_template`
* :ref:`spkg_urllib3`
* :ref:`spkg_virtualenv`
* :ref:`spkg_wcwidth`
* :ref:`spkg_webcolors`
* :ref:`spkg_webencodings`
* :ref:`spkg_websocket_client`
* :ref:`spkg_wheel`
* :ref:`spkg_widgetsnbextension`
* :ref:`spkg_xz`
* :ref:`spkg_zeromq`
* :ref:`spkg_zipp`
* :ref:`spkg_zlib`


Optional Packages
-----------------

For additional functionality, you can install some of the following
optional packages.

Mathematics
~~~~~~~~~~~

* :ref:`spkg_4ti2`
* :ref:`spkg_admcycles`
* :ref:`spkg_benzene`
* :ref:`spkg_bliss`
* :ref:`spkg_buckygen`
* :ref:`spkg_cbc`
* :ref:`spkg_clarabel`
* :ref:`spkg_coxeter3`
* :ref:`spkg_csdp`
* :ref:`spkg_cunningham_tables`
* :ref:`spkg_cvxpy`
* :ref:`spkg_cylp`
* :ref:`spkg_database_cremona_ellcurve`
* :ref:`spkg_database_cubic_hecke`
* :ref:`spkg_database_jones_numfield`
* :ref:`spkg_database_knotinfo`
* :ref:`spkg_database_kohel`
* :ref:`spkg_database_mutation_class`
* :ref:`spkg_database_odlyzko_zeta`
* :ref:`spkg_database_stein_watkins`
* :ref:`spkg_database_stein_watkins_mini`
* :ref:`spkg_database_symbolic_data`
* :ref:`spkg_dsdp`
* :ref:`spkg_e_antic`
* :ref:`spkg_ecos_python`
* :ref:`spkg_fricas`
* :ref:`spkg_frobby`
* :ref:`spkg_gap_jupyter`
* :ref:`spkg_gap_packages`
* :ref:`spkg_glucose`
* :ref:`spkg_gp2c`
* :ref:`spkg_igraph`
* :ref:`spkg_isl`
* :ref:`spkg_jupymake`
* :ref:`spkg_kenzo`
* :ref:`spkg_kissat`
* :ref:`spkg_latte_int`
* :ref:`spkg_libnauty`
* :ref:`spkg_libsemigroups`
* :ref:`spkg_lidia`
* :ref:`spkg_lrslib`
* :ref:`spkg_mathics`
* :ref:`spkg_mathics_scanner`
* :ref:`spkg_mcqd`
* :ref:`spkg_meataxe`
* :ref:`spkg_modular_resolution`
* :ref:`spkg_mpfrcx`
* :ref:`spkg_msolve`
* :ref:`spkg_normaliz`
* :ref:`spkg_ore_algebra`
* :ref:`spkg_osqp_python`
* :ref:`spkg_p_group_cohomology`
* :ref:`spkg_papilo`
* :ref:`spkg_pari_elldata`
* :ref:`spkg_pari_galpol`
* :ref:`spkg_pari_jupyter`
* :ref:`spkg_pari_nftables`
* :ref:`spkg_pari_seadata`
* :ref:`spkg_phitigra`
* :ref:`spkg_plantri`
* :ref:`spkg_polymake`
* :ref:`spkg_polytopes_db_4d`
* :ref:`spkg_pycosat`
* :ref:`spkg_pycryptosat`
* :ref:`spkg_pynormaliz`
* :ref:`spkg_pyscipopt`
* :ref:`spkg_pysingular`
* :ref:`spkg_python_igraph`
* :ref:`spkg_qdldl_python`
* :ref:`spkg_qepcad`
* :ref:`spkg_r`
* :ref:`spkg_rubiks`
* :ref:`spkg_saclib`
* :ref:`spkg_sage_flatsurf`
* :ref:`spkg_sage_numerical_backends_coin`
* :ref:`spkg_sage_numerical_backends_cplex`
* :ref:`spkg_sage_numerical_backends_gurobi`
* :ref:`spkg_sbcl`
* :ref:`spkg_scip`
* :ref:`spkg_scip_sdp`
* :ref:`spkg_scs`
* :ref:`spkg_singular_jupyter`
* :ref:`spkg_sirocco`
* :ref:`spkg_slabbe`
* :ref:`spkg_snappy`
* :ref:`spkg_soplex`
* :ref:`spkg_surface_dynamics`
* :ref:`spkg_symengine`
* :ref:`spkg_symengine_py`
* :ref:`spkg_tdlib`
* :ref:`spkg_tides`
* :ref:`spkg_topcom`

Front-end, graphics, document preparation
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

* :ref:`spkg_dot2tex`
* :ref:`spkg_graphviz`
* :ref:`spkg_pandoc`
* :ref:`spkg_pdf2svg`
* :ref:`spkg_pygraphviz`
* :ref:`spkg_rst2ipynb`
* :ref:`spkg_sage_sws2rst`
* :ref:`spkg_texlive`

Other dependencies
~~~~~~~~~~~~~~~~~~

* :ref:`spkg__bootstrap`
* :ref:`spkg__develop`
* :ref:`spkg__recommended`
* :ref:`spkg__sagemath`
* :ref:`spkg_auditwheel_or_delocate`
* :ref:`spkg_biopython`
* :ref:`spkg_ccache`
* :ref:`spkg_d3js`
* :ref:`spkg_ffmpeg`
* :ref:`spkg_free_fonts`
* :ref:`spkg_git`
* :ref:`spkg_github_cli`
* :ref:`spkg_gitpython`
* :ref:`spkg_hypothesis`
* :ref:`spkg_imagemagick`
* :ref:`spkg_libgraphviz`
* :ref:`spkg_libjpeg`
* :ref:`spkg_libogg`
* :ref:`spkg_libxml2`
* :ref:`spkg_llvm`
* :ref:`spkg_matroid_database`
* :ref:`spkg_nibabel`
* :ref:`spkg_notedown`
* :ref:`spkg_onetbb`
* :ref:`spkg_palettable`
* :ref:`spkg_pandoc_attributes`
* :ref:`spkg_perl_cpan_polymake_prereq`
* :ref:`spkg_perl_mongodb`
* :ref:`spkg_perl_term_readline_gnu`
* :ref:`spkg_pint`
* :ref:`spkg_pybtex`
* :ref:`spkg_pyppeteer`
* :ref:`spkg_pytest`
* :ref:`spkg_pytest_mock`
* :ref:`spkg_pytest_xdist`
* :ref:`spkg_python_flint`
* :ref:`spkg_pyx`
* :ref:`spkg_sqlalchemy`
* :ref:`spkg_texlive_luatex`
* :ref:`spkg_texttable`
* :ref:`spkg_xindy`


Features
--------

.. toctree::
   :maxdepth: 1

   sage/features
   sage/features/join_feature
   sage/features/all
   sage/features/sagemath
   sage/features/pkg_systems
   sage/features/bliss
   sage/features/csdp
   sage/features/databases
   sage/features/dvipng
   sage/features/ffmpeg
   sage/features/four_ti_2
   sage/features/gap
   sage/features/graph_generators
   sage/features/graphviz
   sage/features/imagemagick
   sage/features/interfaces
   sage/features/internet
   sage/features/kenzo
   sage/features/latex
   sage/features/latte
   sage/features/lrs
   sage/features/mcqd
   sage/features/meataxe
   sage/features/mip_backends
   sage/features/normaliz
   sage/features/pandoc
   sage/features/pdf2svg
   sage/features/polymake
   sage/features/rubiks
   sage/features/tdlib

Distribution Packages of the Sage Library
-----------------------------------------

* :ref:`spkg_sagemath_bliss`
* :ref:`spkg_sagemath_categories`
* :ref:`spkg_sagemath_coxeter3`
* :ref:`spkg_sagemath_doc_html`
* :ref:`spkg_sagemath_doc_pdf`
* :ref:`spkg_sagemath_environment`
* :ref:`spkg_sagemath_mcqd`
* :ref:`spkg_sagemath_meataxe`
* :ref:`spkg_sagemath_objects`
* :ref:`spkg_sagemath_repl`
* :ref:`spkg_sagemath_sirocco`
* :ref:`spkg_sagemath_tdlib`

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.

Mathematics
~~~~~~~~~~~

* :ref:`spkg_awali`
* :ref:`spkg_barvinok`
* :ref:`spkg_cocoalib`
* :ref:`spkg_deformation`
* :ref:`spkg_gap3`
* :ref:`spkg_lie`
* :ref:`spkg_modular_decomposition`
* :ref:`spkg_polylib`
* :ref:`spkg_r_jupyter`
* :ref:`spkg_surf`

Other dependencies
~~~~~~~~~~~~~~~~~~

* :ref:`spkg_gdb`
* :ref:`spkg_libtheora`
* :ref:`spkg_valgrind`


All External Packages
---------------------

.. toctree::
   :maxdepth: 1

   index_alph

