Skip to content
This repository has been archived by the owner on Sep 13, 2023. It is now read-only.
/ Flask-Rich Public archive

Rich implementation for Flask (Unmaintained)

License

Notifications You must be signed in to change notification settings

BD103/Flask-Rich

Repository files navigation

Warning

This project is no longer maintained. Please see the official fork here (zyf722/Flask-Rich). All releases after 0.3 are published from the fork.


Flask Rich

Implements the Rich programming library with Flask. All features are toggleable, including:

  • Better logging
  • Colorful tracebacks
  • Better routes command

Usage

Import the RichApplication class.

from flask_rich import RichApplication
from flask import Flask

rich = RichApplication()

app = Flask(__name__)
app.config["RICH_EXAMPLE_SETTING"] = "value"

rich.init_app(app)

# Or
# rich = RichApplication(app)

Class options

RICH_LOGGING: bool = True

Whether to use Rich's logging handler.

RICH_LOGGING_MARKUP: bool = True

Whether to allow Rich's console markup format in logging.

An example of console markup is [blue]Hello[/blue], world!.

RICH_TRACEBACK: bool = True

Whether to use Rich's traceback handler.

RICH_TRACEBACK_EXTRA_LINES: int = 1

When Rich prints the lines of code which raised the error, how many lines around it does it print as well. In the library it defaults to 3, but 1 is better for web applications.

RICH_TRACEBACK_SHOW_LOCALS: bool = False

Whether to print the local variables with traceback.

RICH_ROUTES: bool = True

Whether to add a new command that uses Rich's tables to show all routes. (Activate with flask rich-routes.)

RICH_ROUTES_MODE: str = "table"

What mode the command is in. There is only one option: table.

Contributing

PRs are welcome! You can setup your own copy of the source code with:

# Git
git clone https://github.com/BD103/Flask-Rich.git
cd Flask-Rich/

# Poetry
poetry lock
poetry install
poetry shell

You will need Poetry for managing dependencies.