Skip to main content

A simple CLI for Vikunja task manager

Project description

CLI client for Vikunja

pypi package version pypi downloads pipeline status coverage report

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) the most recent Vikunja API > 0.20.4. 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 from vja ls.
  • Projects (former "lists"): Must be given with -o (--project). vja ls -u 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 and api_url must point to your own Vikunja server. Especially, the api_url must be reachable from your client. This can be verified, for example, by curl 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.

Source Distribution

vja-2.0.0rc1.tar.gz (24.1 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

vja-2.0.0rc1-py3-none-any.whl (39.5 kB view details)

Uploaded Python 3

File details

Details for the file vja-2.0.0rc1.tar.gz.

File metadata

  • Download URL: vja-2.0.0rc1.tar.gz
  • Upload date:
  • Size: 24.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.9.2

File hashes

Hashes for vja-2.0.0rc1.tar.gz
Algorithm Hash digest
SHA256 3a6b8b3106cb9e730d1969dbd21e949edbf1c123548e80e98af4281032fd5b78
MD5 c5dacae13c741619d544d26ec86f8c8d
BLAKE2b-256 3484b70b667190282e029760053fa56721a4487feb56d691cddcd9b8efb9287e

See more details on using hashes here.

File details

Details for the file vja-2.0.0rc1-py3-none-any.whl.

File metadata

  • Download URL: vja-2.0.0rc1-py3-none-any.whl
  • Upload date:
  • Size: 39.5 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.9.2

File hashes

Hashes for vja-2.0.0rc1-py3-none-any.whl
Algorithm Hash digest
SHA256 6c44482073ccea22586da295c0d816fc6117047fcd14495d5e106151c97b615f
MD5 bfa8116595f6208b8b15d17a55ef1a96
BLAKE2b-256 f5886d134e282e1204f6e6e9e6ce8d0564cdb156d0305a030f7ff0d37bb1220f

See more details on using hashes here.

Supported by

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