Metadata-Version: 2.1
Name: camply
Version: 0.10.1
Summary: camply, the campsite finder 🏕
Home-page: https://github.com/juftin/camply
License: MIT
Keywords: recdotgov,outdoors,camping,reservations,national-parks
Author: Justin Flannery
Author-email: juftin@juftin.com
Requires-Python: >=3.7.1,<4.0
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.8
Classifier: Programming Language :: Python :: 3.9
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.7
Classifier: Programming Language :: Python :: 3.8
Classifier: Programming Language :: Python :: 3.9
Provides-Extra: all
Provides-Extra: twilio
Requires-Dist: PyYAML (>=5.1,<7.0)
Requires-Dist: click (>=8.0.1)
Requires-Dist: pandas (>=1.3,<1.4)
Requires-Dist: pydantic (>=1.2,<2.0)
Requires-Dist: python-dotenv (>=0.10.4)
Requires-Dist: pytz (>=2019.1)
Requires-Dist: requests (>=2.26.0)
Requires-Dist: rich (>=10.0.0)
Requires-Dist: rich-click (>=1.6.1,<2.0.0)
Requires-Dist: tenacity (>=5.1.0)
Requires-Dist: twilio (>=7.14.0) ; extra == "twilio" or extra == "all"
Project-URL: Bug Tracker, https://github.com/juftin/camply/issues
Project-URL: Changelog, https://github.com/juftin/camply/releases
Project-URL: Documentation, https://juftin.github.io/camply
Project-URL: Docker, https://hub.docker.com/r/juftin/camply
Project-URL: Discussions, https://github.com/juftin/camply/discussions
Project-URL: Repository, https://github.com/juftin/camply
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 campground online. 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!

---

---

