## We use this file both as .gitignore and .dockerignore,
## which have different semantics.

/dist
/local
/logs
/upstream
/sagemath.egg-info

# Autotools generated files
/aclocal.m4
/autom4te.cache/
/config/install-sh
/config/compile
/config/config.guess
/config/config.sub
/config/install-sh
/config/missing
/config.log
/config.status
/configure
/real_configure
/confdefs.h

/m4/sage_spkg_configures.m4
/m4/sage_spkg_versions*.m4

# Conda environment files (auto-generated)
/environment-3.[0-9].yml
/environment-3.[0-9][0-9].yml

# Various editors
*~
**/*~

# Emacs
\#*\#
**/\#*\#
.\#*
**/.\#*

# Vim
*.swp
**/*.swp
*.swo
**/*.swo
*.swn
**/*.swn
*.un~
.netrwhist

# PyCharm
.idea
.iml

# VSCode
**/.vscode/*
!.vscode/settings.json
!.vscode/tasks.json
!.vscode/launch.json
!.vscode/extensions.json
**/*.code-workspace
**/.history

# XCode
xcuserdata/

# Eclipse
*.pydevproject
.project
.metadata
*.tmp
*.bak
**/*.bak
*.swp
*~.nib
.classpath
.settings/
.loadpath
.externalToolBuilders/
.cproject
.buildpath

# OSX specific temporary files
.DS_Store
**/.DS_Store
._*
.AppleDouble
.LSOverride
.Spotlight-V100
.Trashes

# Windows
$RECYCLE.BIN/

# SublimeText
*.sublime-workspace

# SageMathCloud
*.sage-chat
*.sage-history
*.syncdoc*

# Jupyter
.ipynb_checkpoints
Untitled*.ipynb

# GitLab CI generated files
gitlab-build-docker.log

# Byte-compiled / optimized / DLL files
__pycache__/
**/__pycache__
*.py[cod]
**/*.py[cod]
*$py.class

# Temporary build files
build/temp.*/
build/bin/sage-build-env-config

# Generated files in build
build/cp31[1-9]
build/pkgs/cypari/version_requirements.txt
build/pkgs/cysignals/version_requirements.txt
build/pkgs/cython/version_requirements.txt
build/pkgs/gmpy2/version_requirements.txt
build/pkgs/jupyter_core/version_requirements.txt
build/pkgs/memory_allocator/version_requirements.txt
build/pkgs/numpy/version_requirements.txt
build/pkgs/pkgconfig/version_requirements.txt
build/pkgs/pplpy/version_requirements.txt
build/pkgs/setuptools/version_requirements.txt
build/pkgs/wheel/version_requirements.txt

# Generated files in the top-level source trees
/pkgs/*/build
/pkgs/*/dist
/pkgs/*/MANIFEST
/pkgs/*/*.egg-info
/pkgs/*/.tox
/pkgs/*/venv*
/pkgs/*/.venv*

/pkgs/sagemath-objects/setup.cfg
/pkgs/sagemath-categories/setup.cfg
/pkgs/sagemath-environment/setup.cfg
/pkgs/sagemath-repl/setup.cfg
/pkgs/sagemath-objects/pyproject.toml
/pkgs/sagemath-categories/pyproject.toml
/pkgs/sagemath-environment/pyproject.toml
/pkgs/sagemath-repl/pyproject.toml
/pkgs/sagemath-objects/requirements*.txt
/pkgs/sagemath-categories/requirements*.txt
/pkgs/sagemath-environment/requirements*.txt
/pkgs/sagemath-repl/requirements*.txt
/pkgs/sagemath-categories/MANIFEST.in

# same for old locations - before Issue #31577
/build/pkgs/*/src/build
/build/pkgs/*/src/dist
/build/pkgs/*/src/MANIFEST
/build/pkgs/*/src/*.egg-info
/build/pkgs/*/src/.tox

# Distribution / packaging
src/*.egg-info/
/src/.cython_version
/src/build
/src/Makefile
/src/bin/sage-env-config
/src/bin/sage-src-env-config

# Virtual environments
/venv
src/.env
src/.venv
src/env/
src/venv/
src/ENV/
src/env.bak/
src/venv.bak/

# mypy
**/.mypy_cache/

