Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/rutherfordcraze/chronologicon
A minimal CLI time tracker.
https://github.com/rutherfordcraze/chronologicon
Last synced: 5 days ago
JSON representation
A minimal CLI time tracker.
- Host: GitHub
- URL: https://github.com/rutherfordcraze/chronologicon
- Owner: rutherfordcraze
- License: mit
- Created: 2018-10-17T07:25:10.000Z (about 6 years ago)
- Default Branch: master
- Last Pushed: 2019-01-30T14:22:42.000Z (almost 6 years ago)
- Last Synced: 2024-10-01T19:38:43.412Z (about 1 month ago)
- Language: Python
- Homepage:
- Size: 4.52 MB
- Stars: 100
- Watchers: 2
- Forks: 8
- Open Issues: 1
-
Metadata Files:
- Readme: readme.md
- Changelog: changelog.md
- License: license.md
Awesome Lists containing this project
- awesome-starred - rutherfordcraze/chronologicon - A minimal CLI time tracker. (others)
README
# Chronologicon
v5.7 — 190130A minimal time tracker, now rewritten for the command line. Chronologicon records your work sessions and displays graphs based on your projects.
![Example screenshot](screenshot.jpg)
> __Note:__
> This software is built specifically as a productivity tool for myself, not as a consumer resource. While I do my best to resolve issues and implement new features, I cannot commit a large amount of time to maintaining the software.## Install
### From the Repo:
```
git clone https://github.com/rutherfordcraze/chronologicon
cd chronologicon
pip install --user -e .
```### Via pip:
```
pip install chronologicon
```## Logs
Chronologicon stores work sessions as *logs.* Each log has a named *discipline* and *project,* along with an optional note. The project should be self-explanatory; the discipline refers to the general type of work. I separate mine into *visual, code,* and *research*, but you should use whichever categories feel most suited to your workflow.The note is optional, but may be useful to you for recording the specific task you're working on.
A list of all logs is saved in `logs.json`, in Chronologicon's save directory. This file can (and should) be backed up with the `$ chron backup` command.
`stat.json` contains a more lightweight summary of these log data, which is used to display the graphs. It's overwritten every time you complete a log.
## Commands
```
start Start a new log timer
stop Complete the current log
status Check whether a log is in progress
cancel Abort the current entry
stats View stats & graphs
backup Backup the log data file
list Show the 10 most recent logs
edit Edit an attribute of a specific log
remove Remove a specific log
directory Change the save directory
```The first time you use Chronologicon, you'll need to specify a save directory with the `directory` command.
## Example Usage
`$ chron directory ~/Documents/Chron` Change the save directory to a folder on your computer.
`$ chron start 'discipline' 'project' 'note'`
Create a new log with discipline, project, and (optionally) a note.`$ chron stop`
Stop tracking and save the current log.## Stats
`$ chron stats` has optional arguments:
```
verbose Show additional projects
uniform Display project graphs as full width
refresh Force recalculate stats
```Example usage:
`$ chron stats uniform verbose`
`$ chron stats refresh`
## Synonyms
Some commands have synonyms, which you can use if you prefer. Some are actual synonyms, others are shortcuts or legacy commands:
```
start s, -s, begin
stop x, -x, end
cancel abort
list ls
remove rm, delete, del
stats v, -v, graphs
backup b, -b
directory d, -d
```## Editing
> __Warning!__
> Edition and removal of previous logs is a new and largely untested feature.
> Make sure your logs file is backed up.- __Listing entries__:
- `$ chron list`: view the IDs of your 10 most recent logs.
- `$ chron list verbose`: view the ID of every log.
- __Modifying attributes__:
- `$ chron edit `
- Example: `$ chron edit 204 discipline 'music'`
- __Removing entries__:
- `$ chron remove `
- Example: `$ chron remove 42`## Contributors
[Carlos Aguilar](https://github.com/Neko250) made a huge number of cleanup and refactoring changes, along with adding the `remove` feature.
[Luke Charsley](https://github.com/lukecharsley) and [Ricard Garcia](https://github.com/Ricard-Garcia) have both been extremely valuable in finding bugs and providing their feedback.
Other direct contributors are listed on the repository.
Chronologicon is inspired and influenced by time trackers created by [Devine Lu Linvega](https://wiki.xxiivv.com/#tracker), [Josh Avanier](https://joshavanier.github.io/#log), [Vi](https://log.v-os.ca/Home) and [Autophagy](https://github.com/autophagy/faereld). Thank you for making such wonderful things.
Devine also maintains a list of [self-authored time tracking tools](https://github.com/merveilles/Time-Travelers) and their creators, in the form of a github repository.