nttl


Namenttl JSON
Version 0.3.1 PyPI version JSON
download
home_pagehttps://vonshednob.cc/nttl/
SummaryTiny time tracker for the commandline
upload_time2024-04-12 20:11:04
maintainerNone
docs_urlNone
authorR
requires_python>=3.11
licenseGPL version 3
keywords
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            # NTTL

**N**o **T**ime **T**o **L**ose, a tiny command line (work) time tracker
with basic report capabilities and a plain text data storage format.


## Tracking Time

To start tracking the time you spend on a task, simply run

```bash
    nttl start
```

To see what you’re currently tracking, run

```bash
    nttl status
```

Once you’re done, run

```bash
    nttl stop
```

To list the measured time spans, run

```bash
    nttl list
```

`nttl` might then output something like this, indicating a time period of
work between 07:32 and 08:57 on 2024-01-28.

```
    2024-01-28 07:32:10 (start)  []
    2024-01-28 08:57:41 (stop)  []
```


If you switch to a new activity, it would be very annoying to have to run
`nttl stop` and `nttl start`. Instead you can use

```bash
    nttl switch
```

There’s also the `event` command, but that only makes sense when you use
labels and descriptions:


## Labels and Descriptions

For `start`, `stop`, `switch`, and `event` you can provide *labels* and a
*description* to specify what exactly you’re working on, like this:

```bash
    nttl start -l work -l programming -d "Adding a new feature to Blarp"
```

This will add the labels `work` and `programming` to the time span that
you’re tracking. This is very useful once you’re getting to the reporting
side of things:

## Time Reports

`nttl` can report the time spent in the three human-readable formats and
one for integration with other programs:

 - Gantt chart, a textual Gantt chart of time spent grouped by labels
 - Bar chart, a textual bar chart of time spent grouped by labels
 - Text report, just a listing grouped by time or labels
 - `CSV` file format

You can tell `nttl` to only include activities with certain labels in the
report with `--label` (or `-l`), or exclude activities that have certain
labels with `--exclude-label` (or `-x`). Both parameters, `-l` and `-x`,
may be provided multiple times.

To select the time window for which to create a report, see Time range
selection:

### Time range selection

The `--start` and `--end` parameters can be used to select the time range
for which a `report` (or `list`) should be created. Their default values
will create a time report for the last seven days.

Both `--start` and `--end` have a short form: `-s` and `-e` respectively.

You can express times in two different ways: absolute and relative.

#### Absolute time selection

Absolute uses the ISO date format and looks like this:

```bash
    nttl report --start "2023-11-28 12:00" --end "2023-12-31 23:59"
```

This would create a report for the time between 2023-11-28 and the end of
the year 2023.

If you only provide a time (e.g. `07:23`), `nttl` assumes you meant "today" at
that time.

If you only provide a date (e.g. `2023-11-29`), `nttl` assumes you meant
`00:00` (midnight) of that date.


#### Relative time selection

You can specify points in time relative to "now" by prefixing the `-s` or
`-e` parameter with `T` followed by, for example:

 - `+20s`, 20 seconds later
 - `+5m`, 5 minutes later
 - `-2h`, 2 hours earlier
 - `-1d`, 1 day earlier
 - `+2w`, 2 weeks later

These can be combined to express, for example, "two weeks and two hours ago": `-2w2h`.

Example, request the report for the last 7 days, excluding today:

```bash
    nttl report --start "T-7d" --end "T-1d"
```

#### Day of week

For the `--start` and `--end` parameters you may also provide the name of a
day of the week in your locale. For example, if your computer is set to
Dutch and you want to show everything since the last Friday, you could run

```bash
    nttl report --start Vrijdag
```

The short version of the day of the week is also understood (e.g. `vr.` in
this example).

No matter what your locale is set to, English weekdays are always
understood.


#### Today

You can use the phrase `today` in both `--start` and `--end`. But it's
usually faster to write the equivalent `T0`.


### Textual report

The textual report is the default, but you can request it explicitly with

```bash
    nttl report -f text
```

The output might look like this:

