Skip to main content

FlexiTracker daemon (Python)

The client half of FlexiTracker, a flextime/saldo tracker: a pure-Python daemon that runs in the background on your machine, watches only when you're active vs. idle (input timing and screen-lock state — never keystrokes, window titles, or screenshots), and sends those timestamps over the network to the FlexiTracker cloud service, which turns them into trustworthy per-week working-time numbers in a web app. This is not an offline/local-only tool — installing and running this package means your activity data leaves the machine it's installed on. See the project README for the full picture, or self-host the backend if you'd rather not send data to someone else's server.

Pure stdlib, no compiled extension, so it installs with uv into a user profile — no admin rights and no compiler — which is what lets it run on managed machines that block unsigned executables. OS idle detection is done through ctypes (Windows GetLastInputInfo, Linux XScreenSaver).

Install

Recommended (all platforms):

uv tool install flexitracker

Or, on a machine that allows executables, download the standalone build from the GitHub Releases page (it bundles its own Python runtime): one binary on Linux, or on Windows two — a console one for login/test and a windowless one for auto-start. See install/README.md for per-OS auto-start (a single copy-pasteable command, no installer script) and the Windows SmartScreen trust step.

Use

flexitracker login                          # authorize this machine in a browser, then self-test
flexitracker login --key <ACCESS_KEY>       # headless/scripted: authorize with a pasted key instead
flexitracker test                           # connectivity check, sends no data
flexitracker                                # run the daemon

Develop

uv sync
uv run pytest        # unit tests + the 24 behavioural vectors (tests/vectors/)

The behavioural vectors in tests/vectors/ are the oracle for the state machine (back-dating, suspend reconciliation, the emit watermark, the return-to-work clock). Any change to that logic must be reflected in a vector.

Metadata

Release files for flexitracker 0.5.2

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for flexitracker 0.5.2
File Size Uploaded
flexitracker-0.5.2.tar.gz 39.6 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for flexitracker 0.5.2
File Interpreter ABI Platform
flexitracker-0.5.2-py3-none-any.whl Python 3 none any Details

Total release size: 66.2 kB

Release files / flexitracker-0.5.2.tar.gz

Download URL flexitracker-0.5.2.tar.gz
Size 39.6 kB
Tags Source
SHA-256 checksum
How to use checksums
0e191acbafcb7f8493b6dc21d1458a873f5eec12ab4fbf7dbb01939f7bbdab5e
BLAKE2b-256 checksum
How to use checksums
5d89b07e54ba11cecc51904a0508a5b853dab14af91f6124d069de619383a52c
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Sep 29, 2026.

Transparency log

Release files / flexitracker-0.5.2-py3-none-any.whl

Download URL flexitracker-0.5.2-py3-none-any.whl
Size 26.6 kB
Tags Python 3
SHA-256 checksum
How to use checksums
b77276d1da550b0993b570f68aeabe516b152d91573e1d3479ef8e65f80feec7
BLAKE2b-256 checksum
How to use checksums
0adca705b671ba429c2fe92b716823d2439b24d5445ea7097c2ee5160ff9b41b
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Sep 29, 2026.

Transparency log

Release history Release notifications | RSS feed

This release

0.5.2 This release

2 release files

0.5.1

2 release files

0.5.0

2 release files

0.4.1

2 release files

0.4.0

2 release files

0.3.1

2 release files

0.3.0

2 release files

0.2.1

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page