Skip to main content

Transform internal id's to obfuscated integers using Knuth's integer hash

Project description

Build Status

python-optimus

This is based fully on pjebs/optimus-go for Go which is based on jenssegers/optimus for PHP which is based on Knuth's Integer Hashing (Multiplicative Hashing) from his book The Art Of Computer Programming, Vol. 3, 2nd Edition, Section 6.4, Page 516.

With this library, you can transform your internal id's to obfuscated integers based on Knuth's integer hash. It is similar to Hashids, but will generate integers instead of random strings. It is also super fast.

>>> my_optimus.encode(42)
7773166408443174426
>>> my_optimus.decode(7773166408443174426)
42

This library supports both 32 and 64 bits integers, although in Python you don't have that differentiation between int32 and int64, even bigint or bignum is the same since PEP 237. The reason you need a bitlength is that the algorithm itself works on a fixed bitlength. By default this library uses 64 bits.

Python Support

So far it's only tested on Python 3.8 and Python 3.9

Installation

pip install python-optimus

Usage

Basic usage:

from optimus_ids import Optimus
my_optimus = Optimus(
    prime=<your prime number>
)
my_int_id = <some id you have>
my_int_id_hashed = my_optimus.encode(my_int_id)
assert my_int_id == my_optimus.decode(my_int_id_hashed)

The caveat with the usage above is that every time you create your Optimus instance it will have a random component, even with using the same prime, so a proper usage should be like this:

from optimus_ids import Optimus
my_optimus = Optimus(
    prime=<your prime number>,
    random=<some random number>
)
my_int_id = <some id you have>
my_int_id_hashed = my_optimus.encode(my_int_id)
assert my_int_id == my_optimus.decode(my_int_id_hashed)

To generate a suitable random number you could do this:

from optimus_ids import rand_n, MAX_64_INT  # use 32 instead of 64 if you want to
my_random_number = rand_n(MAX_64_INT - 1)

You can also generate an Optimus intance and then keep its prime, inverse and random properties stored, so you can always configure a new instance with the same components, or even pickle it:

from optimus_ids import generate, Optimus
my_optimus = generate()

# store the following variables or pickle the my_optimus variable
prime = my_optimus.prime
inverse = my_optimus.inverse
random = my_optimus.random
bitlength = my_optimus.bitlength

# create a new instance with the same parameters or unpickle an instance
my_other_optimus = Optimus(
    prime=prime,
    inverse=inverse,
    random=random,
    bitlength=bitlength,
)
assert my_optimus.encode(42) == my_other_optimus.encode(42)
assert my_optimus.decode(my_other_optimus.encode(42)) == my_other_optimus.decode(my_optimus.encode(42))

NOTE for the generate function to work, it needs data, the data is large, and not available with the package, the data should be downloaded from here and the path to it is passed to the generate function. By default it expects the data to be in a folder called optimus-primes in the current working directory.

├── your-app.py
├── ...
└── optimus-primes
    ├── p1.txt
    ├── p2.txt
    ├── ...
    └── p50.txt

Check the tests folder for test cases and other usage examples.

License

This work is licensed under MIT License.

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

optimus-id-1.1.0.tar.gz (5.0 kB view details)

Uploaded Source

Built Distributions

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

optimus_id-1.1.0-cp310-cp310-win_amd64.whl (81.6 kB view details)

Uploaded CPython 3.10Windows x86-64

optimus_id-1.1.0-cp310-cp310-win32.whl (79.3 kB view details)

Uploaded CPython 3.10Windows x86

optimus_id-1.1.0-cp310-cp310-musllinux_1_1_x86_64.whl (282.2 kB view details)

Uploaded CPython 3.10musllinux: musl 1.1+ x86-64

optimus_id-1.1.0-cp310-cp310-musllinux_1_1_i686.whl (266.4 kB view details)

Uploaded CPython 3.10musllinux: musl 1.1+ i686

optimus_id-1.1.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (343.5 kB view details)

Uploaded CPython 3.10manylinux: glibc 2.17+ x86-64

optimus_id-1.1.0-cp310-cp310-manylinux_2_17_i686.manylinux2014_i686.whl (330.9 kB view details)

Uploaded CPython 3.10manylinux: glibc 2.17+ i686

optimus_id-1.1.0-cp310-cp310-macosx_11_0_x86_64.whl (54.7 kB view details)

