Skip to main content

A Python interface incorporating a C++ implementation of the Whole History Rating algorithm proposed by Rémi Coulom. The implementation is based on the Ruby code of GoShrine.

Project description

Whole History Rating (WHR)

Conda Actions Status Pip Actions Status Wheels Actions Status

A Python interface incorporating a highly optimized C++ implementation of the Whole History Rating (WHR) algorithm proposed by Rémi Coulom. WHR computes time-varying Elo ratings for players of games (e.g., Chess, Go) by optimizing the log-likelihood of all game results across history simultaneously.

This C++ implementation is based on the Ruby implementation by GoShrine.


Features

  • Blazing Fast: The core algorithm is implemented in C++ (via pybind11), allowing it to scale to tens of thousands of games.
  • Tolerant CSV Loading: Built-in support to ingest games from CSV files with smart header alias matching, winner normalization, and graceful handling of missing or malformed fields.
  • Robust Evaluation: Standardized validation metrics including average log-likelihood computation.
  • Highly Configurable: Custom rating volatility parameter ($w^2$) and virtual game regularization.

Installation

From PyPI

pip install whr

From Source

git clone https://github.com/wind23/whole_history_rating.git
cd whole_history_rating
pip install .

Note: Building from source requires a C++ compiler supporting C++11 (GCC, Clang, MSVC) and the pybind11 package.


Usage

1. Basic API Usage

import whr
import math

# Initialize the rating database with volatility parameter w^2 = 30
base = whr.Base(config={"w2": 30})

# Create game records manually:
# create_game(black_player, white_player, winner, time_step, handicap=0.0)
# Winner options: "B" (black wins), "W" (white wins), "D" (draw)
base.create_game("Alice", "Carol", "D", 0)   # Day 0: Draw
base.create_game("Bob", "Dave", "B", 10)     # Day 10: Bob won
base.create_game("Dave", "Alice", "W", 30)   # Day 30: Alice won (Dave lost)
base.create_game("Bob", "Carol", "W", 60)    # Day 60: Carol won (Bob lost)

# Run 50 Newton-Raphson iterations to solve for player ratings
base.iterate(50)

# Retrieve rating history for individual players: returns list of [day, elo, uncertainty]
print("Alice ratings:", base.ratings_for_player("Alice"))
# Output: [[0, 78.51, 185.55], [30, 79.47, 187.12]]

# Get all player ratings sorted by final strength
print("Ordered ratings:", base.get_ordered_ratings())

2. Loading Games from CSV

The load_csv() method enables importing games from a CSV file or file-like buffer. It is designed to be highly tolerant of formatting errors:

import whr
import io

base = whr.Base()

csv_content = """
black_player, white_player, winner, time_step, handicap
Alice, Bob, B, 1, 0.0
Bob, Carol, W, 2, 0.0
Carol, Alice, D, 3, 5.0
"""

# Load from a file path or a StringIO buffer
base.load_csv(io.StringIO(csv_content))
base.iterate(50)

CSV Format & Column Aliases

WHR searches the header row case-insensitively for matches using the following aliases:

Logical Column Accepted Header Aliases Default Fallback / Behavior
Black Player black, black_player, player_black, p1, player1, black player Row is skipped if missing/empty.
White Player white, white_player, player_white, p2, player2, white player Row is skipped if missing/empty.
Winner winner, result, outcome, win, winner_player, victor Defaults to a Draw (D) with a warning.
Time Step time_step, time, step, day, date, round Defaults to 0 with a warning.
Handicap handicap, advantage, komi Defaults to 0.0 (no warning if absent, warning if invalid).

Winner Normalization Rules

WHR normalizes various winner representations to simplify integration:

  • Black Win: B, black, b, 1-0, 1, black win
  • White Win: W, white, w, 0-1, 0, white win
  • Draw: D, draw, d, 1/2-1/2, 0.5
  • Any unrecognized string defaults to a Draw (D) with a warning.

Tolerance & Warning Behavior

If the CSV structure contains minor anomalies, the parser emits a UserWarning instead of failing:

  • Missing Headers: If headers cannot be detected at all, WHR falls back to treating columns positionally as [black, white, winner, time_step, handicap].
  • Invalid Numbers: If time_step or handicap is non-numeric, it is defaulted to 0 or 0.0 respectively, and a warning is logged.
  • Float Time Steps: If the time_step contains decimals, it is safely rounded to the nearest integer.
  • Empty & Comment Lines: Empty lines and clean space rows are skipped silently.

Handicap & First-Move Advantage (Go vs. Chess)

WHR was originally designed for Go (围棋), where Black plays first and any handicap/komi is applied to Black's rating. Therefore, the library API is designed with [black, white, ...] parameter order.

If you are using this library for games where White plays first (e.g., Chess), you can handle the first-move advantage easily:

  • Approach A (Recommended - Negative Handicap): Keep passing the White player as the white argument, the Black player as the black argument, and pass a negative handicap value to represent White's first-move advantage. E.g., handicap = -35.0 (which mathematically increases White's win probability by adding 35.0 Elo to White).
  • Approach B (Logical Mapping): Map the first-move player (White) to the black parameter, and the second-move player (Black) to the white parameter. If White wins, set the winner to "B".

API Reference

whr.Base

Main interface for calculating ratings.

  • __init__(config=None, w2=300.0, virtual_games=2)
    • config: Optional dict containing w2 and virtual_games.
    • w2: Rating variance parameter controlling how fast rating changes over time (default: 300.0).
    • virtual_games: Number of virtual draw games assigned to players on their first day for rating regularization.
  • create_game(black, white, winner, time_step, handicap=0.0): Create and register a single game.
  • create_games(games): Ingest a list of games in the format [black, white, winner, time_step, handicap].
  • load_csv(filepath_or_buffer): Load games from a CSV file path or file-like buffer.
  • iterate(count): Perform a fixed number of Newton-Raphson optimization steps.
  • iterate_until_converge(verbose=True): Iterate until convergence. Returns the total number of iterations.
  • ratings_for_player(name): Get the rating timeline of a player as [[day, rating, uncertainty], ...].
  • get_ordered_ratings(): Get sorted ratings for all active players.
  • log_likelihood(): Returns the overall log-likelihood score of the current model.

