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.1.tar.gz (28.8 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.1-py3-none-any.whl (19.0 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: flexitracker-0.3.1.tar.gz
  • Upload date:
  • Size: 28.8 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.1.tar.gz
Algorithm Hash digest
SHA256 af8d19fcb22223666a752a53b9417cbfe87be0a7b77a6cf325f22c70795fd430
MD5 f9b8531637524c7d05c708b4fe00a47b
BLAKE2b-256 34a33212c37d142af6fd6dd69561ed1276729bfa5fe1a391c0c6006bfc514c24

See more details on using hashes here.

Provenance

The following attestation bundles were made for flexitracker-0.3.1.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.1-py3-none-any.whl.

File metadata

  • Download URL: flexitracker-0.3.1-py3-none-any.whl
  • Upload date:
  • Size: 19.0 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.1-py3-none-any.whl
Algorithm Hash digest
SHA256 876b8867cfbf85b9bcdf5b2e3dbeb0c39f668f2c7e9cc6ad6b27c013d45624d5
MD5 6c58b7afff8e8ce06af2d7a8acd347cd
BLAKE2b-256 1dba18f666922f73effa5db6acc0b2c9ffdeee28175d441c12dbfb95ffd89984

See more details on using hashes here.

Provenance

The following attestation bundles were made for flexitracker-0.3.1-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

This release

0.3.1 This release

2 files

0.3.0

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