Skip to main content

FlexiTracker daemon (Python)

The FlexiTracker activity daemon: a pure-Python program that captures idle/active transitions and ships back-dated events to the backend. 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 flexitracker / flexitracker.exe from the GitHub Releases page (it bundles its own Python runtime). See install/README.md for per-OS auto-start 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.

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

flexitracker-0.3.0.tar.gz (28.6 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

flexitracker-0.3.0-py3-none-any.whl (18.7 kB view details)

Uploaded Python 3

File details

Details for the file flexitracker-0.3.0.tar.gz.

File metadata

  • Download URL: flexitracker-0.3.0.tar.gz
  • Upload date:
  • Size: 28.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.14

File hashes

Hashes for flexitracker-0.3.0.tar.gz
Algorithm Hash digest
SHA256 7623952347dc9d326e86e8f99f0b11fd1147f77a640f0ba673c7fe4bf5b171ff
MD5 3184f0f2193d9b77be30863e83526fc2
BLAKE2b-256 f504790083d2b5a1b6162e638f7124d096e119f852fd40d61e954931a7dea278

See more details on using hashes here.

Provenance

The following attestation bundles were made for flexitracker-0.3.0.tar.gz:

Publisher: release.yml on jvuori/flexitracker

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file flexitracker-0.3.0-py3-none-any.whl.

File metadata

  • Download URL: flexitracker-0.3.0-py3-none-any.whl
  • Upload date:
  • Size: 18.7 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.14

File hashes

Hashes for flexitracker-0.3.0-py3-none-any.whl
Algorithm Hash digest
SHA256 f677f23e4623ec624e9f6a2990931132915d9f8e4bf7a93b534aa56dd8bafaba
MD5 ea03e1d6a8584274000d0f41d651d8ea
BLAKE2b-256 82f4a08a5a00d42c8338a3b0126142a830fb4ae5e3790fd9904ca48730baf0a8

See more details on using hashes here.

Provenance

The following attestation bundles were made for flexitracker-0.3.0-py3-none-any.whl:

Publisher: release.yml on jvuori/flexitracker

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Release history Release notifications | RSS feed

0.4.1

2 files

0.4.0

2 files

0.3.1

2 files

This release

0.3.0 This release

2 files

0.2.1

2 files

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page