Skip to main content

A Flask based framework for fast and easy app creation. Experience the real power of Flask without boilerplate, but therefore a well balanced mix of magic and the default Flask framework.

Project description

🧪 Flask++

Tired of setting up Flask from scratch every single time? 🤯 With Flask++, you can spin up and manage multiple apps in under two minutes. ⚡

And most important: This is still Flask. You won't have to miss the feeling of developing Flask. You've got full control about how much magic you would like to use and how much this framework should just feel like Flask. Not only that: If you experience something, which doesn't feel like Flask anymore... Please feel free to raise an issue and we'll fix that for you asap. ✌🏼️

It comes with the most common Flask extensions pre-wired and ready to go. Configuration is dead simple – extensions can be bound or unbound with ease. On top of that, it features a plug-&-play style module system, so you can just enable or disable functionality as needed. 🎚️


💡 Getting Started

If not already done, just install Python 3.10 or higher on your system. Then install Flask++ like every other python package:

pip install flaskpp

After that you can simply set up your app with the Flask++ CLI:

mkdir myproject
cd myproject

fpp init

# If you want to use modules, we recommend to create / install them before the setup.
# This will make life even easier, because you won't need to add them to your app config manually.

fpp modules create [name]
fpp modules install [id] [-s/--src] path/to/module

# You can also install from remote repositories (e.g. our I18n Manager):
fpp modules install i18n_module --src https://github.com/GrowVolution/FPP_i18n_module

fpp setup

# You can run your app(s) interactively:
fpp run [-i/--interactive]
# Or straight up:
fpp run [-a/--app] myapp [-p/--port] 5000 [-d/--debug]

# For further assistance use:
fpp --help

The setup wizard will guide you through the configuration step by step. 🎯 Once finished, your first app will be running – in less than the time it takes to make coffee. ☕🔥

Tip: We recommend installing Flask++ globally. If your OS does not support installing PyPI packages outside virtual environments, you can create a workaround like this:

sudo su
cd /opt
mkdir flaskpp
cd flaskpp

python3 -m venv .venv
source .venv/bin/activate

pip install --upgrade pip
pip install flaskpp

cat > cli <<EOF
#!/usr/bin/env bash
exec /opt/flaskpp/.venv/bin/python -m flaskpp "$@"
EOF
chmod +x cli
ln -s /opt/flaskpp/cli /usr/local/bin/fpp

cd ..
groupadd shared
find /home -mindepth 1 -maxdepth 1 -type d -print0 |
while IFS= read -r -d '' dir; do
    user=$(basename "$dir")
    usermod -aG shared "$user"
done
chown -R root:shared flaskpp
chmod -R 2775 flaskpp
exit

newgrp shared

🧩 Modules

To get started with modules, you can generate basic modules using the Flask++ CLI: fpp modules create [module_name]. Use it as a starting point for your own modules. 😉


🌐 Proxy Example (nginx)

If you’re deploying on a server, you can bind your app to a domain via nginx:

server {
    listen 80 default_server;
    listen [::]:80 default_server;
    server_name _;

    return 301 https://$host$request_uri;
}

server {
    listen 443 ssl;
    listen [::]:443 ssl;
    server_name myapp.example.org;

    ssl_certificate     /path/to/your/cert.pem;
    ssl_certificate_key /path/to/your/key.pem;

    location / {
        proxy_pass http://127.0.0.1:5000;
        include proxy_params;   # default at /etc/nginx/

        # optional tweaks:
        # client_max_body_size 16M;

        proxy_set_header Upgrade $http_upgrade;
        proxy_set_header Connection "upgrade";
        proxy_http_version 1.1;
        # better: put these lines in /etc/nginx/upgrade_params
        # and simply use: include upgrade_params;
    }
}

📝 Documentation

For further information about this framework and how to use it, you may like to read our documentation. 🫶🏼

⚠️ Note: The documentation is intended as an architectural and reference guide, it does not provide a step-by-step tutorial. This is especially because Flask++ is a CLI first framework that provides a zero-code bootstrapping experience.


🌱 Let it grow

If you like this project, feel free to fork it, open issues, or contribute ideas. Every improvement makes life easier for the next developer. 💚


📜 License

Released under the MIT License. Do whatever you want with it – open-source, commercial, or both. Follow your heart. 💯


© GrowVolution e.V. 2025 – Release the brakes! 🚀

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

flaskpp-0.4.1.tar.gz (61.6 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

flaskpp-0.4.1-py3-none-any.whl (72.2 kB view details)

Uploaded Python 3

File details

Details for the file flaskpp-0.4.1.tar.gz.

File metadata

  • Download URL: flaskpp-0.4.1.tar.gz
  • Upload date:
  • Size: 61.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.5

File hashes

Hashes for flaskpp-0.4.1.tar.gz
Algorithm Hash digest
SHA256 4511df39b815b13194b8a45b5790b05b7627e2a3ee962e913c8ac83167af6c9d
MD5 af3bf4cee46bb6b8a1d9e786fdd005b3
BLAKE2b-256 27487cd0d06e5708f89f8d927f4935c4e913f604951faee540adce005ba4db30

See more details on using hashes here.

File details

Details for the file flaskpp-0.4.1-py3-none-any.whl.

File metadata

  • Download URL: flaskpp-0.4.1-py3-none-any.whl
  • Upload date:
  • Size: 72.2 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.5

File hashes

Hashes for flaskpp-0.4.1-py3-none-any.whl
Algorithm Hash digest
SHA256 68276e89bde830a9ccdf978ba49939aeac0ae0572d315e4f88acb73c62be4d10
MD5 6dea4c0ee9ee867a582539eb108460df
BLAKE2b-256 24c4deddde6567460d687803390d607fe55bbf6705b89efc17d649a1c029461a

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page