Shipping python modules - best practices?

Demian Brecht demianbrecht at gmail.com
Sat Oct 27 17:39:18 EDT 2012


1) IMHO, these should be two distinct steps. You will definitely want to run unit tests without sdist and likewise, I'm sure you'll want to sdist without unit tests. Personally, if I wanted to combine the two, I'd create tasks in a makefile and just run something along the lines of: make unit sdist

2) I don't understand why you'd want to run unit tests during installation. Unit tests are generally used pre-commit to ensure everything's working as expected in your environment and post commit to ensure there are no knock-on effects caused by your changes to the current code base. Running them during installation seems rather strange and useless to me..

3) Docs are generally stored in a /doc directory at the root of your project. I haven't used pydoc, but if it's anything like sphinx, then best practice is to commit the source for your docs and have the users using the project generate the static content themselves (usually done through a make target).

On 2012-10-27, at 7:02 AM, rambius <rambiusparkisanius at gmail.com> wrote:

> Hello,
> 
> I developed some moderate-sized python scripts that I would like to distribute as python modules. I have never shipped modules before and I read http://docs.python.org/distutils/index.html. I was able to generate a source distribution, but I still have some questions.
> 
> 1) My module contains some unit tests in separate scripts. I want to execute them when I generate the source distribution. How can I do it?
> 
> 2) When I install 3rd party modules, I see some of them executing their unit tests during the installation. How can I do it? How can I provide an option to the user to ignore possible test failures?
> 
> 3) I generate some html documentation with pydoc. How shall I distribute it with the module?
> 
> Thank you very much in advance.
> 
> Regards
> rambius
> -- 
> http://mail.python.org/mailman/listinfo/python-list

Demian Brecht
@demianbrecht
http://demianbrecht.github.com







More information about the Python-list mailing list