workedon


Nameworkedon JSON
Version 0.7.0 PyPI version JSON
download
home_pagehttps://github.com/viseshrp/workedon
SummaryWork tracking from your shell.
upload_time2023-04-07 15:07:57
maintainerVisesh Prasad
docs_urlNone
authorVisesh Prasad
requires_python>=3.7
licenseMIT license
keywords workedon work worklog log journal
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage
            workedon
========

[![image](https://img.shields.io/pypi/v/workedon.svg)](https://pypi.python.org/pypi/workedon)
[![Python versions](https://img.shields.io/pypi/pyversions/workedon.svg?logo=python&logoColor=white)](https://pypi.org/project/workedon/)
[![Tests status](https://github.com/viseshrp/workedon/workflows/Test/badge.svg)](https://github.com/viseshrp/workedon/actions?query=workflow%3ATest)
[![Coverage](https://codecov.io/gh/viseshrp/workedon/branch/develop/graph/badge.svg)](https://codecov.io/gh/viseshrp/workedon)
[![License](https://img.shields.io/badge/license-MIT-blue.svg)](https://github.com/viseshrp/workedon/blob/develop/LICENSE)
[![Downloads](https://pepy.tech/badge/workedon)](https://pepy.tech/project/workedon)

Work tracking from your shell.

![demo](https://raw.githubusercontent.com/viseshrp/workedon/develop/demo.gif)

Why build this
--------------

I believe tracking your work is an important way of measuring productivity
and is a habit that is very helpful to develop. But the thing about habits
is - if they aren’t easy and accessible, you will eventually stop doing
them - just like going to a gym that is 40 minutes away :) I tried
different methods to log my work and failed. Google Docs, iCloud
Notes, Notepad++, Sticky Notes, etc. I really wanted a way of tracking
with very little effort so I could make this a habit.
It's pretty obvious that we all spend most of our day on the terminal.
Wouldn’t it be nice if I wrote a feature, committed it and then logged
what I did right then and there without a second thought?
What if I could also search this based on date so I could look at,
for example, how productive I was in the past week?

`workedon` is another attempt of mine to make work logging a habit and
improve my productivity.

How it works
------------

This tool is useful in two ways - for logging work and fetching logged work.
The implementation is very simple. Work is logged in the form of
`workedon <text> @ <date>`or just `workedon <text>`
(which uses the current date/time). There is a custom parser that reads the
content, splits it at the `@` to a work and a date component and then uses
the awesome `dateparser` library to parse human-readable dates into datetime
objects. This is then saved in a SQLite database
([File location varies](https://github.com/platformdirs/platformdirs) based
on OS). Logged work can be fetched using multiple options that accept similar
human-readable date/times. The same parser is used again to parse into datetime
objects which are used to query the database. The output uses the current
shell's pager to display a paged list similar to `git log`
(your output may slightly vary based on your shell).

Installation
------------

``` {.bash}
pip install workedon
```

Requirements
------------

- Python 3.7+

Features
--------

- Log work from your shell in plain text with human-readable dates/times.
  - The date/time is optional. The default is the current date/time.
  - The `@` character is used to separate the text from the
  date/time.
- Fetch logged work with human-readable dates/times.
- Familiar Git-like interface.
- Filter, sort, delete, format and display logged work on your shell.
- Set date/time format of the output through settings.

Settings
--------

Whenever `workedon` is run for the first time, a settings file named
`wonfile.py` is generated at the user's configuration directory, which
varies based on OS. To find out, run:

``` {.bash}
workedon --print-settings-path
```

Settings are strings used to configure the behavior of `workedon`.
The currently available settings are:

- `DATE_FORMAT` : Sets the date format of the output.
  - Must be a valid Python [strftime](https://strftime.org/) string.
  - Option: `--date-format <value>`
  - Environment variable: `WORKEDON_DATE_FORMAT`
- `TIME_FORMAT` : Sets the time format of the output.
  - Must be a valid Python [strftime](https://strftime.org/) string.
  - Option: `--time-format <value>`
  - Environment variable: `WORKEDON_TIME_FORMAT`
- `DATETIME_FORMAT` : Sets the date and time format of the output.
  - Must be a valid Python [strftime](https://strftime.org/) string.
  - Setting this overrides `DATE_FORMAT` and `TIME_FORMAT`.
  - Option: `--datetime-format <value>`
  - Environment variable: `WORKEDON_DATETIME_FORMAT`
- `TIME_ZONE` : Sets the time zone of the output.
  - Must be a valid
    [timezone string](https://en.wikipedia.org/wiki/List_of_tz_database_time_zones).
  - Default is the auto-detected timezone using the
    [tzlocal](https://github.com/regebro/tzlocal) library.
  - Option: `--time-zone <value>`
  - Environment variable: `WORKEDON_TIME_ZONE`

Order of priority is Option > Environment variable > Setting.

To find your current settings, run:

``` {.bash}
workedon --print-settings
```

Check the default settings
[here](https://github.com/viseshrp/workedon/blob/develop/workedon/default_settings.py).

Usage
-----

<!-- [[[cog
import cog
from workedon import cli
from click.testing import CliRunner
runner = CliRunner()
result = runner.invoke(cli.main, ["--help"])
out = result.output.replace("Usage: main", "Usage: workedon")
result = runner.invoke(cli.what, ["--help"])
what_out = result.output
cog.out(
    "``` {{.bash}}\n"
    "$ workedon --help\n"
    "{}\n"
    "$ workedon what --help\n"
    "{}"
    "```".format(out, what_out)
)
]]] -->
``` {.bash}
$ workedon --help
Usage: workedon [OPTIONS] COMMAND [ARGS]...

  Work tracking from your shell.

  Example usages:
  1. Logging work:
  workedon painting the garage
  workedon studying for the SAT @ June 23 2010
  workedon pissing my wife off @ 2pm yesterday

  2. Fetching work:
  workedon what
  workedon what --from "2pm yesterday" --to "9am today"
  workedon what --today
  workedon what --past-month

Options:
  -v, --version  Show the version and exit.
  -h, --help     Show this message and exit.

Commands:
  workedon*  Specify what you worked on, with optional date/time.
  what       Fetch and display logged work.

$ workedon what --help
Usage: what [OPTIONS]

  Fetch and display logged work.

  If no options are provided, work
  from the past week is returned.

Options:
  -r, --reverse           Reverse order while sorting.
  -n, --count INTEGER     Number of entries to return.
  -s, --last              Fetch the last thing you worked on
  -i, --id TEXT           id to fetch with.
  -f, --from TEXT         Start date-time to filter with.
  -t, --to TEXT           End date-time to filter with.
  --since TEXT            Fetch work done since a specified date-time in the
                          past.
  -d, --past-day          Fetch work done in the past 24 hours.
  -w, --past-week         Fetch work done in the past week.
  -m, --past-month        Fetch work done in the past month.
  -y, --past-year         Fetch work done in the past year.
  -e, --yesterday         Fetch work done yesterday.
  -o, --today             Fetch work done today.
  --on TEXT               Fetch work done on a particular date/day.
  --at TEXT               Fetch work done at a particular time on a particular
                          date/day.
  --delete                Delete fetched work.
  -g, --no-page           Don't page the output.
  -l, --text-only         Output the work log text only.
  --date-format TEXT      Sets the date format of the output. Must be a valid
                          Python strftime string.
  --time-format TEXT      Sets the time format of the output. Must be a valid
                          Python strftime string.
  --datetime-format TEXT  Sets the datetime format of the output. Must be a
                          valid Python strftime string.
  --time-zone TEXT        Sets the timezone of the output. Must be a valid
                          timezone string.
  --help                  Show this message and exit.
```
<!-- [[[end]]] -->

Limitations
-----------

- Your input is limited by your shell. Certain characters like the single
  quote `'` behave differently. Put your content within double quotes
  to get around special characters.

  For example:

  ``` {.bash}
  workedon "repairing my wife's phone"
  ```

- The [date parser](https://github.com/scrapinghub/dateparser) which is
  used may misinterpret some irregular phrases of date/time, but mostly
  does great.

- There are some reserved keywords that are used as subcommands and
  cannot be used as the first word of your log's content:
  - `workedon`
  - `what`

  You can use double quotes here as well to get around this.

  For example, this will not work:

  ``` {.bash}
  workedon what my wife asked me to do @ 3pm 3 days ago
  ```

  This is fine:

  ``` {.bash}
  workedon "what my wife asked me to do" @ 3pm 3 days ago
  ```

Credits
-------

- [dateparser](https://github.com/scrapinghub/dateparser), for an
    amazing date parser. This project would not be possible without it.
- [peewee](https://github.com/coleifer/peewee), for a nice and
   tiny ORM to interact with SQLite.
- [Click](https://click.palletsprojects.com), for making writing CLI
    tools a complete pleasure.
- [jrnl](https://github.com/jrnl-org/jrnl),
    [fck](https://github.com/nvbn/thefuck) and
    [Simon Willison](https://github.com/simonw/sqlite-utils/) for some
    inspiration.


# History

## 0.7.0 (2023-04-07)

- add option and environment variable alternatives for all settings
- add setting to specify timezone for display
  - setting : `TIME_ZONE`
  - option: `--time-zone <value>`
  - environment variable: `WORKEDON_TIME_ZONE`
- fix usage of date/time formatting settings
- BREAKING (for advanced users only): removed the `db` and `conf`
  subcommands and moved their options under the main `workedon`
  command to free up reserved keywords `db` and `conf`.
  - `workedon db --print-path` is now `workedon --print-db-path`
  - `workedon db --vacuum` is now `workedon --vacuum-db`
  - `workedon db --truncate` is now `workedon --truncate-db`
  - `workedon db --version` is now `workedon --db-version`
  - `workedon conf --print-path` is now `workedon --print-settings-path`
  - `workedon conf --print` is now `workedon --print-settings`
  - all above options are now hidden from the user

## 0.6.3 (2023-04-02)

- enable the settings file `wonfile.py`
- allow  settings `DATE_FORMAT`, `TIME_FORMAT`, `DATETIME_FORMAT`
- add a `conf` command to view the settings
- fix load_module deprecation
- change default date/time format

## 0.6.2 (2023-03-21)

- more database optimizations
- add --version for the db subcommand to print current SQLite version

## 0.6.1 (2023-03-20)

- add some database optimizations
- add a new "db" subcommand for database maintenance (advanced users only)
- add --print-path to print database file path
- add --vacuum to run VACUUM on the database
- add --truncate to delete all saved work
- Remove usage of reserved keyword "work" and make it available

## 0.6.0 (2023-02-05)

- add fetching by id using --id/-i

## 0.5.9 (2023-02-05)

- make --count work with all other options

## 0.5.8 (2023-01-27)

- fix hash generation

## 0.5.7 (2023-01-26)

- fix deletion

## 0.5.6 (2023-01-25)

- add --since as alternative for --from
- fix formatting in shell

## 0.5.5 (2023-01-23)

- add -l/--text-only for text-only output
- remove -d used as alternative for --delete

## 0.5.4 (2023-01-22)

- add -g as alternative for no-page
- fix help text
- update README
- hashlib: set usedforsecurity

## 0.5.3 (2023-01-18)

- allow reverse sorting using -r/--reverse

## 0.5.2 (2023-01-18)

- remove recording seconds for simple querying
- add --no-page to avoid paging
- improve deleting

## 0.5.1 (2023-01-18)

- fix start \> end check
- add --at to fetch work done at a particular time on a particular
    date/day

## 0.5.0 (2023-01-14)

- Breaking: rename database to won.db
(A new database will be created and the old one will no longer be used.)

## 0.4.5 (2023-01-13)

- fix error message

## 0.4.4 (2023-01-13)

- raise if start date is greater than end date

## 0.4.3 (2023-01-12)

- don't force color when paging

## 0.4.2 (2023-01-12)

- Python 3.11 support

## 0.4.1 (2023-01-12)

- ask for deletion only if there's something
- use tz aware now() for comparison

## 0.4.0 (2023-01-11)

- Breaking: rename database to wondb.sqlite3
- force colored output on windows
- use tz aware RELATIVE\_BASE

## 0.3.3 (2023-01-09)

- add --delete/-d for deletion
- add --on to fetch work done on a particular date/day
- add --last/-s to fetch the last entered work log

## 0.3.2 (2023-01-08)

- make dependency versions flexible

## 0.3.1 (2023-01-08)

- Fixed README

## 0.3.0 (2023-01-08)

- First release on PyPI.

            

Raw data

            {
    "_id": null,
    "home_page": "https://github.com/viseshrp/workedon",
    "name": "workedon",
    "maintainer": "Visesh Prasad",
    "docs_url": null,
    "requires_python": ">=3.7",
    "maintainer_email": "viseshrprasad@gmail.com",
    "keywords": "workedon work worklog log journal",
    "author": "Visesh Prasad",
    "author_email": "viseshrprasad@gmail.com",
    "download_url": "",
    "platform": null,
    "description": "workedon\n========\n\n[![image](https://img.shields.io/pypi/v/workedon.svg)](https://pypi.python.org/pypi/workedon)\n[![Python versions](https://img.shields.io/pypi/pyversions/workedon.svg?logo=python&logoColor=white)](https://pypi.org/project/workedon/)\n[![Tests status](https://github.com/viseshrp/workedon/workflows/Test/badge.svg)](https://github.com/viseshrp/workedon/actions?query=workflow%3ATest)\n[![Coverage](https://codecov.io/gh/viseshrp/workedon/branch/develop/graph/badge.svg)](https://codecov.io/gh/viseshrp/workedon)\n[![License](https://img.shields.io/badge/license-MIT-blue.svg)](https://github.com/viseshrp/workedon/blob/develop/LICENSE)\n[![Downloads](https://pepy.tech/badge/workedon)](https://pepy.tech/project/workedon)\n\nWork tracking from your shell.\n\n![demo](https://raw.githubusercontent.com/viseshrp/workedon/develop/demo.gif)\n\nWhy build this\n--------------\n\nI believe tracking your work is an important way of measuring productivity\nand is a habit that is very helpful to develop. But the thing about habits\nis - if they aren\u2019t easy and accessible, you will eventually stop doing\nthem - just like going to a gym that is 40 minutes away :) I tried\ndifferent methods to log my work and failed. Google Docs, iCloud\nNotes, Notepad++, Sticky Notes, etc. I really wanted a way of tracking\nwith very little effort so I could make this a habit.\nIt's pretty obvious that we all spend most of our day on the terminal.\nWouldn\u2019t it be nice if I wrote a feature, committed it and then logged\nwhat I did right then and there without a second thought?\nWhat if I could also search this based on date so I could look at,\nfor example, how productive I was in the past week?\n\n`workedon` is another attempt of mine to make work logging a habit and\nimprove my productivity.\n\nHow it works\n------------\n\nThis tool is useful in two ways - for logging work and fetching logged work.\nThe implementation is very simple. Work is logged in the form of\n`workedon <text> @ <date>`or just `workedon <text>`\n(which uses the current date/time). There is a custom parser that reads the\ncontent, splits it at the `@` to a work and a date component and then uses\nthe awesome `dateparser` library to parse human-readable dates into datetime\nobjects. This is then saved in a SQLite database\n([File location varies](https://github.com/platformdirs/platformdirs) based\non OS). Logged work can be fetched using multiple options that accept similar\nhuman-readable date/times. The same parser is used again to parse into datetime\nobjects which are used to query the database. The output uses the current\nshell's pager to display a paged list similar to `git log`\n(your output may slightly vary based on your shell).\n\nInstallation\n------------\n\n``` {.bash}\npip install workedon\n```\n\nRequirements\n------------\n\n- Python 3.7+\n\nFeatures\n--------\n\n- Log work from your shell in plain text with human-readable dates/times.\n  - The date/time is optional. The default is the current date/time.\n  - The `@` character is used to separate the text from the\n  date/time.\n- Fetch logged work with human-readable dates/times.\n- Familiar Git-like interface.\n- Filter, sort, delete, format and display logged work on your shell.\n- Set date/time format of the output through settings.\n\nSettings\n--------\n\nWhenever `workedon` is run for the first time, a settings file named\n`wonfile.py` is generated at the user's configuration directory, which\nvaries based on OS. To find out, run:\n\n``` {.bash}\nworkedon --print-settings-path\n```\n\nSettings are strings used to configure the behavior of `workedon`.\nThe currently available settings are:\n\n- `DATE_FORMAT` : Sets the date format of the output.\n  - Must be a valid Python [strftime](https://strftime.org/) string.\n  - Option: `--date-format <value>`\n  - Environment variable: `WORKEDON_DATE_FORMAT`\n- `TIME_FORMAT` : Sets the time format of the output.\n  - Must be a valid Python [strftime](https://strftime.org/) string.\n  - Option: `--time-format <value>`\n  - Environment variable: `WORKEDON_TIME_FORMAT`\n- `DATETIME_FORMAT` : Sets the date and time format of the output.\n  - Must be a valid Python [strftime](https://strftime.org/) string.\n  - Setting this overrides `DATE_FORMAT` and `TIME_FORMAT`.\n  - Option: `--datetime-format <value>`\n  - Environment variable: `WORKEDON_DATETIME_FORMAT`\n- `TIME_ZONE` : Sets the time zone of the output.\n  - Must be a valid\n    [timezone string](https://en.wikipedia.org/wiki/List_of_tz_database_time_zones).\n  - Default is the auto-detected timezone using the\n    [tzlocal](https://github.com/regebro/tzlocal) library.\n  - Option: `--time-zone <value>`\n  - Environment variable: `WORKEDON_TIME_ZONE`\n\nOrder of priority is Option > Environment variable > Setting.\n\nTo find your current settings, run:\n\n``` {.bash}\nworkedon --print-settings\n```\n\nCheck the default settings\n[here](https://github.com/viseshrp/workedon/blob/develop/workedon/default_settings.py).\n\nUsage\n-----\n\n<!-- [[[cog\nimport cog\nfrom workedon import cli\nfrom click.testing import CliRunner\nrunner = CliRunner()\nresult = runner.invoke(cli.main, [\"--help\"])\nout = result.output.replace(\"Usage: main\", \"Usage: workedon\")\nresult = runner.invoke(cli.what, [\"--help\"])\nwhat_out = result.output\ncog.out(\n    \"``` {{.bash}}\\n\"\n    \"$ workedon --help\\n\"\n    \"{}\\n\"\n    \"$ workedon what --help\\n\"\n    \"{}\"\n    \"```\".format(out, what_out)\n)\n]]] -->\n``` {.bash}\n$ workedon --help\nUsage: workedon [OPTIONS] COMMAND [ARGS]...\n\n  Work tracking from your shell.\n\n  Example usages:\n  1. Logging work:\n  workedon painting the garage\n  workedon studying for the SAT @ June 23 2010\n  workedon pissing my wife off @ 2pm yesterday\n\n  2. Fetching work:\n  workedon what\n  workedon what --from \"2pm yesterday\" --to \"9am today\"\n  workedon what --today\n  workedon what --past-month\n\nOptions:\n  -v, --version  Show the version and exit.\n  -h, --help     Show this message and exit.\n\nCommands:\n  workedon*  Specify what you worked on, with optional date/time.\n  what       Fetch and display logged work.\n\n$ workedon what --help\nUsage: what [OPTIONS]\n\n  Fetch and display logged work.\n\n  If no options are provided, work\n  from the past week is returned.\n\nOptions:\n  -r, --reverse           Reverse order while sorting.\n  -n, --count INTEGER     Number of entries to return.\n  -s, --last              Fetch the last thing you worked on\n  -i, --id TEXT           id to fetch with.\n  -f, --from TEXT         Start date-time to filter with.\n  -t, --to TEXT           End date-time to filter with.\n  --since TEXT            Fetch work done since a specified date-time in the\n                          past.\n  -d, --past-day          Fetch work done in the past 24 hours.\n  -w, --past-week         Fetch work done in the past week.\n  -m, --past-month        Fetch work done in the past month.\n  -y, --past-year         Fetch work done in the past year.\n  -e, --yesterday         Fetch work done yesterday.\n  -o, --today             Fetch work done today.\n  --on TEXT               Fetch work done on a particular date/day.\n  --at TEXT               Fetch work done at a particular time on a particular\n                          date/day.\n  --delete                Delete fetched work.\n  -g, --no-page           Don't page the output.\n  -l, --text-only         Output the work log text only.\n  --date-format TEXT      Sets the date format of the output. Must be a valid\n                          Python strftime string.\n  --time-format TEXT      Sets the time format of the output. Must be a valid\n                          Python strftime string.\n  --datetime-format TEXT  Sets the datetime format of the output. Must be a\n                          valid Python strftime string.\n  --time-zone TEXT        Sets the timezone of the output. Must be a valid\n                          timezone string.\n  --help                  Show this message and exit.\n```\n<!-- [[[end]]] -->\n\nLimitations\n-----------\n\n- Your input is limited by your shell. Certain characters like the single\n  quote `'` behave differently. Put your content within double quotes\n  to get around special characters.\n\n  For example:\n\n  ``` {.bash}\n  workedon \"repairing my wife's phone\"\n  ```\n\n- The [date parser](https://github.com/scrapinghub/dateparser) which is\n  used may misinterpret some irregular phrases of date/time, but mostly\n  does great.\n\n- There are some reserved keywords that are used as subcommands and\n  cannot be used as the first word of your log's content:\n  - `workedon`\n  - `what`\n\n  You can use double quotes here as well to get around this.\n\n  For example, this will not work:\n\n  ``` {.bash}\n  workedon what my wife asked me to do @ 3pm 3 days ago\n  ```\n\n  This is fine:\n\n  ``` {.bash}\n  workedon \"what my wife asked me to do\" @ 3pm 3 days ago\n  ```\n\nCredits\n-------\n\n- [dateparser](https://github.com/scrapinghub/dateparser), for an\n    amazing date parser. This project would not be possible without it.\n- [peewee](https://github.com/coleifer/peewee), for a nice and\n   tiny ORM to interact with SQLite.\n- [Click](https://click.palletsprojects.com), for making writing CLI\n    tools a complete pleasure.\n- [jrnl](https://github.com/jrnl-org/jrnl),\n    [fck](https://github.com/nvbn/thefuck) and\n    [Simon Willison](https://github.com/simonw/sqlite-utils/) for some\n    inspiration.\n\n\n# History\n\n## 0.7.0 (2023-04-07)\n\n- add option and environment variable alternatives for all settings\n- add setting to specify timezone for display\n  - setting : `TIME_ZONE`\n  - option: `--time-zone <value>`\n  - environment variable: `WORKEDON_TIME_ZONE`\n- fix usage of date/time formatting settings\n- BREAKING (for advanced users only): removed the `db` and `conf`\n  subcommands and moved their options under the main `workedon`\n  command to free up reserved keywords `db` and `conf`.\n  - `workedon db --print-path` is now `workedon --print-db-path`\n  - `workedon db --vacuum` is now `workedon --vacuum-db`\n  - `workedon db --truncate` is now `workedon --truncate-db`\n  - `workedon db --version` is now `workedon --db-version`\n  - `workedon conf --print-path` is now `workedon --print-settings-path`\n  - `workedon conf --print` is now `workedon --print-settings`\n  - all above options are now hidden from the user\n\n## 0.6.3 (2023-04-02)\n\n- enable the settings file `wonfile.py`\n- allow  settings `DATE_FORMAT`, `TIME_FORMAT`, `DATETIME_FORMAT`\n- add a `conf` command to view the settings\n- fix load_module deprecation\n- change default date/time format\n\n## 0.6.2 (2023-03-21)\n\n- more database optimizations\n- add --version for the db subcommand to print current SQLite version\n\n## 0.6.1 (2023-03-20)\n\n- add some database optimizations\n- add a new \"db\" subcommand for database maintenance (advanced users only)\n- add --print-path to print database file path\n- add --vacuum to run VACUUM on the database\n- add --truncate to delete all saved work\n- Remove usage of reserved keyword \"work\" and make it available\n\n## 0.6.0 (2023-02-05)\n\n- add fetching by id using --id/-i\n\n## 0.5.9 (2023-02-05)\n\n- make --count work with all other options\n\n## 0.5.8 (2023-01-27)\n\n- fix hash generation\n\n## 0.5.7 (2023-01-26)\n\n- fix deletion\n\n## 0.5.6 (2023-01-25)\n\n- add --since as alternative for --from\n- fix formatting in shell\n\n## 0.5.5 (2023-01-23)\n\n- add -l/--text-only for text-only output\n- remove -d used as alternative for --delete\n\n## 0.5.4 (2023-01-22)\n\n- add -g as alternative for no-page\n- fix help text\n- update README\n- hashlib: set usedforsecurity\n\n## 0.5.3 (2023-01-18)\n\n- allow reverse sorting using -r/--reverse\n\n## 0.5.2 (2023-01-18)\n\n- remove recording seconds for simple querying\n- add --no-page to avoid paging\n- improve deleting\n\n## 0.5.1 (2023-01-18)\n\n- fix start \\> end check\n- add --at to fetch work done at a particular time on a particular\n    date/day\n\n## 0.5.0 (2023-01-14)\n\n- Breaking: rename database to won.db\n(A new database will be created and the old one will no longer be used.)\n\n## 0.4.5 (2023-01-13)\n\n- fix error message\n\n## 0.4.4 (2023-01-13)\n\n- raise if start date is greater than end date\n\n## 0.4.3 (2023-01-12)\n\n- don't force color when paging\n\n## 0.4.2 (2023-01-12)\n\n- Python 3.11 support\n\n## 0.4.1 (2023-01-12)\n\n- ask for deletion only if there's something\n- use tz aware now() for comparison\n\n## 0.4.0 (2023-01-11)\n\n- Breaking: rename database to wondb.sqlite3\n- force colored output on windows\n- use tz aware RELATIVE\\_BASE\n\n## 0.3.3 (2023-01-09)\n\n- add --delete/-d for deletion\n- add --on to fetch work done on a particular date/day\n- add --last/-s to fetch the last entered work log\n\n## 0.3.2 (2023-01-08)\n\n- make dependency versions flexible\n\n## 0.3.1 (2023-01-08)\n\n- Fixed README\n\n## 0.3.0 (2023-01-08)\n\n- First release on PyPI.\n",
    "bugtrack_url": null,
    "license": "MIT license",
    "summary": "Work tracking from your shell.",
    "version": "0.7.0",
    "split_keywords": [
        "workedon",
        "work",
        "worklog",
        "log",
        "journal"
    ],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "3692a55b06231a2ed20adae7208b086a0103f0572e0044b1bd65874527b99daa",
                "md5": "9fc73af0f4cae6d535d6a51da2d4d315",
                "sha256": "f8ddbdab2eb8f3c2e42dd531fe2a416ffb2890d27f787caba8afd07153d7ba49"
            },
            "downloads": -1,
            "filename": "workedon-0.7.0-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "9fc73af0f4cae6d535d6a51da2d4d315",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": ">=3.7",
            "size": 16434,
            "upload_time": "2023-04-07T15:07:57",
            "upload_time_iso_8601": "2023-04-07T15:07:57.189011Z",
            "url": "https://files.pythonhosted.org/packages/36/92/a55b06231a2ed20adae7208b086a0103f0572e0044b1bd65874527b99daa/workedon-0.7.0-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2023-04-07 15:07:57",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "github_user": "viseshrp",
    "github_project": "workedon",
    "travis_ci": false,
    "coveralls": true,
    "github_actions": true,
    "lcname": "workedon"
}
        
Elapsed time: 5.35340s