```
    2024-01-03
      07:30 - 08:15    emails, work    
      08:15 - 08:30    meeting, work    weekly team meeting
      08:30 - 08:43    break    
      08:43 - 10:00    bigProject1, programming, work    
      10:00 - 10:35    bigProject1, meeting, work    project meeting
      10:35 - 12:00    bigProject1, programming, work    
      12:00 - 12:35    break, lunch    
      12:35 - 14:30    otherProject, programming, work    going home earlier
```

You can see the time spans sorted by day and time followed by labels
and description.


### Gantt chart report

This report will produce a textual Gantt chart of time spent on activities
grouped by labels. With the previous textual report in mind, a Gantt chart
report would look like this:

```
     bigProject1  │               ████████████████████████████████████████                             
     break        │            ████                                      ████████                      
     emails       │██████████                                                                          
     lunch        │                                                      ████████                      
     meeting      │         ████                 ████████                                              
     otherProject │                                                             ███████████████████████
     programming  │               ████████████████      ██████████████████      ███████████████████████
     work         │█████████████  ████████████████████████████████████████      ███████████████████████
    ──────────────┼─────────────────────────────────────────────────────────────────────────────────────
                  │└ 07:30 └ 08:10 └ 08:50 └ 09:30 └ 10:10 └ 10:50 └ 11:30 └ 12:10 └ 12:50 └ 13:30 └ 14:10 
                  │
```

By default the X-axis will be 1 hour per character, but you can provide a
`--resolution` parameter to change it. The Gantt chart above was created
with `--resolution 5m` to have 5 minutes per character.


### Bar chart report

This report will produce a textual bar chart of time spent on activities
grouped by labels. With the previous Gantt chart and textual report in
mind, the bar chart would look like this:

```
       7  │                                                                              
       6  │                                                                              
       5  │                                                                         ████ 
       4  │                                                               ▄▄▄▄      ████ 
       3  │     ▂▂▂▂                                                      ████      ████ 
       2  │     ████                                                      ████      ████ 
       1  │     ████                                         ▆▆▆▆         ████      ████ 
       0  │     ████      ▆▆▆▆    ▄▄▄▄   ▄▄▄▄    ▆▆▆▆        ████         ████      ████ 
    ──────┼──────────────────────────────────────────────────────────────────────────────
          │  bigProject1  break  emails  lunch  meeting  otherProject  programming  work
```

The Y-axis is 1 hour per line. This can not be changed at the moment.


## Advanced Usage

### Modified 'Now'

Sometimes you will only be able to `start`, `stop`, or `switch` after the
fact or even before the fact (e.g. when you know you will be in a meeting
in 5 minutes).

To express that, you can use the `--when` (or short `-w`) parameter to
modify the time when that action (`start`, `stop`, `switch`) should be
registered. `--when` accepts both absolute and relative time.

For example, if you have been interrupted in your work by an impromptu
meeting, you could run this after the 15 minutes meeting:

```bash
    nttl switch -l meeting -l work -w "T-15m"
    nttl switch -l work -l programming
```

### Multiple tasks

`nttl` can track multiple tasks at the same time. For example, you could
run

```bash
    nttl start -l work
    nttl start -l meeting
```

At which point `nttl status` would show two active tasks:

```
    Active tasks:
    (1) 2024-01-05 08:12:13  ['work']
    (2) 2024-01-05 08:12:14  ['meeting']
```

Just running `nttl stop` or `nttl switch` would stop the tracking of all
active tasks.  
To only stop one of the running tasks, use the `--task` (or short `-t`)
parameter.

For example, to stop tracking of the meeting, run

```bash
    nttl stop -t 2
```

The first task, labelled `work`, would remain active.

At the moment `-t` does not work for `switch`.


### Events

`nttl` supports an additional action to `start`, `stop`, and `switch`:
`event`. This can be useful when integrating `nttl` with your desktop
environment.

For example, when you lock your screen the desktop environment
could call `nttl event -d "Lock screen"`.

Or you could have a git hook set up to call `nttl event -d "git push"`.

Events can be useful if you want to have checkpoints in your daily
activities to be able to reconstruct the exact time of when you left your
desk or when you completed a task without having to call `nttl` with
`switch` or `start`/`stop` all the time.