whr.Evaluate

Evaluates rating predictability on external test datasets.

  • __init__(base): Initialize with a trained whr.Base rating database.
  • get_rating(name, time_step, ignore_null_players=True): Get the rating of a player on a specific day.
  • evaluate_ave_log_likelihood_games(games, ignore_null_players=True): Compute average log-likelihood across a list of test games.

Running Tests

Test files are modularized and cover base functionality, evaluation metrics, and CSV parsing:

python -m pytest tests/

To run with verbose output:

python -m pytest tests/ -v

References

Rémi Coulom. Whole-history rating: A Bayesian rating system for players of time-varying strength. In International Conference on Computers and Games. 2008.

Project details


Download files

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

Source Distribution

whr-2.2.0.tar.gz (21.1 kB view details)

Uploaded Source

Built Distributions

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

whr-2.2.0-cp314-cp314t-win_amd64.whl (352.9 kB view details)

Uploaded CPython 3.14tWindows x86-64

whr-2.2.0-cp314-cp314t-win32.whl (321.4 kB view details)

Uploaded CPython 3.14tWindows x86

whr-2.2.0-cp314-cp314t-musllinux_1_2_x86_64.whl (1.2 MB view details)

Uploaded CPython 3.14tmusllinux: musl 1.2+ x86-64

whr-2.2.0-cp314-cp314t-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (186.5 kB view details)

Uploaded CPython 3.14tmanylinux: glibc 2.27+ x86-64manylinux: glibc 2.28+ x86-64

whr-2.2.0-cp314-cp314t-macosx_11_0_arm64.whl (170.3 kB view details)

Uploaded CPython 3.14tmacOS 11.0+ ARM64

whr-2.2.0-cp314-cp314t-macosx_10_15_x86_64.whl (179.9 kB view details)

Uploaded CPython 3.14tmacOS 10.15+ x86-64

whr-2.2.0-cp314-cp314t-macosx_10_15_universal2.whl (339.7 kB view details)

Uploaded CPython 3.14tmacOS 10.15+ universal2 (ARM64, x86-64)

whr-2.2.0-cp314-cp314-win_amd64.whl (347.0 kB view details)

Uploaded CPython 3.14Windows x86-64

whr-2.2.0-cp314-cp314-win32.whl (316.2 kB view details)

Uploaded CPython 3.14Windows x86

whr-2.2.0-cp314-cp314-musllinux_1_2_x86_64.whl (1.2 MB view details)

Uploaded CPython 3.14musllinux: musl 1.2+ x86-64

whr-2.2.0-cp314-cp314-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (190.9 kB view details)

Uploaded CPython 3.14manylinux: glibc 2.27+ x86-64manylinux: glibc 2.28+ x86-64

whr-2.2.0-cp314-cp314-macosx_11_0_arm64.whl (159.7 kB view details)

Uploaded CPython 3.14macOS 11.0+ ARM64

whr-2.2.0-cp314-cp314-macosx_10_15_x86_64.whl (171.1 kB view details)

Uploaded CPython 3.14macOS 10.15+ x86-64

whr-2.2.0-cp314-cp314-macosx_10_15_universal2.whl (320.2 kB view details)

Uploaded CPython 3.14macOS 10.15+ universal2 (ARM64, x86-64)

whr-2.2.0-cp313-cp313-win_amd64.whl (336.9 kB view details)

Uploaded CPython 3.13Windows x86-64

whr-2.2.0-cp313-cp313-win32.whl (308.3 kB view details)

Uploaded CPython 3.13Windows x86

whr-2.2.0-cp313-cp313-musllinux_1_2_x86_64.whl (1.2 MB view details)

Uploaded CPython 3.13musllinux: musl 1.2+ x86-64

whr-2.2.0-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (190.8 kB view details)

Uploaded CPython 3.13manylinux: glibc 2.27+ x86-64manylinux: glibc 2.28+ x86-64

whr-2.2.0-cp313-cp313-macosx_11_0_arm64.whl (159.5 kB view details)

Uploaded CPython 3.13macOS 11.0+ ARM64

whr-2.2.0-cp313-cp313-macosx_10_13_x86_64.whl (171.0 kB view details)

Uploaded CPython 3.13macOS 10.13+ x86-64

whr-2.2.0-cp313-cp313-macosx_10_13_universal2.whl (319.9 kB view details)

Uploaded CPython 3.13macOS 10.13+ universal2 (ARM64, x86-64)

whr-2.2.0-cp312-cp312-win_amd64.whl (336.9 kB view details)

Uploaded CPython 3.12Windows x86-64

whr-2.2.0-cp312-cp312-win32.whl (308.4 kB view details)

Uploaded CPython 3.12Windows x86

whr-2.2.0-cp312-cp312-musllinux_1_2_x86_64.whl (1.2 MB view details)

Uploaded CPython 3.12musllinux: musl 1.2+ x86-64

whr-2.2.0-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (190.8 kB view details)

Uploaded CPython 3.12manylinux: glibc 2.27+ x86-64manylinux: glibc 2.28+ x86-64

whr-2.2.0-cp312-cp312-macosx_11_0_arm64.whl (159.4 kB view details)

Uploaded CPython 3.12macOS 11.0+ ARM64

whr-2.2.0-cp312-cp312-macosx_10_13_x86_64.whl (171.0 kB view details)

Uploaded CPython 3.12macOS 10.13+ x86-64

whr-2.2.0-cp312-cp312-macosx_10_13_universal2.whl (319.7 kB view details)

Uploaded CPython 3.12macOS 10.13+ universal2 (ARM64, x86-64)

