A handy command-line utility for generating and sending iCalendar events

Overview

A handy command-line utility for generating and sending iCalendar events

This simple command-line utility is designed to generate an iCalendar event, and sending it out as an email to the attendees.

Why Do We Need This?

It is written out of my frustration that very few applications allowed me to very quickly generate a simple and clean iCalendar event file (.ics), which I can attach and email out to the attendees.

For example, I can try to produce such an event file in the Calendar app in macOS, but once I need to add a few attendees, the app will force me to send invitations out before I am allowed to save the event file. To make the process even more cumbersome, the attendees are required to be in the Contacts app, and the only way to save the event file in Calendar is to mail the event and then save the attachment.

As another example, while Google Calendar is able to construct the event and send an email message to the attendees, the From address of the invitation email is not configurable and must be a gmail.com address, and the content of the message is also not configurable.

What Does the Utility Do?

Instead of using calendar applications such as Calendar and Microsoft Outlook, this utility generates a single event as an iCalendar file (.ics). Most information, including a summary (title) of the event, its location (multiple lines are allowed), its date and time, the names and email addresses of its attendees, can be entered when running this utility.

The name and email address of the organizer, the default timezone, as well as the number of minutes before the event when a default alarm will be displayed, can be read from a configuration file in YAML format. The default location for this configuration file is ical.yml in the same directory.

Once the iCalendar event file has been generated, the utility will send it out as an attachment automatically to all the attendees if needed. The subject of the outgoing email message is the same as the summary (title) of the event, and the content of the email message can be composed on-the-fly when prompted. In order to send an email using an existing mail server, the domain name, username, and password of the mail server need to be added to the configuration file (ical.yml).

Note: If you are trying to use certain mail servers (such as gmail.com) to send emails from Python, you may need to generate an app-specific password. For gmail.com, you may also need to allow less secure apps in your account.

Installing and Running the Utility

To install the dependencies in your Python environment, run:

pip install -r requirements.txt --upgrade

To run the utility:

python ical.py

Enjoy!

Owner
Baochun Li
Baochun Li
Interact with Replit remotely with the Replit CLI

Replit CLI pip install repl-cli Welcome to Replit CLI! With the Replit CLI Application, you can work with your repls locally, including clone, pull,

Shuchir Jain 4 Aug 18, 2022
Dark powered asynchronous completion framework for neovim/Vim8

deoplete.nvim Dark powered asynchronous completion framework for neovim/Vim8 Note: The development of this plugin is finished. Accepts minor patches a

Shougo 5.9k Dec 30, 2022
Tarstats - A simple Python commandline application that collects statistics about tarfiles

A simple Python commandline application that collects statistics about tarfiles.

Kristian Koehntopp 13 Feb 20, 2022
triggercmd is a CLI client for the TRIGGERcmd cloud service.

TriggerCMD CLI client triggercmd is a CLI client for the TRIGGERcmd cloud service. installation the triggercmd package is available in PyPI. to instal

Gustavo Soares 7 Oct 18, 2022
LSD (Linux Spotify Downloader) is a command line tool for downloading or rather recording content on Spotify.

LSD (Linux Spotify Downloader) is a command line tool for downloading or rather recording content on Spotify.

Jannis Zahn 7 Jun 21, 2022
An awesome Python wrapper for an awesome Docker CLI!

An awesome Python wrapper for an awesome Docker CLI!

Gabriel de Marmiesse 303 Jan 03, 2023
Basic python tools to generate shellcode runner in vba

vba_bin_runner Basic python tools to generate shellcode runner in vba. The stub use ZwAllocateVirtualMemory to allocate memory, RtlMoveMemory to write

4 Aug 24, 2021
CLI tool to show the current crypto balance

CryptoBoard The simple python CLI tool for one currency to show the current crypto balance yours purchases. That's all. Data source is from https://ww

John 2 Nov 18, 2021
Easily handle day to day CLI operation via Python instead of regular Bash programs.

pz Ever wished to use Python in Bash? Would you choose the Python syntax over sed, awk, ...? Should you exactly know what command would you use in Pyt

CZ.NIC 697 Jan 03, 2023
TermPair lets developers securely share and control terminals in real timeπŸ”’

View and control terminals from your browser with end-to-end encryption πŸ”’

Chad Smith 1.5k Jan 05, 2023
CLI client for FerrisChat

A CLI Client for @FerrisChat using FerrisWheel

FerrisChat 2 Apr 01, 2022
You'll never want to use cd again.

Jmp Description Have you ever used the cd command? You'll never touch that outdated thing again when you try jmp. Navigate your filesystem with unprec

Grant Holmes 21 Nov 03, 2022
A Yahtzee-solving python package and command line tool.

yahtzee A Yahtzee-solving python package and command line tool. The algorithm is mathematically guaranteed to have the best strategy. That is, it maxi

David Merrell 0 Aug 19, 2022
A very simple OpenContest command line client written in Python

OpenContest Client A very simple OpenContest command line client written in Python. The only dependency is the requests library. Tested with Linux onl

Ladue Computer Science 1 May 25, 2022
A simple python implementation of a reverse shell

llehs A python implementation of a reverse shell. Note for contributors The project is open for contributions and is hacktoberfest registered! llehs u

Archisman Ghosh 2 Jul 05, 2022
A CLI based task manager tool which helps you track your daily task and activity.

CLI based task manager tool This is the simple CLI tool can be helpful in increasing your productivity. More like your todolist. It uses Postgresql as

ritik 1 Jan 19, 2022
CLI tool for typescript tasks & migrations

typed CLI tool for typescript tasks & migrations Installation Usage $ typed --list Subcommands: bootstrap πŸ”¨ Bootstrap your environment for TypeS

Lob 1 Nov 15, 2021
'rl_UK' is an open-source command-line tool in Python for calculating the shortest path between BUS stop sequences in the UK

'rl_UK' is an open-source command-line tool in Python for calculating the shortest path between BUS stop sequences in the UK. As input files, it uses an ATCO-CIF file and 'OS Open Roads' dataset from

Nesh P. 0 Feb 16, 2022
A simple CLI tool for tracking Pikud Ha'oref alarms.

Pikud Ha'oref Alarm Tracking A simple CLI tool for tracking Pikud Ha'oref alarms. Polls the unofficial API endpoint every second for incoming alarms.

Yuval Adam 24 Oct 10, 2022
Command-line search tool for GitHub

cligh is a command-line search tool for GitHub.

1 Oct 02, 2022