/pyconau-ical

Quick little hack to build an ical file from the json schedule

Primary LanguagePythonGNU General Public License v2.0GPL-2.0

PyConAU calendar converter

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/

Installation

install via pip

$ pip install json-to-ical

Usage

With a URL

$ json-to-ical https://pretalx.com/pycon-au-2025/schedule/export/schedule.json

With a local file

$ json-to-ical schedule.json

Specifying an output file

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

Local environment setup

$ uv sync --all-groups

Testing

$ uv run pytest

Testing with specific python versions

$ 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

Tested dependencies

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