Skip to content

Commit 547af73

Browse files
authored
Aligns MANIFEST.in to template (#360)
* allign manifest.in to template * add boilerplate sections * remove line * undo last commit * Incorperate SciTools/.github#183
1 parent 6a71bbc commit 547af73

File tree

1 file changed

+84
-4
lines changed

1 file changed

+84
-4
lines changed

MANIFEST.in

Lines changed: 84 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,92 @@
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
225
prune requirements
326
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
635
exclude .flake8
36+
exclude .git-blame-ignore-revs
37+
exclude .git_archival.txt
38+
exclude .gitattributes
739
exclude .gitignore
40+
exclude .lycheeignore
41+
exclude .mailmap
842
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
1052
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
1191
exclude index.ipynb
1292
exclude summary.png

0 commit comments

Comments
 (0)