Rich implementation for Flask
Project description
[!NOTE] This repository is an official fork of the original BD103/Flask-Rich project. All releases after 0.3 will be published from this fork.
Flask-Rich
Flask-Rich is a Flask extension that implements the Rich programming library with Flask, which brings better logging / tracebacks with rich text formatting, and more features related to the console.
Features
- :rainbow: Better console logging powered by Rich's logging handler, with full support for console markup, highlighting, tracebacks and more
- :construction: Builtin support for Werkzeug which runs the Flask development server
- :mag: A new
rich-routes
Flask command that use Rich to show all routes - :wrench: Customizable and toggleable features
Basic Usage
Just like any other Flask extension, you can initialize and register Flask-Rich with your Flask app in two ways:
Single File
from flask import Flask
from flask_rich import RichApplication
class Config:
RICH_LOGGING = True
app = Flask(__name__)
app.config.from_object(Config()) # or any other way to load config
# Initialize the extension with the app
rich = RichApplication(app)
@app.route("/")
def index():
return "Hello World!"
Factory Pattern
# rich.py
from flask_rich import RichApplication
# Initialize the extension without an app
rich = RichApplication()
# app.py
from flask import Flask
from .rich import rich
class Config:
RICH_LOGGING = True
def create_app:
app = Flask(__name__)
app.config.from_object(Config()) # or any other way to load config
# Register the extension with the app
rich.init_app(app)
# ...
return app
After registering, the RichApplication
class shall do all the work for you.
You can now use the app.logger
object to log rich text, and use the flask rich-routes
command to show all routes.
For further usage and configuration, please refer to the documentation.
Feedback
If you have any suggestions or troubles using this extension, please feel free to open an issue.
Contributing
Pull Requests are welcome!
You can setup your own copy of the source code with Git and Poetry:
# Git
git clone https://github.com/zyf722/Flask-Rich.git
cd Flask-Rich/
# Poetry
poetry lock
poetry install
poetry shell
It is strongly recommended to follow the Conventional Commits specification when writing commit messages and creating pull requests.
Credits
Thanks to the following people for their contributions:
- BD103 for creating the original project and maintaining it until version
0.3.1
- Will McGugan and all other contributors of the Rich project
- Pallets and all other contributors of the Flask project
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
Built Distribution
Hashes for flask_rich-0.4.0-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 1b6cacb627ed12ce8be316096d64476b321655a18caa5b5f80fcf984e32c87a8 |
|
MD5 | 78cac3daeb654cc689ab219a026cd212 |
|
BLAKE2b-256 | 02194846d9457dc55fda582d0861a1ebfbf8ece0696614c89668c9c88fccefc9 |