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.
Metadata
Release files for optimus-id 1.1.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| optimus-id-1.1.0.tar.gz | 5.0 kB | Details |
Built distributions (wheels)
Total release size: 5.7 MB
Release files / optimus-id-1.1.0.tar.gz
| Download URL | optimus-id-1.1.0.tar.gz |
|---|---|
| Size | 5.0 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
d23a5ac90db02cf99ca85c293f364e2ba20cf853f0d019c5f9597a79561dd879
|
|
BLAKE2b-256 checksum How to use checksums |
a6a73bdb266a06b33978a64651032ec38b58f3d2ec5fd480b089237e743e6499
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/4.0.1 CPython/3.8.13
|
Release files / optimus_id-1.1.0-cp310-cp310-win_amd64.whl
| Download URL | optimus_id-1.1.0-cp310-cp310-win_amd64.whl |
|---|---|
| Size | 81.6 kB |
| Tags | CPython 3.10 Windows x86-64 |
|
SHA-256 checksum How to use checksums |
55802976659a4e3549c2fcd1f4c7fbe67f91a7dcb805792bfa7146fff68a4ef3
|
|
BLAKE2b-256 checksum How to use checksums |
a14808d97cd3a156f4fa9901f05c2fce65e9f569a28415edf1e35e22ef41f914
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/4.0.1 CPython/3.8.13
|
Release files / optimus_id-1.1.0-cp310-cp310-win32.whl
| Download URL | optimus_id-1.1.0-cp310-cp310-win32.whl |
|---|---|
| Size | 79.3 kB |
| Tags | CPython 3.10 Windows x86-32 |
|
SHA-256 checksum How to use checksums |
25acf74b07a9286b3729b2f779b9150d596759dd60320f13b3aab08d682cfeea
|
|
BLAKE2b-256 checksum How to use checksums |
0285a11320325730d6b6f25dab1a4dcda2b04a56594066836ce2ef452e35b22c
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/4.0.1 CPython/3.8.13
|
Release files / optimus_id-1.1.0-cp310-cp310-musllinux_1_1_x86_64.whl
| Download URL | optimus_id-1.1.0-cp310-cp310-musllinux_1_1_x86_64.whl |
|---|---|
| Size | 282.2 kB |
| Tags | CPython 3.10 Linux musl 1.1+ x86-64 |
|
SHA-256 checksum How to use checksums |
2bcd1a4979d47a81a273ec52ef91b1b21835931e0693e72e3d443929979507ae
|
|
BLAKE2b-256 checksum How to use checksums |
2ff49a385bd18b180d0797f9005eaecf4edc4473c4feab22710e31bfbb767601
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/4.0.1 CPython/3.8.13
|
Release files / optimus_id-1.1.0-cp310-cp310-musllinux_1_1_i686.whl
| Download URL | optimus_id-1.1.0-cp310-cp310-musllinux_1_1_i686.whl |
|---|---|
| Size | 266.4 kB |
| Tags | CPython 3.10 Linux musl 1.1+ x86-32 |
|
SHA-256 checksum How to use checksums |
32d86a3a139e0895ba94fc40de1b1a55d5dcc360e4f6d9dec6af22b8e2f66c0e
|
|
BLAKE2b-256 checksum How to use checksums |
5fc60165f00cbcea6b926f84211a325bad57e061cbf59252d00936de72ca083d
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/4.0.1 CPython/3.8.13
|
Release files / optimus_id-1.1.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
| Download URL | optimus_id-1.1.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl |
|---|---|
| Size | 343.5 kB |
| Tags | CPython 3.10 Linux glibc 2.17+ x86-64 |
|
SHA-256 checksum How to use checksums |
5ab87d892e227d35d24b68dfb4b9120f46dc8a5556307ea8e9a34ee4b8874bc7
|
|
BLAKE2b-256 checksum How to use checksums |
863323a1d61572eb03a28eca86d1d0e10aad6a84e534cb2551e15b434c413ff3
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/4.0.1 CPython/3.8.13
|
Release files / optimus_id-1.1.0-cp310-cp310-manylinux_2_17_i686.manylinux2014_i686.whl
| Download URL | optimus_id-1.1.0-cp310-cp310-manylinux_2_17_i686.manylinux2014_i686.whl |
|---|---|
| Size | 330.9 kB |
| Tags | CPython 3.10 Linux glibc 2.17+ x86-32 |
|
SHA-256 checksum How to use checksums |
0867a7f5d2923629159767834eab7979c411891b13863ff7c8e37183b90f4833
|
|
BLAKE2b-256 checksum How to use checksums |
b6368e988185b463b9b5299ca74a39633e389f4d2202c35147b89b7dcfab805f
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/4.0.1 CPython/3.8.13
|
Release files / optimus_id-1.1.0-cp310-cp310-macosx_11_0_x86_64.whl
| Download URL | optimus_id-1.1.0-cp310-cp310-macosx_11_0_x86_64.whl |
|---|---|
| Size | 54.7 kB |
| Tags | CPython 3.10 macOS 11.0+ x86-64 |
|
SHA-256 checksum How to use checksums |
764041e4e6be29528956c9d34ebbc9069643b63f88e4b33da5c03003e89d1b2a
|
|
BLAKE2b-256 checksum How to use checksums |
f94a1939cbaa7c2386e3bf744827334687aedc910000cb0578689313829c02fe
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/4.0.1 CPython/3.8.13
|
Release files / optimus_id-1.1.0-cp39-cp39-win_amd64.whl
| Download URL | optimus_id-1.1.0-cp39-cp39-win_amd64.whl |
|---|---|
| Size | 82.3 kB |
| Tags | CPython 3.9 Windows x86-64 |
|
SHA-256 checksum How to use checksums |
2588d6ef1ebde213e011f08f685c23985cc1f3a5ac1520e239d5ac442b5383e1
|
|
BLAKE2b-256 checksum How to use checksums |
bb8a0f97a0db554067ca21d9bec79b988c3c74331be629b9ec9f38aa77c6058e
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/4.0.1 CPython/3.8.13
|
Release files / optimus_id-1.1.0-cp39-cp39-win32.whl
| Download URL | optimus_id-1.1.0-cp39-cp39-win32.whl |
|---|---|
| Size | 79.8 kB |
| Tags | CPython 3.9 Windows x86-32 |
|
SHA-256 checksum How to use checksums |
7727be00d095718a3da11ae2cd13a3a6e03fe2c7e18c59254ca3aa28bd4a0efb
|
|
BLAKE2b-256 checksum How to use checksums |
ee54e7c2047702fdbcb46a58ef029d649ef73257dc197f940b7c4d5ea0e9ddbb
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/4.0.1 CPython/3.8.13
|
Release files / optimus_id-1.1.0-cp39-cp39-musllinux_1_1_x86_64.whl
| Download URL | optimus_id-1.1.0-cp39-cp39-musllinux_1_1_x86_64.whl |
|---|---|
| Size | 287.1 kB |
| Tags | CPython 3.9 Linux musl 1.1+ x86-64 |
|
SHA-256 checksum How to use checksums |
419c488d89d2607cc406b948b65bdb1fd162f621b3610ba75c0aa2b6999b0f33
|
|
BLAKE2b-256 checksum How to use checksums |
617f7706f2523f197b4ffe84c1cc1b580a4d6692da26f797c018264f48bd5003
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/4.0.1 CPython/3.8.13
|
Release files / optimus_id-1.1.0-cp39-cp39-musllinux_1_1_i686.whl
| Download URL | optimus_id-1.1.0-cp39-cp39-musllinux_1_1_i686.whl |
|---|---|
| Size | 272.8 kB |
| Tags | CPython 3.9 Linux musl 1.1+ x86-32 |
|
SHA-256 checksum How to use checksums |
15e3b5bdf07f61a756ec3169cc62bce7167faec102309ce97e3d9f127182ee2d
|
|
BLAKE2b-256 checksum How to use checksums |
5908a05fe284b14cb716eaeb9e314ec4a5931adc4b986b32f558a9c74af0a38c
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/4.0.1 CPython/3.8.13
|
Release files / optimus_id-1.1.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
| Download URL | optimus_id-1.1.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl |
|---|---|
| Size | 348.5 kB |
| Tags | CPython 3.9 Linux glibc 2.17+ x86-64 |
|
SHA-256 checksum How to use checksums |
e79da517f0cad816ff06540c27c33d90b999c41d7f4f4c58c89c057801fc9693
|
|
BLAKE2b-256 checksum How to use checksums |
dd7055bbfc3a3c42f1c57c308fd7520233cdb3931fb150d36f33d571f1bf92e9
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/4.0.1 CPython/3.8.13
|
Release files / optimus_id-1.1.0-cp39-cp39-manylinux_2_17_i686.manylinux2014_i686.whl
| Download URL | optimus_id-1.1.0-cp39-cp39-manylinux_2_17_i686.manylinux2014_i686.whl |
|---|---|
| Size | 337.3 kB |
| Tags | CPython 3.9 Linux glibc 2.17+ x86-32 |
|
SHA-256 checksum How to use checksums |
a4276c772201ed99d18b10f431f3ada2ffc390a6a05b16a8a1ce4febef0ccd9a
|
|
BLAKE2b-256 checksum How to use checksums |
ecb6b88712d1156b2290449b50cf6ea9a2fdeb6b6a6367aa0f2d6d1558b6a6d3
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/4.0.1 CPython/3.8.13
|
Release files / optimus_id-1.1.0-cp39-cp39-macosx_11_0_x86_64.whl
| Download URL | optimus_id-1.1.0-cp39-cp39-macosx_11_0_x86_64.whl |
|---|---|
| Size | 54.7 kB |
| Tags | CPython 3.9 macOS 11.0+ x86-64 |
|
SHA-256 checksum How to use checksums |
03c648a7a8b6794bb50f187e58b9c452d2a14076d76ad908a46ea683735c0fa0
|
|
BLAKE2b-256 checksum How to use checksums |
b5463acb52a0a1662e9a99e633a7e02c76c80c10e25689fc2cef86ad0a07ac20
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/4.0.1 CPython/3.8.13
|
Release files / optimus_id-1.1.0-cp38-cp38-win_amd64.whl
| Download URL | optimus_id-1.1.0-cp38-cp38-win_amd64.whl |
|---|---|
| Size | 82.3 kB |
| Tags | CPython 3.8 Windows x86-64 |
|
SHA-256 checksum How to use checksums |
900fa1f82a7a9e16954d70b61d20a03ec38bb32617e6369ea4ad9fe02dd2ff73
|
|
BLAKE2b-256 checksum How to use checksums |
9853f4c904915ebdd968a3b41f29c872df914de2e64871874d6d8ac15ff288fa
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/4.0.1 CPython/3.8.13
|
Release files / optimus_id-1.1.0-cp38-cp38-win32.whl
| Download URL | optimus_id-1.1.0-cp38-cp38-win32.whl |
|---|---|
| Size | 79.8 kB |
| Tags | CPython 3.8 Windows x86-32 |
|
SHA-256 checksum How to use checksums |
93d3d1a32ac67e6b113dd52d76c4aaa1188c26e2e8003b8ab6ae52ecd187c981
|
|
BLAKE2b-256 checksum How to use checksums |
660a3c7db81aa700ef3d3bb5adf558bd30cc76433fe4cb28a68e8abcd976399e
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/4.0.1 CPython/3.8.13
|
Release files / optimus_id-1.1.0-cp38-cp38-musllinux_1_1_x86_64.whl
| Download URL | optimus_id-1.1.0-cp38-cp38-musllinux_1_1_x86_64.whl |
|---|---|
| Size | 292.8 kB |
| Tags | CPython 3.8 Linux musl 1.1+ x86-64 |
|
SHA-256 checksum How to use checksums |
c38735491e0d67dafbeec6dcddd6156fc73d3d43144195d5e26514a89538b667
|
|
BLAKE2b-256 checksum How to use checksums |
e33349c9d71bc996a15dafc0d9d1288edefd6e772c792e8599fc5e1b028fd867
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/4.0.1 CPython/3.8.13
|
Release files / optimus_id-1.1.0-cp38-cp38-musllinux_1_1_i686.whl
| Download URL | optimus_id-1.1.0-cp38-cp38-musllinux_1_1_i686.whl |
|---|---|
| Size | 279.9 kB |
| Tags | CPython 3.8 Linux musl 1.1+ x86-32 |
|
SHA-256 checksum How to use checksums |
43bac06e0eef68941da0ae3bad9603addd26237c22e9eedf9099530234986a66
|
|
BLAKE2b-256 checksum How to use checksums |
1a0b235bdc8046a233590a82153cc74cc10a560ae84c8751d34dade07a0b8adc
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/4.0.1 CPython/3.8.13
|
Release files / optimus_id-1.1.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
| Download URL | optimus_id-1.1.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl |
|---|---|
| Size | 346.7 kB |
| Tags | CPython 3.8 Linux glibc 2.17+ x86-64 |
|
SHA-256 checksum How to use checksums |
a8d5eeadac2d8030971657c801470e9f80a6b2d8a7d4feeb202b86c8f8f84372
|
|
BLAKE2b-256 checksum How to use checksums |
3a67705f3e033077e23daaf99bc196fad3c9acbd8cff7da34b36146fefbf9a0e
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/4.0.1 CPython/3.8.13
|
Release files / optimus_id-1.1.0-cp38-cp38-manylinux_2_17_i686.manylinux2014_i686.whl
| Download URL | optimus_id-1.1.0-cp38-cp38-manylinux_2_17_i686.manylinux2014_i686.whl |
|---|---|
| Size | 337.1 kB |
| Tags | CPython 3.8 Linux glibc 2.17+ x86-32 |
|
SHA-256 checksum How to use checksums |
6bb9c4eee5e150d98307dfae0dca643b4a0396f7d220ce6697df8d461155570f
|
|
BLAKE2b-256 checksum How to use checksums |
14101123a03675a5196927b1adbbd2baa7e1bde681500a119fc767067ea71faa
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/4.0.1 CPython/3.8.13
|
Release files / optimus_id-1.1.0-cp38-cp38-macosx_10_16_x86_64.whl
| Download URL | optimus_id-1.1.0-cp38-cp38-macosx_10_16_x86_64.whl |
|---|---|
| Size | 54.7 kB |
| Tags | CPython 3.8 macOS 10.16+ x86-64 |
|
SHA-256 checksum How to use checksums |
507440aca92eeccff13b2e679f71ddb6e48c2abeb0a77283b16583c1fce13b96
|
|
BLAKE2b-256 checksum How to use checksums |
8e6606b2c261b63d15d4f84db039f6f1482ddc09b2ffc38c8820982fea6a5c11
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/4.0.1 CPython/3.8.13
|
Release files / optimus_id-1.1.0-cp37-cp37m-win_amd64.whl
| Download URL | optimus_id-1.1.0-cp37-cp37m-win_amd64.whl |
|---|---|
| Size | 82.2 kB |
| Tags | CPython 3.7 CPython 3.7 pymalloc Windows x86-64 |
|
SHA-256 checksum How to use checksums |
608e4f693544299f098b672f79db78d9521bf48fa5747659f1c867849643b976
|
|
BLAKE2b-256 checksum How to use checksums |
e2a3a37869ac9fc966723dd1e493f87e81f2981696e9d6056d5c35bbb9e99b9a
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/4.0.1 CPython/3.8.13
|
Release files / optimus_id-1.1.0-cp37-cp37m-win32.whl
| Download URL | optimus_id-1.1.0-cp37-cp37m-win32.whl |
|---|---|
| Size | 79.4 kB |
| Tags | CPython 3.7 CPython 3.7 pymalloc Windows x86-32 |
|
SHA-256 checksum How to use checksums |
c763240fa46867ea4fd6616456bb515c05e1a392f8758303d4202796b27a07c8
|
|
BLAKE2b-256 checksum How to use checksums |
b99c84f40e8d57a06be468eaf97dadb18e78f5caec2582f43442a4da8c0d003b
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/4.0.1 CPython/3.8.13
|
Release files / optimus_id-1.1.0-cp37-cp37m-musllinux_1_1_x86_64.whl
| Download URL | optimus_id-1.1.0-cp37-cp37m-musllinux_1_1_x86_64.whl |
|---|---|
| Size | 254.5 kB |
| Tags | CPython 3.7 CPython 3.7 pymalloc Linux musl 1.1+ x86-64 |
|
SHA-256 checksum How to use checksums |
f76163b834a0e659fbfdafbff657ddac211ee7d6309bb81c0d5da8df283afd0a
|
|
BLAKE2b-256 checksum How to use checksums |
043ea22760dadfc6b29ae08db3332e6a5d42cd966cd17e3a30b0053e4592cf6a
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/4.0.1 CPython/3.8.13
|
Release files / optimus_id-1.1.0-cp37-cp37m-musllinux_1_1_i686.whl
| Download URL | optimus_id-1.1.0-cp37-cp37m-musllinux_1_1_i686.whl |
|---|---|
| Size | 254.7 kB |
| Tags | CPython 3.7 CPython 3.7 pymalloc Linux musl 1.1+ x86-32 |
|
SHA-256 checksum How to use checksums |
4a4a430512b1905ebb1459406d38faee2b55c81552a7e337d8a28305834d2d97
|
|
BLAKE2b-256 checksum How to use checksums |
7ec3f63cb67e2ceeddf19463cddf0ea551f78fe0c8875229363a139ecd95569f
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/4.0.1 CPython/3.8.13
|
Release files / optimus_id-1.1.0-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
| Download URL | optimus_id-1.1.0-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl |
|---|---|
| Size | 315.8 kB |
| Tags | CPython 3.7 CPython 3.7 pymalloc Linux glibc 2.17+ x86-64 |
|
SHA-256 checksum How to use checksums |
4350dc8e06dc8f406c68509c6ef6c795df2d0b3c8690d6055bd1b3ffd03ffe6d
|
|
BLAKE2b-256 checksum How to use checksums |
cf60205abf1a97f780332ceae90ee7517d9c3522f31354071e755623ed981061
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/4.0.1 CPython/3.8.13
|
Release files / optimus_id-1.1.0-cp37-cp37m-manylinux_2_17_i686.manylinux2014_i686.whl
| Download URL | optimus_id-1.1.0-cp37-cp37m-manylinux_2_17_i686.manylinux2014_i686.whl |
|---|---|
| Size | 317.2 kB |
| Tags | CPython 3.7 CPython 3.7 pymalloc Linux glibc 2.17+ x86-32 |
|
SHA-256 checksum How to use checksums |
886d27ac32c319a7febf837f5408662a3afc02858e2a28508e15ac5a18ea65b0
|
|
BLAKE2b-256 checksum How to use checksums |
27d4402375d82f4c447dfd81ba0b13ca7f8db0d3c1c0e5abc19acd97856cde6d
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/4.0.1 CPython/3.8.13
|
Release files / optimus_id-1.1.0-cp37-cp37m-macosx_10_16_x86_64.whl
| Download URL | optimus_id-1.1.0-cp37-cp37m-macosx_10_16_x86_64.whl |
|---|---|
| Size | 54.7 kB |
| Tags | CPython 3.7 CPython 3.7 pymalloc macOS 10.16+ x86-64 |
|
SHA-256 checksum How to use checksums |
e1183758c2932d67d61caed07f304fc34f2229c7db83f53bd80c910245b9313f
|
|
BLAKE2b-256 checksum How to use checksums |
f9518c6b5823296fa9296a520b96f77ed5d23de2e998dc958c04e09e836ddf0c
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/4.0.1 CPython/3.8.13
|