All Projects β†’ AuHau β†’ Toggl Cli

AuHau / Toggl Cli

Licence: other
A simple command-line interface for toggl.com

Programming Languages

python
139335 projects - #7 most used programming language

Projects that are alternatives of or similar to Toggl Cli

Gitlab Time Tracker
πŸ¦ŠπŸ•˜ A command line interface for GitLab's time tracking feature.
Stars: ✭ 371 (+53.94%)
Mutual labels:  time-tracking, cli
Moro
Simple CLI tool for tracking work hours. Note: Heavy changes are happening in this repository. Docs might not be up to date, and things might be broken. Only the released NPM version is stable.
Stars: ✭ 390 (+61.83%)
Mutual labels:  time-tracking, cli
Klog
A plain-text file format and command line tool for time tracking
Stars: ✭ 222 (-7.88%)
Mutual labels:  time-tracking, cli
Nexus Cli
Nexus CLI for Docker Registry v2 🐳
Stars: ✭ 236 (-2.07%)
Mutual labels:  cli
Scaffdog
🐢 scaffdog is Markdown driven scaffolding tool.
Stars: ✭ 237 (-1.66%)
Mutual labels:  cli
Chattt
❯❯❯ Chat without leaving your terminal
Stars: ✭ 239 (-0.83%)
Mutual labels:  cli
Kb
A minimalist command line knowledge base manager
Stars: ✭ 2,789 (+1057.26%)
Mutual labels:  cli
Clj.native Image
Build GraalVM native images with Clojure Deps and CLI tools
Stars: ✭ 236 (-2.07%)
Mutual labels:  cli
Imagecli
A command line image processing tool
Stars: ✭ 242 (+0.41%)
Mutual labels:  cli
Vultr Cli
Official command line tool for Vultr services
Stars: ✭ 235 (-2.49%)
Mutual labels:  cli
Extension Create
Create modern cross-browser extensions with no build configuration.
Stars: ✭ 167 (-30.71%)
Mutual labels:  cli
Spotctl
A command-line interface to Spotify, written in Go
Stars: ✭ 237 (-1.66%)
Mutual labels:  cli
Sucks
Simple command-line script for the Ecovacs series of robot vacuums
Stars: ✭ 237 (-1.66%)
Mutual labels:  cli
Jackline
minimalistic secure XMPP client in OCaml
Stars: ✭ 236 (-2.07%)
Mutual labels:  cli
Trello Cli
Command line client for Trello
Stars: ✭ 242 (+0.41%)
Mutual labels:  cli
Go Expect
an expect-like golang library to automate control of terminal or console based programs.
Stars: ✭ 236 (-2.07%)
Mutual labels:  cli
Pychubby
Automated face warping tool.
Stars: ✭ 240 (-0.41%)
Mutual labels:  cli
Code Minimap
πŸ›° A high performance code minimap render.
Stars: ✭ 235 (-2.49%)
Mutual labels:  cli
Semana Js Expert30
Aulas da Semana JS Expert 3.0 - Construindo um chat multiplataforma usando linha de comando e JavaScript Avançado
Stars: ✭ 238 (-1.24%)
Mutual labels:  cli
Plex Sync
🎬 Command line utility for synchronizing Plex Media Server watched / seen status between multiple servers
Stars: ✭ 239 (-0.83%)
Mutual labels:  cli

Toggl CLI

PyPI version PyPI - Python Version PyPI - Downloads codecov Build Status Codacy Badge Updates

Command line tool and set of Python wrapper classes for interacting with toggl's API

Install

Easiest way to install this package is through PyPi:

$ pip install togglCli

Usage

For full overview of Toggl CLI capabilities please see full documentation.

CLI tool

With first run of the command you will be asked several questions to bootstrap default config file (only UNIX-like system are supported; for Window's users there is created dummy config file, which you have to setup manually).

To get overview of all commands and options please use --help option. Check out also help pages of the subcommands!

Several examples of commands:

# Starts tracking new time entry
$ toggl start

# Displays/enable modifications of currently running time entry
$ toggl now

# Lists all projects
$ toggl projects ls

API wrappers

Toggl CLI comes with set of Python's class wrappers which follow similar pattern like Django ORM.

The wrappers depends on config object which if not provided, the default config file (eq. ~/.togglrc) is used.

Toggl CLI uses pendulum for datetime management, but it is compatible with Python's native datetime, so you can use that if you want to.

from toggl import api, utils
import pendulum

new_entry = api.TimeEntry(description='Some new time entry', start=pendulum.now() - pendulum.duration(minutes=15), stop=pendulum.now())
new_entry.save()

list_of_all_entries = api.TimeEntry.objects.all()

current_time_entry = api.TimeEntry.objects.current()

# Custom config from existing file
config = utils.Config.factory('./some.config')

# Custom config without relying on any existing config file 
config = utils.Config.factory(None)  # Without None it will load the default config file
config.api_token = 'your token'
config.timezone = 'utc'  # Custom timezone

project = api.Project.object.get(123, config=config)
project.name = 'Some new name'
project.save()

Contributing

Feel free to dive in, contributions are welcomed! Open an issue or submit PRs.

For PRs please see contribution guideline.

License

MIT Β© Adam Uhlir & D. Robert Adams

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].