Skip to main content

Python implementation of Shin's method for calculating implied probabilities from bookmaker odds

Project description

shin

A Python implementation of Shin's method [1, 2] for calculating implied probabilities from bookmaker odds.

Probabilities calculated in this way have been shown to be more accurate than those obtained by the standard approach of dividing the inverse odds by the booksum [3].

Installation

Requires Python 3.9 or above.

pip install shin

Usage

import shin

shin.calculate_implied_probabilities([2.6, 2.4, 4.3])
[0.37299406033208965, 0.4047794109200184, 0.2222265287474275]

Shin's method assumes there is some unknown proportion of bettors that are insiders, z, and this proportion along with the implied probabilities can be estimated using an iterative procedure described in [4].

Diagnostic information from the iterative procedure can be obtained by setting the full_output argument to True:

import shin

shin.calculate_implied_probabilities([2.6, 2.4, 4.3], full_output=True)
ShinOptimisationDetails(
    implied_probabilities=[0.37299406033208965, 0.4047794109200184, 0.2222265287474275],
    iterations=426,
    delta=9.667822098435863e-13,
    z=0.01694251276407055
)

The returned object contains the following fields:

  • implied_probablities
  • iterations - compare this value to the max_iterations argument (default = 1000) to check for failed convergence
  • delta - the final change in z for the final iteration. Compare with the convergence_threshold argument (default = 1e-12) to assess convergence
  • z - the estimated proportion of theoretical betting volume coming from insider traders

When there are only two outcomes, z can be calculated analytically [3]. In this case, the iterations and delta fields of the returned dict are 0 to reflect this:

import shin

shin.calculate_implied_probabilities([1.5, 2.74], full_output=True)
ShinOptimisationDetails(
    implied_probabilities=[0.6508515815085157, 0.3491484184914841],
    iterations=0.0,
    delta=0.0,
    z=0.03172728540646625
)

Note that with two outcomes, Shin's method is equivalent to the Additive Method of [5].

What's New in Version 0.2.0?

The latest version improves support for static typing and includes a breaking change.

Breaking Change To calculate_implied_probabilities() Signature

All arguments to calculate_implied_probabilities() other than odds are now keyword only arguments. This change simplified declaration of overloads to support typing the function's return value and will allow for more flexibility in the API.

from shin import calculate_implied_probabilities

# still works
calculate_implied_probabilities([2.0, 2.0])
calculate_implied_probabilities(odds=[2.0, 2.0])
calculate_implied_probabilities([2.0, 2.0], full_output=True)
## also any other combination of passing arguments as keyword args remains the same

# passing any arg other than `odds` as positional is now an error
calculate_implied_probabilibies([2.0, 2.0], 1000)  # Error
calculate_implied_probabilities([2.0, 2.0], max_iterations=1000)  # OK


calculate_impolied_probabilities([2.0, 2.0], 1000, 1e-12, True) # Error
calculate_implied_probabilities([2.0, 2.0], max_iterations=1000, convergence_threshold=1e-12, full_output=True)  # OK

See this commit for more details.

Full Output Type

The full_output argument now returns a ShinOptimisationDetails object instead of a dict. This object is a dataclass with the same fields as the dict that was previously returned.

For the read-only case, the ShinOptimisationDetails object can be used as a drop-in replacement for the dict that was previously returned as it supports __getitem__().

This change was introduced to support generic typing of the implied_probabilities, currently not supported by TypedDict in versions of Python < 3.11.

See this and this for more details.

What's New in Version 0.1.0?

The latest version introduces some substantial changes and breaking API changes.

Default Return Value Behaviour

Previously shin.calculate_implied_probabilities would return a dict that contained convergence details of the iterative fitting procedure along with the implied probabilities:

import shin

shin.calculate_implied_probabilities([2.6, 2.4, 4.3])
{'implied_probabilities': [0.37299406033208965,
  0.4047794109200184,
  0.2222265287474275],
 'iterations': 425,
 'delta': 9.667822098435863e-13,
 'z': 0.01694251276407055}

The default behaviour now is for the function to only return the implied probabilities:

import shin

shin.calculate_implied_probabilities([2.6, 2.4, 4.3])
[0.37299406033208965, 0.4047794109200184, 0.2222265287474275]

The full output can still be had by setting the full_output argument to True:

import shin

shin.calculate_implied_probabilities([2.6, 2.4, 4.3], full_output=True)
{'implied_probabilities': [0.37299406033208965,
  0.4047794109200184,
  0.2222265287474275],
 'iterations': 425,
 'delta': 9.667822098435863e-13,
 'z': 0.01694251276407055}

Passing Mappings

A common scenario is to have a mapping between some selection identifiers and their odds. You can now pass such mappings to shin.calculate_implied_probabilities and have a new dict mapping between the selection identifiers and their probabilities returned:

import shin

shin.calculate_implied_probabilities({"HOME": 2.6, "AWAY": 2.4, "DRAW": 4.3})
{'HOME': 0.37299406033208965,
 'AWAY': 0.4047794109200184,
 'DRAW': 0.2222265287474275}

This also works when asking for the full output to be returned:

import shin

shin.calculate_implied_probabilities({"HOME": 2.6, "AWAY": 2.4, "DRAW": 4.3}, full_output=True)
{'implied_probabilities': {'HOME': 0.37299406033208965,
  'AWAY': 0.4047794109200184,
  'DRAW': 0.2222265287474275},
 'iterations': 426,
 'delta': 9.667822098435863e-13,
 'z': 0.01694251276407055}

Controlling the Optimiser

Starting in version 0.1.0, the iterative procedure is implemented in Rust which provides a considerable performance boost. If you would like to use the old Python based optimiser use the force_python_optimiser argument:

import timeit
timeit.timeit(
    "shin.calculate_implied_probabilities([2.6, 2.4, 4.3], force_python_optimiser=True)",
    setup="import shin",
    number=10000
)
3.9101167659973726
import timeit
timeit.timeit(
    "shin.calculate_implied_probabilities([2.6, 2.4, 4.3])",
    setup="import shin",
    number=10000
)
0.14442387002054602

References

[1] H. S. Shin, “Prices of State Contingent Claims with Insider traders, and the Favorite-Longshot Bias”. The Economic Journal, 1992, 102, pp. 426-435.

[2] H. S. Shin, “Measuring the Incidence of Insider Trading in a Market for State-Contingent Claims”. The Economic Journal, 1993, 103(420), pp. 1141-1153.

[3] E. Štrumbelj, "On determining probability forecasts from betting odds". International Journal of Forecasting, 2014, Volume 30, Issue 4, pp. 934-943.

[4] B. Jullien and B. Salanié, "Measuring the Incidence of Insider Trading: A Comment on Shin". The Economic Journal, 1994, 104(427), pp. 1418–1419

[5] S. Clarke, S. Kovalchik, M. Ingram, "Adjusting bookmaker’s odds to allow for overround". American Journal of Sports Science, 2017, Volume 5, Issue 6, pp. 45-49.

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

shin-0.2.1.tar.gz (13.3 kB view details)

Uploaded Source

Built Distributions

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

shin-0.2.1-pp310-pypy310_pp73-musllinux_1_1_x86_64.whl (406.5 kB view details)

Uploaded PyPymusllinux: musl 1.1+ x86-64

shin-0.2.1-pp310-pypy310_pp73-musllinux_1_1_aarch64.whl (413.4 kB view details)

Uploaded PyPymusllinux: musl 1.1+ ARM64

shin-0.2.1-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (235.5 kB view details)

Uploaded PyPymanylinux: glibc 2.17+ x86-64

shin-0.2.1-pp310-pypy310_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (235.1 kB view details)

Uploaded PyPymanylinux: glibc 2.17+ ARM64

shin-0.2.1-pp39-pypy39_pp73-musllinux_1_1_x86_64.whl (406.5 kB view details)

Uploaded PyPymusllinux: musl 1.1+ x86-64

shin-0.2.1-pp39-pypy39_pp73-musllinux_1_1_aarch64.whl (413.4 kB view details)

Uploaded PyPymusllinux: musl 1.1+ ARM64

shin-0.2.1-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (235.5 kB view details)

Uploaded PyPymanylinux: glibc 2.17+ x86-64

shin-0.2.1-pp39-pypy39_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (235.1 kB view details)

Uploaded PyPymanylinux: glibc 2.17+ ARM64

shin-0.2.1-cp313-cp313-macosx_10_12_x86_64.macosx_11_0_arm64.macosx_10_12_universal2.whl (410.7 kB view details)

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