### Status Display in Desktop Environment

You can utilise `nttl status` with its formats (`json`, `csv`, `custom`
text) to integrate the current status of tracked tasks into your desktop
environment.

For example, an integration into `sway` with `waybar` could work by adding
this to your `waybar` configuration file:

```json
    "custom/nttl": {
        "format": " {} ",
        "interval": 1,
        "exec-if": "test $(nttl status -f csv 2> /dev/null | wc -l) -gt 0",
        "exec": "nttl status -f custom -c '{description}, {labels}' | head -n 1"
    }
```

It would verify that at least one task is being tracked, by counting the
lines of the `nttl status` export as `csv`, and if there is a task running,
the custom format is used as the label in the task bar.


## Data Storage

The data file is stored in your home directory at
`.local/share/nttl/times.toml` and uses the [TOML](https://toml.io/) file
format.

`nttl` only accesses the data file while running, so you can manually edit
that file in any text editor at any other point in time without affecting
`nttl`.


## Installation

To install `nttl`, it’s probably best to use pip:

```bash
    pip install nttl
```

Alternatively you can clone the git repository and install `nttl` like
this:

```bash
    git clone https://codeberg.org/vonshednob/nttl
    cd nttl
    python setup.py install
```


## License

Copyright (C) 2024 Robert Labudda <mailto:contact+nttl@vonshednob.cc>.

This program is free software: you can redistribute it and/or modify
it under the terms of the [GNU General Public License](LICENSE) as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.

This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
[GNU General Public License](LICENSE) for more details.

You should have received a copy of the [GNU General Public License](LICENSE)
along with this program.  If not, see <https://www.gnu.org/licenses/>.


            

Raw data

            {
    "_id": null,
    "home_page": "https://vonshednob.cc/nttl/",
    "name": "nttl",
    "maintainer": null,
    "docs_url": null,
    "requires_python": ">=3.11",
    "maintainer_email": null,
    "keywords": null,
    "author": "R",
    "author_email": "contact+nttl@vonshednob.cc",
    "download_url": "https://files.pythonhosted.org/packages/23/d2/1be386e241f5c138d59da5c8aa2b001c32ecded067de0f8a70346f489585/nttl-0.3.1.tar.gz",
    "platform": null,
    "description": "# NTTL\n\n**N**o **T**ime **T**o **L**ose, a tiny command line (work) time tracker\nwith basic report capabilities and a plain text data storage format.\n\n\n## Tracking Time\n\nTo start tracking the time you spend on a task, simply run\n\n```bash\n    nttl start\n```\n\nTo see what you\u2019re currently tracking, run\n\n```bash\n    nttl status\n```\n\nOnce you\u2019re done, run\n\n```bash\n    nttl stop\n```\n\nTo list the measured time spans, run\n\n```bash\n    nttl list\n```\n\n`nttl` might then output something like this, indicating a time period of\nwork between 07:32 and 08:57 on 2024-01-28.\n\n```\n    2024-01-28 07:32:10 (start)  []\n    2024-01-28 08:57:41 (stop)  []\n```\n\n\nIf you switch to a new activity, it would be very annoying to have to run\n`nttl stop` and `nttl start`. Instead you can use\n\n```bash\n    nttl switch\n```\n\nThere\u2019s also the `event` command, but that only makes sense when you use\nlabels and descriptions:\n\n\n## Labels and Descriptions\n\nFor `start`, `stop`, `switch`, and `event` you can provide *labels* and a\n*description* to specify what exactly you\u2019re working on, like this:\n\n```bash\n    nttl start -l work -l programming -d \"Adding a new feature to Blarp\"\n```\n\nThis will add the labels `work` and `programming` to the time span that\nyou\u2019re tracking. This is very useful once you\u2019re getting to the reporting\nside of things:\n\n## Time Reports\n\n`nttl` can report the time spent in the three human-readable formats and\none for integration with other programs:\n\n - Gantt chart, a textual Gantt chart of time spent grouped by labels\n - Bar chart, a textual bar chart of time spent grouped by labels\n - Text report, just a listing grouped by time or labels\n - `CSV` file format\n\nYou can tell `nttl` to only include activities with certain labels in the\nreport with `--label` (or `-l`), or exclude activities that have certain\nlabels with `--exclude-label` (or `-x`). Both parameters, `-l` and `-x`,\nmay be provided multiple times.\n\nTo select the time window for which to create a report, see Time range\nselection:\n\n### Time range selection\n\nThe `--start` and `--end` parameters can be used to select the time range\nfor which a `report` (or `list`) should be created. Their default values\nwill create a time report for the last seven days.\n\nBoth `--start` and `--end` have a short form: `-s` and `-e` respectively.\n\nYou can express times in two different ways: absolute and relative.\n\n#### Absolute time selection\n\nAbsolute uses the ISO date format and looks like this:\n\n```bash\n    nttl report --start \"2023-11-28 12:00\" --end \"2023-12-31 23:59\"\n```\n\nThis would create a report for the time between 2023-11-28 and the end of\nthe year 2023.\n\nIf you only provide a time (e.g. `07:23`), `nttl` assumes you meant \"today\" at\nthat time.\n\nIf you only provide a date (e.g. `2023-11-29`), `nttl` assumes you meant\n`00:00` (midnight) of that date.\n\n\n#### Relative time selection\n\nYou can specify points in time relative to \"now\" by prefixing the `-s` or\n`-e` parameter with `T` followed by, for example:\n\n - `+20s`, 20 seconds later\n - `+5m`, 5 minutes later\n - `-2h`, 2 hours earlier\n - `-1d`, 1 day earlier\n - `+2w`, 2 weeks later\n\nThese can be combined to express, for example, \"two weeks and two hours ago\": `-2w2h`.\n\nExample, request the report for the last 7 days, excluding today:\n\n```bash\n    nttl report --start \"T-7d\" --end \"T-1d\"\n```\n\n#### Day of week\n\nFor the `--start` and `--end` parameters you may also provide the name of a\nday of the week in your locale. For example, if your computer is set to\nDutch and you want to show everything since the last Friday, you could run\n\n```bash\n    nttl report --start Vrijdag\n```\n\nThe short version of the day of the week is also understood (e.g. `vr.` in\nthis example).\n\nNo matter what your locale is set to, English weekdays are always\nunderstood.\n\n\n#### Today\n\nYou can use the phrase `today` in both `--start` and `--end`. But it's\nusually faster to write the equivalent `T0`.\n\n\n### Textual report\n\nThe textual report is the default, but you can request it explicitly with\n\n```bash\n    nttl report -f text\n```\n\nThe output might look like this:\n\n```\n    2024-01-03\n      07:30 - 08:15    emails, work    \n      08:15 - 08:30    meeting, work    weekly team meeting\n      08:30 - 08:43    break    \n      08:43 - 10:00    bigProject1, programming, work    \n      10:00 - 10:35    bigProject1, meeting, work    project meeting\n      10:35 - 12:00    bigProject1, programming, work    \n      12:00 - 12:35    break, lunch    \n      12:35 - 14:30    otherProject, programming, work    going home earlier\n```\n\nYou can see the time spans sorted by day and time followed by labels\nand description.\n\n\n### Gantt chart report\n\nThis report will produce a textual Gantt chart of time spent on activities\ngrouped by labels. With the previous textual report in mind, a Gantt chart\nreport would look like this:\n\n```\n     bigProject1  \u2502               \u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588                             \n     break        \u2502            \u2588\u2588\u2588\u2588                                      \u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588                      \n     emails       \u2502\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588                                                                          \n     lunch        \u2502                                                      \u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588                      \n     meeting      \u2502         \u2588\u2588\u2588\u2588                 \u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588                                              \n     otherProject \u2502                                                             \u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\n     programming  \u2502               \u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588      \u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588      \u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\n     work         \u2502\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588  \u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588      \u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\n    \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u253c\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\n                  \u2502\u2514 07:30 \u2514 08:10 \u2514 08:50 \u2514 09:30 \u2514 10:10 \u2514 10:50 \u2514 11:30 \u2514 12:10 \u2514 12:50 \u2514 13:30 \u2514 14:10 \n                  \u2502\n```\n\nBy default the X-axis will be 1 hour per character, but you can provide a\n`--resolution` parameter to change it. The Gantt chart above was created\nwith `--resolution 5m` to have 5 minutes per character.\n\n\n### Bar chart report\n\nThis report will produce a textual bar chart of time spent on activities\ngrouped by labels. With the previous Gantt chart and textual report in\nmind, the bar chart would look like this:\n\n```\n       7  \u2502                                                                              \n       6  \u2502                                                                              \n       5  \u2502                                                                         \u2588\u2588\u2588\u2588 \n       4  \u2502                                                               \u2584\u2584\u2584\u2584      \u2588\u2588\u2588\u2588 \n       3  \u2502     \u2582\u2582\u2582\u2582                                                      \u2588\u2588\u2588\u2588      \u2588\u2588\u2588\u2588 \n       2  \u2502     \u2588\u2588\u2588\u2588                                                      \u2588\u2588\u2588\u2588      \u2588\u2588\u2588\u2588 \n       1  \u2502     \u2588\u2588\u2588\u2588                                         \u2586\u2586\u2586\u2586         \u2588\u2588\u2588\u2588      \u2588\u2588\u2588\u2588 \n       0  \u2502     \u2588\u2588\u2588\u2588      \u2586\u2586\u2586\u2586    \u2584\u2584\u2584\u2584   \u2584\u2584\u2584\u2584    \u2586\u2586\u2586\u2586        \u2588\u2588\u2588\u2588         \u2588\u2588\u2588\u2588      \u2588\u2588\u2588\u2588 \n    \u2500\u2500\u2500\u2500\u2500\u2500\u253c\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\n          \u2502  bigProject1  break  emails  lunch  meeting  otherProject  programming  work\n```\n\nThe Y-axis is 1 hour per line. This can not be changed at the moment.\n\n\n## Advanced Usage\n\n### Modified 'Now'\n\nSometimes you will only be able to `start`, `stop`, or `switch` after the\nfact or even before the fact (e.g. when you know you will be in a meeting\nin 5 minutes).\n\nTo express that, you can use the `--when` (or short `-w`) parameter to\nmodify the time when that action (`start`, `stop`, `switch`) should be\nregistered. `--when` accepts both absolute and relative time.\n\nFor example, if you have been interrupted in your work by an impromptu\nmeeting, you could run this after the 15 minutes meeting:\n\n```bash\n    nttl switch -l meeting -l work -w \"T-15m\"\n    nttl switch -l work -l programming\n```\n\n### Multiple tasks\n\n`nttl` can track multiple tasks at the same time. For example, you could\nrun\n\n```bash\n    nttl start -l work\n    nttl start -l meeting\n```\n\nAt which point `nttl status` would show two active tasks:\n\n```\n    Active tasks:\n    (1) 2024-01-05 08:12:13  ['work']\n    (2) 2024-01-05 08:12:14  ['meeting']\n```\n\nJust running `nttl stop` or `nttl switch` would stop the tracking of all\nactive tasks.  \nTo only stop one of the running tasks, use the `--task` (or short `-t`)\nparameter.\n\nFor example, to stop tracking of the meeting, run\n\n```bash\n    nttl stop -t 2\n```\n\nThe first task, labelled `work`, would remain active.\n\nAt the moment `-t` does not work for `switch`.\n\n\n### Events\n\n`nttl` supports an additional action to `start`, `stop`, and `switch`:\n`event`. This can be useful when integrating `nttl` with your desktop\nenvironment.\n\nFor example, when you lock your screen the desktop environment\ncould call `nttl event -d \"Lock screen\"`.\n\nOr you could have a git hook set up to call `nttl event -d \"git push\"`.\n\nEvents can be useful if you want to have checkpoints in your daily\nactivities to be able to reconstruct the exact time of when you left your\ndesk or when you completed a task without having to call `nttl` with\n`switch` or `start`/`stop` all the time.\n\n\n### Status Display in Desktop Environment\n\nYou can utilise `nttl status` with its formats (`json`, `csv`, `custom`\ntext) to integrate the current status of tracked tasks into your desktop\nenvironment.\n\nFor example, an integration into `sway` with `waybar` could work by adding\nthis to your `waybar` configuration file:\n\n```json\n    \"custom/nttl\": {\n        \"format\": \" {} \",\n        \"interval\": 1,\n        \"exec-if\": \"test $(nttl status -f csv 2> /dev/null | wc -l) -gt 0\",\n        \"exec\": \"nttl status -f custom -c '{description}, {labels}' | head -n 1\"\n    }\n```\n\nIt would verify that at least one task is being tracked, by counting the\nlines of the `nttl status` export as `csv`, and if there is a task running,\nthe custom format is used as the label in the task bar.\n\n\n## Data Storage\n\nThe data file is stored in your home directory at\n`.local/share/nttl/times.toml` and uses the [TOML](https://toml.io/) file\nformat.\n\n`nttl` only accesses the data file while running, so you can manually edit\nthat file in any text editor at any other point in time without affecting\n`nttl`.\n\n\n## Installation\n\nTo install `nttl`, it\u2019s probably best to use pip:\n\n```bash\n    pip install nttl\n```\n\nAlternatively you can clone the git repository and install `nttl` like\nthis:\n\n```bash\n    git clone https://codeberg.org/vonshednob/nttl\n    cd nttl\n    python setup.py install\n```\n\n\n## License\n\nCopyright (C) 2024 Robert Labudda <mailto:contact+nttl@vonshednob.cc>.\n\nThis program is free software: you can redistribute it and/or modify\nit under the terms of the [GNU General Public License](LICENSE) as published by\nthe Free Software Foundation, either version 3 of the License, or\n(at your option) any later version.\n\nThis program is distributed in the hope that it will be useful,\nbut WITHOUT ANY WARRANTY; without even the implied warranty of\nMERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\n[GNU General Public License](LICENSE) for more details.\n\nYou should have received a copy of the [GNU General Public License](LICENSE)\nalong with this program.  If not, see <https://www.gnu.org/licenses/>.\n\n",
    "bugtrack_url": null,
    "license": "GPL version 3",
    "summary": "Tiny time tracker for the commandline",
    "version": "0.3.1",
    "project_urls": {
        "Homepage": "https://vonshednob.cc/nttl/"
    },
    "split_keywords": [],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "b190a2d92b46c20fdf81da8ffb1c83ad707e6c030caf97771be977aa60591aa1",
                "md5": "ba19772f1fe2e991dabcc90d5847fd9d",
                "sha256": "835b1bddefb65aeb40ad6fc12b169d6e84775b50c53167c6aecb09eb91a309c3"
            },
            "downloads": -1,
            "filename": "nttl-0.3.1-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "ba19772f1fe2e991dabcc90d5847fd9d",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": ">=3.11",
            "size": 26788,
            "upload_time": "2024-04-12T20:11:02",
            "upload_time_iso_8601": "2024-04-12T20:11:02.385702Z",
            "url": "https://files.pythonhosted.org/packages/b1/90/a2d92b46c20fdf81da8ffb1c83ad707e6c030caf97771be977aa60591aa1/nttl-0.3.1-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "23d21be386e241f5c138d59da5c8aa2b001c32ecded067de0f8a70346f489585",
                "md5": "4c94062eb8004f5af1b0a3c2496fb981",
                "sha256": "439d422763cf6f82ad58389885213a18b54fe42892375f5fb07a79c5e0051da9"
            },
            "downloads": -1,
            "filename": "nttl-0.3.1.tar.gz",
            "has_sig": false,
            "md5_digest": "4c94062eb8004f5af1b0a3c2496fb981",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": ">=3.11",
            "size": 27592,
            "upload_time": "2024-04-12T20:11:04",
            "upload_time_iso_8601": "2024-04-12T20:11:04.162333Z",
            "url": "https://files.pythonhosted.org/packages/23/d2/1be386e241f5c138d59da5c8aa2b001c32ecded067de0f8a70346f489585/nttl-0.3.1.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2024-04-12 20:11:04",
    "github": false,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "lcname": "nttl"
}
        
R
Elapsed time: 0.23096s