# Install todoman with Homebrew, apk, apt, Nix, pacman, winget

Simple CalDAV-based todo manager. Version 4.7.0 via Homebrew; verified 2026-04-21.

## Install

```sh
sudo av install brew:todoman
```

Additional install commands:

### macOS

- Homebrew (100%):

```sh
brew install todoman
```

  Evidence: local Homebrew formula metadata

### Linux

- apk (92%):

```sh
sudo apk add todoman
```

  Evidence: Alpine Linux edge package indexes: todoman from https://dl-cdn.alpinelinux.org/alpine/edge/community/x86_64/APKINDEX.tar.gz

- Debian apt (92%):

```sh
sudo apt install todoman
```

  Evidence: Debian stable package indexes: todoman from https://deb.debian.org/debian/dists/stable/main/binary-amd64/Packages.xz

- Nix (92%):

```sh
nix profile install nixpkgs#todoman
```

  Evidence: nixpkgs package indexes: pkgs/by-name/to/todoman/package.nix from https://api.github.com/repos/NixOS/nixpkgs/git/trees/master?recursive=1

- pacman (92%):

```sh
sudo pacman -S todoman
```

  Evidence: Arch Linux sync databases: todoman from https://geo.mirror.pkgbuild.com/extra/os/x86_64/extra.db.tar.gz

### Windows

- winget (92%):

```sh
winget install --id evestudio.todo-list -e
```

  Evidence: Windows Package Manager source index: evestudio.todo-list from https://cdn.winget.microsoft.com/cache/source.msix

## Package facts

- **Package key:** brew:todoman
- **Package manager:** Homebrew
- **Package manager page:** <https://formulae.brew.sh/formula/todoman>
- **Version:** 4.7.0
- **Source summary:** Simple CalDAV-based todo manager
- **Homepage:** <https://todoman.readthedocs.io/>
- **Repository:** <https://github.com/pimutils/todoman>
- **Upstream docs:** <https://todoman.readthedocs.io/en/stable>
- **License:** ISC
- **Source archive:** <https://files.pythonhosted.org/packages/d9/9e/063e7e63e5fb1d595b139916f3d2477bedcae9fa0d23ba8119f45ccf1c8d/todoman-4.7.0.tar.gz>
- **Last updated:** 2026-04-21T19:21:19Z
- **Generated:** 2026-07-08T07:18:31+00:00

## Executables

- todo (cli)
- todo (alias)

## Dependencies

- jq
- python@3.14

## Install behavior

- Post-install hook: not defined
- Bottle: available on all

## Freshness

- Page generated: 2026-07-08
- Package-manager version: 4.7.0
- Package-manager updated: 2026-04-21
- Local data: ok
- Upstream repository: https://todoman.readthedocs.io/
- info: Release/tag comparison is only available for GitHub repositories.
## Project history and usage

Todoman is a standards-based command-line todo manager from the pimutils ecosystem. It stores tasks as iCalendar VTODO files, which lets users synchronize task lists with CalDAV through tools such as vdirsyncer while still working from a Unix terminal.

### Project history

The official README says Todoman is now part of the pimutils project and hosted on GitHub. It describes the tool as a simple CLI task manager whose todos are individual .ics files matching the vdir specification, with support for common todo fields such as summary, description, location, due date, and priority.

The official changelog begins at v2.0.0 and records a mature Python CLI over several major versions. Version 2.0.0 added porcelain output for integrations, configuration validation, due filtering, and persisted todo IDs. Version 3.0.0 added friendlier dates, start filtering, location support, JSON porcelain output, and packaging changes. Version 4.0.0 changed configuration files to plain Python to remove an unmaintained config dependency.

Later releases show continued maintenance for Python and packaging ecosystems: shell completions, Python 3.10/3.11/3.12 support, pyproject.toml, dropped obsolete dependencies, category support, fish completions, and the removal of an old bin/todo wrapper when setuptools entry points became fast enough.

### Adoption history

Todoman's adoption is closely tied to pimutils and vdirsyncer. The README explicitly names CalDAV synchronization through vdirsyncer, and the batch input shows packaging in Homebrew, Debian, Ubuntu, Alpine, Arch, Nix, and other package systems.

The package is aimed at users who want the Taskwarrior or todo.txt style of command-line task management while keeping data in interoperable calendar/task files. Its docs emphasize Unix-like systems and do not support Windows.

