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.

* :ref:`spkg__prereq`
* :ref:`spkg_alabaster`
* :ref:`spkg_appdirs`
* :ref:`spkg_appnope`
* :ref:`spkg_arb`
* :ref:`spkg_argon2_cffi`
* :ref:`spkg_attrs`
* :ref:`spkg_babel`
* :ref:`spkg_backcall`
* :ref:`spkg_bleach`
* :ref:`spkg_boost_cropped`
* :ref:`spkg_brial`
* :ref:`spkg_bzip2`
* :ref:`spkg_cddlib`
* :ref:`spkg_certifi`
* :ref:`spkg_cffi`
* :ref:`spkg_cliquer`
* :ref:`spkg_cmake`
* :ref:`spkg_combinatorial_designs`
* :ref:`spkg_conway_polynomials`
* :ref:`spkg_curl`
* :ref:`spkg_cvxopt`
* :ref:`spkg_cycler`
* :ref:`spkg_cypari`
* :ref:`spkg_cysignals`
* :ref:`spkg_cython`
* :ref:`spkg_dateutil`
* :ref:`spkg_decorator`
* :ref:`spkg_defusedxml`
* :ref:`spkg_distlib`
* :ref:`spkg_docutils`
* :ref:`spkg_ecl`
* :ref:`spkg_eclib`
* :ref:`spkg_ecm`
* :ref:`spkg_elliptic_curves`
* :ref:`spkg_entrypoints`
* :ref:`spkg_fflas_ffpack`
* :ref:`spkg_filelock`
* :ref:`spkg_flint`
* :ref:`spkg_flintqs`
* :ref:`spkg_fplll`
* :ref:`spkg_fpylll`
* :ref:`spkg_freetype`
* :ref:`spkg_gap`
* :ref:`spkg_gc`
* :ref:`spkg_gcc`
* :ref:`spkg_gf2x`
* :ref:`spkg_gfan`
* :ref:`spkg_gfortran`
* :ref:`spkg_giac`
* :ref:`spkg_givaro`
* :ref:`spkg_glpk`
* :ref:`spkg_gmp`
* :ref:`spkg_gmpy2`
* :ref:`spkg_graphs`
* :ref:`spkg_gsl`
* :ref:`spkg_html5lib`
* :ref:`spkg_iconv`
* :ref:`spkg_imagesize`
* :ref:`spkg_iml`
* :ref:`spkg_importlib_metadata`
* :ref:`spkg_importlib_resources`
* :ref:`spkg_ipykernel`
* :ref:`spkg_ipython`
* :ref:`spkg_ipython_genutils`
* :ref:`spkg_ipywidgets`
* :ref:`spkg_jedi`
* :ref:`spkg_jinja2`
* :ref:`spkg_jmol`
* :ref:`spkg_jsonschema`
* :ref:`spkg_jupyter_client`
* :ref:`spkg_jupyter_core`
* :ref:`spkg_jupyter_jsmol`
* :ref:`spkg_kiwisolver`
* :ref:`spkg_lcalc`
* :ref:`spkg_libatomic_ops`
* :ref:`spkg_libbraiding`
* :ref:`spkg_libffi`
* :ref:`spkg_libgd`
* :ref:`spkg_libhomfly`
* :ref:`spkg_libpng`
* :ref:`spkg_linbox`
* :ref:`spkg_lrcalc`
* :ref:`spkg_m4ri`
* :ref:`spkg_m4rie`
* :ref:`spkg_markupsafe`
* :ref:`spkg_mathjax`
* :ref:`spkg_matplotlib`
* :ref:`spkg_maxima`
* :ref:`spkg_memory_allocator`
* :ref:`spkg_mistune`
* :ref:`spkg_mpc`
* :ref:`spkg_mpfi`
* :ref:`spkg_mpfr`
* :ref:`spkg_mpir`
* :ref:`spkg_mpmath`
* :ref:`spkg_nauty`
* :ref:`spkg_nbconvert`
* :ref:`spkg_nbformat`
* :ref:`spkg_ncurses`
* :ref:`spkg_networkx`
* :ref:`spkg_nose`
* :ref:`spkg_notebook`
* :ref:`spkg_ntl`
* :ref:`spkg_numpy`
* :ref:`spkg_openblas`
* :ref:`spkg_openssl`
* :ref:`spkg_packaging`
* :ref:`spkg_palp`
* :ref:`spkg_pandocfilters`
* :ref:`spkg_pari`
* :ref:`spkg_pari_galdata`
* :ref:`spkg_pari_seadata_small`
* :ref:`spkg_parso`
* :ref:`spkg_patch`
* :ref:`spkg_pcre`
* :ref:`spkg_pexpect`
* :ref:`spkg_pickleshare`
* :ref:`spkg_pillow`
* :ref:`spkg_pip`
* :ref:`spkg_pkgconf`
* :ref:`spkg_pkgconfig`
* :ref:`spkg_planarity`
* :ref:`spkg_pluggy`
* :ref:`spkg_polytopes_db`
* :ref:`spkg_ppl`
* :ref:`spkg_pplpy`
* :ref:`spkg_prometheus_client`
* :ref:`spkg_prompt_toolkit`
* :ref:`spkg_psutil`
* :ref:`spkg_ptyprocess`
* :ref:`spkg_py`
* :ref:`spkg_pybind11`
* :ref:`spkg_pycparser`
* :ref:`spkg_pycygwin`
* :ref:`spkg_pygments`
* :ref:`spkg_pynac`
* :ref:`spkg_pyparsing`
* :ref:`spkg_pyrsistent`
* :ref:`spkg_python3`
* :ref:`spkg_pytz`
* :ref:`spkg_pyzmq`
* :ref:`spkg_r`
* :ref:`spkg_ratpoints`
* :ref:`spkg_readline`
* :ref:`spkg_requests`
* :ref:`spkg_rpy2`
* :ref:`spkg_rw`
* :ref:`spkg_sage_conf`
* :ref:`spkg_sage_docbuild`
* :ref:`spkg_sagenb_export`
* :ref:`spkg_sagetex`
* :ref:`spkg_scandir`
* :ref:`spkg_scipy`
* :ref:`spkg_send2trash`
* :ref:`spkg_setuptools`
* :ref:`spkg_setuptools_scm`
* :ref:`spkg_setuptools_wheel`
* :ref:`spkg_simplegeneric`
* :ref:`spkg_singular`
* :ref:`spkg_six`
* :ref:`spkg_snowballstemmer`
* :ref:`spkg_sphinx`
* :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_suitesparse`
* :ref:`spkg_symmetrica`
* :ref:`spkg_sympow`
* :ref:`spkg_sympy`
* :ref:`spkg_tachyon`
* :ref:`spkg_terminado`
* :ref:`spkg_testpath`
* :ref:`spkg_thebe`
* :ref:`spkg_threejs`
* :ref:`spkg_toml`
* :ref:`spkg_tornado`
* :ref:`spkg_tox`
* :ref:`spkg_traitlets`
* :ref:`spkg_typing_extensions`
* :ref:`spkg_tzlocal`
* :ref:`spkg_vcversioner`
* :ref:`spkg_virtualenv`
* :ref:`spkg_wcwidth`
* :ref:`spkg_webencodings`
* :ref:`spkg_wheel`
* :ref:`spkg_widgetsnbextension`
* :ref:`spkg_xz`
* :ref:`spkg_yasm`
* :ref:`spkg_zeromq`
* :ref:`spkg_zipp`
* :ref:`spkg_zlib`
* :ref:`spkg_zn_poly`

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

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

* :ref:`spkg_4ti2`
* :ref:`spkg__bootstrap`
* :ref:`spkg__recommended`
* :ref:`spkg_admcycles`
* :ref:`spkg_atlas`
* :ref:`spkg_barvinok`
* :ref:`spkg_beautifulsoup4`
* :ref:`spkg_benzene`
* :ref:`spkg_biopython`
* :ref:`spkg_bliss`
* :ref:`spkg_buckygen`
* :ref:`spkg_cbc`
* :ref:`spkg_ccache`
* :ref:`spkg_coxeter3`
* :ref:`spkg_cryptominisat`
* :ref:`spkg_csdp`
* :ref:`spkg_cunningham_tables`
* :ref:`spkg_d3js`
* :ref:`spkg_database_cremona_ellcurve`
* :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_dot2tex`
* :ref:`spkg_e_antic`
* :ref:`spkg_fricas`
* :ref:`spkg_frobby`
* :ref:`spkg_gap_jupyter`
* :ref:`spkg_gap_packages`
* :ref:`spkg_git`
* :ref:`spkg_glucose`
* :ref:`spkg_gp2c`
* :ref:`spkg_graphviz`
* :ref:`spkg_igraph`
* :ref:`spkg_ipympl`
* :ref:`spkg_isl`
* :ref:`spkg_jupymake`
* :ref:`spkg_jupyter_packaging`
* :ref:`spkg_jupyterlab`
* :ref:`spkg_jupyterlab_widgets`
* :ref:`spkg_kenzo`
* :ref:`spkg_latte_int`
* :ref:`spkg_libnauty`
* :ref:`spkg_libogg`
* :ref:`spkg_libsemigroups`
* :ref:`spkg_libxml2`
* :ref:`spkg_lidia`
* :ref:`spkg_llvm`
* :ref:`spkg_lrslib`
* :ref:`spkg_mcqd`
* :ref:`spkg_meataxe`
* :ref:`spkg_mpfrcx`
* :ref:`spkg_nibabel`
* :ref:`spkg_ninja_build`
* :ref:`spkg_nodeenv`
* :ref:`spkg_nodejs`
* :ref:`spkg_normaliz`
* :ref:`spkg_notedown`
* :ref:`spkg_ore_algebra`
* :ref:`spkg_p_group_cohomology`
* :ref:`spkg_pandoc`
* :ref:`spkg_pandoc_attributes`
* :ref:`spkg_pari_elldata`
* :ref:`spkg_pari_galpol`
* :ref:`spkg_pari_jupyter`
* :ref:`spkg_pari_nftables`
* :ref:`spkg_pari_seadata`
* :ref:`spkg_perl_cpan_polymake_prereq`
* :ref:`spkg_perl_mongodb`
* :ref:`spkg_plantri`
* :ref:`spkg_polylib`
* :ref:`spkg_polytopes_db_4d`
* :ref:`spkg_primecount`
* :ref:`spkg_pybtex`
* :ref:`spkg_pycosat`
* :ref:`spkg_pyflakes`
* :ref:`spkg_pygraphviz`
* :ref:`spkg_pynormaliz`
* :ref:`spkg_pyopenssl`
* :ref:`spkg_pysingular`
* :ref:`spkg_pytest`
* :ref:`spkg_python_igraph`
* :ref:`spkg_pyx`
* :ref:`spkg_qhull`
* :ref:`spkg_r_jupyter`
* :ref:`spkg_rst2ipynb`
* :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_sage_sws2rst`
* :ref:`spkg_singular_jupyter`
* :ref:`spkg_sip`
* :ref:`spkg_sirocco`
* :ref:`spkg_slabbe`
* :ref:`spkg_snappy`
* :ref:`spkg_speaklater`
* :ref:`spkg_sqlalchemy`
* :ref:`spkg_surface_dynamics`
* :ref:`spkg_symengine`
* :ref:`spkg_symengine_py`
* :ref:`spkg_tdlib`
* :ref:`spkg_texlive`
* :ref:`spkg_texttable`
* :ref:`spkg_tides`
* :ref:`spkg_topcom`

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.

* :ref:`spkg_awali`
* :ref:`spkg_cocoalib`
* :ref:`spkg_deformation`
* :ref:`spkg_gambit`
* :ref:`spkg_gap3`
* :ref:`spkg_gdb`
* :ref:`spkg_libtheora`
* :ref:`spkg_lie`
* :ref:`spkg_modular_decomposition`
* :ref:`spkg_perl_term_readline_gnu`
* :ref:`spkg_polymake`
* :ref:`spkg_qepcad`
* :ref:`spkg_scipoptsuite`
* :ref:`spkg_surf`
* :ref:`spkg_valgrind`

Detailed Listing of External Packages
-------------------------------------

.. toctree::
   :maxdepth: 1

   index_alph