Uploaded CPython 3.10macOS 11.0+ x86-64

optimus_id-1.1.0-cp39-cp39-win_amd64.whl (82.3 kB view details)

Uploaded CPython 3.9Windows x86-64

optimus_id-1.1.0-cp39-cp39-win32.whl (79.8 kB view details)

Uploaded CPython 3.9Windows x86

optimus_id-1.1.0-cp39-cp39-musllinux_1_1_x86_64.whl (287.1 kB view details)

Uploaded CPython 3.9musllinux: musl 1.1+ x86-64

optimus_id-1.1.0-cp39-cp39-musllinux_1_1_i686.whl (272.8 kB view details)

Uploaded CPython 3.9musllinux: musl 1.1+ i686

optimus_id-1.1.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (348.5 kB view details)

Uploaded CPython 3.9manylinux: glibc 2.17+ x86-64

optimus_id-1.1.0-cp39-cp39-manylinux_2_17_i686.manylinux2014_i686.whl (337.3 kB view details)

Uploaded CPython 3.9manylinux: glibc 2.17+ i686

optimus_id-1.1.0-cp39-cp39-macosx_11_0_x86_64.whl (54.7 kB view details)

Uploaded CPython 3.9macOS 11.0+ x86-64

optimus_id-1.1.0-cp38-cp38-win_amd64.whl (82.3 kB view details)

Uploaded CPython 3.8Windows x86-64

optimus_id-1.1.0-cp38-cp38-win32.whl (79.8 kB view details)

Uploaded CPython 3.8Windows x86

optimus_id-1.1.0-cp38-cp38-musllinux_1_1_x86_64.whl (292.8 kB view details)

Uploaded CPython 3.8musllinux: musl 1.1+ x86-64

optimus_id-1.1.0-cp38-cp38-musllinux_1_1_i686.whl (279.9 kB view details)

Uploaded CPython 3.8musllinux: musl 1.1+ i686

optimus_id-1.1.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (346.7 kB view details)

Uploaded CPython 3.8manylinux: glibc 2.17+ x86-64

optimus_id-1.1.0-cp38-cp38-manylinux_2_17_i686.manylinux2014_i686.whl (337.1 kB view details)

Uploaded CPython 3.8manylinux: glibc 2.17+ i686

optimus_id-1.1.0-cp38-cp38-macosx_10_16_x86_64.whl (54.7 kB view details)

Uploaded CPython 3.8macOS 10.16+ x86-64

optimus_id-1.1.0-cp37-cp37m-win_amd64.whl (82.2 kB view details)

Uploaded CPython 3.7mWindows x86-64

optimus_id-1.1.0-cp37-cp37m-win32.whl (79.4 kB view details)

Uploaded CPython 3.7mWindows x86

optimus_id-1.1.0-cp37-cp37m-musllinux_1_1_x86_64.whl (254.5 kB view details)

Uploaded CPython 3.7mmusllinux: musl 1.1+ x86-64

optimus_id-1.1.0-cp37-cp37m-musllinux_1_1_i686.whl (254.7 kB view details)

Uploaded CPython 3.7mmusllinux: musl 1.1+ i686

optimus_id-1.1.0-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (315.8 kB view details)

Uploaded CPython 3.7mmanylinux: glibc 2.17+ x86-64

optimus_id-1.1.0-cp37-cp37m-manylinux_2_17_i686.manylinux2014_i686.whl (317.2 kB view details)

Uploaded CPython 3.7mmanylinux: glibc 2.17+ i686

optimus_id-1.1.0-cp37-cp37m-macosx_10_16_x86_64.whl (54.7 kB view details)

Uploaded CPython 3.7mmacOS 10.16+ x86-64

File details

Details for the file optimus-id-1.1.0.tar.gz.

File metadata

  • Download URL: optimus-id-1.1.0.tar.gz
  • Upload date:
  • Size: 5.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.1 CPython/3.8.13

File hashes

Hashes for optimus-id-1.1.0.tar.gz
Algorithm Hash digest
SHA256 d23a5ac90db02cf99ca85c293f364e2ba20cf853f0d019c5f9597a79561dd879
MD5 e1d7b662a32b0093edcb22d9feae9d96
BLAKE2b-256 a6a73bdb266a06b33978a64651032ec38b58f3d2ec5fd480b089237e743e6499

See more details on using hashes here.

File details

Details for the file optimus_id-1.1.0-cp310-cp310-win_amd64.whl.

