|
1 | | -prune .github |
| 1 | +# NOTE: based on a generic template in Scitools/.github/templates/MANIFEST.in |
| 2 | + |
| 3 | +# General principles |
| 4 | +# - enable user to build locally, as well as in CI |
| 5 | +# - make it ignore temporary files generated by dev processes, e.g. coverage checks |
| 6 | +# - encode typical decisions, e.g. whether we package docs, requirements etc |
| 7 | + |
| 8 | +#--------- |
| 9 | +# SECTION: main code sources |
| 10 | +# |
| 11 | +recursive-include src *.c *.py *.pyx *.so |
| 12 | + # principles: |
| 13 | + # - *no* "prune" command is used |
| 14 | + # - use "include-recursive", by relevant file extensions |
| 15 | + # hints: |
| 16 | + # - top-level dir is typically "src", but maybe "lib" or <package-name> |
| 17 | + # - default package rules mean we generally don't actually *need* a statement |
| 18 | + # - but it's better to be explicit |
| 19 | + # - extension filetypes are typically sources (*.py) |
| 20 | + # - might also need testdata files, e.g. *.nc, *.npy *.npz |
| 21 | + # - also possibly non-python, e.g. *.pyx for Cython |
| 22 | + |
| 23 | +#--------- |
| 24 | +# SECTION: requirements |
2 | 25 | prune requirements |
3 | 26 | recursive-include requirements *.txt |
4 | | -recursive-include src *.py *.pyx |
5 | | -include CITATION.cff |
| 27 | + # principles: |
| 28 | + # include just requirements-level info, not lock files |
| 29 | + # hints: |
| 30 | + # - not all projects include requirements, but they can be drawn in anyway by dynamic dependencies |
| 31 | + # in the setuptools build process, linked via config in pyproject.toml |
| 32 | + |
| 33 | +#--------- |
| 34 | +# SECTION: root files |
6 | 35 | exclude .flake8 |
| 36 | +exclude .git-blame-ignore-revs |
| 37 | +exclude .git_archival.txt |
| 38 | +exclude .gitattributes |
7 | 39 | exclude .gitignore |
| 40 | +exclude .lycheeignore |
| 41 | +exclude .mailmap |
8 | 42 | exclude .pre-commit-config.yaml |
9 | | -exclude Dockerfile |
| 43 | +exclude .readthedocs.yml |
| 44 | +exclude .ruff.toml |
| 45 | +exclude CHANGES |
| 46 | +include CITATION.cff |
| 47 | +exclude CODE_OF_CONDUCT.md |
| 48 | +include COPYING |
| 49 | +include COPYING.LESSER |
| 50 | +include LICENSE |
| 51 | +exclude Makefile |
10 | 52 | exclude codecov.yml |
| 53 | +include noxfile.py |
| 54 | + # principles: |
| 55 | + # - *ANY* file in the root should be explicitly "include"- or "exclude"-d |
| 56 | + # - EXCEPT (possibly) those covered by setuptools default rules (see above link) |
| 57 | + # - including : README.md/.rst; pyproject.toml; setup.py/.cfg |
| 58 | + # - N.B. a GHA "ci-manifest" check, if used, will check all this |
| 59 | + # - the above are typical ones : given in sorted order |
| 60 | + # - NB many will (eventually) be templated, but that is a separate issue |
| 61 | + # - probably, this section can be included as *boilerplate* |
| 62 | + # - i.e. it doesn't matter if some of the files mentioned don't exist |
| 63 | + |
| 64 | +#--------- |
| 65 | +# SECTION: generic exclusions |
| 66 | +# (1) top-level directories to omit entirely |
| 67 | +prune .github |
| 68 | +prune .nox |
| 69 | +prune .tox |
| 70 | +prune .coverage |
| 71 | +prune docs |
| 72 | +# (2) top-level files to omit |
| 73 | +exclude .coveragerc |
| 74 | +# (3) file types (path patterns) to skip everywhere |
| 75 | +global-exclude *.py[cod] |
| 76 | +global-exclude __pycache__ |
| 77 | + # principles: |
| 78 | + # - common directories, files and file-types to be generally ignored |
| 79 | + # - all outside version control, temporary non-coding output and cache data |
| 80 | + # produced by dev processes, automation or user tools |
| 81 | + # - by having this section LAST, it can remove files which might have been added by |
| 82 | + # previous sections -- such as python compiler cache files |
| 83 | + # - can include this section as **boilerplate** : |
| 84 | + # - won't all exist in every repo, but including them all does no harm |
| 85 | + |
| 86 | +# |
| 87 | +#================================= |
| 88 | +# Local Python-Stratify-specific settings |
| 89 | +# |
| 90 | +exclude Dockerfile |
11 | 91 | exclude index.ipynb |
12 | 92 | exclude summary.png |
0 commit comments