whr-2.2.0-cp311-cp311-win_amd64.whl (335.4 kB view details)

Uploaded CPython 3.11Windows x86-64

whr-2.2.0-cp311-cp311-win32.whl (308.0 kB view details)

Uploaded CPython 3.11Windows x86

whr-2.2.0-cp311-cp311-musllinux_1_2_x86_64.whl (1.2 MB view details)

Uploaded CPython 3.11musllinux: musl 1.2+ x86-64

whr-2.2.0-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (189.9 kB view details)

Uploaded CPython 3.11manylinux: glibc 2.27+ x86-64manylinux: glibc 2.28+ x86-64

whr-2.2.0-cp311-cp311-macosx_11_0_arm64.whl (158.5 kB view details)

Uploaded CPython 3.11macOS 11.0+ ARM64

whr-2.2.0-cp311-cp311-macosx_10_9_x86_64.whl (169.4 kB view details)

Uploaded CPython 3.11macOS 10.9+ x86-64

whr-2.2.0-cp311-cp311-macosx_10_9_universal2.whl (317.1 kB view details)

Uploaded CPython 3.11macOS 10.9+ universal2 (ARM64, x86-64)

whr-2.2.0-cp310-cp310-win_amd64.whl (334.1 kB view details)

Uploaded CPython 3.10Windows x86-64

whr-2.2.0-cp310-cp310-win32.whl (307.1 kB view details)

Uploaded CPython 3.10Windows x86

whr-2.2.0-cp310-cp310-musllinux_1_2_x86_64.whl (1.2 MB view details)

Uploaded CPython 3.10musllinux: musl 1.2+ x86-64

whr-2.2.0-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (187.3 kB view details)

Uploaded CPython 3.10manylinux: glibc 2.27+ x86-64manylinux: glibc 2.28+ x86-64

whr-2.2.0-cp310-cp310-macosx_11_0_arm64.whl (157.3 kB view details)

Uploaded CPython 3.10macOS 11.0+ ARM64

whr-2.2.0-cp310-cp310-macosx_10_9_x86_64.whl (168.1 kB view details)

Uploaded CPython 3.10macOS 10.9+ x86-64

whr-2.2.0-cp310-cp310-macosx_10_9_universal2.whl (315.0 kB view details)

Uploaded CPython 3.10macOS 10.9+ universal2 (ARM64, x86-64)

whr-2.2.0-cp39-cp39-win_amd64.whl (334.9 kB view details)

Uploaded CPython 3.9Windows x86-64

whr-2.2.0-cp39-cp39-win32.whl (307.7 kB view details)

Uploaded CPython 3.9Windows x86

whr-2.2.0-cp39-cp39-musllinux_1_2_x86_64.whl (1.2 MB view details)

Uploaded CPython 3.9musllinux: musl 1.2+ x86-64

whr-2.2.0-cp39-cp39-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (186.4 kB view details)

Uploaded CPython 3.9manylinux: glibc 2.27+ x86-64manylinux: glibc 2.28+ x86-64

whr-2.2.0-cp39-cp39-macosx_11_0_arm64.whl (157.5 kB view details)

Uploaded CPython 3.9macOS 11.0+ ARM64

whr-2.2.0-cp39-cp39-macosx_10_9_x86_64.whl (168.2 kB view details)

Uploaded CPython 3.9macOS 10.9+ x86-64

whr-2.2.0-cp39-cp39-macosx_10_9_universal2.whl (315.2 kB view details)

Uploaded CPython 3.9macOS 10.9+ universal2 (ARM64, x86-64)

File details

Details for the file whr-2.2.0.tar.gz.

File metadata

  • Download URL: whr-2.2.0.tar.gz
  • Upload date:
  • Size: 21.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for whr-2.2.0.tar.gz
Algorithm Hash digest
SHA256 78d18ceb0444a360ea122555bd1cf62184a12235082d690143f462a0bee8b5d8
MD5 662a02f5fc2602c8a0d56fe3feb99356
BLAKE2b-256 c82bd86f81b1e9c2e363d2f52692bf10d10d06eaf685b70b0d65403f0e03f9fc

See more details on using hashes here.

File details

Details for the file whr-2.2.0-cp314-cp314t-win_amd64.whl.

File metadata

  • Download URL: whr-2.2.0-cp314-cp314t-win_amd64.whl
  • Upload date:
  • Size: 352.9 kB
  • Tags: CPython 3.14t, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for whr-2.2.0-cp314-cp314t-win_amd64.whl
Algorithm Hash digest
SHA256 dc80efa02c445bfe54313825b502e1232512a9ff9bd8910d150c273e57bcf576
MD5 22211cbc48e994daceb399029c4b0333
BLAKE2b-256 76818275c47576dbeaef9465d34cc97b55610da948ec9ec1279273302ee1f5c1

See more details on using hashes here.

File details

Details for the file whr-2.2.0-cp314-cp314t-win32.whl.

File metadata

  • Download URL: whr-2.2.0-cp314-cp314t-win32.whl
  • Upload date:
  • Size: 321.4 kB
  • Tags: CPython 3.14t, Windows x86
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for whr-2.2.0-cp314-cp314t-win32.whl
Algorithm Hash digest
SHA256 653724b1cd0b3ddc56592e0a8db67f5ad63619874723152dbca4b720ee9acb9a
MD5 5c6192829802e1dee437ee664783721b
BLAKE2b-256 9566d9cf0c1acac752611fe3e9ec17e67ed8fe00098d113bdd40096f61a59290

See more details on using hashes here.

File details

Details for the file whr-2.2.0-cp314-cp314t-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for whr-2.2.0-cp314-cp314t-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 6ea5f81cafc329230c312cb92a5457ae456509a68da2e7b3b1cc2c6d31c45907
MD5 0f82d4bc3a9513e33dff36e1556cff86
BLAKE2b-256 621adc2667153e221ca5157e4274f2c3f290792196f87d97c93815163ff02d57