[![PyPI](https://img.shields.io/pypi/v/camply?color=blue&label=⛺️camply)](https://github.com/juftin/camply)
[![PyPI - Python Version](https://img.shields.io/pypi/pyversions/camply)](https://pypi.python.org/pypi/camply/)
[![Docker Image Version](https://img.shields.io/docker/v/juftin/camply?color=blue&label=docker&logo=docker)](https://hub.docker.com/r/juftin/camply)
[![Testing Status](https://github.com/juftin/camply/actions/workflows/tests.yaml/badge.svg?branch=main)](https://github.com/juftin/camply/actions/workflows/tests.yaml)
[![GitHub License](https://img.shields.io/github/license/juftin/camply?color=blue&label=License)](https://github.com/juftin/camply/blob/main/LICENSE)
[![Black Codestyle](https://img.shields.io/badge/code%20style-black-000000.svg)]()
[![pre-commit](https://img.shields.io/badge/pre--commit-enabled-lightgreen?logo=pre-commit)](https://github.com/pre-commit/pre-commit)
[![semantic-release](https://img.shields.io/badge/%20%20%F0%9F%93%A6%F0%9F%9A%80-semantic--release-e10079.svg)](https://github.com/semantic-release/semantic-release)
[![Gitmoji](https://img.shields.io/badge/gitmoji-%20😜%20😍-FFDD67.svg)](https://gitmoji.dev)
[![Discord Chat](https://img.shields.io/static/v1?label=chat&message=discord&color=blue&logo=discord)](https://discord.gg/qZDr78kKvB)

## [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 an notification whenever one becomes
available, and continue searching after the first one is found:

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

## 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 ──────────────────────────────────────────────────────────────────────────────╮
│                                                                                        │
│  --version                      Show the version and exit.                             │
│  --debug/--no-debug             Enable extra debugging output                          │
│  --provider              TEXT   Camping Search Provider. Defaults to                   │
│                                 'RecreationDotGov'                                     │
│  --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                                  │
│  providers          List the different camply providers                                │
│  recreation-areas   Search for Recreation Areas and list them                          │
│                                                                                        │
╰────────────────────────────────────────────────────────────────────────────────────────╯

```

## Contributing

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

## Table of Contents

-   [Installation](docs/installation.md)
    -   [PyPI](docs/installation.md#pypi)
    -   [Docker](docs/installation.md#docker)
-   [Providers](docs/providers.md)
    -   [RecreationDotGov](docs/providers.md#recreationgov)
    -   [Yellowstone](docs/providers.md#yellowstone)
    -   [GoingToCamp](docs/providers.md#goingtocamp)
    -   [RecDotGov Tours + Tickets + Timed Entry](docs/providers.md#recreationgov-tickets-tours--timed-entry)
-   [Usage](docs/command_line_usage.md)
    -   [Simple Examples](docs/command_line_usage.md#simple-examples)
    -   [providers](docs/command_line_usage.md#providers)
    -   [providers](docs/command_line_usage.md#providers)
    -   [campsites](docs/command_line_usage.md#campsites)
    -   [recreation-areas](docs/command_line_usage.md#recreation-areas)
    -   [campgrounds](docs/command_line_usage.md#campgrounds)
    -   [configure](docs/command_line_usage.md#configure)
    -   [Examples](docs/command_line_usage.md#examples)
        -   [Searching for a Campsite](docs/command_line_usage.md#searching-for-a-campsite)
        -   [Searching for a Campsite by Campground ID](docs/command_line_usage.md#searching-for-a-campsite-by-campground-id)
        -   [Searching for a Specific Campsite by ID](docs/command_line_usage.md#searching-for-a-specific-campsite-by-id)
        -   [Continuously Searching for A Campsite](docs/command_line_usage.md#continuously-searching-for-a-campsite)
        -   [Continue Looking After The First Match Is Found](docs/command_line_usage.md#continue-looking-after-the-first-match-is-found)
        -   [Send a Push Notification](docs/command_line_usage.md#send-a-push-notification)
        -   [Send a Text Message](docs/command_line_usage.md#send-a-text-message)
        -   [Send a Notification to Different Services](docs/command_line_usage.md#send-a-notification-to-different-services)
        -   [Look for Weekend Campsite Availabilities](docs/command_line_usage.md#look-for-weekend-campsite-availabilities)
        -   [Look for Consecutive Nights at the Same Campsite](docs/command_line_usage.md#look-for-consecutive-nights-at-the-same-campsite)
        -   [Look for a Campsite Inside of Yellowstone](docs/command_line_usage.md#look-for-a-campsite-inside-of-yellowstone)
        -   [Look for a Campsite from GoingToCamp](docs/command_line_usage.md#look-for-a-campsite-from-goingtocamp)
        -   [Searching GoingToCamp Using Equipment](docs/command_line_usage.md#searching-goingtocamp-using-equipment)
        -   [Look for a Campsite Across Multiple Recreation areas](docs/command_line_usage.md#look-for-a-campsite-across-multiple-recreation-areas)
        -   [Using a YAML Configuration file to search for campsites](docs/command_line_usage.md#using-a-yaml-configuration-file-to-search-for-campsites)
        -   [Searching for a Campsite That Fits Your Equipment](docs/command_line_usage.md#searching-for-a-campsite-that-fits-your-equipment)
        -   [Saving the Results of a Search](docs/command_line_usage.md#saving-the-results-of-a-search)
        -   [Search for Recreation Areas by Query String](docs/command_line_usage.md#search-for-recreation-areas-by-query-string)
        -   [Look for Specific Campgrounds Within a Recreation Area](docs/command_line_usage.md#look-for-specific-campgrounds-within-a-recreation-area)
        -   [Look for Specific Campgrounds by Query String](docs/command_line_usage.md#look-for-specific-campgrounds-by-query-string)
        -   [Searching for Tickets and Timed Entries](docs/ccommand_line_usage.md#searching-for-tickets-and-timed-entries)
            -   [Tickets + Tours](docs/ccommand_line_usage.md#tickets-tours)
            -   [Timed Entry](docs/ccommand_line_usage.md#timed-entry)
            -   [Using the Daily Providers](command_line_usage.md#using-the-daily-providers)
-   [Finding Recreation Areas IDs and Campground IDs To Search Without Using the Command Line](docs/command_line_usage.md#finding-recreation-areas-ids-and-campground-ids-to-search-without-using-the-command-line)
-   [Object-Oriented Usage (Python)](docs/python.md)
    -   [Search for a Recreation.gov Campsite](docs/python.md#search-for-a-recreationgov-campsite)
    -   [Continuously Search for Recreation.gov Campsites](docs/python.md#continuously-search-for-recreationgov-campsites)
-   [Running in Docker](docs/docker.md)
-   [Dependencies](docs/dependencies.md)
-   [Contributing](docs/contributing.md)

<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)

