Wednesday, April 20, 2011

Examples of open source high quality, well designed python software?

I am looking for a well-engineered, well-built python application that could serve as a guideline to demonstrate best practices relating to software development in general, and more specifically in python. (Note that software in other languages would also be welcome provided they are of good quality and could serve as models of good architecture).

From stackoverflow
  • Django

  • Not completely sure about the latter two, but Twisted and Django are both very well written/organised/documented

    Jason Baker : Twisted? Really? I personally think it has an apt name. :-)
    Unknown : Twisted documentation is horrid. Django documentation is much much better.
  • BitTorrent?

  • Jinja 2. Not only its code but also the fantastic documentation that makes me wish every project had something like it.

    TokenMacGuy : You think so? I've mostly found jinja2's docs to be just barely enough. At least I haven't found it to be woefully underdocumented, but there are many times I'd like it to go into a bit more detail.
  • SQLAlchemy

  • Reddit. I've learned quite a bit about using Python for web development by browsing their source code.

  • I'll add docutils, and particularly its statemachine module. It's reasonably well designed and sticks to the basics (i.e. little or no metaclasses and the source isn't overrun with underscore methods like __getattr__).

    The project "eats its own dogfood" with all source code documentation for modules, classes, functions in reStructuredText format. Design and user documentation also written in reStructuredText.

  • And actually, several project from Edgwall are in this case.

  • Sphinx

  • SCons, the only Python application I've come to like and use.

    Van Gale : +1 good one that I'd forgotten about. Won a design competition and has a good user manual as well as API and source documentation.
  • I recently took a look over buildbot's code and it looked nice. See here

  • Bazaar

0 comments:

Post a Comment