# some of the prunes here are so that check-manifest doesn't complain about their exclusion
# as such, be judicious in your use of prune

# stubs
prune mypy/typeshed
include mypy/typeshed/LICENSE
include mypy/typeshed/stdlib/VERSIONS
recursive-include mypy/typeshed *.pyi

# mypy and mypyc
include mypy/py.typed
recursive-include mypy *.py
recursive-include mypyc *.py

# random
include mypy_bootstrap.ini
graft mypy/xml
graft scripts

# docs
graft docs
prune docs/build
prune docs/source/_build

# assorted mypyc requirements
graft mypyc/external
graft mypyc/lib-rt
graft mypyc/test-data
graft mypyc/doc

# files necessary for testing sdist
include mypy-requirements.txt
include build-requirements.txt
include test-requirements.in
include test-requirements.txt
include mypy_self_check.ini
prune misc
graft test-data
include conftest.py
include runtests.py
include pytest.ini
include tox.ini

include LICENSE mypyc/README.md
exclude .gitmodules CONTRIBUTING.md CREDITS ROADMAP.md CHANGELOG.md action.yml .editorconfig
exclude .git-blame-ignore-revs .pre-commit-config.yaml

global-exclude *.py[cod]
global-exclude .DS_Store
