Skip to main content

yaml2ics

Project description

PyPI Test status Test coverage

YAML to iCalendar (ics)

WARNING: this project is still in beta. Beware of breaking changes!

Convert YAML files to .ics files which can be imported into other calendar applications.

Features include:

  • Converting single .yaml files, or combining multiple into one .ics file.
  • ics fields: name, summary, description, location, timezone, repeat
  • Specify event start+end or start+duration
  • Recurring events (basic support)
  • All-day events
  • Timezone specification (default or per-event)

Installation

pip install yaml2ics

Usage

To produce a calendar from a list of events:

python yaml2ics.py example/test_calendar.yaml

To combine lists of events in to a calendar:

python yaml2ics.py example/test_calendar.yaml example/another_calendar.yaml

Syntax

Please see example/test_calendar.yaml for a full demo including explanations. Below is a minimal template that shows the basic idea:

name: Calendar Name
timezone: Europe/Helsinki # default timezone for events, optional

events:
  - summary: The event title
    begin: 2021-09-21 15:00:00
    duration:
      minutes: 30
    location: |
      https://meet.jit.si/example
    description: |
      In this meeting we will ...

Contributing

Contributions are welcomed! This project is still in active development and should be considered beta.

To install the development version, fork the source of the project and make an editable install:

pip install -e ".[test]"

To test:

pytest

Generate a coverage report with:

pytest --cov-report term-missing --cov yaml2ics

black and other linters are used to auto-format files (and enforced by CI). To install the git hooks, use pre-commit install. To run the tests/auto-formatting manually, use pre-commit run --all-files.

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

yaml2ics-0.2.tar.gz (9.0 kB view details)

Uploaded Source

Built Distribution

yaml2ics-0.2-py3-none-any.whl (5.7 kB view details)

Uploaded Python 3

File details

Details for the file yaml2ics-0.2.tar.gz.

File metadata

  • Download URL: yaml2ics-0.2.tar.gz
  • Upload date:
  • Size: 9.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: python-requests/2.28.2

File hashes

Hashes for yaml2ics-0.2.tar.gz
Algorithm Hash digest
SHA256 6811af98878b479de58846ce68be7da4b20eeafea438181e8592a859bb78ed94
MD5 765ab91818b701149e94c46693e81e1a
BLAKE2b-256 3efeea7f92a7a0d9f6b9e76fb494de8813f94528db82379d0e7610bd2c3f5c5c

See more details on using hashes here.

File details

Details for the file yaml2ics-0.2-py3-none-any.whl.

File metadata

  • Download URL: yaml2ics-0.2-py3-none-any.whl
  • Upload date:
  • Size: 5.7 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: python-requests/2.28.2

File hashes

Hashes for yaml2ics-0.2-py3-none-any.whl
Algorithm Hash digest
SHA256 980b13fa7fa1d5007cc077d8b81aca18b6f6110a31154a44a406b7063484c018
MD5 96d4be38af7b2ae0605ad13cbb8a6695
BLAKE2b-256 b93b9f08a240f3def0079dd1e4d96db1dc65d115be023a9523a27a2e66e9099b

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