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 (including Python 3.13).

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.2.tar.gz (12.7 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.2-pp310-pypy310_pp73-musllinux_1_1_x86_64.whl (402.1 kB view details)

Uploaded PyPymusllinux: musl 1.1+ x86-64

shin-0.2.2-pp310-pypy310_pp73-musllinux_1_1_aarch64.whl (412.1 kB view details)

Uploaded PyPymusllinux: musl 1.1+ ARM64

shin-0.2.2-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (239.2 kB view details)

Uploaded PyPymanylinux: glibc 2.17+ x86-64

shin-0.2.2-pp310-pypy310_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (231.2 kB view details)

Uploaded PyPymanylinux: glibc 2.17+ ARM64

shin-0.2.2-pp39-pypy39_pp73-musllinux_1_1_x86_64.whl (401.9 kB view details)

Uploaded PyPymusllinux: musl 1.1+ x86-64

shin-0.2.2-pp39-pypy39_pp73-musllinux_1_1_aarch64.whl (412.0 kB view details)

Uploaded PyPymusllinux: musl 1.1+ ARM64

shin-0.2.2-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (239.1 kB view details)

Uploaded PyPymanylinux: glibc 2.17+ x86-64

shin-0.2.2-pp39-pypy39_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (231.1 kB view details)

Uploaded PyPymanylinux: glibc 2.17+ ARM64

shin-0.2.2-cp313-cp313-win_amd64.whl (102.7 kB view details)

Uploaded CPython 3.13Windows x86-64

shin-0.2.2-cp313-cp313-macosx_10_12_x86_64.macosx_11_0_arm64.macosx_10_12_universal2.whl (406.8 kB view details)

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

shin-0.2.2-cp312-cp312-win_amd64.whl (102.7 kB view details)

Uploaded CPython 3.12Windows x86-64

shin-0.2.2-cp312-cp312-musllinux_1_1_x86_64.whl (400.1 kB view details)

Uploaded CPython 3.12musllinux: musl 1.1+ x86-64

shin-0.2.2-cp312-cp312-musllinux_1_1_aarch64.whl (410.2 kB view details)

Uploaded CPython 3.12musllinux: musl 1.1+ ARM64

shin-0.2.2-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (237.4 kB view details)

Uploaded CPython 3.12manylinux: glibc 2.17+ x86-64

shin-0.2.2-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (229.3 kB view details)

Uploaded CPython 3.12manylinux: glibc 2.17+ ARM64

shin-0.2.2-cp312-cp312-macosx_10_12_x86_64.macosx_11_0_arm64.macosx_10_12_universal2.whl (406.9 kB view details)

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

shin-0.2.2-cp311-cp311-win_amd64.whl (102.7 kB view details)

Uploaded CPython 3.11Windows x86-64

shin-0.2.2-cp311-cp311-musllinux_1_1_x86_64.whl (401.0 kB view details)

Uploaded CPython 3.11musllinux: musl 1.1+ x86-64

shin-0.2.2-cp311-cp311-musllinux_1_1_aarch64.whl (411.3 kB view details)

Uploaded CPython 3.11musllinux: musl 1.1+ ARM64

shin-0.2.2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (238.5 kB view details)

Uploaded CPython 3.11manylinux: glibc 2.17+ x86-64

shin-0.2.2-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (230.3 kB view details)

Uploaded CPython 3.11manylinux: glibc 2.17+ ARM64

shin-0.2.2-cp311-cp311-macosx_10_12_x86_64.macosx_11_0_arm64.macosx_10_12_universal2.whl (409.9 kB view details)

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

shin-0.2.2-cp310-cp310-win_amd64.whl (102.9 kB view details)

Uploaded CPython 3.10Windows x86-64

shin-0.2.2-cp310-cp310-musllinux_1_1_x86_64.whl (401.3 kB view details)

Uploaded CPython 3.10musllinux: musl 1.1+ x86-64

shin-0.2.2-cp310-cp310-musllinux_1_1_aarch64.whl (411.5 kB view details)

Uploaded CPython 3.10musllinux: musl 1.1+ ARM64

shin-0.2.2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (238.7 kB view details)

Uploaded CPython 3.10manylinux: glibc 2.17+ x86-64

shin-0.2.2-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (230.5 kB view details)

Uploaded CPython 3.10manylinux: glibc 2.17+ ARM64

shin-0.2.2-cp39-cp39-win_amd64.whl (103.2 kB view details)

Uploaded CPython 3.9Windows x86-64

shin-0.2.2-cp39-cp39-musllinux_1_1_x86_64.whl (401.4 kB view details)

Uploaded CPython 3.9musllinux: musl 1.1+ x86-64

shin-0.2.2-cp39-cp39-musllinux_1_1_aarch64.whl (411.3 kB view details)

Uploaded CPython 3.9musllinux: musl 1.1+ ARM64

shin-0.2.2-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (238.8 kB view details)

Uploaded CPython 3.9manylinux: glibc 2.17+ x86-64

shin-0.2.2-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (230.4 kB view details)

Uploaded CPython 3.9manylinux: glibc 2.17+ ARM64

File details

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

File metadata

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

File hashes

Hashes for shin-0.2.2.tar.gz
Algorithm Hash digest
SHA256 689af805af788c82a515b280ff5db59090a178e820c99e27fc2327c9cf71b4ee
MD5 6cb566315c5b3b70c27d00f7a35e0a06
BLAKE2b-256 1c5f7e5e14a56cc628ab9639ba7a6f63d66bb017259c9d6de08034944ee9a69d

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for shin-0.2.2-pp310-pypy310_pp73-musllinux_1_1_x86_64.whl
Algorithm Hash digest
SHA256 b3c6104df71e0a28e4a17837551bad9131d599814c2c3499d0b1634ab2f99df9
MD5 e1bda1aea60fb6559a0b869e2cf1763f
BLAKE2b-256 19cd058e6c778cd1c183f50ebd44a85356bb9ebd72a7e2db6456b9ef46cafa85

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for shin-0.2.2-pp310-pypy310_pp73-musllinux_1_1_aarch64.whl
Algorithm Hash digest
SHA256 50a69637e339ecd8ae9acc54b075a19d411300531b9045d9baba2174763ee42c
MD5 5d0fbcbda23238dc24e423946fcb1637
BLAKE2b-256 63453cc9be66932eebe7d316b73d98609787562073e727de9d759f9eedfbc456

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for shin-0.2.2-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 2d0cf83b334e3b2af1724db2829f386a5c2f201d783d03df9e4afd8d0065f02a
MD5 05b8c49fd30849f005f4d34600568ffb
BLAKE2b-256 8bbfa2121256765b6d13199e136637edd8a075cd4f005f6a67dac8d434d1db90

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for shin-0.2.2-pp310-pypy310_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 6be6e8e02b2ae1f90e5c6c6cb179c3673cb52361b66020167fc9dbffe5c30835
MD5 8751a9f5541c5c598ef3a46ad8371b78
BLAKE2b-256 1a8e39c8b6db277c48cb60d6d55ad45ac2db6654b58ddb5b9c8ef103c010ecce

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for shin-0.2.2-pp39-pypy39_pp73-musllinux_1_1_x86_64.whl
Algorithm Hash digest
SHA256 539f323511282ec8dd18e16240da7e233731ec7a247efe221130477758a9c874
MD5 50221745db2fdfdcb834c35faf400e02
BLAKE2b-256 11d728297a2f313b8dc5a22cd5f4ad879f406cc61ececeaab9c01a9857df53a2

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for shin-0.2.2-pp39-pypy39_pp73-musllinux_1_1_aarch64.whl
Algorithm Hash digest
SHA256 bc504420a2dfc44c9485b73e4495420632dafd17ee0a7698bfc4b485297f99a3
MD5 46c3d2e0f8f0f1b53378d546d5741ad6
BLAKE2b-256 ad28f85320b16f31935ece0e9c557bc3329a50af52fdb36a20091f4ff1685b97

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for shin-0.2.2-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 399c8347551cf337b4ca00e0a5c1fa4e1cb678f9b3816a406a8185414fc811a2
MD5 5d7554683854e0c9285c81ce8b5e9908
BLAKE2b-256 21d0215940ab96b3b9340054f74221362eb2932ef63d1d9d6b32d504028994c7

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for shin-0.2.2-pp39-pypy39_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 0575b3dc46ff0f2c23ef7d2d8fe2fc0ad0e7a74459469a022322e2f7993fa894
MD5 1f84187406fa23e0af4f08b24ff96a2a
BLAKE2b-256 0580cf8357e278846ed14f3aff9697955a77beb16865d1b915f3fcbae33670bd

See more details on using hashes here.

File details

Details for the file shin-0.2.2-cp313-cp313-win_amd64.whl.

File metadata

  • Download URL: shin-0.2.2-cp313-cp313-win_amd64.whl
  • Upload date:
  • Size: 102.7 kB
  • Tags: CPython 3.13, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: maturin/1.9.6

File hashes

Hashes for shin-0.2.2-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 2eaef166dec425fee8249a638cbf508a43bbce10ec9b7e92e39e118c8864b4b3
MD5 46cfda8eaf7766505332dbfa600d791f
BLAKE2b-256 f9053a829ca2adb45b5c2d74a664fb818f7acb0d6605823b34b2ef490ae48c44

See more details on using hashes here.

File details

Details for the file shin-0.2.2-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.2-cp313-cp313-macosx_10_12_x86_64.macosx_11_0_arm64.macosx_10_12_universal2.whl
Algorithm Hash digest
SHA256 7f7096c1e88d2a9d4087fa61259fc214ef73e6dd1e5c370bd637c0ed3f66644c
MD5 5d50c12853111e184842645407eeab9c
BLAKE2b-256 aabf3e732c4e5c3a3583a12eebb20f082d492895a9d5950289365e6526fa18a7

See more details on using hashes here.

File details

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

File metadata

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

File hashes

Hashes for shin-0.2.2-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 74ca4613adb5c21357b7b0e972a4bbb286cefb530a7842bf90979f9920e36bf1
MD5 b60ed7521e945950d5468d3728c8a2dc
BLAKE2b-256 1f84d8643a8c5d9ef7ae867cbaf7151390e2974bdd64ba0831996d89cdccbda2

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for shin-0.2.2-cp312-cp312-musllinux_1_1_x86_64.whl
Algorithm Hash digest
SHA256 b7eaf1453b2d956737f6d13909f5d2594d17bcccb9f7f0762f7ffd3da7f143eb
MD5 0d43fb13db42d16260dfa134bc6065a2
BLAKE2b-256 4a9c4022275ed0c122cb4b94384aec7ed7e0c9232c55052020663c765e788f8e

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for shin-0.2.2-cp312-cp312-musllinux_1_1_aarch64.whl
Algorithm Hash digest
SHA256 424bde0931230ae781641d9aaf32b75509aa04c748c803aa3ee69c496757074b
MD5 06fc368c5c7971da7b991f5159586168
BLAKE2b-256 11b6f2d2b75127943a2af6e426b37ae391c02f72e550771578a2607cffcc852f

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for shin-0.2.2-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 aa46bc1804901311dd50c8e29fd2e48a6a3ac696816cc42e43ba88f1ac6d5bc5
MD5 5b2cd5009dd9108adffc6f7ec99ae361
BLAKE2b-256 f741b575c1a443aa704855907ea2076227c48598743ce6a88f6b4e3b97b5bc5a

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for shin-0.2.2-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 83879fe1790512d7ad337709763967aa751d27e6f642e5b49d61c41afcfab992
MD5 b2ba94bb9baa7db7867e9fece0bf28e7
BLAKE2b-256 8ddc93d4949cfed01517246462852cd9c9127dec50e6844ba602341f8cd0c08b

See more details on using hashes here.

File details

Details for the file shin-0.2.2-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.2-cp312-cp312-macosx_10_12_x86_64.macosx_11_0_arm64.macosx_10_12_universal2.whl
Algorithm Hash digest
SHA256 de7fa3b713f3f23b7e866a288ce2e5541cee3e70e66d3fb62617c1eb5b51a867
MD5 66baad809dfb2d92cc72e112e9ea420b
BLAKE2b-256 7eff19fba4d3693d912c0cb067c29d19e3ed34465ac9a81ab008eaf38bcd58a6

See more details on using hashes here.

File details

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

File metadata

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

File hashes

Hashes for shin-0.2.2-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 dc8192693eddffcb755b154cd74ff7e7910488129123a4cccb285a60ea1e9f8e
MD5 b4bb6878341ae1a8e0ff0e7158a9c13b
BLAKE2b-256 ad2e9a92d280390d7e4fb0bf7c035905a49f0d97db3c1f1a13d286003a04e44e

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for shin-0.2.2-cp311-cp311-musllinux_1_1_x86_64.whl
Algorithm Hash digest
SHA256 2db8c284a328377abb5e6b1726d72d1b02f96d1027b3c7dedbcdb23a8da9c7bd
MD5 0bbc9b853b1cdc22f7d442971b7813f3
BLAKE2b-256 ddd9f24d005b9343b56761b1368b33ba6d68b5d4eeb2da909269ed6a3e7071d8

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for shin-0.2.2-cp311-cp311-musllinux_1_1_aarch64.whl
Algorithm Hash digest
SHA256 c87aab0a71529741b2549ee21b6696ebd1a21a09e360f17a140b6bae3f0e82bc
MD5 2ae1b6876baa51ecf2dffe103af168b8
BLAKE2b-256 ffe6910bc00b9b9e2582fc30531f6c5cdaced280f21b754e818432666ca7dfcb

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for shin-0.2.2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 0507f3164f326415ec6770b8fc6bf3e2236726d82c28fdcf04627617b56718f0
MD5 904b283ee530014308e38a6ccf7b1727
BLAKE2b-256 6f9b0e9c9a7011e44176e2ea5c0d1d58552588017bc13b9a039dfa941a938406

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for shin-0.2.2-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 3b814b2e00310f84ec33596d140cb447f7d14bf1dd242ad0cbb672db46b7b042
MD5 e2e07b81a600ba3369bb4a9648ce7507
BLAKE2b-256 3522d091f06b453acb3499976edc9ee220c146ddb2afa6a646c054803b3152ab

See more details on using hashes here.

File details

Details for the file shin-0.2.2-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.2-cp311-cp311-macosx_10_12_x86_64.macosx_11_0_arm64.macosx_10_12_universal2.whl
Algorithm Hash digest
SHA256 e9ab96f2f7d109e06e1d55b4bec6812fc47a5d62f2155f11cfb7d3eabc6001c4
MD5 68d1a0097300bffb482a27cae4861e1b
BLAKE2b-256 e0828cc1c55e7227c89aa2430b001cc4719c2253f9ce0f48a152d2de79f539ee

See more details on using hashes here.

File details

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

File metadata

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

File hashes

Hashes for shin-0.2.2-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 9dbd1bc3fb0a1a34a15438801f9899ce700ea8469316b66e37764af811f008ae
MD5 6d6011a0de05956a84c034f791802076
BLAKE2b-256 35d383d828286e552c4508a3217293900070c7b25b1950d853292ba20db6728a

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for shin-0.2.2-cp310-cp310-musllinux_1_1_x86_64.whl
Algorithm Hash digest
SHA256 fdf6204007059206cece076750426ef90df3d07d8ab932dd576852cc81fa5c4b
MD5 f1a98f023d1b95d9f668161956ac5409
BLAKE2b-256 8b0a09d41fe4508443f11854fa8ec9ab849a29eab0698197ac0ce07786227f9d

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for shin-0.2.2-cp310-cp310-musllinux_1_1_aarch64.whl
Algorithm Hash digest
SHA256 94c63d7614a2e594f8b6948e987b8dcee29e624fc5bb0a66e5c4eaf06614cd27
MD5 e9ff75137ad9559c3b6357120c4d23dc
BLAKE2b-256 f72a61b6f9fd953649a8a1d18d7ec4ca7c1ea9b1a46ba20231943bcfe1308e37

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for shin-0.2.2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 ae0c2e401ddf0ec82829035cef36e8370111da148d5a3fc21e5854d4a0d2fcee
MD5 5673b4ff87d4beee29a47a3055d3d023
BLAKE2b-256 a49de9ab8b99047ed9b75bdeebe0e782a2348ef19dd0c4b7ae159fc8d11595da

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for shin-0.2.2-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 ca57e87fe8395e929ee2555ebd1ee5fb87815c15751f224756c732797d33472f
MD5 840127481c760079956719a5b37516b2
BLAKE2b-256 10b9cafca8557604bdf48985be7922a12687e1dcc881d12f2570cdd82b38f4e9

See more details on using hashes here.

File details

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

File metadata

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

File hashes

Hashes for shin-0.2.2-cp39-cp39-win_amd64.whl
Algorithm Hash digest
SHA256 b9e7e23e4ab52f3671e1a6bdbbd772df605040b918aeedb8b35a0b3b5fef6c26
MD5 8adf8056bd76f9113dea7ab5de98984a
BLAKE2b-256 e8d7e9be50026c6976ba085448d9b52f3785037798a54635b8df03afa80de450

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for shin-0.2.2-cp39-cp39-musllinux_1_1_x86_64.whl
Algorithm Hash digest
SHA256 f93ab6a471fd7aad4d2ecd52853f02fac5f83b0b1a80f35b018f451cc6bc8ebb
MD5 d2a399fb7d426e65faa61d4e72939e76
BLAKE2b-256 cc7681ed15d06497c8ee1233acb70c4690d36f27bb051a2fcb4754790059ed53

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for shin-0.2.2-cp39-cp39-musllinux_1_1_aarch64.whl
Algorithm Hash digest
SHA256 0562f5e65d24bc68636be940610bbc4f05df41c88965a2ecb6638e05555cef5c
MD5 94d5d0960dc13881c31e27d26bc6263a
BLAKE2b-256 0c6c497da2497014dc9e0c6cfb12de9989e3d6e680d22941192f013b5260da92

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for shin-0.2.2-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 085c45977be7bbfab958bc0ac92863ca12d5b5cd9fe8f20e8b0f58a940be63b6
MD5 7af6cd7f9dca423ea919f81d3dfb7708
BLAKE2b-256 9146fe8234961058cae20044eed9efc399f3401983e81351d95547e362b50b33

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for shin-0.2.2-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 3cd6a47f5a83d90f70908bd808106df980915c6b0c893d269f2e7d637df2b0fe
MD5 0d2417ba834c25dc3c7d70a908f9cbc4
BLAKE2b-256 39b89616019af9e5d7db12490d62e23b6a37801756cda1886fa37fe578b0280e

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