Metadata-Version: 2.4
Name: urenbewijs
Version: 0.1.0
Summary: Reconstrueer je urencriterium uit GitHub, Claude Code en Toggl — local-first, voor dev-ZZP'ers.
Project-URL: Homepage, https://1225.nl
Project-URL: Repository, https://github.com/cryptoprins-ship-it/uren-administratie
Project-URL: Documentation, https://1225.nl/handleiding
Author-email: Marcel <hallo@1225.nl>
License: MIT
License-File: LICENSE
Keywords: 1225,belastingdienst,claude-code,github-hours,urencriterium,zzp
Classifier: Development Status :: 4 - Beta
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: MIT License
Classifier: Operating System :: OS Independent
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Programming Language :: Python :: 3.13
Classifier: Topic :: Office/Business :: Financial :: Accounting
Requires-Python: >=3.11
Requires-Dist: click>=8.1
Requires-Dist: python-dotenv>=1.0
Requires-Dist: reportlab>=4.0
Requires-Dist: requests>=2.31
Requires-Dist: rich>=13.0
Description-Content-Type: text/markdown

# urenbewijs

Reconstrueer je urencriterium (1.225 uur/jaar) uit third-party timestamps —
local-first, voor dev-ZZP'ers.

> *Leuker kunnen we het niet maken, wel makkelijker.*

## Bronnen

- **GitHub commits** — sessie-clustering per repo (kost je een PAT)
- **Claude Code sessies** — leest lokale `.jsonl` in `~/.claude/projects/`
- **Claude.ai conversaties** — uit Takeout-export
- **Toggl Track** — voor handmatige uren (reizen, KvK, admin)
- **YouTube kijkgeschiedenis** — gefilterd op tech-kanalen, voor leeruren

Toggl wint bij overlap. Output: CSV + Markdown + PDF, jaartotaal en
maandtotalen, met bronvermelding.

## Install

Vereist [uv](https://docs.astral.sh/uv/) (single-binary Python-runner).

```sh
# Windows
powershell -ExecutionPolicy ByPass -c "irm https://astral.sh/uv/install.ps1 | iex"

# macOS / Linux
curl -LsSf https://astral.sh/uv/install.sh | sh
```

## Gebruik

```sh
uvx urenbewijs init    # interactieve setup — PAT, Toggl, etc.
uvx urenbewijs run     # genereer rapport
uvx urenbewijs where   # toon paden van config + output
```

Config en tokens komen in `~/.urenbewijs/`. Output in `~/.urenbewijs/output/`.

### Andere modi

```sh
uvx urenbewijs run --year 2025                  # vorig jaar
uvx urenbewijs run --source github,claude_code  # subset bronnen
uvx urenbewijs run --no-pdf --no-dedup          # debug
uvx urenbewijs run --verbose                    # toon elke sessie
```

## Dagelijks automatisch

Windows Task Scheduler:

```powershell
$uvx     = (Get-Command uv).Source
$action  = New-ScheduledTaskAction -Execute $uvx -Argument 'tool run urenbewijs run'
$trigger = New-ScheduledTaskTrigger -Daily -At 22:00
$set     = New-ScheduledTaskSettingsSet -StartWhenAvailable -ExecutionTimeLimit (New-TimeSpan -Minutes 30)
$user    = New-ScheduledTaskPrincipal -UserId $env:USERNAME -LogonType Interactive
Register-ScheduledTask -TaskName 'urenbewijs' `
  -Action $action -Trigger $trigger -Settings $set -Principal $user
```

macOS/Linux: gebruik `cron` of `launchd`.

## Privacy

- Alle tokens staan in `~/.urenbewijs/.env` — op Unix chmod 0600
- Tool draait local-only — geen calls naar 1225.nl backend
- Output bevat geen ruwe message-content, alleen aggregaten

## Development

```sh
git clone https://github.com/cryptoprins-ship-it/uren-administratie
cd uren-administratie
uv run --with-editable . urenbewijs --help
```

## Status

- [x] GitHub source (PAT-based)
- [x] Claude Code source (auto-detect `~/.claude/projects/`)
- [x] Claude.ai export source
- [x] Toggl source
- [x] YouTube/learning source (Takeout-based)
- [x] Deduplicatie (Toggl > claude_code > claude_web > learning > github)
- [x] CSV + Markdown + PDF rapport
- [x] `init` wizard
- [ ] PyPI publish

## License

MIT — zie LICENSE.
