patrick 2ca8c5e43b
All checks were successful
ci/woodpecker/push/build Pipeline was successful
ci/woodpecker/push/all-checks-complete Pipeline was successful
Bump ApiSurface (#20)
Co-authored-by: Smaug123 <3138005+Smaug123@users.noreply.github.com>
Reviewed-on: #20
2025-09-08 21:29:00 +00:00
2025-09-08 21:29:00 +00:00
2025-09-08 21:29:00 +00:00
2025-09-08 21:29:00 +00:00
2024-05-31 23:10:23 +00:00
2024-01-28 23:35:55 +00:00
2024-05-31 23:49:34 +00:00
2023-10-11 21:16:40 +01:00
2024-01-28 23:35:55 +00:00
2025-09-08 21:29:00 +00:00
2025-09-08 21:29:00 +00:00
2023-10-11 21:16:40 +01:00
2023-10-11 21:16:40 +01:00
2023-10-11 21:16:40 +01:00

Unofficial PureGym client

Status

With thanks to Tom Hollingsworth.

Usage

  • With Nix: nix run (you can refer to this flake).
  • Manually: git clone and then dotnet run --project PureGym.App/PureGym.App.fsproj.

(Something is up on Darwin: nix run currently produces an executable which dies instantly. Workaround: nix build and then nix develop --command dotnet exec ./result/lib/puregym/PureGym.App.dll.)

The available subcommands can be viewed in the subcommands map defined in Program.fs. As of this writing, the following are implemented:

  • activity: get the logged-in user's activity stats. I have no idea what the semantics of these numbers are!
  • fullness: determine how full a given gym is right now.
  • lookup-gym: give information about the gym's physical instantiation (e.g. its address).

Authentication

You can authenticate with your PureGym email address and PIN combination, or (probably better) you can call PureGym.App auth to obtain a token. Use this token in subsequent commands by setting the PUREGYM_BEARER_TOKEN environment variable or supplying it as --bearer-token.

Structure

  • The REST client is at Api.fs.
  • The standalone application is at PureGym.App. It uses a ghastly mix of hand-rolled argument parsing and Argu, because Argu does not quite want to do what I want an argument parser to do.
Description
Unofficial client for the PureGym API
Readme MIT 168 KiB
Languages
F# 97.1%
Nix 2.9%