Skip to main content

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.


License PyPI version PyPI - Python Version Documentation Status

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.

asciicast

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

flask_rich-0.4.1.tar.gz (5.4 kB view details)

Uploaded Source

Built Distribution

flask_rich-0.4.1-py3-none-any.whl (5.9 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: flask_rich-0.4.1.tar.gz
  • Upload date:
  • Size: 5.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.7.0 CPython/3.11.0 Linux/6.2.0-1015-azure

File hashes

Hashes for flask_rich-0.4.1.tar.gz
Algorithm Hash digest
SHA256 7e3aee25fb83033bb11a876ab14078f04709b9a98ccf4a14106d704781b55ed1
MD5 d30cc580e000604f995e0a3f0d78a640
BLAKE2b-256 9aec4c53cd784bd4a97813b18469dca1755b70e824d23e63616e7edac6f51e07

See more details on using hashes here.

File details

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

File metadata

  • Download URL: flask_rich-0.4.1-py3-none-any.whl
  • Upload date:
  • Size: 5.9 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.7.0 CPython/3.11.0 Linux/6.2.0-1015-azure

File hashes

Hashes for flask_rich-0.4.1-py3-none-any.whl
Algorithm Hash digest
SHA256 cac98f8dcc8bc2cfc33c82db189f4a1272209322c8f0db864383f61a144389a4
MD5 f091524da1780c7cadc68019630db9e0
BLAKE2b-256 8f86b1c5a8087a8fe7a746815168ef7efdd40c0c7b1881f454976d1d979a119d

See more details on using hashes here.

Supported by

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