# Basic toplevel package includes
include README.rst
include HACKING.rst
include COPYING
include Dockerfile
include Dockerfile-build.sh

# Documentation package includes
include doc/Makefile
include doc/source/conf.py
include doc/source/index.rst

# Tests
recursive-include tests *.py
recursive-include tests *.yaml
recursive-include tests *.bst
recursive-include tests *.conf
recursive-include tests *.sh
recursive-include tests *.expected
