Metadata-Version: 2.1
Name: flask-rich
Version: 0.2.0
Summary: Rich implementation for Flask
Home-page: https://github.com/BD103/Flask-Rich
License: MIT
Keywords: flask,extension,rich
Author: BD103
Author-email: dont@stalk.me
Requires-Python: >=3.8,<4.0
Classifier: Development Status :: 4 - Beta
Classifier: Environment :: Web Environment
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: MIT License
Classifier: Operating System :: OS Independent
Classifier: Programming Language :: Python
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.8
Classifier: Programming Language :: Python :: 3.9
Requires-Dist: Flask (>=2.0.2,<3.0.0)
Requires-Dist: rich (>=10.13.0,<11.0.0)
Project-URL: Documentation, https://bd103.github.io/Flask-Rich
Project-URL: Repository, https://github.com/BD103/Flask-Rich
Description-Content-Type: text/markdown

# Flask Rich

Implements the [Rich](https://pypi.org/project/rich/) programming library with [Flask](https://pypi.org/project/Flask/). All features are toggleable, including:

- Better logging

## Usage

Import the `RichApplication` class.

```python
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](https://rich.readthedocs.io/en/latest/logging.html) handler.

#### `RICH_LOGGING_MARKUP: bool = True`

Whether to allow [Rich's console markup](https://rich.readthedocs.io/en/latest/markup.html#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](https://rich.readthedocs.io/en/latest/traceback.html) 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.

## Contributing

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

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

# Poetry
poetry lock
poetry install
poetry shell
```

You will need [Poetry](https://python-poetry.org/) for managing dependencies.
