Metadata-Version: 2.4
Name: json-to-ical
Version: 2025.1.1
Summary: Script to convert json calendar data to ical format
Author: Ben Fitzhardinge
Author-email: Ben Fitzhardinge <ben@benjamin.dog>
License-Expression: GPL-2.0-or-later
License-File: LICENSE
Classifier: Development Status :: 4 - Beta
Classifier: Intended Audience :: Developers
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.9
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Programming Language :: Python :: 3.13
Requires-Dist: ical>=4.5.4
Maintainer: Ben Fitzhardinge
Maintainer-email: Ben Fitzhardinge <ben@benjamin.dog>
Requires-Python: >=3.9
Project-URL: Homepage, https://github.com/bendog/pyconau-ical
Project-URL: Repository, https://github.com/bendog/pyconau-ical.git
Description-Content-Type: text/markdown

# 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           | 8.2.0  | 2.11.7   |
| 3.12           | 11.0.0 | 2.11.7   |
| 3.13           | 11.0.0 | 2.11.7   |