See more details on using hashes here.

File details

Details for the file whr-2.2.0-cp314-cp314t-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for whr-2.2.0-cp314-cp314t-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 9831e3a874abb9b3109940c6e80ebc5aa0b6459dc1cece24b2e0f04a28891b6a
MD5 abcb181e8a7d47026ca9eda51bd7df1f
BLAKE2b-256 0f47e5c1d6d898283baa2a7d32bff5a23a8113aa24642a5a618e4b585557a16e

See more details on using hashes here.

File details

Details for the file whr-2.2.0-cp314-cp314t-macosx_11_0_arm64.whl.

File metadata

  • Download URL: whr-2.2.0-cp314-cp314t-macosx_11_0_arm64.whl
  • Upload date:
  • Size: 170.3 kB
  • Tags: CPython 3.14t, macOS 11.0+ ARM64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for whr-2.2.0-cp314-cp314t-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 fd5c31ce03fd6acec0fab19935638792cfe7dbed4f7a844e08c699ef409f5b4e
MD5 e28b5b0da867c6e502b48ca27dcf7182
BLAKE2b-256 fb5d0dd47441fc1e225033c6f7a3d856eacf8cf0b3ab733937b138bd82df370d

See more details on using hashes here.

File details

Details for the file whr-2.2.0-cp314-cp314t-macosx_10_15_x86_64.whl.

File metadata

File hashes

Hashes for whr-2.2.0-cp314-cp314t-macosx_10_15_x86_64.whl
Algorithm Hash digest
SHA256 f74aff4b39df8248d426856d900aedfb4e295464ecbab4ee1f94908389351afd
MD5 29aaed07890e77cb42237aa20d3025e3
BLAKE2b-256 388b84ad0e7e949061f8ab9d13d74a44c16e2216fa009fdc105477b076d949d3

See more details on using hashes here.

File details

Details for the file whr-2.2.0-cp314-cp314t-macosx_10_15_universal2.whl.

File metadata

File hashes

Hashes for whr-2.2.0-cp314-cp314t-macosx_10_15_universal2.whl
Algorithm Hash digest
SHA256 2fc22924132c9bd80ff6b87343eaa0b1b1e071f27d4a5273df203662d8eca40c
MD5 5d36b3548f93a774bbde321e48d2a5ce
BLAKE2b-256 1826a04b836f3be385fbc86c384255c3a0338a5aeb9fea58044ad53b5dc3cddd

See more details on using hashes here.

File details

Details for the file whr-2.2.0-cp314-cp314-win_amd64.whl.

File metadata

  • Download URL: whr-2.2.0-cp314-cp314-win_amd64.whl
  • Upload date:
  • Size: 347.0 kB
  • Tags: CPython 3.14, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for whr-2.2.0-cp314-cp314-win_amd64.whl
Algorithm Hash digest
SHA256 5e87c4d0326d1d60031d13fd7f6f9a128b1397bf6eea2a8e4eef1c6c719a585b
MD5 35eb8253ff074c1d7e62e553918ddda3
BLAKE2b-256 4145cb344471359f58d58fbe395f53a25fdd90f2604ff1fc28a3c110b566768d

See more details on using hashes here.

File details

Details for the file whr-2.2.0-cp314-cp314-win32.whl.

File metadata

  • Download URL: whr-2.2.0-cp314-cp314-win32.whl
  • Upload date:
  • Size: 316.2 kB
  • Tags: CPython 3.14, Windows x86
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for whr-2.2.0-cp314-cp314-win32.whl
Algorithm Hash digest
SHA256 ebc805da8d07ec0ec48625888cad8aea266b0b6d2b315864c6460f9054375cbf
MD5 b69e3d72f48c449e96420677dc65914a
BLAKE2b-256 3def2b53d6725506b126d93a8d8e2d88b7560652a543cf4272d2f9443a5d4a5f

See more details on using hashes here.

File details

Details for the file whr-2.2.0-cp314-cp314-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for whr-2.2.0-cp314-cp314-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 8af2b0efe472cb58a4f7b3d593db560a19b03f20a7e1dde565461cb88a087af3
MD5 09b1205a3351c16fc4fb5b073a4c77c7
BLAKE2b-256 de5545cffc172f3d939647a6ea2d9456453aff6cfffa41552cab066323fda40d

See more details on using hashes here.

File details

Details for the file whr-2.2.0-cp314-cp314-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for whr-2.2.0-cp314-cp314-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 2357f0fabc8e95347390e49a40d8ab7c14ff62fbe27c3443752ad30554dde06d
MD5 eb6df19eeb952b1e67c3243afd3a767e
BLAKE2b-256 d9c664175e1372d9e48e9e5769f16fdbde14c17af2277244a95d5996c5c6f08b

See more details on using hashes here.

File details

Details for the file whr-2.2.0-cp314-cp314-macosx_11_0_arm64.whl.

File metadata

  • Download URL: whr-2.2.0-cp314-cp314-macosx_11_0_arm64.whl
  • Upload date:
  • Size: 159.7 kB
  • Tags: CPython 3.14, macOS 11.0+ ARM64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for whr-2.2.0-cp314-cp314-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 b40208022a7be042bb7d6e222839fb80caf34153d72892d0396ba6e4db2fb707
MD5 3b46cf548edad09660072f3acb1f725a
BLAKE2b-256 092a427a883eb15be9e4d044ec3265481c622b42d22a2d30359807d111de0439

See more details on using hashes here.

File details

Details for the file whr-2.2.0-cp314-cp314-macosx_10_15_x86_64.whl.

File metadata

File hashes

Hashes for whr-2.2.0-cp314-cp314-macosx_10_15_x86_64.whl
Algorithm Hash digest
SHA256 3964f18461710c8ac0a66646e8452514792d6f19b07cb1c1327d62fb9e9b1258
MD5 63dd6ece1c9eaa3adff2a38c77078e33
BLAKE2b-256 22056d73ef57d147c5a8eefada3223205a13f065ffaaac4b0320c6fa4eefc5cd

See more details on using hashes here.

File details

Details for the file whr-2.2.0-cp314-cp314-macosx_10_15_universal2.whl.

File metadata

  • Download URL: whr-2.2.0-cp314-cp314-macosx_10_15_universal2.whl
  • Upload date:
  • Size: 320.2 kB
  • Tags: CPython 3.14, macOS 10.15+ universal2 (ARM64, x86-64)
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for whr-2.2.0-cp314-cp314-macosx_10_15_universal2.whl
Algorithm Hash digest
SHA256 fce684394f0c1493a06f33e5a151241aa0a4995fb8ffdeaf84e375f712014675
MD5 87d5c182309fe85ffe68e2bcaf2b2ee4
BLAKE2b-256 adf4dde7b74ca99ad7e2fdfbcc9a8fc0452b763f59e8f6ed25c515c54e82c08e

See more details on using hashes here.

File details

Details for the file whr-2.2.0-cp313-cp313-win_amd64.whl.

File metadata

  • Download URL: whr-2.2.0-cp313-cp313-win_amd64.whl
  • Upload date:
  • Size: 336.9 kB
  • Tags: CPython 3.13, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for whr-2.2.0-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 999f8c70f140e6379f61cefaa278065ccd3fe4bffcc7f20d63a4b41e4ae5d090
MD5 48bc8ba1ab20f26c2b21728c0279a8bb
BLAKE2b-256 647828def457af58095f2ad383466c963d40f1ac0082c0db7c41ce90beb2d0f5

See more details on using hashes here.

File details

Details for the file whr-2.2.0-cp313-cp313-win32.whl.

File metadata

  • Download URL: whr-2.2.0-cp313-cp313-win32.whl
  • Upload date:
  • Size: 308.3 kB
  • Tags: CPython 3.13, Windows x86
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for whr-2.2.0-cp313-cp313-win32.whl
Algorithm Hash digest
SHA256 1db71b09303b5744eb24fa20a20898ac21337cc1904ba2d1dc687d11ad3dcca0
MD5 9a28ad066d970e4d415d175d32115d48
BLAKE2b-256 15e0b615aee7b545875a5b15f55fcc2abde3f3b586a6abc882e34ebf075d1b68

See more details on using hashes here.

File details

Details for the file whr-2.2.0-cp313-cp313-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for whr-2.2.0-cp313-cp313-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 52c7497459809c8e07f14e5d997251819e031e6c0b840c008b5188dfb15dd31b
MD5 ce55232f15bb0f493892d280eddcdfb4
BLAKE2b-256 1010a80ca13badbed763201fc806b3db1b995207de0b9ddb0a7a2d823309e231

See more details on using hashes here.

File details

Details for the file whr-2.2.0-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for whr-2.2.0-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 c860d71f8acd958a0f045be7bac0812481bbf408e4bcecc8af22dfa4851d16d4
MD5 8e8a1c371844bb679ab2707781e75010
BLAKE2b-256 ab9278b438a231126f2a348c0aa0543f4a200683cb11e2e6614bd71c9e63370b

See more details on using hashes here.

File details

Details for the file whr-2.2.0-cp313-cp313-macosx_11_0_arm64.whl.

File metadata

  • Download URL: whr-2.2.0-cp313-cp313-macosx_11_0_arm64.whl
  • Upload date:
  • Size: 159.5 kB
  • Tags: CPython 3.13, macOS 11.0+ ARM64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for whr-2.2.0-cp313-cp313-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 0188e4506d557dfd23e0acea5930d19f6105344c9ad20d46d77eb47a31877081
MD5 1766514a196f919eb8ba80db9d6ab11b
BLAKE2b-256 50ad6cb0f60c0d95e18652f84b89e22b6a4fdb4ef64cee510ec0bb1ec585208d

See more details on using hashes here.

File details

Details for the file whr-2.2.0-cp313-cp313-macosx_10_13_x86_64.whl.

File metadata

File hashes

Hashes for whr-2.2.0-cp313-cp313-macosx_10_13_x86_64.whl
Algorithm Hash digest
SHA256 eeeae825093c4f1e3d24070b51017420c860491cf798862bab135e60a9d5d727
MD5 0cadf8e65226daf6c4fddb5c1d5080b5
BLAKE2b-256 01309845dee86c3fe9e52bfbc7ac13a5b9586c91a001db27df2baa7e8ce2bcc6

See more details on using hashes here.

File details

Details for the file whr-2.2.0-cp313-cp313-macosx_10_13_universal2.whl.

File metadata

  • Download URL: whr-2.2.0-cp313-cp313-macosx_10_13_universal2.whl
  • Upload date:
  • Size: 319.9 kB
  • Tags: CPython 3.13, macOS 10.13+ universal2 (ARM64, x86-64)
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for whr-2.2.0-cp313-cp313-macosx_10_13_universal2.whl
Algorithm Hash digest
SHA256 6829bbf411ec072255234afb029ad73ff3ce369cf954cc9a538ab8f249454ab6
MD5 6013c65ff270af2b3e2e8f9c43cc6553
BLAKE2b-256 10fb919d7e680a6a59b999441e0fd265c7b64befb73e7d17a4c6176851aac4b6

See more details on using hashes here.

File details

Details for the file whr-2.2.0-cp312-cp312-win_amd64.whl.

File metadata

  • Download URL: whr-2.2.0-cp312-cp312-win_amd64.whl
  • Upload date:
  • Size: 336.9 kB
  • Tags: CPython 3.12, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for whr-2.2.0-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 f448e05dfdbcef4c23e54ccad5b76cf46fe3a475fe02c6265e57269cb5e89b12
