Maintaining Your Sanity While Maintaining Your Open Source App

Mark Lavin

Packaging

  • Use pip
  • PEP 386
  • List a description and __version__ number in __init__.py

Anti-Patterns

  • giant README
  • Docs which aren’t available online
  • Use Sphinx and RTD
  • Create docs before you think you need them

Things to Document

  • Description of the project and its goals
  • How to install, including requirements
  • How to configure
  • Release notes (not svn/git/hg logs)

Test Only Models

  • Define models in tests.py and they’re only available to the test runner (already used by Django)

Testing

  • Tox uses virtualenv to run a test matrix * different Python versions * different Django versions * different DB backends
  • You can have Tox build your Sphinx docs
  • sul

Project Versions

Table Of Contents

Previous topic

What the heck is this?

Next topic

Creating Dynamic Applications with Django and Backbone.js

This Page