shin-0.2.1-cp312-cp312-win_amd64.whl (108.7 kB view details)

Uploaded CPython 3.12Windows x86-64

shin-0.2.1-cp312-cp312-musllinux_1_1_x86_64.whl (406.1 kB view details)

Uploaded CPython 3.12musllinux: musl 1.1+ x86-64

shin-0.2.1-cp312-cp312-musllinux_1_1_aarch64.whl (412.9 kB view details)

Uploaded CPython 3.12musllinux: musl 1.1+ ARM64

shin-0.2.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (235.1 kB view details)

Uploaded CPython 3.12manylinux: glibc 2.17+ x86-64

shin-0.2.1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (234.5 kB view details)

Uploaded CPython 3.12manylinux: glibc 2.17+ ARM64

shin-0.2.1-cp312-cp312-macosx_10_12_x86_64.macosx_11_0_arm64.macosx_10_12_universal2.whl (410.7 kB view details)

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

shin-0.2.1-cp311-cp311-win_amd64.whl (109.0 kB view details)

Uploaded CPython 3.11Windows x86-64

shin-0.2.1-cp311-cp311-musllinux_1_1_x86_64.whl (405.7 kB view details)

Uploaded CPython 3.11musllinux: musl 1.1+ x86-64

shin-0.2.1-cp311-cp311-musllinux_1_1_aarch64.whl (412.8 kB view details)

Uploaded CPython 3.11musllinux: musl 1.1+ ARM64

shin-0.2.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (234.9 kB view details)

Uploaded CPython 3.11manylinux: glibc 2.17+ x86-64

shin-0.2.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (234.3 kB view details)

Uploaded CPython 3.11manylinux: glibc 2.17+ ARM64

shin-0.2.1-cp311-cp311-macosx_10_12_x86_64.macosx_11_0_arm64.macosx_10_12_universal2.whl (410.2 kB view details)

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

shin-0.2.1-cp310-cp310-win_amd64.whl (109.0 kB view details)

Uploaded CPython 3.10Windows x86-64

shin-0.2.1-cp310-cp310-musllinux_1_1_x86_64.whl (405.7 kB view details)

Uploaded CPython 3.10musllinux: musl 1.1+ x86-64

shin-0.2.1-cp310-cp310-musllinux_1_1_aarch64.whl (412.8 kB view details)

Uploaded CPython 3.10musllinux: musl 1.1+ ARM64

shin-0.2.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (234.9 kB view details)

Uploaded CPython 3.10manylinux: glibc 2.17+ x86-64

shin-0.2.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (234.3 kB view details)

Uploaded CPython 3.10manylinux: glibc 2.17+ ARM64

shin-0.2.1-cp39-cp39-win_amd64.whl (109.0 kB view details)

Uploaded CPython 3.9Windows x86-64

shin-0.2.1-cp39-cp39-musllinux_1_1_x86_64.whl (405.9 kB view details)

Uploaded CPython 3.9musllinux: musl 1.1+ x86-64

shin-0.2.1-cp39-cp39-musllinux_1_1_aarch64.whl (412.8 kB view details)

Uploaded CPython 3.9musllinux: musl 1.1+ ARM64

shin-0.2.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (234.9 kB view details)

Uploaded CPython 3.9manylinux: glibc 2.17+ x86-64

shin-0.2.1-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (234.3 kB view details)

Uploaded CPython 3.9manylinux: glibc 2.17+ ARM64

File details

Details for the file shin-0.2.1.tar.gz.

File metadata

  • Download URL: shin-0.2.1.tar.gz
  • Upload date:
  • Size: 13.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: maturin/1.8.1

File hashes

Hashes for shin-0.2.1.tar.gz
Algorithm Hash digest
SHA256 a4c3d10065d202b629cc00864e93b92d5c297fce47784c118fb08647939bb0e7
MD5 750b7bf3aa5adbe2ade7c2fe8fee520f
BLAKE2b-256 38ad03ce0c5792519ac62937ff683d939ec84c9d3f4a39d1335ae97e4c11a363

See more details on using hashes here.

File details

Details for the file shin-0.2.1-pp310-pypy310_pp73-musllinux_1_1_x86_64.whl.

File metadata

File hashes

