From helping other projects have run across a fundamental issue which web searches have not given appropriate answers.

What should go in a tarball and what should not?

Is it only the build files, python code, and package data and nothing else?

Should it include tests/ folder?

Should it include development and configuration files?

Have seven published packages which include almost all the files and folders. Including:

.gitignore,

.gitattributes,

.github folder tree,

docs/,

tests/,

Makefile,

all config files,

all tox files,

pre-commit config file

My thinking is that the tarball should have everything needed to maintain the package, but this belief has been challenged. That the tarball is not appropriate for that.

Thoughts?

  • logging_strict@programming.devOP
    link
    fedilink
    arrow-up
    1
    ·
    edit-2
    2 days ago

    Thank you. Took me awhile to internalize your very generous and detailed advice

    target spelling correction: maintainerclean --> maintainer-clean

    Here is the docs covering the topic

    GNU Make standard targets

    Actions taken

    1. In Makefile, separate GNU Make standard targets from other target categories

    2. Rename make coverage --> make check. This would require including tests/ in tarball

    3. Consider creating targets distclean and maintainer-clean

    4. In MANIFEST.in, remove git related files: .gitignore, .github/**/*

    5. Removed config files: codecov.yml, .readthedocs.yml