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.0

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.0
File Size Uploaded
flexitracker-0.5.0.tar.gz 35.7 kB Details

Built distribution (wheel)

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

Total release size: 61.1 kB

Release files / flexitracker-0.5.0.tar.gz

Download URL flexitracker-0.5.0.tar.gz
Size 35.7 kB
Tags Source
SHA-256 checksum
How to use checksums
02de2b9d843da8b456ef3896d48a99a08db6b9c1c38389ea29c4eadb4912f5d9
BLAKE2b-256 checksum
How to use checksums
ed90b46a6cadb27d694380414db6e55691aa3f4f8874dab66f6b6148a3dbe8fe
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 4, 2026.

Transparency log

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

Download URL flexitracker-0.5.0-py3-none-any.whl
Size 25.5 kB
Tags Python 3
SHA-256 checksum
How to use checksums
d399760c68fc21ba577279277da8e1836a217280984e4e4fcc3eab893fc2c577
BLAKE2b-256 checksum
How to use checksums
cac44f615ffcdc0e666ef3c9432e35f59e93e75e148ab21c0d72505baba10078
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 4, 2026.

Transparency log

Release history Release notifications | RSS feed

0.5.2

2 release files

0.5.1

2 release files

This release

0.5.0 This release

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