Skip to main content
dbs == dain-bread simple
========================
TODO list for minimalists

# SPDX-License-Identifier: GPL-2.0-only
# Copyright (c) 2022, Al Stone <ahs3@ahs3.net>

A "task" consists of a file that looks something like this:

Task: get something done
State: open
Project: stuff
Priority: h
Note: this is a note
Note: this is another note

(sans indenting, of course). Each key:value is exactly one line (everything
up until the newline). There are a few limits:

-- State is one of 'open', 'active', 'done' or 'deleted' [0]
-- Priority is one of 'h', 'm', 'l'

It's all pretty self-explanatory. I've tried to keep this as simple as
possible, but Python wants things packaged properly, and I wanted to have
both a CLI version (dbs) and an ncurses version (dbsui) using the same code
for managing tasks. So, yeah, needed to create a module to package and
distribute with.

Installation is simple: clone the source tree, cd to the clone, then:

$ make install

Or:

$ pip install dbs-todo

That's it. Python3 is the only requirement. Most distros will have the
right Python modules by default. I use this on Fedora and Debian, so
your mileage may vary.

To add a task like the one above:

$ dbs add 0001 stuff h "get something done"

That's it. It's automatically created as an open task. You can find all
open tasks with:

$ dbs lo

('lo' == 'list open' -- extra credit if you can figure out the command for
'list active' and 'list done').

If you do this:

$ dbs

You'll get a list of all current commands and any parameters they might need.

There is a config file: it is always $HOME/.config/dbs/config. The only thing
you can specify is this:

repo: <some directory path>

If it does not exist, it will be created. If the repo path does not exist,
it will be created, also. In the repo, there is a directory for each task
state containing one file for each task in that state. Task names must be
unique across all states since we move the files around in the various repo
directories [1].

With 0.6.0, I've added an ncurses-based UI. It's crude, probably buggy
even. It can be invoked with:

$ dbsui

There is a 'help' command ('?'). The left panel lists the projects that
have open tasks, and the right panel lists the tasks for the current
project. This is still experimental code so caveat emptor.


Notes:
[0] Nothing ever gets actually deleted unless you remove the files.
[1] In order to sync across machines, I create ~/Dropbox/dbs and use
Dropbox to sync that directory across machines.

Metadata

Release files for dbs-todo 0.6.2

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for dbs-todo 0.6.2
File Size Uploaded Provenance
dbs_todo-0.6.2.tar.gz 27.6 kB Without provenance Details

Built distribution (wheel)

Table of built distributions (wheels) for dbs-todo 0.6.2
File Interpreter ABI Platform
dbs_todo-0.6.2-py3-none-any.whl Python 3 none any Details

Total release size: 55.6 kB

Release files / dbs_todo-0.6.2.tar.gz

Download URL dbs_todo-0.6.2.tar.gz
Size 27.6 kB
Tags Source
SHA-256 checksum
How to use checksums
7271454783a5a1af0cc9df735a8c3ed9813f4699a45757a6440195dfdeb6f62d
BLAKE2b-256 checksum
How to use checksums
5a6d6095ccf0bec8b7aa498b6428601604db546ceadfbf8cee680850c4b96238
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.14.2

Release files / dbs_todo-0.6.2-py3-none-any.whl

Download URL dbs_todo-0.6.2-py3-none-any.whl
Size 28.0 kB
Tags Python 3
SHA-256 checksum
How to use checksums
619a81a037f8a570e8a1c2e96280df8024c70252e2e40d23372b2f5b614df9dd
BLAKE2b-256 checksum
How to use checksums
730518d227b4bf5294312ae156e73b7da73ebf60926355e2929b93a6a336eb36
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.14.2

Security for dbs-todo 0.6.2

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page