Skip to main content

yaml2ics

Project description

PyPI

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

Note: due to a pending release of a dependency (ics-py), an additional step is required:

pip install -r requirements.txt

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 timezoene 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.

flit is used to manage the project.

pip install flit
pip install -r requirements.txt  # temporary workaround for ics-py
flit install -s  # make an editable/inplace installation

To test:

pytest

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.

Releases are automatically pushed on PyPi by the CI when pushing a tag following *.*.*.

See also

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.1rc1.tar.gz (6.7 kB view details)

Uploaded Source

Built Distribution

yaml2ics-0.1rc1-py3-none-any.whl (5.0 kB view details)

Uploaded Python 3

File details

Details for the file yaml2ics-0.1rc1.tar.gz.

File metadata

  • Download URL: yaml2ics-0.1rc1.tar.gz
  • Upload date:
  • Size: 6.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: python-requests/2.27.1

File hashes

Hashes for yaml2ics-0.1rc1.tar.gz
Algorithm Hash digest
SHA256 1247d18b14923cd75beffc05e86f14f668debc561474388f13026c352f4008b2
MD5 2879404b7eb131dcabe180388d6c4d1a
BLAKE2b-256 b63b1443d50fc544854466ca4965a0888a77d8e78d29e6b9d52d93e4a49caf3a

See more details on using hashes here.

File details

Details for the file yaml2ics-0.1rc1-py3-none-any.whl.

File metadata

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

File hashes

Hashes for yaml2ics-0.1rc1-py3-none-any.whl
Algorithm Hash digest
SHA256 17c81bec6fffd56507935843e8baa40944ddb494b53f63847cafb46358596be7
MD5 952b399527d717b7c0772e8ae6b3354d
BLAKE2b-256 7bae5f9b1d421c6c72452c7598368c738404f5b0b135a66be450ee5546680b4e

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