A full feature Flask project template.
See also
- Python-Project-Template for a lean, low dependency Python app.
- FastAPI-Project-Template The base to start an openapi project featuring: SQLModel, Typer, FastAPI, JWT Token Auth, Interactive Shell, Management Commands.
DO NOT FORK this is meant to be used from Use this template feature.
- Click on Use this template
- Give a name to your project
(e.g.my_awesome_project
recommendation is to use all lowercase and underscores separation for repo names.) - Wait until the first run of CI finishes
(Github Actions will process the template and commit to your new repo) - If you want codecov Reports and Automatic Release to PyPI
On the new repositorysettings->secrets
add yourPIPY_API_TOKEN
andCODECOV_TOKEN
(get the tokens on respective websites) - Read the file CONTRIBUTING.md
- Then clone your new project and happy coding!
NOTE: WAIT until first CI run on github actions before cloning your new project.
- 🍾 A full feature Flask application with CLI, API, Admin interface, web UI and modular configuration.
- 📦 A basic setup.py file to provide installation, packaging and distribution for your project.
Template uses setuptools because it's the de-facto standard for Python packages, you can runmake switch-to-poetry
later if you want. - 🤖 A Makefile with the most useful commands to install, test, lint, format and release your project.
- 📃 Documentation structure using mkdocs
- 💬 Auto generation of change log using gitchangelog to keep a HISTORY.md file automatically based on your commit history on every release.
- 🐋 A simple Containerfile to build a container image for your project.
Containerfile
is a more open standard for building container images than Dockerfile, you can use buildah or docker with this file. - 🧪 Testing structure using pytest
- ✅ Code linting using flake8
- 📊 Code coverage reports using codecov
- 🛳️ Automatic release to PyPI using twine and github actions.
- 🎯 Entry points to execute your program using
python -m <test_flask>
or$ test_flask
with basic CLI argument parsing. - 🔄 Continuous integration using Github Actions with jobs to lint, test and release your project on Linux, Mac and Windows environments.
Curious about architectural decisions on this template? read ABOUT_THIS_TEMPLATE.md
If you want to contribute to this template please open an issue or fork and send a PULL REQUEST.
Awesome test_flask created by tdrisdelle
From source:
git clone https://github.com/tdrisdelle/test-flask test_flask
cd test_flask
make install
From pypi:
pip install test_flask
This application has a CLI interface that extends the Flask CLI.
Just run:
$ test_flask
or
$ python -m test_flask
To see the help message and usage instructions.
test_flask create-db # run once
test_flask populate-db # run once (optional)
test_flask add-user -u admin -p 1234 # ads a user
test_flask run
Go to:
- Website: http://localhost:5000
- Admin: http://localhost:5000/admin/
- user: admin, senha: 1234
- API GET:
Note: You can also use
flask run
to run the application.