Metadata-Version: 2.4
Name: camply
Version: 0.34.1
Summary: camply, the campsite finder 🏕
Project-URL: Changelog, https://github.com/juftin/camply/releases
Project-URL: Discussions, https://github.com/juftin/camply/discussions
Project-URL: Docker, https://hub.docker.com/r/juftin/camply
Project-URL: Documentation, https://github.com/juftin/camply#readme
Project-URL: Issues, https://github.com/juftin/camply/issues
Project-URL: Source, https://github.com/juftin/camply
Author-email: Justin Flannery <justin.flannery@juftin.com>
License-Expression: MIT
License-File: LICENSE
Keywords: camping,national-parks,outdoors,recdotgov,reservations
Classifier: Development Status :: 5 - Production/Stable
Classifier: License :: OSI Approved :: MIT License
Classifier: Operating System :: OS Independent
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
Classifier: Programming Language :: Python :: 3.13
Classifier: Programming Language :: Python :: 3.14
Requires-Python: <4,>=3.9
Requires-Dist: click~=8.1.3
Requires-Dist: fake-useragent~=1.4.0
Requires-Dist: pandas<3,>=2
Requires-Dist: pydantic~=1.10.22
Requires-Dist: python-dotenv~=1.0.0
Requires-Dist: pytz~=2023.2
Requires-Dist: pyyaml~=6.0
Requires-Dist: ratelimit~=2.2.1
Requires-Dist: requests~=2.31.0
Requires-Dist: rich-click~=1.6.1
Requires-Dist: rich~=13.3.2
Requires-Dist: tenacity~=8.2.2
Provides-Extra: all
Requires-Dist: apprise~=1.3.0; extra == 'all'
Requires-Dist: trogon~=0.4.0; extra == 'all'
Requires-Dist: twilio~=7.17.0; extra == 'all'
Provides-Extra: apprise
Requires-Dist: apprise~=1.3.0; extra == 'apprise'
Provides-Extra: tui
Requires-Dist: trogon~=0.4.0; extra == 'tui'
Provides-Extra: twilio
Requires-Dist: twilio~=7.17.0; extra == 'twilio'
Description-Content-Type: text/markdown

<div align="center">
<a href="https://github.com/juftin/camply">
  <img src="https://raw.githubusercontent.com/juftin/camply/main/docs/_static/camply.svg"
    width="400" height="400" alt="camply">
</a>
</div>

