Skip to main content

No project description provided

Project description

dependably.me

SMS reminders for the things that matter.

Note: dependably.me is new and experimental. Here be dragons 🐉

Intro

dependably.me helps you keep track of recurring and one-off events by generating and sending SMS messages, via Twilio. Stay on top of birthdays, renewals and chores (like watering your houseplants 🌱) with lowest-common-denominator technology; SMS.

How it works

dependably.me allows you to save your reminders in YAML documents, and to express the frequency of each event using crontab expressions. For example:

# reminders.yml
- id: barbossas-birthday
  title: Captain Barbossas' Birthday
  description: Send him the monkey.
  schedule: "0 0 1 1 *"
  contacts:
    - jack-sparrow

This reminder is for a birthday event that begins every year on the 1st of January at midnight. The contacts who will recieve notifications are jack-sparrow. Contacts are also managed in YAML documents:

# contacts.yml
- id: jack-sparrow
  name: Captain Jack Sparrow

Contact phone numbers are secret, and are sourced from the capatalised snake-case form of the contact id, prefixed with DPM_. Jacks number should be set at DPM_JACK_SPARROW, and dependably.me supports sourcing these from a .env file at the root of the project directory.

Finally, a project.yml laces everything together:

version: 1
reminders_files:
  - reminders.yml
contacts_files:
  - contacts.yml

Reminders and Contacts are sourced from all of the files listed (paths relative to the project root), allowing you to organise your reminders and contacts however you choose. For example, you might like to group by kind of reminder:

version: 1
reminders_files:
  - birthdays/family.yml
  - birthdays/friends.yml
  - chores/chores.yml
  - cars/mot.yml
  - cars/tax.yml
contacts_files:
  - contacts.yml

In addition to sourcing telephone numbers from env vars, dependably.me also requires Twilio configuration via env vars too. The following are required for dependably.me to send SMS messages:

DPM_TWILIO_ACCOUNT_SID=<twilio account sid>
DPM_TWILIO_AUTH_TOKEN=<twilio auth token>
DPM_TWILIO_MESSAGING_SERVICE_SID=<twilio messaging service sid>

Setting up Twilio to send messages is easy. Check out their Programable SMS Python Quickstart

Usage

With some reminders added and you project configured, you can send reminders using:

dependably-me reminders remind

To view the messages generated without sending any messages, try:

dependably-me reminders remind --dry-run

Scheduling messages

dependably.me is designed to be invoked weekly, to notify of events happening in that week, the rest of the month and next month. Therefore it is recommended to run dependably.me from your preferred scheduler, such as cron locally or github actions (or similar) in the cloud.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

dependably-me-0.1.0.tar.gz (7.5 kB view details)

Uploaded Source

Built Distribution

dependably_me-0.1.0-py3-none-any.whl (7.9 kB view details)

Uploaded Python 3

File details

Details for the file dependably-me-0.1.0.tar.gz.

File metadata

  • Download URL: dependably-me-0.1.0.tar.gz
  • Upload date:
  • Size: 7.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.2.0 CPython/3.8.11 Darwin/21.6.0

File hashes

Hashes for dependably-me-0.1.0.tar.gz
Algorithm Hash digest
SHA256 88e11e944ca018a6d8ff08ed67318047144d213ffdd0ec56a10a183c213d9ece
MD5 8fa48a4a5e1cbd07aa67d9ca898468e8
BLAKE2b-256 588fbc9ea3493849c596d3aee6fa6ce17cef5f5d680a7e8365296a7385c67181

See more details on using hashes here.

File details

Details for the file dependably_me-0.1.0-py3-none-any.whl.

File metadata

  • Download URL: dependably_me-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 7.9 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.2.0 CPython/3.8.11 Darwin/21.6.0

File hashes

Hashes for dependably_me-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 d129a63c229e8e2b857fb6b44c7184dc12e11da4b0feb23c2b9fc75aa2520b95
MD5 373af9e8373ac404319aacb5e41788ca
BLAKE2b-256 489a1ba4fd7fe8a4a5541b45e9cae90abc06ad6ad4ef61be8827738c7a6b3998

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page