# Compiled python modules.
src/buildstream/**/*.pyc
tests/**/*.pyc

# Build output directory
build

# Setuptools distribution folder.
/dist/

# Python egg metadata, regenerated from source files by setuptools.
/src/*.egg-info
.eggs

# Some testing related things
integration-cache/
tmp
.coverage
.coverage-reports/
.coverage.*
.cache
.pytest_cache/
*.bst/
.tox/

# Pycache, in case buildstream is ran directly from within the source
# tree
__pycache__/

# Generated version file
src/buildstream/__version__.py

# Autogenerated doc
doc/source/badges/
doc/source/sessions/
doc/source/elements/
doc/source/sources/
doc/source/modules.rst
doc/source/buildstream.rst
doc/source/buildstream.*.rst
doc/build/
versioneer.pyc
