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.
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
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 |
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:
python -m 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.