Thanks for the tools and the example. I just searching for something like check_manifest, because as was pointed, my configuration is "faaaar" to be generic or configurable.
My dream tool was something like (just imagine a toxenv) [testenv:check-package] skip_install = True usedevelop = False deps = pkgcheck commands = python setup.py sdist pkgcheck --manifest MANIFEST.in --requirements requirements.txt --src src/ --setup setup.py dist/my_package.tar.gz And this magically checks the package vs all the configuration files. Maybe a pylint extension can make some of these functionalities. El jue., 14 may. 2020 a las 6:33, Alexander Todorov (<atodo...@mrsenko.com>) escribió: > На 14.05.20 г. в 9:25 ч., Juan BC написа: > > Hi guys, I have a question here (sorry if my lack of practice in > English). > > I currently working in one of the many projects about covid-19, and I > > just deployed a new version for a group of epidemiologists. > > To be fair I deployed not once but three times because of two > > miss-configuration of setuptools. > > > > - First, I forget to add the internal package arcoviv19.web to include > > the web app of the project > > (https://github.com/ivco19/libs/blob/master/setup.py#L89) > > > Why are you not using `find_packages()` with possible excludes for the > test dirs? > > > - Second, forget to add a line into my MANIFEST.in, so the project > > WebClient doesn't work properly. > > (https://github.com/ivco19/libs/blob/master/MANIFEST.in) > > > > So, after the fixes, I starting to mock tests to check this kind of > > mistake. The idea was quick and dirty but works: I give a path to my > > entire source-tree and the > > the file generated with "setup.py sdist" must contain the exact same > files. > > > > "exact same files" doesn't quite work for the majority of the cases. Your > Python > package includes a subset of all the files which are in the git repository > and > you can indeed try to verify that this is the case. A simple extract & > diff will > do the trick. > > However your package doesn't seem to include the databases/ directory for > example. You see how this starts having exceptions very quickly hence a > generic > tool is very tricky and impractical to build. > > > FTR in one of my projects we have find_packages() in setup.py (which > relies on > __init__.py being present) so we made a custom pylint plugin to warn about > .py > files which are inside directories missing __init__.py: > https://github.com/kiwitcms/Kiwi/blob/master/kiwi_lint/empty.py#L30 > > An added nice bonus is that Django's test runner also relies of the > presence of > __init__.py and this helped us discover directories where we had had > automated > tests (test_...py) but they were not automatically picked up by the test > runner. > > -- > Alex > > -- Juan B Cabral
_______________________________________________ code-quality mailing list -- code-quality@python.org To unsubscribe send an email to code-quality-le...@python.org https://mail.python.org/mailman3/lists/code-quality.python.org/ Member address: arch...@mail-archive.com