MD5 a6a6a299b7285c331984e4d26512f37a
BLAKE2b-256 9f84589b96284c38e2359c4fc55047f6f7bd044c6571862ccb187d59c36be516

See more details on using hashes here.

File details

Details for the file whr-2.2.0-cp312-cp312-win32.whl.

File metadata

  • Download URL: whr-2.2.0-cp312-cp312-win32.whl
  • Upload date:
  • Size: 308.4 kB
  • Tags: CPython 3.12, Windows x86
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for whr-2.2.0-cp312-cp312-win32.whl
Algorithm Hash digest
SHA256 08eff30dc91a47fca7e10d0cf8ff263fec16d7505dd10f5b4afa7da1c00df53d
MD5 06087d8a76786954de12e544000436e8
BLAKE2b-256 136560f1bc7a01cf8a413c7130ce6de6e8f08a39bb22da3f84c0c155c727863d

See more details on using hashes here.

File details

Details for the file whr-2.2.0-cp312-cp312-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for whr-2.2.0-cp312-cp312-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 661093f00fb1b4ae76cd07893e28ca2e6ca4e68f7590e24192e1da3e6137f5f8
MD5 7ea5bbd30a4f61e6a7cd89704261edf4
BLAKE2b-256 2f286ba201dc79a9f100ce3cfd56ad18145f6ff2a2e9db41407e4c95d42e17a7

See more details on using hashes here.

File details

Details for the file whr-2.2.0-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for whr-2.2.0-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 4feb1994ce2073f3b06600753c25de891f157d37d921a24bf4b1941da981726f
MD5 7cbb49e51299929dff0b66b5c0ee2067
BLAKE2b-256 b624f7af47044c803dcb765e0b20b9a75cbc03602103787e0df24a96846c7228

See more details on using hashes here.

File details

Details for the file whr-2.2.0-cp312-cp312-macosx_11_0_arm64.whl.

File metadata

  • Download URL: whr-2.2.0-cp312-cp312-macosx_11_0_arm64.whl
  • Upload date:
  • Size: 159.4 kB
  • Tags: CPython 3.12, macOS 11.0+ ARM64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for whr-2.2.0-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 fe37006da8d35fdbc9346dc304f49d90372e42404d6eb5b72fa81982d5a1e898
MD5 ba7d160db91c3b65f0456e99e7fffb57
BLAKE2b-256 6a7cafaa3b87028f50fcefbf6ad8b147841032a5da8204a51888ec15672433b2

See more details on using hashes here.

File details

Details for the file whr-2.2.0-cp312-cp312-macosx_10_13_x86_64.whl.

File metadata

File hashes

Hashes for whr-2.2.0-cp312-cp312-macosx_10_13_x86_64.whl
Algorithm Hash digest
SHA256 d1d2649399992334e2cd87d7e33c05f9a2b3788237003152f3264df2d258baee
MD5 b66871c9e754288646d9d664d66d5c6d
BLAKE2b-256 fdd918a017fa1a4cc01028613e8653a4f177add761be8a4a31ee27a666c6386e

See more details on using hashes here.

File details

Details for the file whr-2.2.0-cp312-cp312-macosx_10_13_universal2.whl.

File metadata

  • Download URL: whr-2.2.0-cp312-cp312-macosx_10_13_universal2.whl
  • Upload date:
  • Size: 319.7 kB
  • Tags: CPython 3.12, macOS 10.13+ universal2 (ARM64, x86-64)
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for whr-2.2.0-cp312-cp312-macosx_10_13_universal2.whl
Algorithm Hash digest
SHA256 59076c7f137f0df4e676366e1c781c660201cab2ae4f7c02a291582aa791f47f
MD5 1a1ad029a3ae40dcbe9f7713f148cb46
BLAKE2b-256 b90482bd6879c1b8feb8ad3531346cd48fbfe8ab38c7bbf3d51ecb07300c4dff

See more details on using hashes here.

File details

Details for the file whr-2.2.0-cp311-cp311-win_amd64.whl.

File metadata

  • Download URL: whr-2.2.0-cp311-cp311-win_amd64.whl
  • Upload date:
  • Size: 335.4 kB
  • Tags: CPython 3.11, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for whr-2.2.0-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 9e2f1a7bf82309e202fc3541ab7bfa00e6d85c3cd47bd46f5cea3cca2467dc2d
MD5 4463dae3db9da0a9ade598094d0438b7
BLAKE2b-256 76ecf594ac65aa28db7445eb080f18e93f6a9585cb8379aece3a683e0162b29a

See more details on using hashes here.

File details

Details for the file whr-2.2.0-cp311-cp311-win32.whl.

File metadata

  • Download URL: whr-2.2.0-cp311-cp311-win32.whl
  • Upload date:
  • Size: 308.0 kB
  • Tags: CPython 3.11, Windows x86
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for whr-2.2.0-cp311-cp311-win32.whl
Algorithm Hash digest
SHA256 5bfab7b073bc3833f200c6b6f4638afb041a0cc540189f8ac51d46899b2ff8b3
MD5 4f16b5473c69e535e938657915bf26ec
BLAKE2b-256 3f7e5916855589f3f2cc2169192c2d57f709afbeafaed510509b1bbee72b0b02

See more details on using hashes here.

File details

Details for the file whr-2.2.0-cp311-cp311-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for whr-2.2.0-cp311-cp311-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 43da9a38674bed396f15eb710a213129d4b18e5367781c2d18eb9afa362fcd3f
MD5 5ec1daa46b50c4cb0719686805f40fba
BLAKE2b-256 3bc07aec862e4d58d11e03322e95b3f4e3b71bdc0a58d9490f89a33a910d9d43

See more details on using hashes here.

File details

Details for the file whr-2.2.0-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for whr-2.2.0-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 c10b9703bd79906ef313f60e58fd6e12d451df9af62f0e8caa88945dd692a7b0
MD5 9e2d66e2f23e560355bfcae9af224b71
BLAKE2b-256 ecc53360771ec2456227fcd38e9234cf94619918a0a9bcb8290108c32b66e1d4

