The Command-Line Calendar is a cross-language CLI application for event and task management, implemented in Python, C#, and JavaScript. Users can add, modify, delete, and list tasks or events, while also leveraging notifications and calendar views. Each version utilizes the unique strengths of its programming language to deliver a robust and efficient user experience.
The project aims to provide a lightweight, intuitive, and cross-platform way to manage events directly from the command line, complete with notifications and calendar display features.
- Calendar Display: View current or specified month/year.
- Event Management:
- Add, modify, delete, and list events.
- Mark events as finished.
- Notifications for scheduled events (Python and C# versions).
- Data Storage: JSON files store ongoing and completed events for persistence.
- Multi-language Support: Implementations in Python, C#, and JavaScript.
cli-calendar/
├── C#/
│ ├── WatcherService/
│ │ ├── WatcherS.exe
│ │ ├── Program.cs
│ │ ├── WatcherS.csproj
│ ├── CalendarProgram/
│ ├── CalendarCLI.exe
│ ├── Program.cs
│ ├── CalendarCLI.csproj
├── PY/
│ ├── cli_calendar.py
│ ├── cli_utils.py
│ ├── notifications_utils.py
│ ├── watcher.py
├── JS/
│ ├── text_calendar.js
│ ├── cli_calendar.js
│ ├── cal_utils.js
| |── notification_watcher.js
├── README.md
git clone https://github.com/kebab0o/CalendarCLI.git
cd cli-calendarThe C# .exe files are hosted externally due to GitHub's file size limits. Download them from the following Mega link:
The Python implementation supports notifications on Windows using win10toast.
-
Ensure Python is installed.
-
Install dependencies:
pip install win10toast
-
Add Event:
python cli_calendar.py add "Event Title" "2024-11-15" -d "Description" -t "09:00" -n "2024-11-15-07:00"
-
Show Calendar:
python cli_calendar.py show -y 2024 -m 11
argparsejsondatetimetimewin10toast
The C# implementation includes event notifications and a calendar display, powered by the .NET framework.
-
Ensure the .NET SDK is installed.
-
Install dependencies with NuGet:
dotnet add package Newtonsoft.Json dotnet add package System.CommandLine dotnet add package Microsoft.Toolkit.Uwp.Notifications
-
Run the Calendar application:
dotnet run
OR: Paste the
CalendarCLI.exeinto your CMD's PATH folder (usuallyC:\Windows\System32).
Run theWatcherS.exeas administrator (or use the script to autorun it during Windows startup).
Open Command Prompt (cmd) as administrator and use the application accordingly.
-
Add Event:
dotnet run Add "Event Title" "2024-11-15" -d "Description"
-
Show Calendar:
dotnet run calendar -y "2024" -m "11"
Newtonsoft.JsonSystem.CommandLineMicrosoft.Toolkit.Uwp.Notifications
The JavaScript version focuses on task management and calendar views with a lightweight Node.js implementation.
-
Ensure Node.js is installed.
-
Install dependencies:
npm install commander node-notifier
-
Run the application:
node cli_calendar.js <command>
-
Show Current Month:
node cli_calendar.js show
-
Add Event:
node cli_calendar.js add 2024 11 15 "My Task"
commandernode-notifier
Below are examples of how the applications appear in action:
This project is licensed under the MIT License.
We wish you a smooth and joyful experience using our CMD Calendar!