### How it is used

A typical setup points Todoman at a directory of vdir-style .ics files, often synchronized from a CalDAV server by vdirsyncer. Users then create, edit, list, complete, and inspect tasks with the todo command while other calendar clients can still see the underlying VTODO data.

The changelog's porcelain and JSON output work matters for scripts and status-bar integrations, while the plain Python config introduced in v4.0.0 keeps configuration inspectable and package-friendly.

### Why package nerds care

Todoman is significant to package nerds because it composes with other small Unix PIM tools instead of becoming a monolithic app. It treats tasks as standards-based files, works with CalDAV sync, lives in the pimutils family, and is packaged across many Unix distributions.

It also provides a bridge between CLI task systems and standards-based personal information management: the user gets local files and terminal commands, while the data remains compatible with iCalendar and CalDAV.

### Timeline

- v2.0.0: Added porcelain output, config validation, due filtering, and persisted todo IDs.
- v3.0.0: Added friendlier time display, start filtering, location support, JSON porcelain output, and packaging changes.
- v4.0.0: Switched configuration files to plain Python and dropped the configobj dependency.
- v4.2.0: Added full category support.
- v4.3.0: Added Python 3.11 support and moved to pyproject.toml.
- v4.7.0: Added fish completions, a lists command, JSON list color fields, and dropped Python 3.9 support.

### Related projects

- vdirsyncer is named by the README as the common CalDAV synchronization companion.
- pimutils is the project family that also hosts related personal information management tools.

### Sources

- <https://github.com/pimutils/todoman#readme>
- <https://github.com/pimutils/todoman/blob/main/CHANGELOG.rst>
- <https://todoman.readthedocs.io/en/stable/>
- source_facts.package-manager


## Security Notes

narrow executable package without higher-risk signals.

- **Geiger risk:** green / low
- narrow executable package without higher-risk signals


## Configuration and credential file locations

These source-backed paths show where this package keeps local settings or durable credentials. Automic Vault can use them as review targets for secret scanning, migration, and command approval.


## Configuration files

- Unix: $XDG_CONFIG_HOME/todoman/config.py, ~/.config/todoman/config.py
## Source Database Details

- **Source Database:** Homebrew formula API
- **Tap:** homebrew/core
- **Full Name:** todoman
- **Version Scheme:** 0
- **Revision:** 0
- **Head Version:** HEAD
- **Conflicts With:** bash-snippets
- **Bottle Stable Root URL:** <https://ghcr.io/v2/homebrew/core>
- **Deprecated:** no
- **Disabled:** no
- **Keg Only:** no
- **URL Keys:** head, stable

## Other Package-Manager Records

