Skip to content

Chakyiu/caldav-skill

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 

Repository files navigation

CalDAV & Radicale Management Skill

This workspace contains a collection of Python scripts to interact with CalDAV servers (such as Radicale, iCloud, Google Calendar, etc.) and specific utilities to manage a Radicale server instance.

Overview

  • Manage Calendars: Create, list, and delete calendars on a CalDAV server.
  • Manage Events: Create, update, delete, and query events within calendars.
  • Manage Todos: Handle tasks (VTODO) with priorities, status, and descriptions.
  • Radicale Admin: Helper scripts to manage Radicale server configurations and users.

Prerequisites

Python Dependencies

You need to install the caldav library to run the client scripts.

pip install caldav

Environment Variables

The scripts rely on environment variables to authenticate with your CalDAV server.

export CALDAV_URL="http://localhost:5232"
export CALDAV_USER="your_username"
export CALDAV_PASSWORD="your_password"

Project Structure

.
├── SKILL.md              # Skill definition and metadata
├── scripts/
│   ├── calendars.py      # Calendar management (list, create, delete)
│   ├── events.py         # Event operations (query, add, remove)
│   ├── todos.py          # Task/Todo operations
│   ├── radicale.py       # Radicale server specific utilities
│   └── utils.py          # Shared utilities (client connection, logging)

Usage

All scripts are located in the scripts/ directory.

Managing Calendars (scripts/calendars.py)

List all available calendars for the authenticated user:

python3 scripts/calendars.py list

Create a new calendar:

python3 scripts/calendars.py create --name "My New Calendar"

Managing Events (scripts/events.py)

List events in a specific calendar:

python3 scripts/events.py list --calendar "Work"

Create a new event:

python3 scripts/events.py create \
  --calendar "Work" \
  --summary "Team Meeting" \
  --start "2023-10-27T10:00:00" \
  --end "2023-10-27T11:00:00" \
  --location "Conference Room A"

Managing Todos (scripts/todos.py)

List pending tasks:

python3 scripts/todos.py list --calendar "Personal"

Add a new task:

python3 scripts/todos.py create \
  --calendar "Personal" \
  --summary "Buy Groceries" \
  --priority 1

Radicale Server Management (scripts/radicale.py)

This script helps with server-side configuration management for Radicale.

# Check current configuration
python3 scripts/radicale.py config

# Validate users file
python3 scripts/radicale.py users

License

See the repository license for details.

About

Skill to manage CalDAV calendars and events, with special support for Radicale server.

Resources

Stars

Watchers

Forks

Packages

 
 
 

Contributors

Languages