File metadata

  • Download URL: optimus_id-1.1.0-cp310-cp310-win_amd64.whl
  • Upload date:
  • Size: 81.6 kB
  • Tags: CPython 3.10, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.1 CPython/3.8.13

File hashes

Hashes for optimus_id-1.1.0-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 55802976659a4e3549c2fcd1f4c7fbe67f91a7dcb805792bfa7146fff68a4ef3
MD5 caa01c13fe106ceea57b999550ab242f
BLAKE2b-256 a14808d97cd3a156f4fa9901f05c2fce65e9f569a28415edf1e35e22ef41f914

See more details on using hashes here.

File details

Details for the file optimus_id-1.1.0-cp310-cp310-win32.whl.

File metadata

  • Download URL: optimus_id-1.1.0-cp310-cp310-win32.whl
  • Upload date:
  • Size: 79.3 kB
  • Tags: CPython 3.10, Windows x86
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.1 CPython/3.8.13

File hashes

Hashes for optimus_id-1.1.0-cp310-cp310-win32.whl
Algorithm Hash digest
SHA256 25acf74b07a9286b3729b2f779b9150d596759dd60320f13b3aab08d682cfeea
MD5 aee7edc67a93a49e1f6d57efd0fe6395
BLAKE2b-256 0285a11320325730d6b6f25dab1a4dcda2b04a56594066836ce2ef452e35b22c

See more details on using hashes here.

File details

Details for the file optimus_id-1.1.0-cp310-cp310-musllinux_1_1_x86_64.whl.

File metadata

File hashes

Hashes for optimus_id-1.1.0-cp310-cp310-musllinux_1_1_x86_64.whl
Algorithm Hash digest
SHA256 2bcd1a4979d47a81a273ec52ef91b1b21835931e0693e72e3d443929979507ae
MD5 be34d348502ff9425e1fdc9be5987645
BLAKE2b-256 2ff49a385bd18b180d0797f9005eaecf4edc4473c4feab22710e31bfbb767601

See more details on using hashes here.

File details

Details for the file optimus_id-1.1.0-cp310-cp310-musllinux_1_1_i686.whl.

File metadata

File hashes

Hashes for optimus_id-1.1.0-cp310-cp310-musllinux_1_1_i686.whl
Algorithm Hash digest
SHA256 32d86a3a139e0895ba94fc40de1b1a55d5dcc360e4f6d9dec6af22b8e2f66c0e
MD5 9dee0afbb6295d098edf752be073ab50
BLAKE2b-256 5fc60165f00cbcea6b926f84211a325bad57e061cbf59252d00936de72ca083d

See more details on using hashes here.

File details

Details for the file optimus_id-1.1.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for optimus_id-1.1.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 5ab87d892e227d35d24b68dfb4b9120f46dc8a5556307ea8e9a34ee4b8874bc7
MD5 28cb2dd10612e16f779f63cff3039843
BLAKE2b-256 863323a1d61572eb03a28eca86d1d0e10aad6a84e534cb2551e15b434c413ff3

See more details on using hashes here.

File details

Details for the file optimus_id-1.1.0-cp310-cp310-manylinux_2_17_i686.manylinux2014_i686.whl.

File metadata

File hashes

Hashes for optimus_id-1.1.0-cp310-cp310-manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 0867a7f5d2923629159767834eab7979c411891b13863ff7c8e37183b90f4833
MD5 18db54dfce300fc786f2ed1d743e8325
BLAKE2b-256 b6368e988185b463b9b5299ca74a39633e389f4d2202c35147b89b7dcfab805f

See more details on using hashes here.

File details

Details for the file optimus_id-1.1.0-cp310-cp310-macosx_11_0_x86_64.whl.

File metadata

File hashes

Hashes for optimus_id-1.1.0-cp310-cp310-macosx_11_0_x86_64.whl
Algorithm Hash digest
SHA256 764041e4e6be29528956c9d34ebbc9069643b63f88e4b33da5c03003e89d1b2a
MD5 ceefff36764e7fe89c25374e7f9b1e1f
BLAKE2b-256 f94a1939cbaa7c2386e3bf744827334687aedc910000cb0578689313829c02fe

See more details on using hashes here.

File details

Details for the file optimus_id-1.1.0-cp39-cp39-win_amd64.whl.

