Metadata-Version: 2.4
Name: track-time-cli
Version: 0.1.0
Summary: A small command-line time tracker with sheets, notes, and Rich-formatted output.
Author-email: Cris Mihalache <f3rnox42@gmail.com>
License-Expression: MIT
Project-URL: Homepage, https://github.com/f3rnox/py-track-time-cli
Project-URL: Repository, https://github.com/f3rnox/py-track-time-cli
Project-URL: Issues, https://github.com/f3rnox/py-track-time-cli/issues
Keywords: cli,time-tracking,typer,rich
Classifier: Development Status :: 4 - Beta
Classifier: Environment :: Console
Classifier: Intended Audience :: Developers
Classifier: Operating System :: OS Independent
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Programming Language :: Python :: 3.13
Classifier: Programming Language :: Python :: 3.14
Classifier: Topic :: Office/Business :: Scheduling
Requires-Python: >=3.10
Description-Content-Type: text/markdown
License-File: LICENSE.md
Requires-Dist: rich>=14.0.0
Requires-Dist: typer>=0.24.0
Requires-Dist: humanize>=4.15.0
Requires-Dist: dateparser>=1.3.0
Dynamic: license-file

# track-time-cli

A small command-line time tracker. Organize work into **sheets**, clock **in** and **out**, attach **notes** to running entries, and inspect totals with formatted tables (via [Rich](https://github.com/Textualize/rich)).

## Installation

From [PyPI](https://pypi.org/project/track-time-cli/):

```bash
pip install track-time-cli
```

The CLI is installed as **`tt`**.

## Quick start

1. Create or switch to a sheet:

   ```bash
   tt sheet my-project
   ```

2. Start tracking:

   ```bash
   tt in "Implementing feature X"
   ```

3. Stop tracking:

   ```bash
   tt out
   ```

4. With no subcommand, `tt` shows the current running entry (if any):

   ```bash
   tt
   ```

## Data

State is stored under your home directory:

- **`~/.track-time-cli/db.json`**

## Commands

| Command | Description |
|--------|-------------|
| `tt` | Show the active running entry and its notes, if any. |
| `tt in <description> [--at <time>]` | Check in on the active sheet. `--at` accepts natural language (e.g. `10 minutes ago`) via [dateparser](https://github.com/scrapinghub/dateparser). |
| `tt out [--at <time>]` | Check out the running entry. |
| `tt list` | List all entries on the active sheet with durations and totals. |
| `tt sheet <name>` | Create the sheet if needed, then switch to it as active. |
| `tt sheet <name> --delete` / `-d` | Delete a sheet (prompts if it has entries). |
| `tt sheets` | List all sheets with entry counts and total time. |
| `tt note <text> [--at <time>]` | Append a note to the running entry. |
| `tt edit <description>` | Change the description of the running entry. |
| `tt resume` | Start a new entry copying the description of the last completed entry on the active sheet. |
| `tt cancel` | Remove the running entry without recording it. |

## Dependencies

Runtime dependencies are declared in `pyproject.toml`: Typer, Rich, humanize, and dateparser.
