Metadata-Version: 2.4
Name: libresignage
Version: 0.1.0
Summary: An open-source digital signage web application.
License-Expression: MIT
License-File: LICENSE
Keywords: digital-signage,flask,signage
Classifier: Development Status :: 3 - Alpha
Classifier: Framework :: Flask
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3 :: Only
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Programming Language :: Python :: 3.13
Classifier: Programming Language :: Python :: 3.14
Requires-Python: >=3.10
Requires-Dist: flask<4,>=3.1
Description-Content-Type: text/markdown

# LibreSignage

LibreSignage is an open-source digital signage web application built with
Flask. The project uses Flask's application factory pattern and blueprints so
features can be developed and tested independently.

## Requirements

- Python 3.10 or newer
- [uv](https://docs.astral.sh/uv/) (recommended) or another Python package
  installer

## Development

Clone the repository, install the locked development environment, and start
Flask:

```console
uv sync --dev
uv run flask --app libresignage run --debug
```

Then open <http://127.0.0.1:5000>.

Run the quality checks:

```console
uv run pytest
uv run ruff check .
uv build
uv run twine check dist/*
```

The package also exposes `libresignage:create_app` for WSGI servers:

```python
from libresignage import create_app

app = create_app()
```

## Building and publishing

Build both distribution formats with `uv build`. GitHub Actions validates every
push and pull request. Creating a GitHub release triggers the PyPI publishing
workflow, which uses PyPI Trusted Publishing and a protected `pypi` GitHub
environment.

## License

LibreSignage is distributed under the MIT License. See [LICENSE](LICENSE).
