New:Introducing Socket Scanning for VS Code Marketplace Extensions.Learn more →
Get Started

todo-snake

Package Overview
Dependencies
Maintainers
1
Versions
2
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

todo-snake

A clean PySide6 TODO app with system tray integration.

pipPyPI
Version
0.3.1
Weekly downloads
188
Maintainers
1
Weekly downloads
 
Created

Todo Snake

Todo snake

CI Socket Release License Python Qt Linux macOS Windows

Eat your todos. 🐍 Todo Snake is a fast, simple task manager that just works: a clean UI living in the system tray — add a task, attach a file, set a reminder or a repeat rule, tick it off, done. No account and no cloud required — tasks stay in a local SQLite database. Want them everywhere? Sync to your own Nextcloud or any CalDAV server.

Features

  • Add, edit, delete and mark tasks done (double-click to edit)
  • Status (open / in progress / done), an optional start date, all-day due dates and a per-task reminder lead time
  • Recurring tasks (daily / weekly / monthly / yearly), shown with an ∞ in the list; completing one advances it to the next occurrence
  • Due date and time per task, with a persistent reminder window (snooze 2/5/10 min) and a blinking tray icon
  • Filter by status, full-text search, priorities and due dates
  • Attachments: files per task, stored locally and opened with one click (uploaded to Nextcloud Files when a Nextcloud account is set up). A Files column marks tasks with attachments; the list shows image previews and type icons.
  • Import / export as JSON
  • Optional cloud sync via WebDAV or CalDAV (see Sync)
  • System tray with notifications ("All done!")
  • Single-instance enforcement
  • Translatable UI (German included; follows the system locale, override with TODO_SNAKE_LANG)
  • XDG-compliant data directory

App screenshot

Sync

Tasks can sync to your own cloud — no account with a third party is required.

  • Nextcloud (Tasks) — syncs with the Nextcloud Tasks app: every task is a VTODO in the task calendar you choose. Use Connect to Nextcloud… in the account dialog: paste the full calendar URL (e.g. https://cloud.example.com/apps/tasks/calendars/tasks) and sign in via Login Flow v2 (SSO and 2FA included) — one field is enough; a calendar that does not exist yet is created on the first sync. No shell access needed.
  • CalDAV — sync against any other CalDAV server: Baïkal (sabre/dav), Radicale, fruux or Vikunja. Paste the full calendar collection URL, e.g. https://cloud.example.com/remote.php/dav/calendars/alice/tasks/.
  • WebDAV (generic) — keep the sync state as a JSON document on any plain WebDAV server: rclone (rclone serve webdav), Apache mod_dav, ownCloud, …

Configure accounts under Settings → Sync accounts. Credentials are sent as HTTP Basic over TLS (plain http:// is only allowed for localhost). Conflicts are resolved per task with last-write-wins; deletions propagate as tombstones. Each account has a checkbox in the list: uncheck it to disable the account without deleting it (a disabled account is skipped by every sync, manual included).

Attachment files live in Nextcloud under Files → Todo Snake/Attachments/. Removing an attachment deletes its file on the next sync, and every sync also sweeps the task folders for files nothing references any more (so leftovers from earlier versions disappear on their own). Clean up orphaned files… does the same for the whole folder on demand, after a confirmation.

Trigger a sync anytime with the Sync now button in the toolbar (disabled while no account is enabled), or turn on periodic sync under Settings → Sync behavior.

Install

Prebuilt binaries are attached to every release — no Python needed:

  • Windows — todo-snake.exe (one self-contained file)
  • macOS — todo-snake-<version>-macos-<arch>.zip for Intel and Apple Silicon (.app bundle)
  • Linux — todo-snake-<version>-x86_64.AppImage — chmod +x and run

Prefer to run from source? The user-level XDG install (no root) is just as easy:

./install.sh

Launch from the application menu, or run:

~/.local/share/todo-snake/venv/bin/todo-snake

Other options (system-wide, repo-local venv, manual pip) and uninstall instructions: docs/INSTALL.md.

Requirements

Python 3.10+ on Linux with a Qt platform (X11 or Wayland), and PySide6 6.11.2 (Qt 6.11) or newer within 6.11. Everything else is the standard library — the sync does not pull in any HTTP or iCalendar dependency.

Development

Setup, running the tests and project structure: docs/DEVELOPMENT.md. To run from source:

python main.py

License

LICENSE

Keywords

todo

FAQs

Related posts