Hashes for shin-0.2.1-pp310-pypy310_pp73-musllinux_1_1_x86_64.whl
Algorithm Hash digest
SHA256 3db9a76bc69412851945d06af0245fd0a19fd4fca33b90d9eb94a812d8864332
MD5 02283fbb7194f734ec077c5f0ac9513e
BLAKE2b-256 2ef911060e5f4d33cde1b2f5d7c347b5f48ed70e4129f65cde1d2824e513c4d8

See more details on using hashes here.

File details

Details for the file shin-0.2.1-pp310-pypy310_pp73-musllinux_1_1_aarch64.whl.

File metadata

File hashes

Hashes for shin-0.2.1-pp310-pypy310_pp73-musllinux_1_1_aarch64.whl
Algorithm Hash digest
SHA256 66b66f95e61a5ce915c1eba818a8c69e5232239dd8a9502a3404ff385e9e97a1
MD5 f886b92d753fd6d54de11f11073e4998
BLAKE2b-256 395f85cd404aa95fad35a2baac15324572aa2279b2f70441e6f39d20eb79ce8a

See more details on using hashes here.

File details

Details for the file shin-0.2.1-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for shin-0.2.1-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 af1ba8f80eb1862159d6e2c9d700fb0c82ca144200a7be859acb47a1419f36c4
MD5 7b9cd3ff1408aff91a55d2930c55b66a
BLAKE2b-256 2d9eab0979917ec4b92d7f4f944ef9224ef8381e4b39fb14d945eb5db7868f6f

See more details on using hashes here.

File details

Details for the file shin-0.2.1-pp310-pypy310_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for shin-0.2.1-pp310-pypy310_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 dce57eefd82d547741cc2ecba0cfa68dfba5b13b01e2dd3a0491625ebd50a3ab
MD5 0a19affa33712b93ae9f079d2f4539ab
BLAKE2b-256 4af9eb8529ffba8572dc428f360aff75609c3e9d6a634a1bdf8e6cc653bc8e0b

See more details on using hashes here.

File details

Details for the file shin-0.2.1-pp39-pypy39_pp73-musllinux_1_1_x86_64.whl.

File metadata

File hashes

Hashes for shin-0.2.1-pp39-pypy39_pp73-musllinux_1_1_x86_64.whl
Algorithm Hash digest
SHA256 e8dd0171c4ae7f86e3f5ce2975fa109975a049688ff16e54d84d338751eaf869
MD5 f8e9ffcd6cff35f9ed2900d9c8dd6c10
BLAKE2b-256 07175a9c131e200bb21b455fd7dfe2a7e4923069082025e806e7a57bd1af34e8

See more details on using hashes here.

File details

Details for the file shin-0.2.1-pp39-pypy39_pp73-musllinux_1_1_aarch64.whl.

File metadata

File hashes

Hashes for shin-0.2.1-pp39-pypy39_pp73-musllinux_1_1_aarch64.whl
Algorithm Hash digest
SHA256 ae35640dfe5ca157b03be899ed113abe943a932253633550592352408b277a73
MD5 a20e581aaafd8d6367912889ade2091c
BLAKE2b-256 5250192ae356801983fdaf73afff08dcc79f453aa3355ee25860cab176745e35

See more details on using hashes here.

File details

Details for the file shin-0.2.1-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for shin-0.2.1-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 e06c63126ffd5ffb4f2ac1696d2b44a6f2ccfe3aac202e0dedfa487d6898a752
MD5 e8cf73db20ba211d41346967bcbabe00
BLAKE2b-256 1f91b5056af261df1d665f0577891eb8152bedbf37904b1470551a16be0b736a

See more details on using hashes here.

File details

Details for the file shin-0.2.1-pp39-pypy39_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for shin-0.2.1-pp39-pypy39_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 84efc778a87010bdb35fe9e5b64eb9305d36a1071d839ac138c1f685197000bc
MD5 499ec68c697f5561686c1ab7666944e8
BLAKE2b-256 d4bcca48f31d248fad873b9aa0c0c4456f86b1eb252a68e9b5b8af21f0354c9d

See more details on using hashes here.

File details

Details for the file shin-0.2.1-cp313-cp313-macosx_10_12_x86_64.macosx_11_0_arm64.macosx_10_12_universal2.whl.

File metadata

File hashes

Hashes for shin-0.2.1-cp313-cp313-macosx_10_12_x86_64.macosx_11_0_arm64.macosx_10_12_universal2.whl
Algorithm Hash digest
SHA256 ba8347ba60d56d08a898d1496ec4bf0959c422a164507c8cf5432571b8f4a91b
MD5 d0080b9a0bd890c728a23601d1695ce9
BLAKE2b-256 df790a8e1b6a186ea3470803313cd554942f0edd705d30b847470e81e712f3ac

See more details on using hashes here.

File details

Details for the file shin-0.2.1-cp312-cp312-win_amd64.whl.

File metadata

  • Download URL: shin-0.2.1-cp312-cp312-win_amd64.whl
  • Upload date:
  • Size: 108.7 kB
  • Tags: CPython 3.12, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: maturin/1.8.1

File hashes

Hashes for shin-0.2.1-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 fd2da54d22a9bf6ac09dcca9c71d62ceff908f4fa72f671961b9e5f12e7b7dce
MD5 48035a0947ce5c484c7523d23447cf3d
BLAKE2b-256 b6c2293cbe70b65beb802f1593389fb9475d1d8ed0ad59fbcf1922f2ae39ce8e

See more details on using hashes here.

File details

Details for the file shin-0.2.1-cp312-cp312-musllinux_1_1_x86_64.whl.

File metadata

File hashes

Hashes for shin-0.2.1-cp312-cp312-musllinux_1_1_x86_64.whl
Algorithm Hash digest
SHA256 9bcb255c5728c8fc10bce4af7bdec6faf72ecadf8d2aec09aa87c2b94be1c48f
MD5 a7f8ac1710f2a84ff9f392bcd3d13e35
BLAKE2b-256 d767ab2313d854203f76a9137a64bdac9ffb828ed67410344f74dee0629224ba

See more details on using hashes here.

File details

Details for the file shin-0.2.1-cp312-cp312-musllinux_1_1_aarch64.whl.

File metadata

File hashes

Hashes for shin-0.2.1-cp312-cp312-musllinux_1_1_aarch64.whl
Algorithm Hash digest
SHA256 07479c1e434fd5ac38711def96e717668b968078f7e184cde5642bc832765fea
MD5 2f4b55ec56ea3a646dc80003e0cc7cc3
BLAKE2b-256 7164daeca8123256347eb8bfbb42beff811f5cbeffe220a01e4edf91613670fb

See more details on using hashes here.

File details

Details for the file shin-0.2.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for shin-0.2.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 a7d02ec63f096ff4dcea2dfe1f425a66d659c0953f0a29fa8366f3df8042c312
MD5 b85fac3d989efee3c45cb4bb3ebcba7e
BLAKE2b-256 de307f596e535f4b8f16c43327a3f679a2d1d18ace4b887238ce047687ddcc1d

See more details on using hashes here.

File details

Details for the file shin-0.2.1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for shin-0.2.1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 ff11666b1366d425ba04422a08bd35a508010c996f4973a43781543a74e52ca7
MD5 90ec9768c27030e633d2a9ab78f13393
BLAKE2b-256 63fd8e96a321d81eef874f389ae2dec6cee72258cd46b309f7c8ed77e4ed9483

See more details on using hashes here.

File details

Details for the file shin-0.2.1-cp312-cp312-macosx_10_12_x86_64.macosx_11_0_arm64.macosx_10_12_universal2.whl.

File metadata

File hashes

Hashes for shin-0.2.1-cp312-cp312-macosx_10_12_x86_64.macosx_11_0_arm64.macosx_10_12_universal2.whl
Algorithm Hash digest
SHA256 4db1baaa238c0bcadd6fc50c71781c108c83f6a7fe43115255f44ceba62934f4
MD5 46b8f1054e9d5b9937805eee497b6566
BLAKE2b-256 d20c8e5e4bd4ba50954cdbe5ecb8195ccf6b3ce0d000531dcd464cb6f3ef6a27

See more details on using hashes here.

File details

Details for the file shin-0.2.1-cp311-cp311-win_amd64.whl.

File metadata

  • Download URL: shin-0.2.1-cp311-cp311-win_amd64.whl
  • Upload date:
  • Size: 109.0 kB
  • Tags: CPython 3.11, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: maturin/1.8.1

File hashes

