caldavctl


Namecaldavctl JSON
Version 0.0.5 PyPI version JSON
download
home_pageNone
SummaryCommand line utility to interact with CalDAV servers
upload_time2025-02-01 13:57:50
maintainerNone
docs_urlNone
authorNone
requires_python>=3.12
licenseNone
keywords caldav cli
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            # caldavctl

[![PyPI - Version](https://img.shields.io/pypi/v/caldavctl.svg)](https://pypi.org/project/caldavctl)
[![PyPI - Python Version](https://img.shields.io/pypi/pyversions/caldavctl.svg)](https://pypi.org/project/caldavctl)

-----

## Table of Contents

- [Installation](#installation)
- [Configuration](#configuration)
- [Usage](#usage)
- [License](#license)

⚠️WARNING ⚠️

This software is alpha quality, use at your own risk.

## Installation

To install:

    pipx install caldavctl

## Configuration

`caldavctl` is configured in `$HOME/.config/caldavctl/config.toml`:

```toml
[server.server_01_nickname]
username="your user"
password="your pass"
url="https://oneserver.org/cal"

[server.server_02_nickname]
username="your user"
password="your pass"
url="https://anotherserver.org/cal"

[default]
server="server_01_nickname"
calendar="Default"
timezone="Asia/Tokyo"
```

Make sure to make this file readable only by the user owner of the file:

```bash
$ chmod go-rwx $HOME/.config/caldavctl/config.toml
```

## Usage

`caldavctl` uses sub commands to expose its functionality:

```bash
$ caldavctl --help
Usage: caldavctl [OPTIONS] COMMAND [ARGS]...

  caldavctl - command line CalDAV client

Options:
  -c, --config TEXT  Configuration file
  --name TEXT        Server nickname
  --username TEXT    Username on the CalDAV server
  --passwd TEXT      Password on the CalDAV server
  --url TEXT         Calendar CalDAV url
  --timezone TEXT    Your time zone
  --server TEXT      Default server (use nickname)
  --calendar TEXT    Default calendar id
  --help             Show this message and exit.

Commands:
  br        Backup or restore a calendar
  calendar  Commands that deal with the calendars on the server
  event     Event management
  ics       iCalendar file operations
  journal   Journal management
  todo      Todo management
```
Notes:

* The options to the main command override the configuration file;
* By default the configuration file is `$HOME/.config/caldavctl/config.toml`;
* Currently the `journal` sub-command is only a place holder;

To get help about a sub-command do:

```bash
$ caldavctl <sub-command> --help
```

For example:

```bash
$ caldavctl event --help
Usage: caldavctl event [OPTIONS] COMMAND [ARGS]...

  Event management

Options:
  --help  Show this message and exit.

Commands:
  create  Create new event
  delete  Delete an event on the server
  list    List events from the server list.
```

This holds true for sub-sub-commands:

```bash
$ caldavctl todo list --help
Usage: caldavctl todo list [OPTIONS]

  List todos from the default server and default calendar

Options:
  -d, --description  Show the event's description.
  -a, --all          Show all todos, including completed todos.
  --help             Show this message and exit.
```

### The create event command

The `create event command` uses a simple `key: value` format to define the elements of an event. If the `--edit` option is used without specifying a file, an example file if opened on your `$EDITOR`:

```
# Mandatory
DTSTART: 2025-02-02 09:00
DTEND: 2025-02-02 09:45

# Recommended
SUMMARY:

# Optional
LOCATION:
CATEGORIES:
TIMEZONE:
PRIORITY: 5
DESCRIPTION: [[ ]]

# NOTES:
#
#   * Date and time:
#       * The dates must be in iso format, for instance: 2024-12-29 13:45;
#       * The timezone used is the one defined by default or the one defined in
#         the "TIMEZONE" key;
#   * Categories: the categories are a comma separated list;
#   * Priority: 1 - highest priority, 9 - lowest priority
#   * Description: The description can be multi line, just make sure it's
#     delimited by [[ ]].
```
The start and end dates are, by default the next day from 9 to 9:45.

## License

`caldavctl` is distributed under the terms of the [GPL-3.0-or-later](https://spdx.org/licenses/GPL-3.0-or-later.html) license.

            

Raw data

            {
    "_id": null,
    "home_page": null,
    "name": "caldavctl",
    "maintainer": null,
    "docs_url": null,
    "requires_python": ">=3.12",
    "maintainer_email": null,
    "keywords": "caldav, cli",
    "author": null,
    "author_email": "Helder Guerreiro <helder@paxjulia.org>",
    "download_url": "https://files.pythonhosted.org/packages/82/7e/aa6fcec904247a9447f7e945c27b564acc695e2b5e000a9fb5e698472307/caldavctl-0.0.5.tar.gz",
    "platform": null,
    "description": "# caldavctl\n\n[![PyPI - Version](https://img.shields.io/pypi/v/caldavctl.svg)](https://pypi.org/project/caldavctl)\n[![PyPI - Python Version](https://img.shields.io/pypi/pyversions/caldavctl.svg)](https://pypi.org/project/caldavctl)\n\n-----\n\n## Table of Contents\n\n- [Installation](#installation)\n- [Configuration](#configuration)\n- [Usage](#usage)\n- [License](#license)\n\n\u26a0\ufe0fWARNING \u26a0\ufe0f\n\nThis software is alpha quality, use at your own risk.\n\n## Installation\n\nTo install:\n\n    pipx install caldavctl\n\n## Configuration\n\n`caldavctl` is configured in `$HOME/.config/caldavctl/config.toml`:\n\n```toml\n[server.server_01_nickname]\nusername=\"your user\"\npassword=\"your pass\"\nurl=\"https://oneserver.org/cal\"\n\n[server.server_02_nickname]\nusername=\"your user\"\npassword=\"your pass\"\nurl=\"https://anotherserver.org/cal\"\n\n[default]\nserver=\"server_01_nickname\"\ncalendar=\"Default\"\ntimezone=\"Asia/Tokyo\"\n```\n\nMake sure to make this file readable only by the user owner of the file:\n\n```bash\n$ chmod go-rwx $HOME/.config/caldavctl/config.toml\n```\n\n## Usage\n\n`caldavctl` uses sub commands to expose its functionality:\n\n```bash\n$ caldavctl --help\nUsage: caldavctl [OPTIONS] COMMAND [ARGS]...\n\n  caldavctl - command line CalDAV client\n\nOptions:\n  -c, --config TEXT  Configuration file\n  --name TEXT        Server nickname\n  --username TEXT    Username on the CalDAV server\n  --passwd TEXT      Password on the CalDAV server\n  --url TEXT         Calendar CalDAV url\n  --timezone TEXT    Your time zone\n  --server TEXT      Default server (use nickname)\n  --calendar TEXT    Default calendar id\n  --help             Show this message and exit.\n\nCommands:\n  br        Backup or restore a calendar\n  calendar  Commands that deal with the calendars on the server\n  event     Event management\n  ics       iCalendar file operations\n  journal   Journal management\n  todo      Todo management\n```\nNotes:\n\n* The options to the main command override the configuration file;\n* By default the configuration file is `$HOME/.config/caldavctl/config.toml`;\n* Currently the `journal` sub-command is only a place holder;\n\nTo get help about a sub-command do:\n\n```bash\n$ caldavctl <sub-command> --help\n```\n\nFor example:\n\n```bash\n$ caldavctl event --help\nUsage: caldavctl event [OPTIONS] COMMAND [ARGS]...\n\n  Event management\n\nOptions:\n  --help  Show this message and exit.\n\nCommands:\n  create  Create new event\n  delete  Delete an event on the server\n  list    List events from the server list.\n```\n\nThis holds true for sub-sub-commands:\n\n```bash\n$ caldavctl todo list --help\nUsage: caldavctl todo list [OPTIONS]\n\n  List todos from the default server and default calendar\n\nOptions:\n  -d, --description  Show the event's description.\n  -a, --all          Show all todos, including completed todos.\n  --help             Show this message and exit.\n```\n\n### The create event command\n\nThe `create event command` uses a simple `key: value` format to define the elements of an event. If the `--edit` option is used without specifying a file, an example file if opened on your `$EDITOR`:\n\n```\n# Mandatory\nDTSTART: 2025-02-02 09:00\nDTEND: 2025-02-02 09:45\n\n# Recommended\nSUMMARY:\n\n# Optional\nLOCATION:\nCATEGORIES:\nTIMEZONE:\nPRIORITY: 5\nDESCRIPTION: [[ ]]\n\n# NOTES:\n#\n#   * Date and time:\n#       * The dates must be in iso format, for instance: 2024-12-29 13:45;\n#       * The timezone used is the one defined by default or the one defined in\n#         the \"TIMEZONE\" key;\n#   * Categories: the categories are a comma separated list;\n#   * Priority: 1 - highest priority, 9 - lowest priority\n#   * Description: The description can be multi line, just make sure it's\n#     delimited by [[ ]].\n```\nThe start and end dates are, by default the next day from 9 to 9:45.\n\n## License\n\n`caldavctl` is distributed under the terms of the [GPL-3.0-or-later](https://spdx.org/licenses/GPL-3.0-or-later.html) license.\n",
    "bugtrack_url": null,
    "license": null,
    "summary": "Command line utility to interact with CalDAV servers",
    "version": "0.0.5",
    "project_urls": {
        "Documentation": "https://codeberg.org/hgg/caldavctl#readme",
        "Issues": "https://codeberg.org/hgg/caldavctl/issues",
        "Source": "https://codeberg.org/hgg/caldavctl"
    },
    "split_keywords": [
        "caldav",
        " cli"
    ],
    "urls": [
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "6bbe1d78de015813f0a6e28fdc415781dab24401b99f8e869c18617460eae71e",
                "md5": "5ac8d399a197e2a4192f815b78deac2f",
                "sha256": "02dbdb5802a8737e72a254a036305846ec1384ced6926a9d21e36b9811597bcb"
            },
            "downloads": -1,
            "filename": "caldavctl-0.0.5-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "5ac8d399a197e2a4192f815b78deac2f",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": ">=3.12",
            "size": 23307,
            "upload_time": "2025-02-01T13:57:48",
            "upload_time_iso_8601": "2025-02-01T13:57:48.101906Z",
            "url": "https://files.pythonhosted.org/packages/6b/be/1d78de015813f0a6e28fdc415781dab24401b99f8e869c18617460eae71e/caldavctl-0.0.5-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "827eaa6fcec904247a9447f7e945c27b564acc695e2b5e000a9fb5e698472307",
                "md5": "31bf1f15ee1a739ef1d70c9fc7a1df84",
                "sha256": "8e41ee7c15b56c5c25f83d1cbc8c11e044af50574a9006f9b12fa3c08f45f423"
            },
            "downloads": -1,
            "filename": "caldavctl-0.0.5.tar.gz",
            "has_sig": false,
            "md5_digest": "31bf1f15ee1a739ef1d70c9fc7a1df84",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": ">=3.12",
            "size": 19283,
            "upload_time": "2025-02-01T13:57:50",
            "upload_time_iso_8601": "2025-02-01T13:57:50.077490Z",
            "url": "https://files.pythonhosted.org/packages/82/7e/aa6fcec904247a9447f7e945c27b564acc695e2b5e000a9fb5e698472307/caldavctl-0.0.5.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2025-02-01 13:57:50",
    "github": false,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": true,
    "codeberg_user": "hgg",
    "codeberg_project": "caldavctl#readme",
    "lcname": "caldavctl"
}
        
Elapsed time: 0.80323s