Flask Boilerplate to quickly get started with production grade flask application with some additional packages and configuration prebuilt.
You can find an in-depth article on this implementation here.
We encourage you to contribute to Flask Boilerplate! Please check out the Contributing guidelines about how to proceed.
```sh
$ git clone https://github.com/idris-rampurawala/flask-boilerplate.git
$ cd flask-boilerplate
If you want to install redis via docker
sh
$ docker run -d --name="flask-boilerplate-redis" -p 6379:6379 redis
```
pipenv
a global python project pip install pipenv
virtual environment
for this project
```shell$ pipenv --three
$ pipenv shell
$ pipenv install -d
$ pipenv install -d --python 3.9 ```
development
, staging
and production
in config.py
. Default is development
.env
file from .env.example
and set appropriate environment variables before running the projectpython run.py
log
folder$ celery -A celery_worker.celery worker --loglevel='INFO'
--pool=solo
for windows)```
Includes preconfigured packages to kick start flask app by just setting appropriate configuration.
| Package | Usage | |----- |----- | | celery | Running background tasks | | redis | A Python Redis client for caching | | flask-cors | Configuring CORS | | python-dotenv | Reads the key-value pair from .env file and adds them to environment variable. | | marshmallow | A package for creating Schema, serialization, deserialization | | webargs | A Python library for parsing and validating HTTP request objects |
autopep8
& flake8
as dev
packages for linting and formatting
Test if this app has been installed correctly and it is working via following curl commands (or use in Postman)
- Check if the app is running via status
API
shell
$ curl --location --request GET 'http://localhost:5000/status'
- Check if core app API and celery task is working via
shell
$ curl --location --request GET 'http://localhost:5000/api/v1/core/test'
- Check if authorization is working via (change API Key
as per you .env
)
shell
$ curl --location --request GET 'http://localhost:5000/api/v1/core/restricted' --header 'x-api-key: 436236939443955C11494D448451F'
This program is free software under MIT license. Please see the LICENSE file in our repository for the full text.
Bumps redis from 4.4.2 to 4.5.3.
Sourced from redis's releases.
4.5.3
Changes
Update urgency: HIGH: There is a critical bug that may affect a subset of users. Upgrade!
🐛 Bug Fixes
4.5.2
Changes
🚀 New Features
- Introduce AbstractConnection so that UnixDomainSocketConnection can call super().init (#2588)
- Added queue_class to REDIS_ALLOWED_KEYS (#2577)
- Made search document subscriptable (#2615)
- Sped up the protocol parsing (#2596)
🐛 Bug Fixes
- Fix behaviour of async PythonParser to match RedisParser as for issue #2349 (#2582)
- Replace async_timeout by asyncio.timeout (#2602)
- Update json().arrindex() default values (#2611)
🧰 Maintenance
- Coverage for pypy-3.9 (#2608)
- Developer Experience: Adding redis version compatibility details to the README (#2621)
- Remove redundant assignment to RedisCluster.nodes_manager. (#2620)
- Developer Experience: [types] update return type of smismember to list[int] (#2617)
- Developer Experience: [docs] ConnectionPool SSL example (#2605)
- Developer Experience: Fixed CredentialsProvider examples (#2587)
- Developer Experience: Update README to make pip install copy-pastable on zsh (#2584)
- Developer Experience: Fix for
lpop
andrpop
return typing (#2590)Contributors
We'd like to thank all the contributors who worked on this release!
@CrimsonGlory
,@Galtozzy
,@aksinha334
,@barshaul
,@chayim
,@davemcphee
,@dvora-h
,@kristjanvalur
,@ryin1
,@sileht
,@thebarbershop
,@uglide
,@woutdenolf
and@zakaf
4.5.1
Changes
🐛 Bug Fixes
Contributors
We'd like to thank all the contributors who worked on this release!
... (truncated)
66a4d6b
AsyncIO Race Condition Fix (#2641)318b114
Version 4.5.2 (#2627)1b2f408
Fix behaviour of async PythonParser to match RedisParser as for issue #2349 (...7d474f9
introduce AbstractConnection so that UnixDomainSocketConnection can call supe...c871723
pypy-3.9 CI (#2608)d63313b
add queue_class to REDIS_ALLOWED_KEYS (#2577)c61eeb2
Adding supported redis/library details (#2621)25e85e5
fix: replace async_timeout by asyncio.timeout (#2602)91ab12a
Remove redundant assignment. (#2620)8bfd492
Making search document subscriptable (#2615)Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase
.
Is your feature request related to a problem? Please describe. This will update Python and its dependencies to the latest versions of Python 3.11
A Full Stack Developer specializes in Python (Django, Flask), Go & JavaScript technologies (Angular, Node.js)
GitHub Repositorypython3 flask flask-application flask-backend flask-boilerplate python celery-workers