Skip to main content

String algorithms

Project description

PyPI version Downloads Test Build and upload codecov DOI

pydivsufsort: bindings to libdivsufsort

pydivsufsort prebuilds libdivsufsort as a shared library and includes it in a Python package with bindings. Wheels are built for Linux, macOS and Windows (32 and 64 bits) using cibuildwheel and GitHub Actions. Basically, you should be able to install it with pip install pydivsufsort on any system and it should work out of the box. If it doesn't, please create an issue.

Features:

  • bindings to divsufsort that return numpy arrays
  • handle string, bytes and almost any integer data type (e.g. int64) and not only char
  • algorithms work even for non char inputs
  • additional string algorithms coded in Cython

Installation

On Linux, macOS and Windows:

python -m pip install pydivsufsort

We provide precompiled wheels for common systems using cibuildwheel, and a source distribution for Unix systems. Manual compilation on Windows might require some tweaking, please create an issue.

Features

All methods support string, bytes and numpy array inputs, including datatypes greater than uint8_t (e.g. uint64_t). Below are the signatures of all methods exposed by pydivsufsort. To import a method, just do from pydivsufsort import method_name. All methods are documented in the docstrings. You can display them with help(method_name).

A nicer interface to reuse computations lazily is provided in WonderString but currently undocumented. Please create an issue if you are interested.

Methods exposed from libdivsufsort

  • divsufsort(string): suffix array
  • bw_transform(string): Burrows-Wheeler transform
  • inverse_bw_transform(idx, string): inverse Burrows-Wheeler transform
  • sa_search(string, suffix_array, pattern): search for a pattern in a suffix array

Additional string algorithms

  • kasai(string, suffix_array=None): LCP array computation (lazily computes the suffix array if not provided)
  • lcp_segtree(string, suffix_array=None, lcp=None): build a segment tree for LCP queries (lazily computes the suffix array and LCP array if not provided)
  • lcp_query(segtree, queries): query a segment tree for LCP queries. Queries are pairs of indices.
  • levenshtein(string1, string2): Levenshtein distance
  • most_frequent_substrings(lcp, length, limit=0, minimum_count=1): most frequent substrings. See the docstring for details.
  • common_substrings(string1, string2, limit=25): common substrings between two strings.

Example usage

from pydivsufsort import divsufsort, kasai

string_inp = "banana$"
string_suffix_array = divsufsort(string_inp)
string_lcp_array = kasai(string_inp, string_suffix_array)
print(string_suffix_array, string_lcp_array)
# [6 5 3 1 0 4 2] [0 1 3 0 0 2 0]

# You can also convert the string input to integers first

import numpy as np

int_inp = np.unique(np.array(list(string_inp)), return_inverse=True)[1]
int_suffix_array = divsufsort(int_inp)
int_lcp_array = kasai(int_inp, int_suffix_array)
print(int_suffix_array, int_lcp_array)
# [6 5 3 1 0 4 2] [0 1 3 0 0 2 0]

Development

You can install locally with

pip install -e .

A useful command to iterate quickly when changing Cython code is

python setup.py build_ext --inplace && pytest -s

Profiling

Profiling can be activated with the environment variable PROFILE:

PROFILE=1 python setup.py build_ext --inplace && pytest -s

Here is an example with line_profiler (requires pip install "line_profiler<4"):

import line_profiler
from pydivsufsort import common_substrings
from pydivsufsort.stringalg import (
    _common_substrings,
    repeated_substrings,
)

s1 = "banana" * 10000
s2 = "ananas" * 10000

func = common_substrings
profile = line_profiler.LineProfiler(func)
profile.add_function(_common_substrings)
profile.add_function(repeated_substrings)
profile.runcall(func, s1, s2, limit=15)
profile.print_stats()

Testing

pytest

Technical details (for performance tweaks)

libdivsufsort is compiled in both 32 and 64 bits, as the 32 bits version is faster. pydivsufsort automatically chooses to use the 32 bits version when possible (aka when the input size is less than 2**31-1).

