Git Product home page Git Product logo

toggl-cli's Introduction

Overview

toggl-cli is a command-line interface for toggl.com.

It certainly does not implement the full toggl API, but rather some core functions. The goal is to make using toggl quicker and more efficient for those already familiar with command-line tools.

toggl-cli is written in Python and uses version 8 of the toggl API (thanks to beauraines for the help).

Latest Update

15 Dec 2014: Thanks to FedericoVaga .togglrc now supports API token authentication. You will need to add api_token to the auth section, and prefer_token to the options section.

11 Nov 2014: Major refactoring into a more MVC OO structure.

30 Oct 2014: Added a feature that starting, stopping, and continuing an entry prints out the time it started or stopped. This requires a new option in ~/.togglrc: time_format = %I:%M%p is the default. See strftime() for more options.

Requirements

  • iso8601 module
  • pytz module
  • requests
  • dateutil

Configuration

Upon first running the program, a configuration file ~/.togglrc will be automatically created.

  1. Update that file with your toggl username and password.
  2. Update the timezone entry (e.g. US/Pacific).

####Continue Behaviour####

Setting continue_creates to false will cause continue to continue already existing same-day entries as a duration continuation, rather than create a new entry. continue_creates defaults to false for toggl-cli users where .togglrc already exists, and to true for new users as per the default of the toggl web UI.

Limitations

  • When creating a time entry for a given project, the project must already exist.
  • Project users, tasks, tags, and users aren't supported.
  • Only the default workspace is supported.

Roadmap

See the issues tracker

Usage

Usage: toggl.py [OPTIONS] [ACTION]

Options:
  -h, --help     show this help message and exit
  -q, --quiet    don't print anything
  -v, --verbose  print additional info
  -d, --debug    print debugging output

Actions:
  add DESCR [:WORKSPACE] [@PROJECT] START_DATETIME ('d'DURATION | END_DATETIME)
        creates a completed time entry
  add DESCR [:WORKSPACE] [@PROJECT] 'd'DURATION
        creates a completed time entry, with start time DURATION ago
  clients
        lists all clients
  continue [from DATETIME | 'd'DURATION]
        restarts the last entry
  continue DESCR [from DATETIME | 'd'DURATION]
        restarts the last entry matching DESCR
  ls [starttime endtime]
        list (recent) time entries
  ical [starttime endtime]
        dump iCal list of (recent) time entries
  now
        print what you're working on now
  workspaces
        lists all workspaces
  projects [:WORKSPACE]
        lists all projects
  rm ID
        delete a time entry by id
  start DESCR [:WORKSPACE] [@PROJECT] ['d'DURATION | DATETIME]
        starts a new entry
  stop [DATETIME]
        stops the current entry
  www
        visits toggl.com

  DURATION = [[Hours:]Minutes:]Seconds
  starttime/endtime = YYYY-MM-DDThh:mm:ss+TZ:00
  e.g. starttime = 2015-10-15T00:00:00+02:00

toggl-cli's People

Contributors

drobertadams avatar staff0rd avatar beauraines avatar federicovaga avatar moredread avatar martinm76 avatar devkev avatar mikepurvis avatar geetotes avatar mthowe avatar

Watchers

James Cloos avatar  avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.