**`camply`**, the campsite finder ⛺️, is a tool to help you book a campsite online. Finding
reservations at sold out campgrounds can be tough. That's where camply comes in. It searches
thousands of campgrounds across the ~~USA~~ world via the APIs of booking services like
[recreation.gov](https://recreation.gov). It continuously checks for cancellations and
availabilities to pop up - once a campsite becomes available, camply sends you a notification
to book your spot!

---

---

<p align="center">
  <a href="https://github.com/juftin/camply"><img src="https://img.shields.io/pypi/v/camply?color=blue&label=camply" alt="PyPI"></a>
  <a href="https://pypi.python.org/pypi/camply/"><img src="https://img.shields.io/pypi/pyversions/camply" alt="PyPI - Python Version"></a>
  <a href="https://hub.docker.com/r/juftin/camply"><img src="https://img.shields.io/docker/v/juftin/camply?color=blue&label=docker&logo=docker" alt="Docker Image Version"></a>
  <a href="https://github.com/juftin/camply/blob/main/LICENSE"><img src="https://img.shields.io/github/license/juftin/camply?color=blue&label=License" alt="GitHub License"></a>
  <a href="https://github.com/juftin/camply/actions/workflows/test.yaml?query=branch%3Amain"><img src="https://github.com/juftin/camply/actions/workflows/test.yaml/badge.svg?branch=main" alt="Testing Status"></a>
  <a href="https://github.com/go-task/task"><img src="https://img.shields.io/badge/task---?message=task&logo=task&color=teal&labelColor=grey" alt="task"></a>
  <a href="https://github.com/astral-sh/uv"><img src="https://img.shields.io/endpoint?url=https://raw.githubusercontent.com/astral-sh/uv/main/assets/badge/v0.json" alt="uv"></a>
  <a href="https://github.com/pre-commit/pre-commit"><img src="https://img.shields.io/badge/pre--commit-enabled-lightgreen?logo=pre-commit" alt="pre-commit"></a>
  <a href="https://juftin.github.io/camply/"><img src="https://img.shields.io/static/v1?message=docs&color=526CFE&logo=Material+for+MkDocs&logoColor=FFFFFF&label=" alt="docs"></a>
  <a href="https://github.com/semantic-release/semantic-release"><img src="https://img.shields.io/badge/%20%20%F0%9F%93%A6%F0%9F%9A%80-semantic--release-e10079.svg" alt="semantic-release"></a>
  <a href="https://gitmoji.dev"><img src="https://img.shields.io/badge/gitmoji-%20😜%20😍-FFDD67.svg" alt="Gitmoji"></a>
</p>

## [Check Out The Docs](https://juftin.com/camply/)

## Installing

Install camply via `pip` or [pipx](https://github.com/pypa/pipx):

```commandline
pipx install camply
```

## Usage

Search for a specific recreation area (recreation areas contain campgrounds):

```commandline
camply recreation-areas --search "Glacier National Park"
```

Search for campgrounds (campgrounds contain campsites):

```commandline
camply campgrounds --search "Fire Lookout Towers" --state CA
```

Search for available campsites, get a notification whenever one becomes
available, and continue searching after the first one is found. The below command
is using `silent` notifications as an example but camply also supports `Email`,
`Slack`, `Twilio` (SMS), `Pushover`, `Pushbullet`, `Ntfy`, `Apprise`, `Telegram`,
and `Webhook`.

```commandline
camply campsites \
    --rec-area 2725 \
    --start-date 2023-07-10 \
    --end-date 2023-07-18 \
    --notifications silent \
    --search-forever
```

## Providers

camply works with a number of providers. A "provider" is an online booking
service that lists camping and recreation inventory.

- **`RecreationDotGov`**: Searches on [Recreation.gov](https://recreation.gov) for Campsites (default provider)
- **`Yellowstone`**: Searches on [YellowstoneNationalParkLodges.com](https://yellowstonenationalparklodges.com) for
  Campsites
- **`ReserveCalifornia`**: Searches on [ReserveCalifornia.com](https://reservecalifornia.com) for Campsites (California
  State Parks)
- **`GoingToCamp`**: Searches on [GoingToCamp](https://goingtocamp.com) for Campsites
    - Parks Canada - Canada National Parks - [reservation.pc.gc.ca](https://reservation.pc.gc.ca/)
    - Washington State Parks - Washington, USA - [washington.goingtocamp.com](https://washington.goingtocamp.com)
    - Wisconsin State Parks - Wisconsin, USA - [wisconsin.goingtocamp.com](https://wisconsin.goingtocamp.com)
    - Michigan State Parks - Michigan, USA - [midnrreservations.com](https://midnrreservations.com/)
    - BC Parks - British Columbia, CA - [camping.bcparks.ca](https://camping.bcparks.ca)
    - Maryland State Parks - Maryland, USA - [parkreservations.maryland.gov](https://parkreservations.maryland.gov)
    - Nova Scotia Parks - Nova Scotia, CA - [novascotia.goingtocamp.com](https://novascotia.goingtocamp.com)
    - Manitoba Parks - Manitoba, CA - [manitoba.goingtocamp.com](https://manitoba.goingtocamp.com)
    - New Brunswick Provincial Parks - New Brunswick, CA - [parcsnbparks.info](https://www.parcsnbparks.info/)
    - Newfoundland & Labrador Provincial Parks - Newfoundland and Labrador, CA - [nlcamping.ca](https://nlcamping.ca)
    - Long Point Region - Ontario, CA - [longpoint.goingtocamp.com](https://longpoint.goingtocamp.com)
    - Algonquin Highlands - Ontario, CA - [ahtrails.ca](https://ahtrails.ca)
    - Maitland Valley, Ontario, CA - [maitlandvalley.goingtocamp.com](https://maitlandvalley.goingtocamp.com)
    - Saugeen Valley - Ontario, CA - [saugeen.goingtocamp.com](https://saugeen.goingtocamp.com)
    - St. Clair Region - Ontario, CA - [stclair.goingtocamp.com](https://stclair.goingtocamp.com)
    - Tacoma Power Parks, Washington, USA - [tacomapower.goingtocamp.com](https://tacomapower.goingtocamp.com)
    - Gatineau Park - Ontario-Quebec, CA - [reservations.ncc-ccn.gc.ca](https://reservations.ncc-ccn.gc.ca)
- **`AlabamaStateParks`**: Searches on [ReserveAlaPark.com](https://reservealapark.com) for Campsites
- **`ArizonaStateParks`**: Searches on [AZStateParks.com](https://azstateparks.com) for Campsites
- **`FloridaStateParks`**: Searches on [FloridaStateParks.org](https://www.reserve.floridastateparks.org) for Campsites
- **`MinnesotaStateParks`**: Searches on [ReserveMN.usedirect.com](https://reservemn.usedirect.com) for Campsites
- **`MissouriStateParks`**: Searches on [icampmo1.usedirect.com](https://icampmo1.usedirect.com) for Campsites
- **`OhioStateParks`**: Searches on [ReserveOhio.com](https://reserveohio.com) for Campsites
- **`VirginiaStateParks`**: Searches on [ReserveVAParks.com](https://reservevaparks.com) for Campsites
- **`NorthernTerritory`**: Searches the [Australian Northern Territory](https://parkbookings.nt.gov.au) for Campsites
- **`FairfaxCountyParks`**: Searches on [fairfax.usedirect.com](https://fairfax.usedirect.com) for Campsites (Virginia)
- **`MaricopaCountyParks`**: Searches on [MaricopaCountyParks.org](https://maricopacountyparks.org) for Campsites (Arizona)
- **`OregonMetro`**: Searches on [OregonMetro.gov](https://oregonmetro.gov) for Campsites (Portland Metro)
- **`RecreationDotGovTicket`**: Searches on [Recreation.gov](https://recreation.gov) for Tickets and Tours
- **`RecreationDotGovTimedEntry`**: Searches on [Recreation.gov](https://recreation.gov) for Timed Entries

Run **`camply providers`** to list current providers and visit the [Providers](https://juftin.com/camply/providers/)
section in the docs to learn more.

## Documentation

Head over to the [camply documentation](https://juftin.com/camply/) to see what you can do!

```console
❯ camply --help

 Usage: camply [OPTIONS] COMMAND [ARGS]...

 Welcome to camply, the campsite finder.
 Finding reservations at sold out campgrounds can be tough. That's where camply comes in. It searches the
 APIs of booking services like https://recreation.gov (which indexes thousands of campgrounds across the
 USA) to continuously check for cancellations and availabilities to pop up. Once a campsite becomes
 available, camply sends you a notification to book your spot!


 visit the camply documentation at https://juftin.com/camply

╭─ Options ──────────────────────────────────────────────────────────────────────────────────────────────╮
│                                                                                                        │
│  --debug/--no-debug             Enable extra debugging output                                          │
│  --provider              TEXT   Camping Search Provider. Defaults to 'RecreationDotGov'                │
│  --version                      Show the version and exit.                                             │
│  --help                         Show this message and exit.                                            │
│                                                                                                        │
╰────────────────────────────────────────────────────────────────────────────────────────────────────────╯
╭─ Commands ─────────────────────────────────────────────────────────────────────────────────────────────╮
│                                                                                                        │
│  campgrounds              Search for Campgrounds (inside of Recreation Areas) and list them            │
│  campsites                Find Available Campsites with Custom Search Criteria                         │
│  configure                Set up camply configuration file with an interactive console                 │
│  equipment-types          Get a list of supported equipment                                            │
│  list-campsites           List campsite IDs for a given campground or recreation area                  │
│  providers                List the different camply providers                                          │
│  recreation-areas         Search for Recreation Areas and list them                                    │
│  test-notifications       Test your notification provider setup                                        │
│  tui                      Open Textual TUI.                                                            │
│                                                                                                        │
╰────────────────────────────────────────────────────────────────────────────────────────────────────────╯
```

## Contributing

Camply doesn't support your favorite campsite booking provider yet? Consider
[contributing](https://juftin.com/camply/contributing/) 😉.

<br/>

Recreation data provided by [**Recreation.gov**](https://ridb.recreation.gov/)

---

---

<br/>

[<p align="center" ><img src="https://raw.githubusercontent.com/juftin/juftin/main/static/juftin.png" width="120" height="120"  alt="juftin logo"> </p>](https://github.com/juftin)
