NIAC Tools¶
This folder is meant to contain tools helpful to NIAC members so that as new executive assume roles any tools that are convenient to the role can be passed on in a formal location.
ICS telco meeting reminder file generator¶
ics_creator.py is a small telco-specific helper which can be used to generate .ics
meeting files that mail recipients can add to their calendars as a convenience.
The intent is simple:
only the start date/time changes
sometimes the Zoom link changes
everything else stays on a fixed template
every generated
.icsgets a fresh eventUIDby defaultif you are updating an existing invite, reuse that event
UID
ics_creator.py is a small Python script that generates an .ics file for a recurring telco
meeting. It allows you to specify the start time and Zoom link, while keeping other details
constant.
Minimum command-line usage¶
Only these arguments are required:
--output--start--zoom-link--meeting-id
Example:
Set-Location "~/github/wiki/source/content/niac_tools"
python ./ics_creator.py --output ./telco.ics --start "2026-10-15T15:00:00+00:00" --zoom-link "https://example.com/zoom" --meeting-id "408 741 2505"
That command uses these defaults automatically:
title:
NeXus Telcoduration:
60minutes from the CLI defaultpassword:
nexuscalendar name:
Exporttimezone label:
UTCreminder:
30minutesUID: generated automatically, for example
163a6e67-c7db-4992-b9b9-0aa608172ca8@nexusformat.orgsequence:
0
Python usage¶
from datetime import UTC, datetime
from ics_creator import write_telco_ics
write_telco_ics(
"telco.ics",
start=datetime(2026, 10, 15, 15, 0, tzinfo=UTC),
zoom_link="https://example.com/zoom",
meeting_id="408 741 2505",
)
Optional values:
enddurationtitlepassworduidsequencereminder_email
Update an existing invite for the same event by reusing the same UID and increasing sequence:
Set-Location "/github/wiki/source/content/niac_tools"
python ./ics_creator.py --output ./telco.ics --start "2026-10-15T16:00:00+00:00" --zoom-link "https://example.com/zoom" --meeting-id "408 741 2505" --uid "163a6e67-c7db-4992-b9b9-0aa608172ca8@nexusformat.org" --sequence 1
For a brand-new invite, do not pass --uid; the script will generate one automatically.