CLI to convert yaml into ics.
Project description
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 ...
Timezones
The event timezone can be specified in three ways (in reverse order of precedence):
-
Using the
timezone: ...field, as shown above under "Syntax". -
Adding it to an individual event:
- summary: My event timezone: America/Los_Angeles
-
By specifying a timezone in the event start time:
2021-09-21 15:00:00 +07:00
Valid timezones are listed at https://datetime.app/iana-timezones
If no timezone is set, we default to UTC.
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
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file yaml2ics-0.3.tar.gz.
File metadata
- Download URL: yaml2ics-0.3.tar.gz
- Upload date:
- Size: 15.1 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
4faa4130f756ef805792a9a389599e78830731afadf4383340a68e42af28d6d7
|
|
| MD5 |
143536ea60e418f1fa53154ad5a32b7e
|
|
| BLAKE2b-256 |
137b45b0da7497f3bce402d13a5206335bef1a2e608c5e420f1694394aa4b095
|
Provenance
The following attestation bundles were made for yaml2ics-0.3.tar.gz:
Publisher:
release.yml on scientific-python/yaml2ics
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
yaml2ics-0.3.tar.gz -
Subject digest:
4faa4130f756ef805792a9a389599e78830731afadf4383340a68e42af28d6d7 - Sigstore transparency entry: 741978720
- Sigstore integration time:
-
Permalink:
scientific-python/yaml2ics@eec20ce3b22a4b5386b473ed69faaa591da092c0 -
Branch / Tag:
refs/tags/v0.3 - Owner: https://github.com/scientific-python
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@eec20ce3b22a4b5386b473ed69faaa591da092c0 -
Trigger Event:
push
-
Statement type:
File details
Details for the file yaml2ics-0.3-py3-none-any.whl.
File metadata
- Download URL: yaml2ics-0.3-py3-none-any.whl
- Upload date:
- Size: 7.5 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
0bcfa6dd783a2912c4454bf3baa5f80dcc725820b6b02cc776f0f34142906d50
|
|
| MD5 |
3ffd897b879a18bee3c9d680b56e870a
|
|
| BLAKE2b-256 |
1298f33bd6bba7af1837865c36eaf64afdfa04062d8ba39c2b8c90c2fb95b559
|
Provenance
The following attestation bundles were made for yaml2ics-0.3-py3-none-any.whl:
Publisher:
release.yml on scientific-python/yaml2ics
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
yaml2ics-0.3-py3-none-any.whl -
Subject digest:
0bcfa6dd783a2912c4454bf3baa5f80dcc725820b6b02cc776f0f34142906d50 - Sigstore transparency entry: 741978732
- Sigstore integration time:
-
Permalink:
scientific-python/yaml2ics@eec20ce3b22a4b5386b473ed69faaa591da092c0 -
Branch / Tag:
refs/tags/v0.3 - Owner: https://github.com/scientific-python
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@eec20ce3b22a4b5386b473ed69faaa591da092c0 -
Trigger Event:
push
-
Statement type: