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

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.4.0.tar.gz (31.2 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.4.0-py3-none-any.whl (21.0 kB view details)

Uploaded Python 3

File details

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

File metadata

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

File hashes

Hashes for flexitracker-0.4.0.tar.gz
Algorithm Hash digest
SHA256 7038fb2d615000a7154fa922b387f37736a23f233737e1c7a0eb5c4d1ab74c7b
MD5 99dc282a362970be0a93548a7f626d1a
BLAKE2b-256 cd668a2e777812ec2cebd261eb54571edd88be497d7ffc8dd2ac967f95a3df56

See more details on using hashes here.

Provenance

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

File metadata

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

File hashes

Hashes for flexitracker-0.4.0-py3-none-any.whl
Algorithm Hash digest
SHA256 795e73d935519ca003a6552bbe5299ec0093b9ab146f62f2a2eac41e606361de
MD5 1001debc3fbcbb085e96994809dc0b59
BLAKE2b-256 6a1039b865180e2dd524f57dc955d5b2d405075b8c042901c2133308a6ff45f4

See more details on using hashes here.

Provenance

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

This release

0.4.0 This release

2 files

0.3.1

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