Metadata-Version: 2.1
Name: httpcarousel
Version: 1.0.3
Summary: Simple HTTP Server to serve a directory of images which frequently rotate
License: MIT
Author: Chris Pressland
Author-email: mail@cpressland.io
Requires-Python: >=3.9,<4.0
Classifier: License :: OSI Approved :: MIT License
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.9
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Requires-Dist: fastapi (>=0.109.0,<0.110.0)
Requires-Dist: jinja2 (>=3.1.3,<4.0.0)
Requires-Dist: pydantic-settings (>=2.1.0,<3.0.0)
Requires-Dist: uvicorn (>=0.26.0,<0.27.0)
Description-Content-Type: text/markdown

# Carousel

Serve images via HTML / JavaScript which rotate every N seconds.

## Installation

Via Pipx:

`pipx install httpcarousel`

Sample systemd unit:

```shell
sudo tee -a /etc/systemd/system/httpcarousel.service > /dev/null <<EOF
[Unit]
Description=httpcarousel
After=network.target

[Service]
Type=notify
User=debian
Group=debian
ExecStart=/home/debian/.local/pipx/venvs/httpcarousel/bin/carousel
ExecReload=/bin/kill -s HUP $MAINPID
KillMode=mixed
TimeoutStopSec=5
PrivateTmp=true

[Install]
WantedBy=multi-user.target

EOF

sudo systemctl daemon-reload
sudo systemctl start httpcarousel
sudo systemctl enable httpcarousel
```

## Environment Variables

| Name | Description | Default |
| ---- | ----------- | ------- |
| CAROUSEL_PORT | The HTTP Port that Carousel should listen on | `6502` |
| CAROUSEL_INTERVAL | How often the displayed image should change in seconds | `45` |
| CAROUSEL_IMAGE_DIRECTORY | The directory to find images | `/tmp/images` |