For best performance, use contiguous arrays. If you have a sliced array, pydivsufsort converts it automatically with numpy.ascontiguousarray.

The precompiled libraries use OpenMP. You can disable it by setting the env variable OMP_NUM_THREADS=1, and it will yield the same performance as the version compiled without OpenMP

The original libdivsufsort only supports char as the base type. pydivsufsort can handle arrays of any integer type (even signed), by encoding each element as multiple chars, which makes the computation slower. If your values use an integer type that is bigger than required, but they span over a small contiguous range, pydivsufsort will automatically change their type (see #6).

Acknowledgements

Citing

If you have used this software in a scientific publication, please cite it using the following BibLaTeX code:

@software{pydivsufsort,
  author       = {Louis Abraham},
  title        = {pydivsufsort},
  year         = 2023,
  publisher    = {Zenodo},
  doi          = {10.5281/zenodo.7932458},
  url          = {https://github.com/louisabraham/pydivsufsort}
}

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

pydivsufsort-0.0.9.tar.gz (239.0 kB view details)

Uploaded Source

Built Distributions

pydivsufsort-0.0.9-cp311-cp311-win_amd64.whl (227.5 kB view details)

Uploaded CPython 3.11 Windows x86-64

pydivsufsort-0.0.9-cp311-cp311-win32.whl (188.2 kB view details)

Uploaded CPython 3.11 Windows x86

pydivsufsort-0.0.9-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (1.7 MB view details)

Uploaded CPython 3.11 manylinux: glibc 2.17+ x86-64

pydivsufsort-0.0.9-cp311-cp311-manylinux_2_17_i686.manylinux2014_i686.whl (1.7 MB view details)

Uploaded CPython 3.11 manylinux: glibc 2.17+ i686

pydivsufsort-0.0.9-cp311-cp311-macosx_10_9_x86_64.whl (278.5 kB view details)

Uploaded CPython 3.11 macOS 10.9+ x86-64

pydivsufsort-0.0.9-cp310-cp310-win_amd64.whl (225.3 kB view details)

Uploaded CPython 3.10 Windows x86-64

pydivsufsort-0.0.9-cp310-cp310-win32.whl (188.7 kB view details)

Uploaded CPython 3.10 Windows x86

pydivsufsort-0.0.9-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (1.6 MB view details)

Uploaded CPython 3.10 manylinux: glibc 2.17+ x86-64

pydivsufsort-0.0.9-cp310-cp310-manylinux_2_17_i686.manylinux2014_i686.whl (1.7 MB view details)

Uploaded CPython 3.10 manylinux: glibc 2.17+ i686

pydivsufsort-0.0.9-cp310-cp310-macosx_10_9_x86_64.whl (280.1 kB view details)

Uploaded CPython 3.10 macOS 10.9+ x86-64

pydivsufsort-0.0.9-cp39-cp39-win_amd64.whl (226.8 kB view details)

Uploaded CPython 3.9 Windows x86-64

pydivsufsort-0.0.9-cp39-cp39-win32.whl (189.8 kB view details)

Uploaded CPython 3.9 Windows x86

pydivsufsort-0.0.9-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (1.6 MB view details)

Uploaded CPython 3.9 manylinux: glibc 2.17+ x86-64

pydivsufsort-0.0.9-cp39-cp39-manylinux_2_17_i686.manylinux2014_i686.whl (1.6 MB view details)

Uploaded CPython 3.9 manylinux: glibc 2.17+ i686

pydivsufsort-0.0.9-cp39-cp39-macosx_10_9_x86_64.whl (281.6 kB view details)

Uploaded CPython 3.9 macOS 10.9+ x86-64

pydivsufsort-0.0.9-cp38-cp38-win_amd64.whl (227.5 kB view details)

Uploaded CPython 3.8 Windows x86-64

pydivsufsort-0.0.9-cp38-cp38-win32.whl (190.1 kB view details)

Uploaded CPython 3.8 Windows x86

pydivsufsort-0.0.9-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (1.6 MB view details)

Uploaded CPython 3.8 manylinux: glibc 2.17+ x86-64

pydivsufsort-0.0.9-cp38-cp38-manylinux_2_17_i686.manylinux2014_i686.whl (1.7 MB view details)

Uploaded CPython 3.8 manylinux: glibc 2.17+ i686

pydivsufsort-0.0.9-cp38-cp38-macosx_10_9_x86_64.whl (278.6 kB view details)

Uploaded CPython 3.8 macOS 10.9+ x86-64

pydivsufsort-0.0.9-cp37-cp37m-win_amd64.whl (222.1 kB view details)

Uploaded CPython 3.7m Windows x86-64

pydivsufsort-0.0.9-cp37-cp37m-win32.whl (188.0 kB view details)

Uploaded CPython 3.7m Windows x86

pydivsufsort-0.0.9-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (1.5 MB view details)

Uploaded CPython 3.7m manylinux: glibc 2.17+ x86-64

pydivsufsort-0.0.9-cp37-cp37m-manylinux_2_17_i686.manylinux2014_i686.whl (1.5 MB view details)

Uploaded CPython 3.7m manylinux: glibc 2.17+ i686

pydivsufsort-0.0.9-cp37-cp37m-macosx_10_9_x86_64.whl (273.6 kB view details)

Uploaded CPython 3.7m macOS 10.9+ x86-64

pydivsufsort-0.0.9-cp36-cp36m-win_amd64.whl (231.6 kB view details)

Uploaded CPython 3.6m Windows x86-64

pydivsufsort-0.0.9-cp36-cp36m-win32.whl (196.1 kB view details)

Uploaded CPython 3.6m Windows x86

pydivsufsort-0.0.9-cp36-cp36m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (1.5 MB view details)

Uploaded CPython 3.6m manylinux: glibc 2.17+ x86-64

pydivsufsort-0.0.9-cp36-cp36m-manylinux_2_17_i686.manylinux2014_i686.whl (1.5 MB view details)

Uploaded CPython 3.6m manylinux: glibc 2.17+ i686

pydivsufsort-0.0.9-cp36-cp36m-macosx_10_9_x86_64.whl (273.2 kB view details)

Uploaded CPython 3.6m macOS 10.9+ x86-64

File details

Details for the file pydivsufsort-0.0.9.tar.gz.

File metadata

  • Download URL: pydivsufsort-0.0.9.tar.gz
  • Upload date:
  • Size: 239.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.11.3

File hashes

Hashes for pydivsufsort-0.0.9.tar.gz
Algorithm Hash digest
SHA256 c4ed139f9244e900b7af0cda1e606df8e782c7b04e72a8d9184090ccfc9caf37
MD5 399dde8eead40d6356d963f97b3cd277
BLAKE2b-256 05873d39885e705cd8569061f86b2bf4389926a551c802cdedbb08b124ca5bf0

See more details on using hashes here.

File details

Details for the file pydivsufsort-0.0.9-cp311-cp311-win_amd64.whl.

File metadata

File hashes

Hashes for pydivsufsort-0.0.9-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 1c4447f248478c66170b9101156091c2d8b38ac09a319fbc7f8b037e106de86d
MD5 ac60c4fddc5d3477d277b5d1edbba3d8
BLAKE2b-256 4af05a91fce9a7699c16adb97296595c1037ce1d4028777fa26364aa08b88c60

See more details on using hashes here.

File details

Details for the file pydivsufsort-0.0.9-cp311-cp311-win32.whl.

File metadata

File hashes

Hashes for pydivsufsort-0.0.9-cp311-cp311-win32.whl
Algorithm Hash digest
SHA256 f9f7f600fdfcb496c37c40170fd1a1be8d2ca7d4ad6c284f5e557817bbb22225
MD5 a90b9984eb66582ce37ac8a79046b869
BLAKE2b-256 baacbc3fe69c3b9f9ee4b72e2bbf2c740f4ff09c1921a43f7c1e5bc0600e9f67

See more details on using hashes here.

File details

Details for the file pydivsufsort-0.0.9-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for pydivsufsort-0.0.9-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 9110492a476002361e930ac5dc223d107d9b0db932964c742968d6e391fd31f1
MD5 282351388dfe5eebddb8b0a256d580e9
BLAKE2b-256 45b58103e923adf3c6959845694bd46151da2ccbe19c20c046f6475c3a528c2c

See more details on using hashes here.

File details

Details for the file pydivsufsort-0.0.9-cp311-cp311-manylinux_2_17_i686.manylinux2014_i686.whl.

File metadata

File hashes

Hashes for pydivsufsort-0.0.9-cp311-cp311-manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 52e1ee3a49055cf9a7e2cee61d1d6416a7645c297e28a9a2ac90fa68a4d566fe
MD5 ba5afa67d7473fbb9fe7a780184b743c
BLAKE2b-256 def72ebeae7c95a82691ccacb7842034a101a13c355deecba6038ec05443b13a

See more details on using hashes here.

File details

Details for the file pydivsufsort-0.0.9-cp311-cp311-macosx_10_9_x86_64.whl.

File metadata

File hashes

Hashes for pydivsufsort-0.0.9-cp311-cp311-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 d16bcca5fe65a13d75422a67ee380dc6a490ca1a1894a983ad1253ed12fd5b5f
MD5 aa5305cf34459c726d8d6ec6d31e7cb0
BLAKE2b-256 eab03e086c5a74506b36bf48192c00199ce6a37246338d90a3c95ffe2fbb3984

See more details on using hashes here.

File details

Details for the file pydivsufsort-0.0.9-cp310-cp310-win_amd64.whl.

File metadata

File hashes

Hashes for pydivsufsort-0.0.9-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 ac66c4aa41a779b68e670fd24f2dd89dabeaf5eba5b96c1a76386bc363022faa
MD5 b60abc83397e2be7481a23a2e65bb89f
BLAKE2b-256 66fa60eb2306d4c7bb4cbfb04be0a7f90955c3f281ff7e07a3a59c679ea7b3f5

See more details on using hashes here.

File details

Details for the file pydivsufsort-0.0.9-cp310-cp310-win32.whl.

File metadata

File hashes

Hashes for pydivsufsort-0.0.9-cp310-cp310-win32.whl
Algorithm Hash digest
SHA256 652d06206dd0f9a3d6a328e7a503801bf142091d62653de4b0a2e7156cb6c8c3
MD5 6b885fa48e422c7e6d3849e04091e999
BLAKE2b-256 bf4656ed2b86fe132a1c16efc33a8f65546e651c7883d35946651f2acf46d2e8

See more details on using hashes here.

File details

Details for the file pydivsufsort-0.0.9-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for pydivsufsort-0.0.9-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 196af10023732218ce86a8c90d9ca2fc0c57eb4cfee47145b96fdb2e4bf84cf8
MD5 9c78350a4c1ec2f345edde87aeea8477
BLAKE2b-256 554c3fea0c325f2b916b7fa80d775bd420bedef006eecddeba7548df4674145d

See more details on using hashes here.

File details

Details for the file pydivsufsort-0.0.9-cp310-cp310-manylinux_2_17_i686.manylinux2014_i686.whl.

File metadata

File hashes

Hashes for pydivsufsort-0.0.9-cp310-cp310-manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 1d66a5d3bb6dbae39050d7be6d5445bd97a34bac09d21d36f07ce7f9acc57baa
MD5 a717f39bbd53f1ff3541d40ff5b5e025
BLAKE2b-256 3dc88732e86c6da60dcfc9eeb65dcb812e9897ee9a40b2c38e0d2efda75c812a

See more details on using hashes here.

File details

Details for the file pydivsufsort-0.0.9-cp310-cp310-macosx_10_9_x86_64.whl.

File metadata

File hashes

Hashes for pydivsufsort-0.0.9-cp310-cp310-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 388c7b7c62f27158ca3fa70988d07d441fa686e96f5ccec4f0ebf6b0db324a76
MD5 ae678f9f4f922341d48933d2a85289a8
BLAKE2b-256 08c0566aa6f4a9698ed2f8b0efc9172676c3d7f61d2e7a0ffa85e26f594ab371

See more details on using hashes here.

File details

Details for the file pydivsufsort-0.0.9-cp39-cp39-win_amd64.whl.

File metadata

File hashes

Hashes for pydivsufsort-0.0.9-cp39-cp39-win_amd64.whl
Algorithm Hash digest
SHA256 7e6405de5aea779c659ffd0a622e10936e0856574007f341e7d01aba2d7f8eef
MD5 325d6117ae5f49915615c7a719f74768
BLAKE2b-256 2a51627f6f62aed1b79208510c2cf990d05362e8d09b614d37d1e4859fc1bf6c

See more details on using hashes here.

File details

Details for the file pydivsufsort-0.0.9-cp39-cp39-win32.whl.

File metadata

  • Download URL: pydivsufsort-0.0.9-cp39-cp39-win32.whl
  • Upload date:
  • Size: 189.8 kB
  • Tags: CPython 3.9, Windows x86
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.9.13

File hashes

Hashes for pydivsufsort-0.0.9-cp39-cp39-win32.whl
Algorithm Hash digest
SHA256 a9c43a9bc500b1e7a1c161d531e4095d5b2717d51c60cc94cc0d22acc7d7dd4b
MD5 0fb5b9c337b0a51368def63f663df0b3
BLAKE2b-256 e58a214c95de5eebe0b6b8d282c81797c28b74e97368339b1d83d2843bf57cfd

See more details on using hashes here.

File details

Details for the file pydivsufsort-0.0.9-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for pydivsufsort-0.0.9-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 84933812c59d18fcff782c7639c7c8d76be817ce3290d4f2c3d7da4d80d03049
MD5 52774e45480b1712625e50790cd9c8e2
BLAKE2b-256 27657dde7ae617e573c1b1595afbf1a85e6c802b38085275b5573b02082d2f93

See more details on using hashes here.

File details

Details for the file pydivsufsort-0.0.9-cp39-cp39-manylinux_2_17_i686.manylinux2014_i686.whl.

File metadata

File hashes

Hashes for pydivsufsort-0.0.9-cp39-cp39-manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 2b78a5f656d069615ebe0270f2a146e775c000f7b275accc331fb9b84e5e3c1f
MD5 021bf0f88927648f78e77e4ffe8699ce
BLAKE2b-256 538a8c6431b98d792d744ceaccebadd307976afb52a50c6b2353182dfb3c9bfc

See more details on using hashes here.

File details

Details for the file pydivsufsort-0.0.9-cp39-cp39-macosx_10_9_x86_64.whl.

File metadata

File hashes

Hashes for pydivsufsort-0.0.9-cp39-cp39-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 05297819a686f578165a2903bdcd0ffb0657dcce68b102a02c6fbc9735cdcaea
MD5 5157170cb5cc7822a072ac5d46a40f14
BLAKE2b-256 19570b0e4ac5bf1fd0e682fab074c8b9dc17153ac0767ca7d42d9903e43638b3

See more details on using hashes here.

File details

Details for the file pydivsufsort-0.0.9-cp38-cp38-win_amd64.whl.

File metadata

File hashes

Hashes for pydivsufsort-0.0.9-cp38-cp38-win_amd64.whl
Algorithm Hash digest
SHA256 be6d3547c236790ff86e249055d0733d154ee5fd3548e0b17fe685ea11e6ac33
MD5 e91393e2e30d90729651a352ddbc2df6
BLAKE2b-256 f51a18418c2d052c9471e7ae532f09560b0aa90f865f70c245d6666a4ab56c49

See more details on using hashes here.

File details

Details for the file pydivsufsort-0.0.9-cp38-cp38-win32.whl.

File metadata

  • Download URL: pydivsufsort-0.0.9-cp38-cp38-win32.whl
  • Upload date:
  • Size: 190.1 kB
  • Tags: CPython 3.8, Windows x86
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.9.13

File hashes

Hashes for pydivsufsort-0.0.9-cp38-cp38-win32.whl
Algorithm Hash digest
SHA256 630860b1766fb9faacd30d280c0e4fae7ca241569327651ca158f4755771c5ea
MD5 2f2ed702e52ce895c08a6e5ed7ae730f
BLAKE2b-256 2efdcbec4f6eb0c64f60dfeb02f40dbed9708379ad9bbf2945b93548c1d75f8c

See more details on using hashes here.

File details

Details for the file pydivsufsort-0.0.9-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for pydivsufsort-0.0.9-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 0ee868948afd6046c32185ccd394887d5e9c44bd33a618edc157537c90363543
MD5 aaefdd33d20eb297743764b0a6c7348d
BLAKE2b-256 d756fb3e90b7b75a2a6b8057ac8e22dca96765380ef7506f7705410f543289bf

See more details on using hashes here.

File details

Details for the file pydivsufsort-0.0.9-cp38-cp38-manylinux_2_17_i686.manylinux2014_i686.whl.

File metadata

File hashes

Hashes for pydivsufsort-0.0.9-cp38-cp38-manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 6d8c5dbdedf7781c635944e804d13ef0e4b66de197a7695cf35483b5b503bace
MD5 b7bcf68208fb6fa309f5ad1ac184008d
BLAKE2b-256 72424c5855a9aa2b55818386e9c25553b6c83d9fca12718b19ad54f4527efca4

See more details on using hashes here.

File details

Details for the file pydivsufsort-0.0.9-cp38-cp38-macosx_10_9_x86_64.whl.

File metadata

File hashes

Hashes for pydivsufsort-0.0.9-cp38-cp38-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 91d833fba0f261be78a0470fa41fc136e6e8b67d88e0bd06e10a8f74cc0bd24c
MD5 108ece0149660a50d62af3e511b843d6
BLAKE2b-256 73926fc007a5ec20b8ad2f3f28d0cc7532230214f9cc2a9436fcad16b3d4e26a

See more details on using hashes here.

File details

Details for the file pydivsufsort-0.0.9-cp37-cp37m-win_amd64.whl.

File metadata

File hashes

Hashes for pydivsufsort-0.0.9-cp37-cp37m-win_amd64.whl
Algorithm Hash digest
SHA256 da69ca9952450c93b189736ea47cd7b4b35cc4a942dc71930fdc56b07ead0249
MD5 300c3ffd6f8cf9fdfe3d9465cb0dbb18
BLAKE2b-256 dad03663db33034ea6ae88da6b249f16773c296cd2d7e869faf6a0fb3a240c77

See more details on using hashes here.

File details

Details for the file pydivsufsort-0.0.9-cp37-cp37m-win32.whl.

File metadata

  • Download URL: pydivsufsort-0.0.9-cp37-cp37m-win32.whl
  • Upload date:
  • Size: 188.0 kB
  • Tags: CPython 3.7m, Windows x86
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.9.13

File hashes

Hashes for pydivsufsort-0.0.9-cp37-cp37m-win32.whl
Algorithm Hash digest
SHA256 e84ed2ec98036132d54c29840a478882ad2bae28025f56b3516d84e0f554c334
MD5 c6490c77548d5647e8e8fd1125595265
BLAKE2b-256 107c27dbd0bf408a8eb0bdbc8093042c5f61c6bb654314a04afa76ef462e9da0

See more details on using hashes here.

File details

Details for the file pydivsufsort-0.0.9-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for pydivsufsort-0.0.9-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 c5239029a1297df6f8cb660804d3a085b521cf00f6c710cdd4063e6045407ddb
MD5 946ae985efc373d5e79dce4dbff9bfdf
BLAKE2b-256 dc0005ebfd52dc6bf94701007a62598fa2772ead115f92c568ad82e92445d26c

See more details on using hashes here.

File details

Details for the file pydivsufsort-0.0.9-cp37-cp37m-manylinux_2_17_i686.manylinux2014_i686.whl.

File metadata

File hashes

Hashes for pydivsufsort-0.0.9-cp37-cp37m-manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 50817de93c27583d86f0ab83a0562df8d14eecd8ef985ca070563c5287d53a7e
MD5 2627b5894a7bdcb847c89d5ccb20c485
BLAKE2b-256 dbdee02851f588df23a74b46a0f13ca4f5d13e909e53305cd41202b64524af2f

See more details on using hashes here.

File details

Details for the file pydivsufsort-0.0.9-cp37-cp37m-macosx_10_9_x86_64.whl.

File metadata

File hashes

Hashes for pydivsufsort-0.0.9-cp37-cp37m-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 7da5180a47e2492899e5eab87ac58eac69a12c7df240d29b3c0d59847c1b681b
MD5 193cd9ceda88e73a5478fd9e4828faca
BLAKE2b-256 dd1dfcc1131a1be76667e0318840417400f98c63683dbf5a03a2b5c7042fb6d8

See more details on using hashes here.

File details

Details for the file pydivsufsort-0.0.9-cp36-cp36m-win_amd64.whl.

File metadata

File hashes

Hashes for pydivsufsort-0.0.9-cp36-cp36m-win_amd64.whl
Algorithm Hash digest
SHA256 e0dc395ce719905c13c1ffa1bb0b211f56b0906415b06d55e0af7a58d6880d3a
MD5 c8e56ccee44ee478fa8a0e430fe2dbc6
BLAKE2b-256 025b64239e504ffcc90d53d14ccca31ab865ac839937147926ba212f2a068963

See more details on using hashes here.

File details

Details for the file pydivsufsort-0.0.9-cp36-cp36m-win32.whl.

File metadata

  • Download URL: pydivsufsort-0.0.9-cp36-cp36m-win32.whl
  • Upload date:
  • Size: 196.1 kB
  • Tags: CPython 3.6m, Windows x86
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.9.13

File hashes

Hashes for pydivsufsort-0.0.9-cp36-cp36m-win32.whl
Algorithm Hash digest
SHA256 c25e8a08d33421732dee825083035ed680fa10e48be6cce39a6fe23aeca34c73
MD5 542c20a5c5a4f993488385d97326e8ef
BLAKE2b-256 479fa7aeb1c1ac1affb249d18495fba45354268e3ceeae5b55326cfe300b6994

See more details on using hashes here.

File details

Details for the file pydivsufsort-0.0.9-cp36-cp36m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for pydivsufsort-0.0.9-cp36-cp36m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 51e06d327249eff72f68de0898e85ed1ec6ed4fdd0870e96ea1df8ddd39fc7e8
MD5 ae454a02eb20f43e839d990b4d2936f0
BLAKE2b-256 b79431a8e5868a4f178922ef3b20c1068204e07308fd78035d2fb3fe95780949

See more details on using hashes here.

File details

Details for the file pydivsufsort-0.0.9-cp36-cp36m-manylinux_2_17_i686.manylinux2014_i686.whl.

File metadata

File hashes

Hashes for pydivsufsort-0.0.9-cp36-cp36m-manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 cba2af5536c9af972750fdca81287b520f57ed788a0dcd0e16366543a7e74699
MD5 3ed5b76657e59bbd43af7f7009db6fea
BLAKE2b-256 62a82adc127f477700617436601ef77bdf83b3a831c32b932faccca17e485a9e

See more details on using hashes here.

File details

Details for the file pydivsufsort-0.0.9-cp36-cp36m-macosx_10_9_x86_64.whl.

File metadata

File hashes

Hashes for pydivsufsort-0.0.9-cp36-cp36m-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 2310bed9207a4929257c90bc38c9b562d0678d58560ec6ec4476686ddf32c623
MD5 c82bf732dc657916e0e53afe0aea6adc
BLAKE2b-256 b24ce5484b97055467b89b5e3e9ee7af0618aaf197903bc7712038597b649eaa

See more details on using hashes here.

Supported by

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