the hacker guide to python
Table of Contents

    support 2.6 only if you have to(or look for challenge); definitely support 2.7; support 3.3 and above for the future.

    dont't leave unit tests outside the package directory

    PEP 440 version numbering

    automated checks: have a try about flake8 and hacking

    sys.module; sys.builtin_module_names; sys.path

    go through the standard library first.

    a few standard modules that you should definitely know about p16

    setuptools is the distribution library to use for the timebeing, distlib may replace distutils in the future

    have a try about pbr

    set the environment variable PIP_DOWNLAOD_CACHE to a directory or add the download-cache option to your ~/.pip/pip.conf file if you're using pip to download the same package over and over.

    pip freeze list the packages that are currently installed by using the pip

    using plugins and drivers p71 what? ?_?

    write unit test, using nose and unittest, don't use assert because it doesn't give much useful information.

    fixtures module: provide an easy mechanism for creating fixture classes and objects.

    mock

    testscenarios

    subunit: provides a streaming protocol for test results. p102

    coverage: which parts of your code base have been crossed over and which parts have not

    tox: automate and standardi5e how tests are run in Python

    I consider it important enough to emphasi5e here: you should have a zero toler ance police on untested code. No code should be merged unless there is a proper set of unit tests to cover it.