- Debian apt - todoman - 4.5.0-2: normalized package name match | Debian stable package indexes: todoman from https://deb.debian.org/debian/dists/stable/main/binary-amd64/Packages.xz | Simple CalDAV-based todo manager | https://github.com/pimutils/todoman
- Nix - todoman: normalized package name match | nixpkgs package indexes: pkgs/by-name/to/todoman/package.nix from https://api.github.com/repos/NixOS/nixpkgs/git/trees/master?recursive=1
- Ubuntu apt - todoman - 4.4.0-1: normalized package name match | Ubuntu 24.04 LTS package indexes: todoman from https://archive.ubuntu.com/ubuntu/dists/noble/universe/binary-amd64/Packages.gz | Simple CalDAV-based todo manager | https://github.com/pimutils/todoman
- apk - todoman - 4.7.0-r0: normalized package name match | Alpine Linux edge package indexes: todoman from https://dl-cdn.alpinelinux.org/alpine/edge/community/x86_64/APKINDEX.tar.gz | Simple iCalendar-based todo manager | https://pypi.org/project/todoman/
- apk - todoman-bash-completion - 4.7.0-r0: normalized package name match | Alpine Linux edge package indexes: todoman-bash-completion from https://dl-cdn.alpinelinux.org/alpine/edge/community/x86_64/APKINDEX.tar.gz | Bash completions for todoman | https://pypi.org/project/todoman/
- apk - todoman-doc - 4.7.0-r0: normalized package name match | Alpine Linux edge package indexes: todoman-doc from https://dl-cdn.alpinelinux.org/alpine/edge/community/x86_64/APKINDEX.tar.gz | Simple iCalendar-based todo manager (documentation) | https://pypi.org/project/todoman/
- apk - todoman-pyc - 4.7.0-r0: normalized package name match | Alpine Linux edge package indexes: todoman-pyc from https://dl-cdn.alpinelinux.org/alpine/edge/community/x86_64/APKINDEX.tar.gz | Precompiled Python bytecode for todoman | https://pypi.org/project/todoman/
- apk - todoman-repl - 4.7.0-r0: normalized package name match | Alpine Linux edge package indexes: todoman-repl from https://dl-cdn.alpinelinux.org/alpine/edge/community/x86_64/APKINDEX.tar.gz | Simple iCalendar based todo manager (interactive shell) | https://pypi.org/project/todoman/
- apk - todoman-zsh-completion - 4.7.0-r0: normalized package name match | Alpine Linux edge package indexes: todoman-zsh-completion from https://dl-cdn.alpinelinux.org/alpine/edge/community/x86_64/APKINDEX.tar.gz | Zsh completions for todoman | https://pypi.org/project/todoman/
- pacman - todoman - 4.7.0-1: normalized package name match | Arch Linux sync databases: todoman from https://geo.mirror.pkgbuild.com/extra/os/x86_64/extra.db.tar.gz | A simple, standards-based, cli todo (aka: task) manager | https://github.com/pimutils/todoman
- Nix - todo: installed executable or alias match | nixpkgs package indexes: pkgs/by-name/to/todo/package.nix from https://api.github.com/repos/NixOS/nixpkgs/git/trees/master?recursive=1
- winget - evestudio.todo-list: installed executable or alias match | Windows Package Manager source index: evestudio.todo-list from https://cdn.winget.microsoft.com/cache/source.msix


## Related links

- [Terminal utility packages](https://www.automicvault.com/pkg/terminal-utilities/) - Matched terminal and command-line workflow metadata.
- [Networking and protocol packages](https://www.automicvault.com/pkg/networking-protocol-tools/) - Matched network, protocol, or remote-service metadata.
- [Productivity CLI packages](https://www.automicvault.com/pkg/productivity-cli-packages/) - Matched curated productivity category metadata from av.db.
- [Homebrew utility packages](https://www.automicvault.com/pkg/brew-utility-packages/) - Matched Homebrew package provider.
- [jq](https://www.automicvault.com/pkg/brew/jq/) - Runtime dependency declared by Homebrew.
- [python@3.14](https://www.automicvault.com/pkg/brew/python-3-14/) - Runtime dependency declared by Homebrew.
- [todo-txt](https://www.automicvault.com/pkg/brew/todo-txt/) - Shares av.db curated category or tags: cli, productivity, task-management, todo.
- [ultralist](https://www.automicvault.com/pkg/brew/ultralist/) - Shares av.db curated category or tags: cli, productivity, task-management, todo.
- [dstask](https://www.automicvault.com/pkg/brew/dstask/) - Shares av.db curated category or tags: cli, productivity, task-management, todo.
- [pter](https://www.automicvault.com/pkg/brew/pter/) - Shares av.db curated category or tags: cli, productivity, task-management.
- [taskline](https://www.automicvault.com/pkg/brew/taskline/) - Shares av.db curated category or tags: cli, productivity, task-management.
- [todoist-cli](https://www.automicvault.com/pkg/brew/todoist-cli/) - Shares av.db curated category or tags: cli, productivity, task-management.
- [todoist-cli-go](https://www.automicvault.com/pkg/brew/todoist-cli-go/) - Shares av.db curated category or tags: cli, productivity, task-management.
- [topydo](https://www.automicvault.com/pkg/brew/topydo/) - Shares av.db curated category or tags: cli, productivity, task-management.
- [vit](https://www.automicvault.com/pkg/brew/vit/) - Both packages touch the same language runtime or ecosystem. Shared terms: cli, management, productivity, python, python-3-14.

## Combined YAML source

View the package source record on GitHub. [combined/todoman.yml](https://github.com/automic-vault/db/blob/main/combined/todoman.yml)


## Sources

- Nucleus package database
- Geiger risk classifier
- package-page enrichment
- curated configuration and credential file locations
- curated package history
- package version freshness
- av.db category and tag curation
- package relationship graph
- external package-manager database matches
- cross-ecosystem install command graph
