worklog-cli


Nameworklog-cli JSON
Version 0.0.5 PyPI version JSON
download
home_pagehttps://github.com/cproctor/worklog
SummaryWorklog time-tracking utility
upload_time2023-01-01 18:50:33
maintainer
docs_urlNone
authorChris Proctor
requires_python>=3.6
license
keywords
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            # Worklog

A personal time-tracking system. 

Worklog provides a simple mechanism for logging in and out of accounts which are
billed for time elapsed. The author, a professor, uses it to bill time to
various commitments. Some really are paid hourly (e.g. consulting), but most are
not. The primary use is to track and analyze how time is spent. 

## Installation

Assuming you have a Python 3 environment installed, Worklog can be installed by
running `pip install worklog-cli`. You will also need to install
[hledger](https://hledger.org/). 

## Usage

If you are just getting started, make a list of the ways you spend time (or at
least those you want to track). If you want to nest accounts, separate them with
colons. For example, here are a few of my top-level accounts:

```
 academic:code          
 academic:conferences   
 academic:outreach      
 academic:overhead      
 academic:reading       
 academic:research      
 academic:service       
 personal:correspondence
 personal:overhead      
 personal:planning      
```

Now run `work`. You will be asked to log in to an account, and then to enter a
description of the work you are doing. (Accounts can be auto-completed using tab.)

```
$ work
Log in to account: academic:code
Work description: Writing the Worklog README
[Enter to log out]
```

Press enter when you finish that work session, and you will be prompted to log
in to another account. Press Control + C when you are finished. That's it!

## Commands

The base command is `work`, which enters a loop for logging in and out of
accounts. There are several other modes available:

- `work --report` shows recent work statistics and quits. 
- `work --edit` opens the current worklog for editing. Sometimes I find I need to
edit the worklog to add a work session or change times (for example, if I forgot
to log out before going to bed). 
- `work --archive` archives the current worklog at the given filename and starts a
new worklog. If you plan to log your work over time, I suggest you keep your log
files in version control. 

## Configuration

Worklog relies on a simple configuration file which will be automatically
created at `~/.worklog/worklog.config` by default. 

```
[WORKLOG]
logfile = /Users/me/.worklog/worklog.timeclock
editor = vim
```

## Formats

Worklog relies on [hledger](https://hledger.org/), a Haskell implementation of
[ledger](https://github.com/ledger/ledger), for double-entry bookkeeping which
regards time as a resource just like money. One main design goal of this system
is a [human-readable ledger format](https://hledger.org/timeclock.html) which
can also be parsed by scripts. 



            

Raw data

            {
    "_id": null,
    "home_page": "https://github.com/cproctor/worklog",
    "name": "worklog-cli",
    "maintainer": "",
    "docs_url": null,
    "requires_python": ">=3.6",
    "maintainer_email": "",
    "keywords": "",
    "author": "Chris Proctor",
    "author_email": "pypi.org@accounts.chrisproctor.net",
    "download_url": "https://files.pythonhosted.org/packages/3a/51/6c4a1440b3e840d728e5d4b0e2499c2d28fc81c6a1db0f8c4006cfc5e718/worklog-cli-0.0.5.tar.gz",
    "platform": null,
    "description": "# Worklog\n\nA personal time-tracking system. \n\nWorklog provides a simple mechanism for logging in and out of accounts which are\nbilled for time elapsed. The author, a professor, uses it to bill time to\nvarious commitments. Some really are paid hourly (e.g. consulting), but most are\nnot. The primary use is to track and analyze how time is spent. \n\n## Installation\n\nAssuming you have a Python 3 environment installed, Worklog can be installed by\nrunning `pip install worklog-cli`. You will also need to install\n[hledger](https://hledger.org/). \n\n## Usage\n\nIf you are just getting started, make a list of the ways you spend time (or at\nleast those you want to track). If you want to nest accounts, separate them with\ncolons. For example, here are a few of my top-level accounts:\n\n```\n academic:code          \n academic:conferences   \n academic:outreach      \n academic:overhead      \n academic:reading       \n academic:research      \n academic:service       \n personal:correspondence\n personal:overhead      \n personal:planning      \n```\n\nNow run `work`. You will be asked to log in to an account, and then to enter a\ndescription of the work you are doing. (Accounts can be auto-completed using tab.)\n\n```\n$ work\nLog in to account: academic:code\nWork description: Writing the Worklog README\n[Enter to log out]\n```\n\nPress enter when you finish that work session, and you will be prompted to log\nin to another account. Press Control + C when you are finished. That's it!\n\n## Commands\n\nThe base command is `work`, which enters a loop for logging in and out of\naccounts. There are several other modes available:\n\n- `work --report` shows recent work statistics and quits. \n- `work --edit` opens the current worklog for editing. Sometimes I find I need to\nedit the worklog to add a work session or change times (for example, if I forgot\nto log out before going to bed). \n- `work --archive` archives the current worklog at the given filename and starts a\nnew worklog. If you plan to log your work over time, I suggest you keep your log\nfiles in version control. \n\n## Configuration\n\nWorklog relies on a simple configuration file which will be automatically\ncreated at `~/.worklog/worklog.config` by default. \n\n```\n[WORKLOG]\nlogfile = /Users/me/.worklog/worklog.timeclock\neditor = vim\n```\n\n## Formats\n\nWorklog relies on [hledger](https://hledger.org/), a Haskell implementation of\n[ledger](https://github.com/ledger/ledger), for double-entry bookkeeping which\nregards time as a resource just like money. One main design goal of this system\nis a [human-readable ledger format](https://hledger.org/timeclock.html) which\ncan also be parsed by scripts. \n\n\n",
    "bugtrack_url": null,
    "license": "",
    "summary": "Worklog time-tracking utility",
    "version": "0.0.5",
    "split_keywords": [],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "md5": "bee2a8fd5dd149ae4b73c633a27d7db7",
                "sha256": "1b577d6d9b4cfe8896b07833430173d6f59c640bfc5a9ac5dadd6483ef858aca"
            },
            "downloads": -1,
            "filename": "worklog-cli-0.0.5.tar.gz",
            "has_sig": false,
            "md5_digest": "bee2a8fd5dd149ae4b73c633a27d7db7",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": ">=3.6",
            "size": 4579,
            "upload_time": "2023-01-01T18:50:33",
            "upload_time_iso_8601": "2023-01-01T18:50:33.253784Z",
            "url": "https://files.pythonhosted.org/packages/3a/51/6c4a1440b3e840d728e5d4b0e2499c2d28fc81c6a1db0f8c4006cfc5e718/worklog-cli-0.0.5.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2023-01-01 18:50:33",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "github_user": "cproctor",
    "github_project": "worklog",
    "lcname": "worklog-cli"
}
        
Elapsed time: 0.02944s