Additional Resources
Chapter 18. Additional Resources
You are pretty much done with this book. Congratulations! I hope the topics that I have covered have given you a solid base to begin building your own applications with Flask. The code examples are open source and have a permissive license, so you are welcome to use as much of my code as you want to seed your projects, even if they are of a commercial nature. In this short final chapter, I want to give you a list of additional tips and resources that might be useful as you continue working with Flask.
Using an Integrated Development Environment (IDE)
Developing Flask applications in an integrated development environment (IDE) can be very convenient, since features such as code completion and an interactive debugger can speed up the coding process considerably. Some of the IDEs that work well with Flask are listed here:
IDE from JetBrains with Community (free) and Professional (paid) editions, both compatible with Flask applications. Available on Linux, macOS, and Windows.
Open source IDE from Microsoft. A third-party Python plug-in must be installed to have access to code completion and debugging features with Flask applications. Available on Linux, macOS, and Windows.
Open source IDE based on Eclipse. Available on Linux, macOS, and Windows.
Finding Flask Extensions
The examples in this book rely on several extensions and packages, but there are many more that are also useful and were not discussed. The following is a short list of some additional packages that are worth exploring:
- Flask-Babel: Internationalization and localization support
- Marshmallow: Serialization and deserialization of Python objects, useful for API resource representations
- Celery: Task queue for processing background jobs
- Frozen-Flask: Conversion of a Flask application to a static website
- Flask-DebugToolbar: In-browser debugging tools
- Flask-Assets: Merging, minifying, and compiling of CSS and JavaScript assets
- Flask-Session: Alternative implementation of user sessions that use server-side storage
- Flask-SocketIO: Socket.IO server implementation with support for WebSocket and long-polling
If the functionality that you need for your project is not covered by any of the extensions and packages mentioned in this book, then your first destination to look for additional extensions should be the official Flask Extension Registry. Other good places to search are the Python Package Index, GitHub, and Bitbucket.
Getting Help
If you reach a point where you are blocked by an issue that you cannot resolve on your own, you should keep in mind that there is a community of Flask developers like you that will be happy to help you.
A great place to ask questions about Flask or any related extensions is Stack Overflow. Other developers that see your question and know how to answer will post their answers, which are voted up or down according to their quality. You, as the owner of the question, can then select the best answer. All questions and their answers stay on the site and appear in search results. So, by asking your question on this platform, you help grow the collection of information about Flask.
Reddit also has a friendly Flask-dedicated subreddit where you can post questions.
Finally, if you use IRC, the #pocoo channel on Freenode is frequented by Flask developers of all levels who can help you one-on-one with your problem.
Getting Involved with Flask
Flask would not be as awesome as it is without the work done by its community of developers. As you are now becoming part of this community and benefiting from the work of so many volunteers, you should consider finding a way to give something back. Here are some ideas to help you get started:
- Review the documentation for Flask or your favorite related project and submit corrections or improvements.
- Translate the documentation into a new language.
- Answer questions on Q&A sites such as Stack Overflow.
- Talk about your work with your peers at user group meetings or conferences.
- Contribute bug fixes or improvements to packages that you use.
- Write new Flask extensions and release them as open source.
- Release your applications as open source.
I hope you decide to volunteer in one of these ways, or any others that are meaningful to you. If you do, thank you!
Table of contents collapsed