A cli tool which will take a .json agenda file or url (based on the schema https://c3voc.de/schedule/schema.json) and convert it to an .ics calendar file.
As used by https://pretalx.com/
install via pip
$ pip install json-to-ical
$ json-to-ical https://pretalx.com/pycon-au-2025/schedule/export/schedule.json
$ json-to-ical schedule.json
By default the output file will be named after the input file, swapping the filename with the extension .ics.
If you want to change the output file name, you can use the -o
flag.
This will work with either file or url based input.
$ json-to-ical schedule.json -o 2025_schedule.ics
$ uv sync --all-groups
$ uv run pytest
$ uv run --python 3.9 pytest
$ uv run --python 3.10 pytest
$ uv run --python 3.11 pytest
$ uv run --python 3.12 pytest
$ uv run --python 3.13 pytest
Python version | ical | pydantic |
---|---|---|
3.9 | 4.5.4 | 1.10.22 |
3.10 | 8.2.0 | 2.11.7 |
3.11 | 11.0.0 | 2.11.7 |
3.12 | 11.0.0 | 2.11.7 |
3.13 | 11.0.0 | 2.11.7 |