Metadata-Version: 2.5
Name: camply-web
Version: 2.12.0
Summary: A full-stack application to help you find campsites at sold-out campgrounds
License-Expression: AGPL-3.0-or-later
License-File: LICENSE
Requires-Python: >=3.11
Requires-Dist: aiosqlite<0.23.0,>=0.21.0
Requires-Dist: alembic<2,>=1
Requires-Dist: click<9,>=8
Requires-Dist: fake-useragent>=2.2.0
Requires-Dist: httpx2<3,>=2.16.0
Requires-Dist: jiter<1,>=0.8.0
Requires-Dist: platformdirs<5,>=4
Requires-Dist: pydantic-settings<3,>=2
Requires-Dist: pydantic<3,>=2
Requires-Dist: rich<16,>=14
Requires-Dist: sqlalchemy[asyncio]<3,>=2
Requires-Dist: structlog<27,>=24
Provides-Extra: distributed
Requires-Dist: celery[redis]<6,>=5.4; extra == 'distributed'
Requires-Dist: msgpack<2,>=1.0.0; extra == 'distributed'
Requires-Dist: prometheus-client<1,>=0.21; extra == 'distributed'
Requires-Dist: redis<9,>=5; extra == 'distributed'
Provides-Extra: postgres
Requires-Dist: psycopg[binary]<4,>=3; extra == 'postgres'
Provides-Extra: sentry
Requires-Dist: sentry-sdk<3,>=2; extra == 'sentry'
Provides-Extra: server
Requires-Dist: cryptography<51,>=42; extra == 'server'
Requires-Dist: fastapi>=0.115.12; extra == 'server'
Requires-Dist: gunicorn>=23.0.0; (sys_platform != 'win32') and extra == 'server'
Requires-Dist: orjson<4,>=3; extra == 'server'
Requires-Dist: prometheus-client<1,>=0.21; extra == 'server'
Requires-Dist: pyjwt<3,>=2; extra == 'server'
Requires-Dist: uvicorn-worker>=0.3.0; (sys_platform != 'win32') and extra == 'server'
Requires-Dist: uvicorn[standard]>=0.34.0; extra == 'server'
Description-Content-Type: text/markdown

<div align="center">
<a href="https://camply.juftin.dev">
  <img src="src/frontend/public/branding/camply-horizontal.svg" width="400" alt="camply">
</a>
</div>

**camply**, the campsite finder ⛺️, watches for openings at sold-out campgrounds and alerts you when a stay matches your plans. Explore campgrounds, save your dates, and follow booking links when availability appears.

**[Open camply →](https://camply.juftin.dev)**

## Run camply yourself

Run camply directly with [uv](https://docs.astral.sh/uv/):

```bash
uvx --from "camply-web[server]" camply serve
```

Open <http://127.0.0.1:8000> and use **Sync Providers** in Admin Operations to load the campground catalog. Set up Pushover to receive alerts. The default login uses a shared administrator account; [configure authentication](docs/configuration.md) before sharing your instance.

See the [standalone guide](docs/self-hosting/standalone.md) for installation and storage, or self-host with [Docker Compose](docs/self-hosting/containers.md) or [Kubernetes/Helm](deploy/helm/README.md).

## Docs

Start with the [camply docs](https://camply.juftin.dev/docs/) for using the app, configuration, and self-hosting ([browse the source](docs/index.md)). Every installation includes docs at `/docs/`, linked from the app footer. Contributors can follow the [contributing guide](docs/CONTRIBUTING.md) and [developer guide](docs/development/DEVELOPER_GUIDE.md); detailed [runtime and packaging](docs/operations/RUNNING.md) and [architecture](docs/architecture/ARCHITECTURE_DEEP_DIVE.md) references are also available.

To edit or preview the docs, see [working on the docs](docs/development.md#working-on-the-docs).

Licensed under [GNU Affero General Public License v3.0](LICENSE).
