A simple CLI for Vikunja task manager
Project description
CLI client for Vikunja
This is a simple CLI for Vikunja > The todo app to organize your life.
It provides a command line interface for adding, viewing and editing todo tasks on a Vikunja Server. The goal is to support a command line based task workflow ~ similar to taskwarrior.
Breaking changes in vja 2.0
vja 2.0 supports (and requires) Vikunja API rlease >= 0.21.0, which removed namespaces and introduced sub projects. In the wake of this transition the following breaking modifications to the vja command line interface have been introduced:
- Labels: Are now given with
-l
(-label
). (-t
and--tag
are no longer supported).- "Namespaces": Vikunja removed namespaces in favor of nested projects.
-n
(--namespace
) was removed as option fromvja ls
.- Projects (former "lists"): Must be given with
-o
(--project
).vja ls -t
may be used to filter on the project or an upper project. This more or less resembles the old namespaces.Examples and more details can be found in the updated Features.md
Installation
- Install from pypi:
pip install vja vja --help
- Upgrade existing version:
pip install vja --upgrade
Configuration
Before using vja you must provide a configuration.
- Create a configuration file $HOME/.vjacli/vja.rc with ~ the following contents
[application] frontend_url=https://try.vikunja.io/ api_url=https://try.vikunja.io/api/v1
(If you cloned from git, you may copy the folder .vjacli to your$HOME
directory instead.) - Adjust to your needs.
frontend_url
andapi_url
must point to your own Vikunja server. Especially, the api_url must be reachable from your client. This can be verified, for example, bycurl https://mydomain.com/api/v1/info
.
You may change the location of the configuration directory with an environment variable
like VJA_CONFIGDIR=/not/my/home
Description of configuration
Required options
Section | Option | Description |
---|---|---|
[application] | api_url | The service instance of Vikunja to which vja should connect |
[application] | frontend_url | Required to open Vikunja in Browser |
Optional options
Section | Option | Description |
---|---|---|
[output] | arbitrary_name | Python format strings which may be referenced on the command line by --custom-format=<option_name> . May contain any valid python f-Format string.Take care: The format string may provide code which will be executed at runtime! Do not use --custom-format if you are unsure.Default: missing |
[output] | another_format | Multiple formats can be defined for reference. (see above) |
[urgency_coefficients] | due_date_weight | Weight of dueness in urgency score. Default: 1.0 |
[urgency_coefficients] | priority_weight | Weight of priority in urgency score. Default: 1.0 |
[urgency_coefficients] | favorite_weight | Weight of is_favorite in urgency score. Default: 1.0 |
[urgency_coefficients] | project_weight | Weight of keyword occurrence in project title in urgency score. Default: 1.0 |
[urgency_coefficients] | label_weight | Weight of keyword occurrence in label title in urgency score. Default: 1.0 |
[urgency_keywords] | lisproject_keywords | Tasks in projects with a title containing these keywords are considered more urgent. Default: None |
[urgency_keywords] | label_keywords | Tasks labeled with one of these keywords are considered more urgent. Default: None |
Usage
vja --help
vja ls
(You will be prompted for your account on first usage and any time the access token expires.)
More documentation is available on Features.md
Development
Prepare python virtual environment
Python >= 3.8 is recommended. First create a local environment:
pip install virtualenv
virtualenv venv
source venv/bin/activate
Local build
Build, install and perform some integration-test. For integration test, a real Vikunja instance is launched locally via docker-compose. Local development install:
pip install -r requirements_dev.txt
pip install -e .
Alternatively: full local installation:
# pip uninstall -y vja;rm -rf build dist vja.egg-info; python setup.py sdist bdist_wheel; pip install dist/*.whl;
Run integration test (requires docker and docker-compose)
docker-compose -f tests/docker-compose.yml up -d
VJA_CONFIGDIR=tests/.vjatest pytest
docker-compose -f tests/docker-compose.yml down
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.