https://github.com/tobi-de/litestar-browser-reload
Automatic browser reload plugin for Litestar, designed for development use.
https://github.com/tobi-de/litestar-browser-reload
litestar litestar-framework
Last synced: 8 months ago
JSON representation
Automatic browser reload plugin for Litestar, designed for development use.
- Host: GitHub
- URL: https://github.com/tobi-de/litestar-browser-reload
- Owner: Tobi-De
- License: mit
- Created: 2024-06-10T10:06:19.000Z (almost 2 years ago)
- Default Branch: main
- Last Pushed: 2024-12-21T19:06:53.000Z (over 1 year ago)
- Last Synced: 2025-04-18T13:19:14.730Z (about 1 year ago)
- Topics: litestar, litestar-framework
- Language: Python
- Homepage: https://github.com/Tobi-De/litestar-browser-reload
- Size: 37.1 KB
- Stars: 5
- Watchers: 1
- Forks: 1
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE.txt
Awesome Lists containing this project
README
# litestar-browser-reload
[](https://pypi.org/project/litestar-browser-reload)
[](https://pypi.org/project/litestar-browser-reload)
-----
> [!IMPORTANT]
> This plugin currently contains minimal features and is a work-in-progress
Automatic browser reload plugin for Litestar, designed for development use.
## Table of Contents
- [litestar-browser-reload](#litestar-browser-reload)
- [Table of Contents](#table-of-contents)
- [Installation](#installation)
- [Usage](#usage)
- [License](#license)
- [Credits](#credits)
## Installation
```console
pip install litestar-browser-reload
```
## Usage
Parameters of `BrowserReloadPlugin`:
- `watch_paths: Sequence[Union[str, Path]]`: Paths to watch for changes.
- `watch_filter: BaseFilter | None = None`: A [filter](https://watchfiles.helpmanual.io/api/filters/) to exclude certain directories or patterns.
```python
from pathlib import Path
from litestar import Litestar
from litestar.contrib.jinja import JinjaTemplateEngine
from litestar.template.config import TemplateConfig
from litestar_browser_reload import BrowserReloadPlugin
from watchfiles import DefaultFilter
templates_path = Path("templates")
browser_reload = BrowserReloadPlugin(
watch_paths=(Path("templates"),),
watch_filter=DefaultFilter(ignore_dirs=(".git", ".hg", ".svn", ".tox")),
)
app = Litestar(
route_handlers=[],
debug=True,
plugins=[browser_reload],
template_config=TemplateConfig(
directory=templates_path,
engine=JinjaTemplateEngine,
),
)
```
Add the following to your base template:
```html
...
{% if request.app.debug %}
{% endif %}
```
## License
`litestar-browser-reload` is distributed under the terms of the [MIT](https://spdx.org/licenses/MIT.html) license.
## Credits
Much of this was copied from [django-browser-reload](https://github.com/adamchainz/django-browser-reload) and [foxglove](https://github.com/samuelcolvin/foxglove)