juftin / camply

camply, the campsite finder ⛺️ - a tool to find campsites at sold out campgrounds through sites like recreation.gov
https://juftin.com/camply/
MIT License
468 stars 90 forks source link

:sparkles: Add support for Apprise notifications #250

Closed BHSPitMonkey closed 1 year ago

BHSPitMonkey commented 1 year ago

Description

This PR adds Apprise as a supported notification provider.

Apprise is a popular Python library that exposes the ability to notify using dozens of popular notification and messaging services (and protocols), including Discord, Home Assistant, and MQTT.

Users configure Apprise by specifying a URL which contains details of the service being used and any relevant authentication tokens. Some examples borrowed from their documentation:

Has This Been Tested?

I've tested this locally using:

camply test-notifications --notifications apprise 

after configuring a APPRISE_URL in my .camply file (using the interactive configurator).

Apprise URLs take many forms depending on the notification service being used. Refer to the documentation for supported schemes and examples.

Checklist:

BHSPitMonkey commented 1 year ago

Some additional comments:

juftin commented 1 year ago

Nice, this looks very solid. Apprise seems like it'll fit a ton of different notification use cases. I will get a closer look at it later to make sure all the hatch stuff is set up right and the tests are passing. Thank you for the contribution 🏕️

juftin commented 1 year ago

Hey @BHSPitMonkey, hope you don't mind, I squashed your commits into one, and then added a couple commits to resolve the issues. I'm new to hatch as well so it took me a sec.

Changes Made

juftin commented 1 year ago

:tada: This PR is included in version 0.20.0 :tada:

The release is available on GitHub release

Your semantic-release bot :package::rocket:

BHSPitMonkey commented 1 year ago

Apologies for what? Easiest time I've had landing a change in a long time :wink: Thanks for the help!