See more details on using hashes here.

File details

Details for the file whr-2.2.0-cp311-cp311-macosx_11_0_arm64.whl.

File metadata

  • Download URL: whr-2.2.0-cp311-cp311-macosx_11_0_arm64.whl
  • Upload date:
  • Size: 158.5 kB
  • Tags: CPython 3.11, macOS 11.0+ ARM64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for whr-2.2.0-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 3dbb770caba8f280c4e85a191d06f5983c3af8d0c7fe9ce79e4169300e130be1
MD5 af6872e7c423016811e661f0943204ca
BLAKE2b-256 b33a24f93e20d7dbd4ebbb3fa7bef4b9f7f3d91607df389e6eeb94b927ca2816

See more details on using hashes here.

File details

Details for the file whr-2.2.0-cp311-cp311-macosx_10_9_x86_64.whl.

File metadata

  • Download URL: whr-2.2.0-cp311-cp311-macosx_10_9_x86_64.whl
  • Upload date:
  • Size: 169.4 kB
  • Tags: CPython 3.11, macOS 10.9+ x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for whr-2.2.0-cp311-cp311-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 5c8cd6996a03e8c6fa7ce3d17bd8541aecaab8f535e9f11be80216d5ad0dccb9
MD5 61123da7a0699a5a081d3cd7f2270a3d
BLAKE2b-256 f86bda2d9043ae0ad52e477b0bdb7f7eca461401cc8a1af62d87d9864c54834a

See more details on using hashes here.

File details

Details for the file whr-2.2.0-cp311-cp311-macosx_10_9_universal2.whl.

File metadata

  • Download URL: whr-2.2.0-cp311-cp311-macosx_10_9_universal2.whl
  • Upload date:
  • Size: 317.1 kB
  • Tags: CPython 3.11, macOS 10.9+ universal2 (ARM64, x86-64)
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for whr-2.2.0-cp311-cp311-macosx_10_9_universal2.whl
Algorithm Hash digest
SHA256 01fff58891e6168421dcd95e84d8641205a246ec0b91682806a31c20c14cba36
MD5 103e57cb80b633028a8a8dc2f552a964
BLAKE2b-256 7626cb1cc4466afecc4f290e229153e691c5ba2de63f3538c51583755ed14907

See more details on using hashes here.

File details

Details for the file whr-2.2.0-cp310-cp310-win_amd64.whl.

File metadata

  • Download URL: whr-2.2.0-cp310-cp310-win_amd64.whl
  • Upload date:
  • Size: 334.1 kB
  • Tags: CPython 3.10, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for whr-2.2.0-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 74d8095457cdb7dfd5c8f307a722f4bba32942f3c9abb522fdc0121b49f2899d
MD5 9f0fcfcb8f003792a5f7b96389782e59
BLAKE2b-256 5b59b4c605454e01151644d08a2a406098f1f2ac4f8e1be0dd9c2e7e0a60a77d

See more details on using hashes here.

File details

Details for the file whr-2.2.0-cp310-cp310-win32.whl.

File metadata

  • Download URL: whr-2.2.0-cp310-cp310-win32.whl
  • Upload date:
  • Size: 307.1 kB
  • Tags: CPython 3.10, Windows x86
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for whr-2.2.0-cp310-cp310-win32.whl
Algorithm Hash digest
SHA256 fd5cfd901d2452b0722b1de0a5643d2c1642e54e91afd68665bb69b1cfbdd612
MD5 4904d43f6d163f5c9ced0372aa2993a6
BLAKE2b-256 36213e91e996e23d2a90dd3a5065fb0a74270cd0a2dc6b9776cbd2454c177b48

See more details on using hashes here.

File details

Details for the file whr-2.2.0-cp310-cp310-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for whr-2.2.0-cp310-cp310-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 12a53f111638ae18e3cd9d0c93e3d830e5213d2f81e2ad434f7e4326345f25e3
MD5 fcbd7c83cc227d5d1ddbff7e9b879097
BLAKE2b-256 788940d678a8d928a972efb0d30d68071d012c2e90df8053731af597b9f87e7c

See more details on using hashes here.

File details

Details for the file whr-2.2.0-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for whr-2.2.0-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 bbcaa80207e8cf366af663818ecd2596ce276229b79b711f3eea5f87abc9ffb8
MD5 352e47ea54f7f7f9d134cebd5cfa40ee
BLAKE2b-256 00028d9ccca5e002290b710c92a3e2f489c7ebe9b8782c1c4479c0d186372e97

See more details on using hashes here.

File details

Details for the file whr-2.2.0-cp310-cp310-macosx_11_0_arm64.whl.

File metadata

  • Download URL: whr-2.2.0-cp310-cp310-macosx_11_0_arm64.whl
  • Upload date:
  • Size: 157.3 kB
  • Tags: CPython 3.10, macOS 11.0+ ARM64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for whr-2.2.0-cp310-cp310-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 9f5bb7c2398ef631df30ea0ae72aca29cd5300728bcd552194b20d5a0b1ab7db
MD5 e1ce8f79b9b79d3cf54de6daa41f80c1
BLAKE2b-256 0784c13de18f0cf101adcf6906ff5ef8b4101ed6dc78cbedae860fb843e63799

See more details on using hashes here.

File details

Details for the file whr-2.2.0-cp310-cp310-macosx_10_9_x86_64.whl.

File metadata

  • Download URL: whr-2.2.0-cp310-cp310-macosx_10_9_x86_64.whl
  • Upload date:
  • Size: 168.1 kB
  • Tags: CPython 3.10, macOS 10.9+ x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for whr-2.2.0-cp310-cp310-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 3a936c13296cf9f0871fddcba5f961e2f3253c8039d0a772661b159d6f9c406e
