Add support for installing via WinGet on Windows

Open
#73 0 comments 0 reactions 0 assignees View on GitHub

Maintainers usually reply within 1 day

Nobody has claimed this yet.

Assessment

Difficulty
4/5
Estimated time
3-5 days
Newbie friendliness
35/100
Issue type
Feature
Clarity
Clearly specified
Activity status
Active
Tech stack
powershell, python
Domain
release

Research direction

Start from the Windows bootstrap path referenced in the issue and the built-in updater that must defer to winget upgrade; compare sibling issues #71 (Homebrew) and #72 (Scoop) to see which distribution channel maintainers pick. Work spans producing a versioned artifact with SHA-256, a manifest PR to microsoft/winget-pkgs, and uninstall/startup ownership checks. Done means the manifest and installer contracts validate and Windows-native install/upgrade/uninstall passes on a clean host — validation the payload notes is not yet available.

Written by the indexing model from the issue text.

Description

Windows bootstrap currently uses WinGet only to acquire missing Git and Python prerequisites. Token Meter itself is not available through winget install.

This is one packaging option alongside Homebrew support and Scoop support. Maintainers should choose the supported distribution channel or channels; this issue does not request a preference or commitment to ship every option.

Proposed behavior

  1. Publish a versioned Windows distributable with an immutable download URL and SHA-256 checksum suitable for a WinGet manifest. The artifact format and release process should be selected by maintainers.
  2. Add a token-meter manifest to microsoft/winget-pkgs, or to another maintainer-selected repository if that is the accepted publication path.
  3. Declare the supported runtime prerequisites in the manifest and retain a per-user installation with no administrator requirement.
  4. Make the installed lifecycle package-aware: winget upgrade owns Token Meter updates. A WinGet-installed runtime must not also fetch, fast-forward, or reinstall itself through the built-in updater.
  5. Preserve the local-only server and Windows notification-area behavior. Uninstall must remove only Token Meter resources it owns, including its current-user startup entry and managed runtime, while preserving user session evidence and unrelated dependencies.
  6. Document the selected WinGet install, update, and uninstall flow beside the existing Windows bootstrap path.

Validation

  • Add manifest and installer contracts for the versioned URL, checksum, declared dependencies, per-user paths, update ownership, and uninstall ownership.
  • On a clean Windows host, validate installation through WinGet, readiness at /health and /menubar, current-user startup, winget upgrade, and uninstall.
  • Windows-native WinGet validation is pending. macOS source checks do not prove WinGet, PowerShell, registry-startup, or notification-area behavior.

No dashboard UI addition or privacy-boundary change is intended.

Dominant language
Python
Stars
146
Forks
34
Avg merge
14h 35m
Merged PRs (30d)
64

Getting set up

This project ships no dev container, Dockerfile or contributing guide, so setting up is up to you: start from its README, and see our first-contribution guide for the general steps.

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

More from splunk/token-meter

All issues in splunk/token-meter

Similar issues

More Python issues

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.