Summary
Django has a thriving community of open source pluggable applications. Maintaining an external application can be a rewarding experience and doesn't need to take over your life. Learn what it takes to package, document and test your Django app so that others can use and contribute to what you've built.
Description
Introduction/Overview
So you want to release your Django app into the wild. Now what? I'll go over packaging your application to add to the Python Package Index (PyPi), creating documentation to host on Read The Docs and setup an environment to test your application against different versions of Python and Django. I'll also go over some things you should and shouldn't do when maintaining your app over the years.
Packaging
- Creating a setup.py
- Registering your package
- Uploading your package
- Sane versioning with PEP386
Documentation
- Getting started with Sphinx
- Using Read the Docs
Testing
- Running your app tests
- Testing multiple Python/Django versions with tox
- Testing your documentation build
Things to Do
- State your goals
- Let others help you
- Include a license
- Prepare for the future
Things to Avoid
- Rejecting every contribution
- Accepting every contribution
- Developer burnout
Conclusion
Reusable applications are my favorite feature of Django. It does take work to maintain an open source app but it can be quite rewarding. If you use these tools you can help provide your users with the best experience and empower them to help you with your application.