MD5 68f5bac73ed9d939d803ec8b6ac7662e
BLAKE2b-256 ed203069ea8a482b1264313e09e41518c34ea8c9d1a924ea5f5022fca2fe92e9

See more details on using hashes here.

File details

Details for the file whr-2.2.0-cp310-cp310-macosx_10_9_universal2.whl.

File metadata

  • Download URL: whr-2.2.0-cp310-cp310-macosx_10_9_universal2.whl
  • Upload date:
  • Size: 315.0 kB
  • Tags: CPython 3.10, macOS 10.9+ universal2 (ARM64, x86-64)
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for whr-2.2.0-cp310-cp310-macosx_10_9_universal2.whl
Algorithm Hash digest
SHA256 dd1a9e1eff915f9a350bb77e2dcc658a2d4fea7a7a42f44c35224dddff5ff9a9
MD5 a27d1d94d56e1dc60ce37d312cfa0062
BLAKE2b-256 92346a4252ca9796b1cf7ed9d6825f626bef55639dee471747062bb9093cdd46

See more details on using hashes here.

File details

Details for the file whr-2.2.0-cp39-cp39-win_amd64.whl.

File metadata

  • Download URL: whr-2.2.0-cp39-cp39-win_amd64.whl
  • Upload date:
  • Size: 334.9 kB
  • Tags: CPython 3.9, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for whr-2.2.0-cp39-cp39-win_amd64.whl
Algorithm Hash digest
SHA256 c3cd3abcb45da5d9ffa137382c3746de97ea2eb91d50f0d2a04459c4a336fce2
MD5 e056f24f5be9b32a6bef3d10f6ef2980
BLAKE2b-256 1b703d30d3ebdfd6d69c2cdbc705ea2195960fbfd81912257392a6ec78e8773c

See more details on using hashes here.

File details

Details for the file whr-2.2.0-cp39-cp39-win32.whl.

File metadata

  • Download URL: whr-2.2.0-cp39-cp39-win32.whl
  • Upload date:
  • Size: 307.7 kB
  • Tags: CPython 3.9, Windows x86
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for whr-2.2.0-cp39-cp39-win32.whl
Algorithm Hash digest
SHA256 d057ee9130f38945c8a24675b4ddfcd7634b5a48e6d7942910a02f677a77f1c3
MD5 d563be1305b71ce085347ec04e956669
BLAKE2b-256 8ca540ae13a9ba999ce468c7ed444dfced488906473d0e2e214c875a7cb64fb3

See more details on using hashes here.

File details

Details for the file whr-2.2.0-cp39-cp39-musllinux_1_2_x86_64.whl.

File metadata

  • Download URL: whr-2.2.0-cp39-cp39-musllinux_1_2_x86_64.whl
  • Upload date:
  • Size: 1.2 MB
  • Tags: CPython 3.9, musllinux: musl 1.2+ x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for whr-2.2.0-cp39-cp39-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 7fe85fa07aa7d24d8ea481fa14518656073acbdf1bee3f413059351c825cb69b
MD5 8b315ec8c0710db92d4f0e8ef47e80f9
BLAKE2b-256 5e315fa20a882ffad563f3ef0852186bf532dfade604f3f1f666b673156b10b5

See more details on using hashes here.

File details

Details for the file whr-2.2.0-cp39-cp39-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for whr-2.2.0-cp39-cp39-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 8cdb039dcc9fce20776e33e597caf8f2d6ef3853728a7cc739525239f09c3cba
MD5 a84d2dfea85833eb3c2657ea6c34ea54
BLAKE2b-256 6f5fff2190c3e7f282570442e1b5c06d69f7003710db65f28ab90885b4a4096b

See more details on using hashes here.

File details

Details for the file whr-2.2.0-cp39-cp39-macosx_11_0_arm64.whl.

File metadata

  • Download URL: whr-2.2.0-cp39-cp39-macosx_11_0_arm64.whl
  • Upload date:
  • Size: 157.5 kB
  • Tags: CPython 3.9, macOS 11.0+ ARM64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for whr-2.2.0-cp39-cp39-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 9868a37381262adfb24418ab9297ac294840db2d3fde0a5a8d4f59e958b81d8b
MD5 ef29ba080e34659bc6994ea7535a5721
BLAKE2b-256 6796405aaf43f3bbd07c20e10ea635a058a37c0404563b031835b151fe20ed27

See more details on using hashes here.

File details

Details for the file whr-2.2.0-cp39-cp39-macosx_10_9_x86_64.whl.

File metadata

  • Download URL: whr-2.2.0-cp39-cp39-macosx_10_9_x86_64.whl
  • Upload date:
  • Size: 168.2 kB
  • Tags: CPython 3.9, macOS 10.9+ x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for whr-2.2.0-cp39-cp39-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 1c8d63ef91a8c44707dd113e308880186f04fc4a154da7c413865639ac7c45f7
MD5 9111643f894f3b93d18953677bea6348
BLAKE2b-256 4693d60083d3318dfcd830ad0d899507f47176391e6ad5fb7b20ec7098b310ec

See more details on using hashes here.

File details

Details for the file whr-2.2.0-cp39-cp39-macosx_10_9_universal2.whl.

File metadata

  • Download URL: whr-2.2.0-cp39-cp39-macosx_10_9_universal2.whl
  • Upload date:
  • Size: 315.2 kB
  • Tags: CPython 3.9, macOS 10.9+ universal2 (ARM64, x86-64)
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for whr-2.2.0-cp39-cp39-macosx_10_9_universal2.whl
Algorithm Hash digest
SHA256 6b83a9ce82e4f25390e3177e1c1d64fde95e4d4e8fc85b68567726547d596511
MD5 4f59d8d650ae0a860fa5be1169c62468
BLAKE2b-256 2d4bfa74fb098be12a06b6cab64e6dc1eae3c86c905de2d4d438c7621c7fa512

See more details on using hashes here.

Supported by

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