Project structure - Best practices
casey.mcginty at gmail.com
Fri Dec 5 23:26:17 CET 2008
> This is first time that I am building python application that is
> larger than a single module and I would like to do it right.
I want to just say I am in agreement with the OP. Basically, there are a lot
of factors to balance out and consider when starting a python application
for the first time. For a new developer, tracking down this information is
not a trivial task, as it is spread out over many location, or in worse
cases, left up for the developer to "discover" on his/her own. I know it was
not an easy task for me at first, and if we can make it easier for the next
set of newcomeres, than that would be all the better.
As far as open source projects go, the Python documentation is some of the
best I've seen, however it would be nice to see a "Python Project Quick
Start Guide" as part of the standard docs. The basics of this document would
touch on packaging, imports, logging, testing, documenting, naming
conventions, SCM, etc. Instead of rehashing the current docs, the focus
would be on the combined integration of all of these features into a single
I realize that there is a wide range of preferences on specifics of each
topic. But, just like PEP 8 is a good standard on code style, so would
having a document as reference for other project-level "style" fundamentals.
Ultimately, there could be a template project directory and source files
that a user could build from. This is much more preferable to a blank
directory, and might have the added benefit of influencing users to pick up
recommended, but often ignored, practices at the beginning of a project.
So, with all this said. I'd be willing to capture a lot of the methods I've
picked up over the last couple months working with python. If anyone wants
to add some suggestions, I'd love to have more discussion to organize
thoughts and see if any new ideas come out. As a starting point, what is a
good markup language to use for some slick HTML and PDF output?
- Casey McGinty
-------------- next part --------------
An HTML attachment was scrubbed...
More information about the Python-list