Review criteria
Purpose
- Name should tell you what it does.
- Real need and be useful.
Scope
- Small, narrow focus is better.
Documentation
- No docs means the package is pre-alpha
- Doc strings != documentation
- If there are dependencies, they should be in the docs
- Installation should be bulletproof
Testing
- Tests improve reliability
- Tests make it easy to advance python/django versions
- Tests make it easier for community submissions
Activity
- When was the last commit?
- How frequent are the commits?
- Are there periodic version updates?
Community
- Active leaders
- How many contributors?
- Proper attribution of authors?
Modularity
- “Pluggability”
- Installation should be minimally invasive
- Do not confuse modularity with over-engineering
Availability on PyPI
Actually on PyPI
- Latest release on PyPI
- Should not have to go to repo for working version
Proper version numbers
VCS/Hosting
- Great: Github/Bitbucket
- OK: Launchpad/SourceForge
- Outdated: Google project hosting
- Poor: Bespoke
License
- You need a license
- Companies prefer BSD or MIT
- http://opensource.org/licenses/category
django-tastypie (2nd place)
django-rest-framework (1st place)
django-xmlrpc * No tests
django-debug-toolbar (1st place)
django-coverage
Pinax
django-social-auth (1st place)
django-profiles
django-userena (2nd place)
idios (1st place)
Get more users * djangopackages.com (!)