Best Flask open-source libraries and packages

Flask graphql boilerplate

A flask boilerplate to get you up and running. Packed with GraphQL and an authentication system out of the box.
Updated 1 year ago

a Flask template for cookiecutter to get you up and running, powered by GraphQL.

Motivation ⛵

The GraphQL community is relatively new, and there are fewer resources to help you get started with it in the Python ecosystem. While I started to write GraphQL projects with Python, I experienced a lot of friction, and wrote a lot of boilerplate code. Eventually, I figured out that it would be easier to make a template which would help me to get up and running. This template uses a lot of modern libraries to provide the best developer experience. Today, I mostly start off my projects with this template.

Features at a glance ✨

  • [x] Built for Flask 2.0.1
  • [x] Works with Python 3.8
  • [x] Uses Graphene for the GraphQL schema.
  • [x] Pre-Configured Jinja2 email templates.
  • [x] Built in support for sending emails.
  • [x] Postgres and SQLAlchemy support.
  • [x] Uses Pipenv to manage dependencies.
  • [x] Comes with support for Flask-CORS.
  • [x] Offers complete Relay support.
  • [x] GraphQL file uploads support.
  • [x] Batch querying support (for use with Apollo Client).
  • [x] Follows the official Shopify GraphQL Design guide.
  • [x] Uses Pytest and FactoryBoy for testing.
  • [x] DataLoader support (fixes the n+1 problem).
  • [ ] Uses Cerberus for input validation.
  • [ ] Comes with an authentication system which handles:
    • [ ] User email confirmation.
    • [ ] Forgot password/ password reset.
    • [ ] Verified email/ password changes.
    • [x] User creation/ login.
    • [x] User authentication with Flask-Login.
    • [x] Storing passwords with Argon2.

Using the boilerplate 🚀

using the boilerplate is very simple! Make sure that you have pip installed. If you don't have cookiecutter already, use the following command.

pip install cookiecutter

You can get started by entering the following command.

cookiecutter https://github.com/aryaniyaps/flask-graphql-boilerplate

Contributing 📄

This project is open for contributions! Make sure to read the contributing guidelines to get started.