Hashes for shin-0.2.1-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 29401728a305b382fe985344f9cab554781bdac5387fd8ecda6c9053c87819f7
MD5 1f94bbbfd7ad137c61fe7a582d06a4c7
BLAKE2b-256 204d7f239b6bebd8f26497155238f8dc024bc20404541cb1cedd4d640903d08c

See more details on using hashes here.

File details

Details for the file shin-0.2.1-cp311-cp311-musllinux_1_1_x86_64.whl.

File metadata

File hashes

Hashes for shin-0.2.1-cp311-cp311-musllinux_1_1_x86_64.whl
Algorithm Hash digest
SHA256 f1b846fdf3d8486bbcaeec6b8d4049983d8e0efb02227571f0ca48a4a1521cb4
MD5 af0b47b1b9c6789bbc374020f7e18d9a
BLAKE2b-256 f2bae60c2dfe1bf2ab189c9a9ba1be0613315908089027395b1655dc616e5854

See more details on using hashes here.

File details

Details for the file shin-0.2.1-cp311-cp311-musllinux_1_1_aarch64.whl.

File metadata

File hashes

Hashes for shin-0.2.1-cp311-cp311-musllinux_1_1_aarch64.whl
Algorithm Hash digest
SHA256 e00e9a3e639b7028f3964a77f3a480097f9a2da3311406648323fa476857c9b2
MD5 b99a3d9fdc86d951c68230397d3c0b83
BLAKE2b-256 76b6f0db9f10a32195c7b5114b2f3e72acf5a0add1d0c33adc5433d050e0ae24

See more details on using hashes here.

File details

Details for the file shin-0.2.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for shin-0.2.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 cde64298bb9b5d3fcf40e73d87e5ab36f5ee72388df18aa3ae85958c17f4fc64
MD5 f18a142b334cf7341500af5fb97cfe27
BLAKE2b-256 b438f07068e74de347dfc5c33cdbe6ebac85a550a26303589972017eaa2ef473

See more details on using hashes here.

File details

Details for the file shin-0.2.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for shin-0.2.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 7b6f9d4883781580effcacd3aec1e0d12f5168014064b68e1114f0c611e85922
MD5 6d92269ee0528dfdee9e558f9e44871c
BLAKE2b-256 285780e61e5108a3f4139579d53d3ad57662d552bfbaf247293fe28d7aee089b

See more details on using hashes here.

File details

Details for the file shin-0.2.1-cp311-cp311-macosx_10_12_x86_64.macosx_11_0_arm64.macosx_10_12_universal2.whl.

File metadata

File hashes

Hashes for shin-0.2.1-cp311-cp311-macosx_10_12_x86_64.macosx_11_0_arm64.macosx_10_12_universal2.whl
Algorithm Hash digest
SHA256 111e890f3dbbe35707b03059bfa3b4799178f8f28b6ff4e98b116f4e940e03b1
MD5 502512750550dfa7e77ec4607672b6bb
BLAKE2b-256 f85c07c7de453e17948ae58ea547cc88fd92558098264d31ce5aa5165c45c574

See more details on using hashes here.

File details

Details for the file shin-0.2.1-cp310-cp310-win_amd64.whl.

File metadata

  • Download URL: shin-0.2.1-cp310-cp310-win_amd64.whl
  • Upload date:
  • Size: 109.0 kB
  • Tags: CPython 3.10, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: maturin/1.8.1

File hashes

Hashes for shin-0.2.1-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 bb77683171078947fecd1a5529912723f636d1ae88838a7931f2184e5892bd3e
MD5 70f54ae30abfcc5b58c2c213ecff0ad9
BLAKE2b-256 bc0a054c66bec10652b47a563e3a4c21a71a3207910490a8c5ec9eebf4d98f3f

See more details on using hashes here.

File details

Details for the file shin-0.2.1-cp310-cp310-musllinux_1_1_x86_64.whl.

File metadata

File hashes

Hashes for shin-0.2.1-cp310-cp310-musllinux_1_1_x86_64.whl
Algorithm Hash digest
SHA256 39e469f6feefc592a725dec842df626cdfdf67c4015e14b3a3bfb78b2fa57ede
MD5 1a97127554cc18bde7d0e6fc0ff06685
BLAKE2b-256 d49ca3bbd4e83e3f167ad2f312109280c92362c982cfd6074f3dc60307d27860