File metadata

  • Download URL: optimus_id-1.1.0-cp39-cp39-win_amd64.whl
  • Upload date:
  • Size: 82.3 kB
  • Tags: CPython 3.9, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.1 CPython/3.8.13

File hashes

Hashes for optimus_id-1.1.0-cp39-cp39-win_amd64.whl
Algorithm Hash digest
SHA256 2588d6ef1ebde213e011f08f685c23985cc1f3a5ac1520e239d5ac442b5383e1
MD5 ca143fbe11083c6a36facc8ff8083159
BLAKE2b-256 bb8a0f97a0db554067ca21d9bec79b988c3c74331be629b9ec9f38aa77c6058e

See more details on using hashes here.

File details

Details for the file optimus_id-1.1.0-cp39-cp39-win32.whl.

File metadata

  • Download URL: optimus_id-1.1.0-cp39-cp39-win32.whl
  • Upload date:
  • Size: 79.8 kB
  • Tags: CPython 3.9, Windows x86
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.1 CPython/3.8.13

File hashes

Hashes for optimus_id-1.1.0-cp39-cp39-win32.whl
Algorithm Hash digest
SHA256 7727be00d095718a3da11ae2cd13a3a6e03fe2c7e18c59254ca3aa28bd4a0efb
MD5 136a7aed37e57428d64c4fffbad03212
BLAKE2b-256 ee54e7c2047702fdbcb46a58ef029d649ef73257dc197f940b7c4d5ea0e9ddbb

See more details on using hashes here.

File details

Details for the file optimus_id-1.1.0-cp39-cp39-musllinux_1_1_x86_64.whl.

File metadata

File hashes

Hashes for optimus_id-1.1.0-cp39-cp39-musllinux_1_1_x86_64.whl
Algorithm Hash digest
SHA256 419c488d89d2607cc406b948b65bdb1fd162f621b3610ba75c0aa2b6999b0f33
MD5 ab997b12e9b2fa857fde64b58780867c
BLAKE2b-256 617f7706f2523f197b4ffe84c1cc1b580a4d6692da26f797c018264f48bd5003

See more details on using hashes here.

File details

Details for the file optimus_id-1.1.0-cp39-cp39-musllinux_1_1_i686.whl.

File metadata

File hashes

Hashes for optimus_id-1.1.0-cp39-cp39-musllinux_1_1_i686.whl
Algorithm Hash digest
SHA256 15e3b5bdf07f61a756ec3169cc62bce7167faec102309ce97e3d9f127182ee2d
MD5 039b2f9ee1d29bbb2d17c5d2c303b9b0
BLAKE2b-256 5908a05fe284b14cb716eaeb9e314ec4a5931adc4b986b32f558a9c74af0a38c

See more details on using hashes here.

File details

Details for the file optimus_id-1.1.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for optimus_id-1.1.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 e79da517f0cad816ff06540c27c33d90b999c41d7f4f4c58c89c057801fc9693
MD5 b759298ae9068076b07adf1bdc59f6d7
BLAKE2b-256 dd7055bbfc3a3c42f1c57c308fd7520233cdb3931fb150d36f33d571f1bf92e9

See more details on using hashes here.

File details

Details for the file optimus_id-1.1.0-cp39-cp39-manylinux_2_17_i686.manylinux2014_i686.whl.

File metadata

File hashes

Hashes for optimus_id-1.1.0-cp39-cp39-manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 a4276c772201ed99d18b10f431f3ada2ffc390a6a05b16a8a1ce4febef0ccd9a
MD5 45d63ad96c04c46490e4b6909be8c5c2
BLAKE2b-256 ecb6b88712d1156b2290449b50cf6ea9a2fdeb6b6a6367aa0f2d6d1558b6a6d3

See more details on using hashes here.

File details

Details for the file optimus_id-1.1.0-cp39-cp39-macosx_11_0_x86_64.whl.

File metadata

File hashes

Hashes for optimus_id-1.1.0-cp39-cp39-macosx_11_0_x86_64.whl
Algorithm Hash digest
SHA256 03c648a7a8b6794bb50f187e58b9c452d2a14076d76ad908a46ea683735c0fa0
MD5 570eabd27eef2313d735c75108dff763
BLAKE2b-256 b5463acb52a0a1662e9a99e633a7e02c76c80c10e25689fc2cef86ad0a07ac20

See more details on using hashes here.

File details

Details for the file optimus_id-1.1.0-cp38-cp38-win_amd64.whl.

