Migrate your contacts' birthdays to a calendar of your choice. All local.
  • Python 93.6%
  • Dockerfile 6.4%
Find a file
2025-05-10 17:43:03 +02:00
.gitignore feat: Ignore cron.log 2025-04-01 00:51:41 +02:00
birthday_cardtocal.py fix: Calendar event could be None before checking 2025-05-10 17:41:12 +02:00
card.py feat: card.py load variables from env 2025-03-14 00:33:36 +01:00
compose.yaml feat: Clean compose.yaml 2025-04-06 21:42:39 +02:00
cron.log feat: Add empty cron.log 2025-04-06 21:18:48 +02:00
Dockerfile feat: Change default cron interval to 1 h 2025-05-10 17:43:03 +02:00
LICENSE feat: Add LICENSE and README.md 2025-04-01 00:53:12 +02:00
Pipfile feat: card.py load variables from env 2025-03-14 00:33:36 +01:00
Pipfile.lock feat: card.py load variables from env 2025-03-14 00:33:36 +01:00
README.md feat: Improve README.md. Add Usage and change title. 2025-04-01 23:54:10 +02:00
requirements.txt feat: Docker container working 2025-03-14 01:47:42 +01:00
template.env feat: card.py load variables from env 2025-03-14 00:33:36 +01:00

Contact birthdays to calendar

Adds yearly recurring events to your calendar from your contacts. All local, with CardDAV and CalDAV.

Usage

You'll need a CardDAV and CalDAV server. They can be on any host, even if it's not the same.

My testing has been done using addressbooks and calendars from Baïkal, but any other should work the same.

  1. Clone the repo
  2. Adapt template.env to your needs:
    cp template.env .env
    vim template.env
    • CARD_URL: URL to the specific addressbook.
    • CAL_URL: URL to the specific calendar.
  3. Run the script:
    python birthday_cardtocal.py
  4. If there's any missing parameter, they will all be read from CLI.
    Use python birthday_cardtocal.py --help to see how to pass them or set them in the .env file.

Libraries

License

Code licensed under the GPL v3 license.

Done with 🖤 by Appu.