See more details on using hashes here.

File details

Details for the file shin-0.2.1-cp310-cp310-musllinux_1_1_aarch64.whl.

File metadata

File hashes

Hashes for shin-0.2.1-cp310-cp310-musllinux_1_1_aarch64.whl
Algorithm Hash digest
SHA256 ee16c34f1f0ae199060f93489ca5a2580f3e2ea01b0da50f8949b8980fe0c29a
MD5 2deda74760d06ec02770a8d4524c8790
BLAKE2b-256 9da83b0a29193a9f859a2830ad29794b03103518de328c1e260a0ee5dfec2b96

See more details on using hashes here.

File details

Details for the file shin-0.2.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for shin-0.2.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 fa2bf06b75adf8fb5e45d486678cc1355616d0e03ea7541ae00b8f2b24ea1797
MD5 b826f5a538c9299185e4c71a79dc790d
BLAKE2b-256 3697d4c739c4f7e3cc81bb38b83bf011921b164d293226d8759f17e855189bc4

See more details on using hashes here.

File details

Details for the file shin-0.2.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for shin-0.2.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 317b68950ffa8be391225684c717fbca8f5e165e3a8b694f5e88ea3c351bfe28
MD5 ea09d6e5beb38b4fae1b9c0e4697ba1e
BLAKE2b-256 2fdcec937a302f56c9c6e7d8c651ec2b8c3037c99c2344aa03b04ba22f207474

See more details on using hashes here.

File details

Details for the file shin-0.2.1-cp39-cp39-win_amd64.whl.

File metadata

  • Download URL: shin-0.2.1-cp39-cp39-win_amd64.whl
  • Upload date:
  • Size: 109.0 kB
  • Tags: CPython 3.9, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: maturin/1.8.1

File hashes

Hashes for shin-0.2.1-cp39-cp39-win_amd64.whl
Algorithm Hash digest
SHA256 f310b35c20a76c9da0e378315e6f11f19b913625d350792c954e2e82e552cc78
MD5 4755478eb088ff2bde5d26c4aafcfdf4
BLAKE2b-256 3cdb5c800c84e895e8db1bf0b4bda76a8d311c308aeed8876d1ce4fa029f025f

See more details on using hashes here.

File details

Details for the file shin-0.2.1-cp39-cp39-musllinux_1_1_x86_64.whl.

File metadata

File hashes

Hashes for shin-0.2.1-cp39-cp39-musllinux_1_1_x86_64.whl
Algorithm Hash digest
SHA256 cc685a5f1b9f2a09b9215a05706ac41db7e10704c8e22e3a63be8cf3e68c55a8
MD5 3e1a7b2b97bebeec1a34f8d9d9b4c299
BLAKE2b-256 9b6f4588230eeca52780fe131a67d327a575d8f2d8a517567dc4e4bc93e75e96

See more details on using hashes here.

File details

Details for the file shin-0.2.1-cp39-cp39-musllinux_1_1_aarch64.whl.

File metadata

File hashes

Hashes for shin-0.2.1-cp39-cp39-musllinux_1_1_aarch64.whl
Algorithm Hash digest
SHA256 2770bc7c15add643bf17bf6774fb3607fa4a7e901b8ef6dfd23a5823742084f2
MD5 3956443267d36dfc8bddd17a20d79477
BLAKE2b-256 bc54c314144871bdfd7a66689a96a14dd0ad48d1c1589df1d8a9f3757fc4a0a0

See more details on using hashes here.

File details

Details for the file shin-0.2.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for shin-0.2.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 8d89a19281390ddb580ebe46787562f65091e46b4d55718611cc0df9f6843d02
MD5 e1b9be079b08ba4877e968e84f72c960
BLAKE2b-256 d0ec5840f1a32a34d9f9d1095e2bc2023affeb2f0d3fdc9e203000ccb4273b70

See more details on using hashes here.

File details

Details for the file shin-0.2.1-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for shin-0.2.1-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 c198c8a35f29121f18be1cb6fbbec4bbe67df7cd9d0bf295b1d01cd62b51317f
MD5 fea50d72a31a06ad4f78388153c71662
BLAKE2b-256 cc0dd4b1b7f270bbfb116e8c166ae2028e1093a06782c56237bfcf9d5f579a7d

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