File metadata

  • Download URL: optimus_id-1.1.0-cp38-cp38-win_amd64.whl
  • Upload date:
  • Size: 82.3 kB
  • Tags: CPython 3.8, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.1 CPython/3.8.13

File hashes

Hashes for optimus_id-1.1.0-cp38-cp38-win_amd64.whl
Algorithm Hash digest
SHA256 900fa1f82a7a9e16954d70b61d20a03ec38bb32617e6369ea4ad9fe02dd2ff73
MD5 013b103a427dfa9a53923e89523f57c5
BLAKE2b-256 9853f4c904915ebdd968a3b41f29c872df914de2e64871874d6d8ac15ff288fa

See more details on using hashes here.

File details

Details for the file optimus_id-1.1.0-cp38-cp38-win32.whl.

File metadata

  • Download URL: optimus_id-1.1.0-cp38-cp38-win32.whl
  • Upload date:
  • Size: 79.8 kB
  • Tags: CPython 3.8, Windows x86
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.1 CPython/3.8.13

File hashes

Hashes for optimus_id-1.1.0-cp38-cp38-win32.whl
Algorithm Hash digest
SHA256 93d3d1a32ac67e6b113dd52d76c4aaa1188c26e2e8003b8ab6ae52ecd187c981
MD5 b8ce24f0e6b6f78b6ca05ef50527e90c
BLAKE2b-256 660a3c7db81aa700ef3d3bb5adf558bd30cc76433fe4cb28a68e8abcd976399e

See more details on using hashes here.

File details

Details for the file optimus_id-1.1.0-cp38-cp38-musllinux_1_1_x86_64.whl.

File metadata

File hashes

Hashes for optimus_id-1.1.0-cp38-cp38-musllinux_1_1_x86_64.whl
Algorithm Hash digest
SHA256 c38735491e0d67dafbeec6dcddd6156fc73d3d43144195d5e26514a89538b667
MD5 5900278146ea646a1c4d159bcc0c2324
BLAKE2b-256 e33349c9d71bc996a15dafc0d9d1288edefd6e772c792e8599fc5e1b028fd867

See more details on using hashes here.

File details

Details for the file optimus_id-1.1.0-cp38-cp38-musllinux_1_1_i686.whl.

File metadata

File hashes

Hashes for optimus_id-1.1.0-cp38-cp38-musllinux_1_1_i686.whl
Algorithm Hash digest
SHA256 43bac06e0eef68941da0ae3bad9603addd26237c22e9eedf9099530234986a66
MD5 954fa9967931022adf0f45a8899d38b8
BLAKE2b-256 1a0b235bdc8046a233590a82153cc74cc10a560ae84c8751d34dade07a0b8adc

See more details on using hashes here.

File details

Details for the file optimus_id-1.1.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for optimus_id-1.1.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 a8d5eeadac2d8030971657c801470e9f80a6b2d8a7d4feeb202b86c8f8f84372
MD5 b786e6510e90208cc07f8ecba5fbb844
BLAKE2b-256 3a67705f3e033077e23daaf99bc196fad3c9acbd8cff7da34b36146fefbf9a0e

See more details on using hashes here.

File details

Details for the file optimus_id-1.1.0-cp38-cp38-manylinux_2_17_i686.manylinux2014_i686.whl.

File metadata

File hashes

Hashes for optimus_id-1.1.0-cp38-cp38-manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 6bb9c4eee5e150d98307dfae0dca643b4a0396f7d220ce6697df8d461155570f
MD5 5e4759c419729b8a8c7033f322873017
BLAKE2b-256 14101123a03675a5196927b1adbbd2baa7e1bde681500a119fc767067ea71faa

See more details on using hashes here.

File details

Details for the file optimus_id-1.1.0-cp38-cp38-macosx_10_16_x86_64.whl.

File metadata

File hashes

Hashes for optimus_id-1.1.0-cp38-cp38-macosx_10_16_x86_64.whl
Algorithm Hash digest
SHA256 507440aca92eeccff13b2e679f71ddb6e48c2abeb0a77283b16583c1fce13b96
MD5 800c61ba6c618c321bc701e953dd0ec3
BLAKE2b-256 8e6606b2c261b63d15d4f84db039f6f1482ddc09b2ffc38c8820982fea6a5c11

See more details on using hashes here.

File details

Details for the file optimus_id-1.1.0-cp37-cp37m-win_amd64.whl.

