Skip to main content

Top-level package for Della.

Project description

Della

Della (named after Perry Mason's assistant) is a command line task organizer/todo list. Its basic concept is comparable to Taskwarrior, but with the guiding philosophy that command syntax should be as simple and as close to natural language as possible. The ultimate goal is to make interactions with della feel more like speaking to a personal assistant than feeding input to a program.

How does this cash out? First, you can specify due dates in natural language, and della will figure out what you mean: 1

These expressions can be arbitrarily nested, just in case that's something you need:

2

While you can use della by passing your inputs directly as command line arguments, most of its features only become apparent when using its interactive prompt, which you can start by running the program without arguements. This makes the previous examples look like this

3 4

Wowee! Colors! This is another trick to smooth out your interactions as much as possible - if your input is invalid, you can tell before you enter it. Autocomplete also gives you feedback while you type:

5

That should be enough to whet your appetite. For a crash course in usage and a list of all available commands type @help at the interactive prompt

Install

della is on PyPI - install it easily with pip:

$ pip install della

Note that support for non-GNU/Linux operating systems is not guaranteed. It will probably work ok on MacOS, but I don't have access to a Mac to test this (if you're a Mac user, please let me know about any exotic error messages you encounter). All bets are off for Windows.

Configuration

When run for the first time, della creates a config file at $USER_HOME/.config/della/config.toml. On each subsequent startup, it will read from this file to set options user options. The starting config file is commented to help you tweak it to your liking.

Remote Sync

della can keep your tasks in sync over multiple devices using SSH.

Why do you you need to provide your own hosting? Two reasons:

  1. If I provided a hosted database, that would go way over my budget for this project (which is $0.00; I'm unemployed currently)
  2. I don't want your data. Why do people keep giving me their data? I never ask for it, yet people keep giving it to me.

Setting up a remote host for syncing is very simple; all you need is a working ssh login to some sort of POSIX-ish machine. You don't even need to install anything special on the remote! The "remote" section of the default generated config file contains more details on configuration.

For Developers

Development of this project also resulted in the creation of two libraries:

  • dateparse is the backend for parsing natural language into dates
  • getchoice is a very simple almost-clone of [pick], which I created when I was unable to find anything like it that supported text formatting a la [prompt toolkit]

They're both also available via pip, and licensed with no restrictions whatsoever.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

della_tasks-0.1.0.tar.gz (18.6 kB view hashes)

Uploaded Source

Built Distribution

della_tasks-0.1.0-py3-none-any.whl (18.8 kB view hashes)

Uploaded Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page