# tox generated files
/.tox
/build/.tox
**/.tox
/prefix

# code coverage generated files
src/.coverage/

# git worktree
worktree*
**/worktree*

# Meson subprojects
/subprojects/*
!/subprojects/*.wrap
!/subprojects/packagefiles
!/subprojects/README.md

# Meson temporary files
subprojects/wrapdb.json
subprojects/maxima-5.47.0
subprojects/packagecache
src/sage/interfaces/__init__.py
src/sage/crypto/block_cipher/__init__.py
src/sage/crypto/public_key/__init__.py
src/sage/logic/__init__.py
src/sage/parallel/__init__.py
src/sage/dynamics/cellular_automata/__init__.py
src/sage/dynamics/arithmetic_dynamics/__init__.py
src/sage/dynamics/__init__.py
src/sage/dynamics/complex_dynamics/__init__.py
src/sage/ext/interpreters/__init__.py
src/sage/knots/__init__.py
src/sage/topology/__init__.py
src/sage/functions/__init__.py
src/sage/manifolds/subsets/__init__.py
src/sage/manifolds/__init__.py
src/sage/manifolds/differentiable/examples/__init__.py
src/sage/manifolds/differentiable/__init__.py
src/sage/coding/source_coding/__init__.py
src/sage/coding/guruswami_sudan/__init__.py
src/sage/coding/__init__.py
src/sage/coding/codecan/__init__.py
src/sage/games/__init__.py
src/sage/quivers/__init__.py
src/sage/schemes/cyclic_covers/__init__.py
src/sage/schemes/plane_conics/__init__.py
src/sage/schemes/curves/__init__.py
src/sage/schemes/plane_quartics/__init__.py
src/sage/schemes/jacobians/__init__.py
src/sage/schemes/toric/sheaf/__init__.py
src/sage/schemes/toric/__init__.py
src/sage/schemes/product_projective/__init__.py
src/sage/schemes/elliptic_curves/__init__.py
src/sage/schemes/riemann_surfaces/__init__.py
src/sage/schemes/hyperelliptic_curves/__init__.py
src/sage/schemes/berkovich/__init__.py
src/sage/schemes/generic/__init__.py
src/sage/schemes/projective/__init__.py
src/sage/schemes/weighted_projective/__init__.py
src/sage/schemes/__init__.py
src/sage/schemes/affine/__init__.py
src/sage/modular/hecke/__init__.py
src/sage/modular/pollack_stevens/__init__.py
src/sage/modular/overconvergent/__init__.py
src/sage/modular/modform/__init__.py
src/sage/modular/quasimodform/__init__.py
src/sage/modular/modsym/__init__.py
src/sage/modular/local_comp/__init__.py
src/sage/modular/quatalg/__init__.py
src/sage/modular/ssmod/__init__.py
src/sage/modular/abvar/__init__.py
src/sage/modular/__init__.py
src/sage/modular/btquotients/__init__.py
src/sage/modular/arithgroup/__init__.py
src/sage/modular/modform_hecketriangle/__init__.py
src/sage/combinat/cluster_algebra_quiver/__init__.py
src/sage/combinat/root_system/__init__.py
src/sage/combinat/species/__init__.py
src/sage/combinat/designs/__init__.py
src/sage/combinat/posets/__init__.py
src/sage/combinat/matrices/__init__.py
src/sage/combinat/rigged_configurations/__init__.py
src/sage/combinat/ncsf_qsym/__init__.py
src/sage/combinat/path_tableaux/__init__.py
src/sage/combinat/sf/__init__.py
src/sage/combinat/__init__.py
src/sage/combinat/chas/__init__.py
src/sage/combinat/ncsym/__init__.py
src/sage/combinat/words/__init__.py
src/sage/combinat/crystals/__init__.py
src/sage/tensor/modules/__init__.py
src/sage/tensor/__init__.py
src/sage/groups/matrix_gps/__init__.py
src/sage/groups/semimonomial_transformations/__init__.py
src/sage/groups/perm_gps/partn_ref2/__init__.py
src/sage/groups/perm_gps/partn_ref/__init__.py
src/sage/groups/perm_gps/__init__.py
src/sage/groups/__init__.py
src/sage/groups/affine_gps/__init__.py
src/sage/groups/abelian_gps/__init__.py
src/sage/groups/additive_abelian/__init__.py
src/sage/groups/lie_gps/__init__.py
src/sage/groups/misc_gps/__init__.py
src/sage/symbolic/__init__.py
src/sage/symbolic/integration/__init__.py
src/sage/lfunctions/__init__.py
src/sage/arith/__init__.py
src/sage/ext/__init__.py
src/sage/categories/examples/__init__.py
src/sage/categories/__init__.py
src/sage/modules/fg_pid/__init__.py
src/sage/modules/__init__.py
src/sage/modules/with_basis/__init__.py
src/sage/modules/fp_graded/steenrod/__init__.py
src/sage/modules/fp_graded/__init__.py
src/sage/misc/__init__.py
src/sage/rings/convert/__init__.py
src/sage/rings/invariants/__init__.py
src/sage/rings/finite_rings/__init__.py
src/sage/rings/function_field/__init__.py
src/sage/rings/function_field/drinfeld_modules/__init__.py
src/sage/rings/semirings/__init__.py
src/sage/rings/number_field/__init__.py
src/sage/rings/__init__.py
src/sage/rings/padics/__init__.py
src/sage/rings/valuation/__init__.py
src/sage/rings/asymptotic/__init__.py
src/sage/rings/polynomial/weil/__init__.py
src/sage/rings/polynomial/__init__.py
src/sage/rings/polynomial/padics/__init__.py
src/sage/monoids/__init__.py
src/sage/matrix/__init__.py
src/sage/matroids/__init__.py
src/sage/interacts/__init__.py
src/sage/__init__.py
src/sage/plot/__init__.py
src/sage/plot/plot3d/__init__.py
src/sage/typeset/__init__.py
src/sage/algebras/lie_conformal_algebras/__init__.py
src/sage/algebras/fusion_rings/__init__.py
src/sage/algebras/letterplace/__init__.py
src/sage/algebras/quatalg/__init__.py
src/sage/algebras/steenrod/__init__.py
src/sage/algebras/finite_dimensional_algebras/__init__.py
src/sage/algebras/__init__.py
src/sage/algebras/hecke_algebras/__init__.py
src/sage/algebras/lie_algebras/__init__.py
src/sage/algebras/quantum_groups/__init__.py
src/sage/quadratic_forms/genera/__init__.py
src/sage/quadratic_forms/__init__.py
src/sage/game_theory/__init__.py
src/sage/sandpiles/__init__.py
src/sage/sat/__init__.py
src/sage/homology/__init__.py
src/sage/geometry/riemannian_manifolds/__init__.py
src/sage/geometry/hyperplane_arrangement/__init__.py
src/sage/geometry/triangulation/__init__.py
src/sage/geometry/polyhedron/modules/__init__.py
src/sage/geometry/polyhedron/__init__.py
src/sage/geometry/polyhedron/combinatorial_polyhedron/__init__.py
src/sage/geometry/__init__.py
src/sage/geometry/hyperbolic_space/__init__.py
src/sage/sets/__init__.py
src/sage/probability/__init__.py
src/sage/numerical/backends/__init__.py
src/sage/numerical/__init__.py
src/sage/data_structures/__init__.py
src/sage/graphs/graph_decompositions/__init__.py
src/sage/graphs/generators/__init__.py
src/sage/graphs/__init__.py
src/sage/graphs/base/__init__.py
src/sage/graphs/tests/__init__.py
src/sage/databases/__init__.py
src/sage/stats/hmm/__init__.py
src/sage/stats/__init__.py
src/sage/stats/distributions/__init__.py
src/sage/libs/gap/__init__.py
src/sage/libs/mpfi/__init__.py
src/sage/libs/__init__.py
src/sage/libs/polybori/__init__.py
src/sage/libs/mpfr/__init__.py
src/sage/libs/mpc/__init__.py
src/sage/calculus/transforms/__init__.py
src/sage/calculus/__init__.py

# Temporary files generated by Meson CI (needed to make test pass because
# ci-meson.yml runs a `./tools/test-git-no-uncommitted-changes` step)
/.ccache
/setup-miniconda-patched-environment-*.yml

# bootstrap-time generated docs
/src/doc/en/installation/*.txt
/src/doc/en/reference/spkg/*.rst
!/src/doc/en/reference/spkg/index.rst