File metadata

  • Download URL: optimus_id-1.1.0-cp37-cp37m-win_amd64.whl
  • Upload date:
  • Size: 82.2 kB
  • Tags: CPython 3.7m, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.1 CPython/3.8.13

File hashes

Hashes for optimus_id-1.1.0-cp37-cp37m-win_amd64.whl
Algorithm Hash digest
SHA256 608e4f693544299f098b672f79db78d9521bf48fa5747659f1c867849643b976
MD5 73feb624a3c077c7f3f32fc1e5076f0f
BLAKE2b-256 e2a3a37869ac9fc966723dd1e493f87e81f2981696e9d6056d5c35bbb9e99b9a

See more details on using hashes here.

File details

Details for the file optimus_id-1.1.0-cp37-cp37m-win32.whl.

File metadata

  • Download URL: optimus_id-1.1.0-cp37-cp37m-win32.whl
  • Upload date:
  • Size: 79.4 kB
  • Tags: CPython 3.7m, Windows x86
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.1 CPython/3.8.13

File hashes

Hashes for optimus_id-1.1.0-cp37-cp37m-win32.whl
Algorithm Hash digest
SHA256 c763240fa46867ea4fd6616456bb515c05e1a392f8758303d4202796b27a07c8
MD5 73a184570c1b61d6fb3880769f57fb2d
BLAKE2b-256 b99c84f40e8d57a06be468eaf97dadb18e78f5caec2582f43442a4da8c0d003b

See more details on using hashes here.

File details

Details for the file optimus_id-1.1.0-cp37-cp37m-musllinux_1_1_x86_64.whl.

File metadata

File hashes

Hashes for optimus_id-1.1.0-cp37-cp37m-musllinux_1_1_x86_64.whl
Algorithm Hash digest
SHA256 f76163b834a0e659fbfdafbff657ddac211ee7d6309bb81c0d5da8df283afd0a
MD5 de05ec3bf7500ee58c5cacb15fbcd2e3
BLAKE2b-256 043ea22760dadfc6b29ae08db3332e6a5d42cd966cd17e3a30b0053e4592cf6a

See more details on using hashes here.

File details

Details for the file optimus_id-1.1.0-cp37-cp37m-musllinux_1_1_i686.whl.

File metadata

File hashes

Hashes for optimus_id-1.1.0-cp37-cp37m-musllinux_1_1_i686.whl
Algorithm Hash digest
SHA256 4a4a430512b1905ebb1459406d38faee2b55c81552a7e337d8a28305834d2d97
MD5 26db992a1de70bc4fdce99f92da8f708
BLAKE2b-256 7ec3f63cb67e2ceeddf19463cddf0ea551f78fe0c8875229363a139ecd95569f

See more details on using hashes here.

File details

Details for the file optimus_id-1.1.0-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for optimus_id-1.1.0-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 4350dc8e06dc8f406c68509c6ef6c795df2d0b3c8690d6055bd1b3ffd03ffe6d
MD5 6c2480cedfce507564c2d92f9c91ee34
BLAKE2b-256 cf60205abf1a97f780332ceae90ee7517d9c3522f31354071e755623ed981061

See more details on using hashes here.

File details

Details for the file optimus_id-1.1.0-cp37-cp37m-manylinux_2_17_i686.manylinux2014_i686.whl.

File metadata

File hashes

Hashes for optimus_id-1.1.0-cp37-cp37m-manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 886d27ac32c319a7febf837f5408662a3afc02858e2a28508e15ac5a18ea65b0
MD5 37d91cbecf277414dc86b1e54e5c3a2a
BLAKE2b-256 27d4402375d82f4c447dfd81ba0b13ca7f8db0d3c1c0e5abc19acd97856cde6d

See more details on using hashes here.

File details

Details for the file optimus_id-1.1.0-cp37-cp37m-macosx_10_16_x86_64.whl.

File metadata

File hashes

Hashes for optimus_id-1.1.0-cp37-cp37m-macosx_10_16_x86_64.whl
Algorithm Hash digest
SHA256 e1183758c2932d67d61caed07f304fc34f2229c7db83f53bd80c910245b9313f
MD5 d92d910cd1a23c5667c8b1b995eeeb2f
BLAKE2b-256 f9518c6b5823296fa9296a520b96f77ed5d23de2e998dc958c04e09e836ddf0c

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