taskclf 0.4.2__tar.gz → 0.4.4__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {taskclf-0.4.2 → taskclf-0.4.4}/PKG-INFO +37 -3
- {taskclf-0.4.2 → taskclf-0.4.4}/README.md +36 -2
- {taskclf-0.4.2 → taskclf-0.4.4}/pyproject.toml +2 -3
- {taskclf-0.4.2 → taskclf-0.4.4}/src/taskclf/README.md +0 -0
- {taskclf-0.4.2 → taskclf-0.4.4}/src/taskclf/__init__.py +0 -0
- {taskclf-0.4.2 → taskclf-0.4.4}/src/taskclf/adapters/README.md +0 -0
- {taskclf-0.4.2 → taskclf-0.4.4}/src/taskclf/adapters/__init__.py +0 -0
- {taskclf-0.4.2 → taskclf-0.4.4}/src/taskclf/adapters/activitywatch/__init__.py +0 -0
- {taskclf-0.4.2 → taskclf-0.4.4}/src/taskclf/adapters/activitywatch/client.py +0 -0
- {taskclf-0.4.2 → taskclf-0.4.4}/src/taskclf/adapters/activitywatch/mapping.py +0 -0
- {taskclf-0.4.2 → taskclf-0.4.4}/src/taskclf/adapters/activitywatch/types.py +0 -0
- {taskclf-0.4.2 → taskclf-0.4.4}/src/taskclf/adapters/input/__init__.py +0 -0
- {taskclf-0.4.2 → taskclf-0.4.4}/src/taskclf/adapters/input/linux.py +0 -0
- {taskclf-0.4.2 → taskclf-0.4.4}/src/taskclf/adapters/input/macos.py +0 -0
- {taskclf-0.4.2 → taskclf-0.4.4}/src/taskclf/adapters/input/windows.py +0 -0
- {taskclf-0.4.2 → taskclf-0.4.4}/src/taskclf/cli/README.md +0 -0
- {taskclf-0.4.2 → taskclf-0.4.4}/src/taskclf/cli/__init__.py +0 -0
- {taskclf-0.4.2 → taskclf-0.4.4}/src/taskclf/cli/entry.py +0 -0
- {taskclf-0.4.2 → taskclf-0.4.4}/src/taskclf/cli/main.py +0 -0
- {taskclf-0.4.2 → taskclf-0.4.4}/src/taskclf/core/README.md +0 -0
- {taskclf-0.4.2 → taskclf-0.4.4}/src/taskclf/core/__init__.py +0 -0
- {taskclf-0.4.2 → taskclf-0.4.4}/src/taskclf/core/config.py +0 -0
- {taskclf-0.4.2 → taskclf-0.4.4}/src/taskclf/core/crash.py +0 -0
- {taskclf-0.4.2 → taskclf-0.4.4}/src/taskclf/core/defaults.py +0 -0
- {taskclf-0.4.2 → taskclf-0.4.4}/src/taskclf/core/diagnostics.py +0 -0
- {taskclf-0.4.2 → taskclf-0.4.4}/src/taskclf/core/drift.py +0 -0
- {taskclf-0.4.2 → taskclf-0.4.4}/src/taskclf/core/hashing.py +0 -0
- {taskclf-0.4.2 → taskclf-0.4.4}/src/taskclf/core/inference_policy.py +0 -0
- {taskclf-0.4.2 → taskclf-0.4.4}/src/taskclf/core/logging.py +0 -0
- {taskclf-0.4.2 → taskclf-0.4.4}/src/taskclf/core/metrics.py +0 -0
- {taskclf-0.4.2 → taskclf-0.4.4}/src/taskclf/core/model_io.py +0 -0
- {taskclf-0.4.2 → taskclf-0.4.4}/src/taskclf/core/paths.py +0 -0
- {taskclf-0.4.2 → taskclf-0.4.4}/src/taskclf/core/schema.py +0 -0
- {taskclf-0.4.2 → taskclf-0.4.4}/src/taskclf/core/store.py +0 -0
- {taskclf-0.4.2 → taskclf-0.4.4}/src/taskclf/core/telemetry.py +0 -0
- {taskclf-0.4.2 → taskclf-0.4.4}/src/taskclf/core/time.py +0 -0
- {taskclf-0.4.2 → taskclf-0.4.4}/src/taskclf/core/types.py +0 -0
- {taskclf-0.4.2 → taskclf-0.4.4}/src/taskclf/core/validation.py +0 -0
- {taskclf-0.4.2 → taskclf-0.4.4}/src/taskclf/features/README.md +0 -0
- {taskclf-0.4.2 → taskclf-0.4.4}/src/taskclf/features/__init__.py +0 -0
- {taskclf-0.4.2 → taskclf-0.4.4}/src/taskclf/features/build.py +0 -0
- {taskclf-0.4.2 → taskclf-0.4.4}/src/taskclf/features/domain.py +0 -0
- {taskclf-0.4.2 → taskclf-0.4.4}/src/taskclf/features/dynamics.py +0 -0
- {taskclf-0.4.2 → taskclf-0.4.4}/src/taskclf/features/sessions.py +0 -0
- {taskclf-0.4.2 → taskclf-0.4.4}/src/taskclf/features/text.py +0 -0
- {taskclf-0.4.2 → taskclf-0.4.4}/src/taskclf/features/windows.py +0 -0
- {taskclf-0.4.2 → taskclf-0.4.4}/src/taskclf/infer/README.md +0 -0
- {taskclf-0.4.2 → taskclf-0.4.4}/src/taskclf/infer/__init__.py +0 -0
- {taskclf-0.4.2 → taskclf-0.4.4}/src/taskclf/infer/aggregation.py +0 -0
- {taskclf-0.4.2 → taskclf-0.4.4}/src/taskclf/infer/baseline.py +0 -0
- {taskclf-0.4.2 → taskclf-0.4.4}/src/taskclf/infer/batch.py +0 -0
- {taskclf-0.4.2 → taskclf-0.4.4}/src/taskclf/infer/calibration.py +0 -0
- {taskclf-0.4.2 → taskclf-0.4.4}/src/taskclf/infer/feature_state.py +0 -0
- {taskclf-0.4.2 → taskclf-0.4.4}/src/taskclf/infer/monitor.py +0 -0
- {taskclf-0.4.2 → taskclf-0.4.4}/src/taskclf/infer/online.py +0 -0
- {taskclf-0.4.2 → taskclf-0.4.4}/src/taskclf/infer/prediction.py +0 -0
- {taskclf-0.4.2 → taskclf-0.4.4}/src/taskclf/infer/resolve.py +0 -0
- {taskclf-0.4.2 → taskclf-0.4.4}/src/taskclf/infer/smooth.py +0 -0
- {taskclf-0.4.2 → taskclf-0.4.4}/src/taskclf/infer/taxonomy.py +0 -0
- {taskclf-0.4.2 → taskclf-0.4.4}/src/taskclf/labels/README.md +0 -0
- {taskclf-0.4.2 → taskclf-0.4.4}/src/taskclf/labels/__init__.py +0 -0
- {taskclf-0.4.2 → taskclf-0.4.4}/src/taskclf/labels/projection.py +0 -0
- {taskclf-0.4.2 → taskclf-0.4.4}/src/taskclf/labels/queue.py +0 -0
- {taskclf-0.4.2 → taskclf-0.4.4}/src/taskclf/labels/store.py +0 -0
- {taskclf-0.4.2 → taskclf-0.4.4}/src/taskclf/labels/weak_rules.py +0 -0
- {taskclf-0.4.2 → taskclf-0.4.4}/src/taskclf/migrate/__init__.py +0 -0
- {taskclf-0.4.2 → taskclf-0.4.4}/src/taskclf/migrate/timestamps.py +0 -0
- {taskclf-0.4.2 → taskclf-0.4.4}/src/taskclf/model_registry.py +0 -0
- {taskclf-0.4.2 → taskclf-0.4.4}/src/taskclf/py.typed +0 -0
- {taskclf-0.4.2 → taskclf-0.4.4}/src/taskclf/report/README.md +0 -0
- {taskclf-0.4.2 → taskclf-0.4.4}/src/taskclf/report/__init__.py +0 -0
- {taskclf-0.4.2 → taskclf-0.4.4}/src/taskclf/report/daily.py +0 -0
- {taskclf-0.4.2 → taskclf-0.4.4}/src/taskclf/report/export.py +0 -0
- {taskclf-0.4.2 → taskclf-0.4.4}/src/taskclf/train/README.md +0 -0
- {taskclf-0.4.2 → taskclf-0.4.4}/src/taskclf/train/__init__.py +0 -0
- {taskclf-0.4.2 → taskclf-0.4.4}/src/taskclf/train/build_dataset.py +0 -0
- {taskclf-0.4.2 → taskclf-0.4.4}/src/taskclf/train/calibrate.py +0 -0
- {taskclf-0.4.2 → taskclf-0.4.4}/src/taskclf/train/dataset.py +0 -0
- {taskclf-0.4.2 → taskclf-0.4.4}/src/taskclf/train/evaluate.py +0 -0
- {taskclf-0.4.2 → taskclf-0.4.4}/src/taskclf/train/lgbm.py +0 -0
- {taskclf-0.4.2 → taskclf-0.4.4}/src/taskclf/train/retrain.py +0 -0
- {taskclf-0.4.2 → taskclf-0.4.4}/src/taskclf/ui/ELECTRON_MIGRATION.md +0 -0
- {taskclf-0.4.2 → taskclf-0.4.4}/src/taskclf/ui/__init__.py +0 -0
- {taskclf-0.4.2 → taskclf-0.4.4}/src/taskclf/ui/copy.py +0 -0
- {taskclf-0.4.2 → taskclf-0.4.4}/src/taskclf/ui/electron_shell.py +0 -0
- {taskclf-0.4.2 → taskclf-0.4.4}/src/taskclf/ui/events.py +0 -0
- {taskclf-0.4.2 → taskclf-0.4.4}/src/taskclf/ui/frontend/biome.json +0 -0
- {taskclf-0.4.2 → taskclf-0.4.4}/src/taskclf/ui/frontend/index.html +0 -0
- {taskclf-0.4.2 → taskclf-0.4.4}/src/taskclf/ui/frontend/package.json +0 -0
- {taskclf-0.4.2 → taskclf-0.4.4}/src/taskclf/ui/frontend/pnpm-lock.yaml +0 -0
- {taskclf-0.4.2 → taskclf-0.4.4}/src/taskclf/ui/frontend/pnpm-workspace.yaml +0 -0
- {taskclf-0.4.2 → taskclf-0.4.4}/src/taskclf/ui/frontend/public/bliss.png +0 -0
- {taskclf-0.4.2 → taskclf-0.4.4}/src/taskclf/ui/frontend/public/bliss2.png +0 -0
- {taskclf-0.4.2 → taskclf-0.4.4}/src/taskclf/ui/frontend/src/App.test.tsx +0 -0
- {taskclf-0.4.2 → taskclf-0.4.4}/src/taskclf/ui/frontend/src/App.tsx +0 -0
- {taskclf-0.4.2 → taskclf-0.4.4}/src/taskclf/ui/frontend/src/components/ActivitySummary.tsx +0 -0
- {taskclf-0.4.2 → taskclf-0.4.4}/src/taskclf/ui/frontend/src/components/ConnectionDot.tsx +0 -0
- {taskclf-0.4.2 → taskclf-0.4.4}/src/taskclf/ui/frontend/src/components/LabelConfidence.tsx +0 -0
- {taskclf-0.4.2 → taskclf-0.4.4}/src/taskclf/ui/frontend/src/components/LabelExtendToggle.tsx +0 -0
- {taskclf-0.4.2 → taskclf-0.4.4}/src/taskclf/ui/frontend/src/components/LabelFlash.tsx +0 -0
- {taskclf-0.4.2 → taskclf-0.4.4}/src/taskclf/ui/frontend/src/components/LabelForm.tsx +0 -0
- {taskclf-0.4.2 → taskclf-0.4.4}/src/taskclf/ui/frontend/src/components/LabelHistory.tsx +0 -0
- {taskclf-0.4.2 → taskclf-0.4.4}/src/taskclf/ui/frontend/src/components/LabelHistoryGapRow.tsx +0 -0
- {taskclf-0.4.2 → taskclf-0.4.4}/src/taskclf/ui/frontend/src/components/LabelHistoryRow.tsx +0 -0
- {taskclf-0.4.2 → taskclf-0.4.4}/src/taskclf/ui/frontend/src/components/LabelHistoryTimeline.tsx +0 -0
- {taskclf-0.4.2 → taskclf-0.4.4}/src/taskclf/ui/frontend/src/components/LabelLast.tsx +0 -0
- {taskclf-0.4.2 → taskclf-0.4.4}/src/taskclf/ui/frontend/src/components/LabelOverwrite.test.tsx +0 -0
- {taskclf-0.4.2 → taskclf-0.4.4}/src/taskclf/ui/frontend/src/components/LabelOverwrite.tsx +0 -0
- {taskclf-0.4.2 → taskclf-0.4.4}/src/taskclf/ui/frontend/src/components/LabelQueue.tsx +0 -0
- {taskclf-0.4.2 → taskclf-0.4.4}/src/taskclf/ui/frontend/src/components/LabelRecorder.tsx +0 -0
- {taskclf-0.4.2 → taskclf-0.4.4}/src/taskclf/ui/frontend/src/components/LabelRecorderWindow.tsx +0 -0
- {taskclf-0.4.2 → taskclf-0.4.4}/src/taskclf/ui/frontend/src/components/LabelTable.tsx +0 -0
- {taskclf-0.4.2 → taskclf-0.4.4}/src/taskclf/ui/frontend/src/components/LabelTimePicker.tsx +0 -0
- {taskclf-0.4.2 → taskclf-0.4.4}/src/taskclf/ui/frontend/src/components/PredictionBadge.tsx +0 -0
- {taskclf-0.4.2 → taskclf-0.4.4}/src/taskclf/ui/frontend/src/components/PredictionSuggestion.tsx +0 -0
- {taskclf-0.4.2 → taskclf-0.4.4}/src/taskclf/ui/frontend/src/components/StatusPanel.tsx +0 -0
- {taskclf-0.4.2 → taskclf-0.4.4}/src/taskclf/ui/frontend/src/components/StatusPanelWindow.tsx +0 -0
- {taskclf-0.4.2 → taskclf-0.4.4}/src/taskclf/ui/frontend/src/components/TrainingPanel.tsx +0 -0
- {taskclf-0.4.2 → taskclf-0.4.4}/src/taskclf/ui/frontend/src/components/status/StatusActivityMonitor.tsx +0 -0
- {taskclf-0.4.2 → taskclf-0.4.4}/src/taskclf/ui/frontend/src/components/status/StatusActivityWatch.tsx +0 -0
- {taskclf-0.4.2 → taskclf-0.4.4}/src/taskclf/ui/frontend/src/components/status/StatusConfig.tsx +0 -0
- {taskclf-0.4.2 → taskclf-0.4.4}/src/taskclf/ui/frontend/src/components/status/StatusModel.tsx +0 -0
- {taskclf-0.4.2 → taskclf-0.4.4}/src/taskclf/ui/frontend/src/components/status/StatusPanelTab.tsx +0 -0
- {taskclf-0.4.2 → taskclf-0.4.4}/src/taskclf/ui/frontend/src/components/status/StatusPrediction.tsx +0 -0
- {taskclf-0.4.2 → taskclf-0.4.4}/src/taskclf/ui/frontend/src/components/status/StatusSuggestion.tsx +0 -0
- {taskclf-0.4.2 → taskclf-0.4.4}/src/taskclf/ui/frontend/src/components/status/StatusTransitions.tsx +0 -0
- {taskclf-0.4.2 → taskclf-0.4.4}/src/taskclf/ui/frontend/src/components/status/StatusWebSocket.tsx +0 -0
- {taskclf-0.4.2 → taskclf-0.4.4}/src/taskclf/ui/frontend/src/components/ui/StatusProgress.tsx +0 -0
- {taskclf-0.4.2 → taskclf-0.4.4}/src/taskclf/ui/frontend/src/components/ui/StatusRow.tsx +0 -0
- {taskclf-0.4.2 → taskclf-0.4.4}/src/taskclf/ui/frontend/src/components/ui/StatusSection.tsx +0 -0
- {taskclf-0.4.2 → taskclf-0.4.4}/src/taskclf/ui/frontend/src/index.tsx +0 -0
- {taskclf-0.4.2 → taskclf-0.4.4}/src/taskclf/ui/frontend/src/lib/api.ts +0 -0
- {taskclf-0.4.2 → taskclf-0.4.4}/src/taskclf/ui/frontend/src/lib/date.ts +0 -0
- {taskclf-0.4.2 → taskclf-0.4.4}/src/taskclf/ui/frontend/src/lib/format.ts +0 -0
- {taskclf-0.4.2 → taskclf-0.4.4}/src/taskclf/ui/frontend/src/lib/host.test.ts +0 -0
- {taskclf-0.4.2 → taskclf-0.4.4}/src/taskclf/ui/frontend/src/lib/host.ts +0 -0
- {taskclf-0.4.2 → taskclf-0.4.4}/src/taskclf/ui/frontend/src/lib/labelColors.ts +0 -0
- {taskclf-0.4.2 → taskclf-0.4.4}/src/taskclf/ui/frontend/src/lib/labelTimeline.test.ts +0 -0
- {taskclf-0.4.2 → taskclf-0.4.4}/src/taskclf/ui/frontend/src/lib/labelTimeline.ts +0 -0
- {taskclf-0.4.2 → taskclf-0.4.4}/src/taskclf/ui/frontend/src/lib/label_overwrite_pending_upd_get.test.ts +0 -0
- {taskclf-0.4.2 → taskclf-0.4.4}/src/taskclf/ui/frontend/src/lib/label_overwrite_pending_upd_get.ts +0 -0
- {taskclf-0.4.2 → taskclf-0.4.4}/src/taskclf/ui/frontend/src/lib/log.ts +0 -0
- {taskclf-0.4.2 → taskclf-0.4.4}/src/taskclf/ui/frontend/src/lib/notifications.ts +0 -0
- {taskclf-0.4.2 → taskclf-0.4.4}/src/taskclf/ui/frontend/src/lib/ws.ts +0 -0
- {taskclf-0.4.2 → taskclf-0.4.4}/src/taskclf/ui/frontend/src/test/setup.ts +0 -0
- {taskclf-0.4.2 → taskclf-0.4.4}/src/taskclf/ui/frontend/tsconfig.json +0 -0
- {taskclf-0.4.2 → taskclf-0.4.4}/src/taskclf/ui/frontend/tsconfig.node.json +0 -0
- {taskclf-0.4.2 → taskclf-0.4.4}/src/taskclf/ui/frontend/vite.config.ts +0 -0
- {taskclf-0.4.2 → taskclf-0.4.4}/src/taskclf/ui/frontend/vitest.config.ts +0 -0
- {taskclf-0.4.2 → taskclf-0.4.4}/src/taskclf/ui/server.py +0 -0
- {taskclf-0.4.2 → taskclf-0.4.4}/src/taskclf/ui/static/assets/index-fDjFGw_w.js +0 -0
- {taskclf-0.4.2 → taskclf-0.4.4}/src/taskclf/ui/static/bliss.png +0 -0
- {taskclf-0.4.2 → taskclf-0.4.4}/src/taskclf/ui/static/bliss2.png +0 -0
- {taskclf-0.4.2 → taskclf-0.4.4}/src/taskclf/ui/static/index.html +0 -0
- {taskclf-0.4.2 → taskclf-0.4.4}/src/taskclf/ui/tray.py +0 -0
- {taskclf-0.4.2 → taskclf-0.4.4}/src/taskclf/ui/window.py +0 -0
- {taskclf-0.4.2 → taskclf-0.4.4}/src/taskclf/ui/window_run.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.3
|
|
2
2
|
Name: taskclf
|
|
3
|
-
Version: 0.4.
|
|
3
|
+
Version: 0.4.4
|
|
4
4
|
Summary: Local-first task classifier that infers your work type from computer activity signals
|
|
5
5
|
Author: fruitiecutiepie
|
|
6
6
|
Author-email: fruitiecutiepie <104437268+fruitiecutiepie@users.noreply.github.com>
|
|
@@ -122,15 +122,39 @@ This repo enforces the following:
|
|
|
122
122
|
|
|
123
123
|
### Requirements
|
|
124
124
|
- Python >= 3.14
|
|
125
|
-
-
|
|
125
|
+
- For the recommended CLI install: [uv](https://docs.astral.sh/uv/)
|
|
126
126
|
|
|
127
127
|
### Install
|
|
128
128
|
|
|
129
|
+
**Command-line (PyPI)** — install the `taskclf` CLI:
|
|
130
|
+
|
|
129
131
|
```bash
|
|
130
132
|
uv tool install taskclf
|
|
131
133
|
```
|
|
132
134
|
|
|
133
|
-
|
|
135
|
+
Or with pip only:
|
|
136
|
+
|
|
137
|
+
```bash
|
|
138
|
+
pip install taskclf
|
|
139
|
+
```
|
|
140
|
+
|
|
141
|
+
Then run `taskclf --help`.
|
|
142
|
+
|
|
143
|
+
**Desktop app (optional)** — a small Electron shell is built for Windows, Linux,
|
|
144
|
+
and macOS. Download the latest **launcher** installers from
|
|
145
|
+
[GitHub Releases](https://github.com/fruitiecutiepie/taskclf/releases). Choose
|
|
146
|
+
the file for your OS:
|
|
147
|
+
|
|
148
|
+
| OS | File |
|
|
149
|
+
|----|------|
|
|
150
|
+
| Windows | `*.exe` (NSIS installer) |
|
|
151
|
+
| Linux | `*.AppImage` |
|
|
152
|
+
| macOS | `*.dmg` (open and drag **taskclf** to Applications) |
|
|
153
|
+
|
|
154
|
+
Those assets are published on GitHub releases whose tag starts with
|
|
155
|
+
`launcher-v`.
|
|
156
|
+
|
|
157
|
+
**Development** (from a git checkout):
|
|
134
158
|
|
|
135
159
|
```bash
|
|
136
160
|
uv sync
|
|
@@ -294,6 +318,16 @@ make docs-serve # local preview at http://127.0.0.1:8000
|
|
|
294
318
|
make docs-build # static site in site/
|
|
295
319
|
```
|
|
296
320
|
|
|
321
|
+
**Electron backend payload** (for packaged app downloads): after `make ui-build`,
|
|
322
|
+
build the PyInstaller one-folder sidecar zip used by GitHub releases (`v*` tags):
|
|
323
|
+
|
|
324
|
+
```bash
|
|
325
|
+
uv sync --group bundle
|
|
326
|
+
make build-payload # writes build/payload-<triple>.zip
|
|
327
|
+
```
|
|
328
|
+
|
|
329
|
+
See `docs/api/scripts/payload_build.md` for details.
|
|
330
|
+
|
|
297
331
|
---
|
|
298
332
|
|
|
299
333
|
## License
|
|
@@ -86,15 +86,39 @@ This repo enforces the following:
|
|
|
86
86
|
|
|
87
87
|
### Requirements
|
|
88
88
|
- Python >= 3.14
|
|
89
|
-
-
|
|
89
|
+
- For the recommended CLI install: [uv](https://docs.astral.sh/uv/)
|
|
90
90
|
|
|
91
91
|
### Install
|
|
92
92
|
|
|
93
|
+
**Command-line (PyPI)** — install the `taskclf` CLI:
|
|
94
|
+
|
|
93
95
|
```bash
|
|
94
96
|
uv tool install taskclf
|
|
95
97
|
```
|
|
96
98
|
|
|
97
|
-
|
|
99
|
+
Or with pip only:
|
|
100
|
+
|
|
101
|
+
```bash
|
|
102
|
+
pip install taskclf
|
|
103
|
+
```
|
|
104
|
+
|
|
105
|
+
Then run `taskclf --help`.
|
|
106
|
+
|
|
107
|
+
**Desktop app (optional)** — a small Electron shell is built for Windows, Linux,
|
|
108
|
+
and macOS. Download the latest **launcher** installers from
|
|
109
|
+
[GitHub Releases](https://github.com/fruitiecutiepie/taskclf/releases). Choose
|
|
110
|
+
the file for your OS:
|
|
111
|
+
|
|
112
|
+
| OS | File |
|
|
113
|
+
|----|------|
|
|
114
|
+
| Windows | `*.exe` (NSIS installer) |
|
|
115
|
+
| Linux | `*.AppImage` |
|
|
116
|
+
| macOS | `*.dmg` (open and drag **taskclf** to Applications) |
|
|
117
|
+
|
|
118
|
+
Those assets are published on GitHub releases whose tag starts with
|
|
119
|
+
`launcher-v`.
|
|
120
|
+
|
|
121
|
+
**Development** (from a git checkout):
|
|
98
122
|
|
|
99
123
|
```bash
|
|
100
124
|
uv sync
|
|
@@ -258,6 +282,16 @@ make docs-serve # local preview at http://127.0.0.1:8000
|
|
|
258
282
|
make docs-build # static site in site/
|
|
259
283
|
```
|
|
260
284
|
|
|
285
|
+
**Electron backend payload** (for packaged app downloads): after `make ui-build`,
|
|
286
|
+
build the PyInstaller one-folder sidecar zip used by GitHub releases (`v*` tags):
|
|
287
|
+
|
|
288
|
+
```bash
|
|
289
|
+
uv sync --group bundle
|
|
290
|
+
make build-payload # writes build/payload-<triple>.zip
|
|
291
|
+
```
|
|
292
|
+
|
|
293
|
+
See `docs/api/scripts/payload_build.md` for details.
|
|
294
|
+
|
|
261
295
|
---
|
|
262
296
|
|
|
263
297
|
## License
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
[project]
|
|
2
2
|
name = "taskclf"
|
|
3
|
-
version = "0.4.
|
|
3
|
+
version = "0.4.4"
|
|
4
4
|
description = "Local-first task classifier that infers your work type from computer activity signals"
|
|
5
5
|
readme = "README.md"
|
|
6
6
|
license = {text = "MIT"}
|
|
@@ -67,8 +67,7 @@ docs = [
|
|
|
67
67
|
"mkdocstrings-python",
|
|
68
68
|
]
|
|
69
69
|
bundle = [
|
|
70
|
-
"
|
|
71
|
-
"ordered-set",
|
|
70
|
+
"pyinstaller>=6.0",
|
|
72
71
|
]
|
|
73
72
|
|
|
74
73
|
[tool.mypy]
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{taskclf-0.4.2 → taskclf-0.4.4}/src/taskclf/ui/frontend/src/components/LabelExtendToggle.tsx
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{taskclf-0.4.2 → taskclf-0.4.4}/src/taskclf/ui/frontend/src/components/LabelHistoryGapRow.tsx
RENAMED
|
File without changes
|
|
File without changes
|
{taskclf-0.4.2 → taskclf-0.4.4}/src/taskclf/ui/frontend/src/components/LabelHistoryTimeline.tsx
RENAMED
|
File without changes
|
|
File without changes
|
{taskclf-0.4.2 → taskclf-0.4.4}/src/taskclf/ui/frontend/src/components/LabelOverwrite.test.tsx
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{taskclf-0.4.2 → taskclf-0.4.4}/src/taskclf/ui/frontend/src/components/LabelRecorderWindow.tsx
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{taskclf-0.4.2 → taskclf-0.4.4}/src/taskclf/ui/frontend/src/components/PredictionSuggestion.tsx
RENAMED
|
File without changes
|
|
File without changes
|
{taskclf-0.4.2 → taskclf-0.4.4}/src/taskclf/ui/frontend/src/components/StatusPanelWindow.tsx
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{taskclf-0.4.2 → taskclf-0.4.4}/src/taskclf/ui/frontend/src/components/status/StatusConfig.tsx
RENAMED
|
File without changes
|
{taskclf-0.4.2 → taskclf-0.4.4}/src/taskclf/ui/frontend/src/components/status/StatusModel.tsx
RENAMED
|
File without changes
|
{taskclf-0.4.2 → taskclf-0.4.4}/src/taskclf/ui/frontend/src/components/status/StatusPanelTab.tsx
RENAMED
|
File without changes
|
{taskclf-0.4.2 → taskclf-0.4.4}/src/taskclf/ui/frontend/src/components/status/StatusPrediction.tsx
RENAMED
|
File without changes
|
{taskclf-0.4.2 → taskclf-0.4.4}/src/taskclf/ui/frontend/src/components/status/StatusSuggestion.tsx
RENAMED
|
File without changes
|
{taskclf-0.4.2 → taskclf-0.4.4}/src/taskclf/ui/frontend/src/components/status/StatusTransitions.tsx
RENAMED
|
File without changes
|
{taskclf-0.4.2 → taskclf-0.4.4}/src/taskclf/ui/frontend/src/components/status/StatusWebSocket.tsx
RENAMED
|
File without changes
|
{taskclf-0.4.2 → taskclf-0.4.4}/src/taskclf/ui/frontend/src/components/ui/StatusProgress.tsx
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{taskclf-0.4.2 → taskclf-0.4.4}/src/taskclf/ui/frontend/src/lib/label_overwrite_pending_upd_get.ts
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|