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.
  • min_rotation(string): minimum rotation of a string

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.14.tar.gz (300.5 kB view details)

Uploaded Source

Built Distributions

pydivsufsort-0.0.14-cp312-cp312-win_amd64.whl (260.4 kB view details)

Uploaded CPython 3.12 Windows x86-64

pydivsufsort-0.0.14-cp312-cp312-win32.whl (220.6 kB view details)

Uploaded CPython 3.12 Windows x86

pydivsufsort-0.0.14-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (1.9 MB view details)

Uploaded CPython 3.12 manylinux: glibc 2.17+ x86-64

pydivsufsort-0.0.14-cp312-cp312-macosx_11_0_arm64.whl (281.5 kB view details)

Uploaded CPython 3.12 macOS 11.0+ ARM64

pydivsufsort-0.0.14-cp312-cp312-macosx_10_9_x86_64.whl (307.3 kB view details)

Uploaded CPython 3.12 macOS 10.9+ x86-64

pydivsufsort-0.0.14-cp311-cp311-win_amd64.whl (267.8 kB view details)

Uploaded CPython 3.11 Windows x86-64

pydivsufsort-0.0.14-cp311-cp311-win32.whl (223.7 kB view details)

Uploaded CPython 3.11 Windows x86

pydivsufsort-0.0.14-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (1.9 MB view details)

Uploaded CPython 3.11 manylinux: glibc 2.17+ x86-64

pydivsufsort-0.0.14-cp311-cp311-macosx_11_0_arm64.whl (279.7 kB view details)

Uploaded CPython 3.11 macOS 11.0+ ARM64

pydivsufsort-0.0.14-cp311-cp311-macosx_10_9_x86_64.whl (315.5 kB view details)

Uploaded CPython 3.11 macOS 10.9+ x86-64

pydivsufsort-0.0.14-cp310-cp310-win_amd64.whl (266.5 kB view details)

Uploaded CPython 3.10 Windows x86-64

pydivsufsort-0.0.14-cp310-cp310-win32.whl (223.5 kB view details)

Uploaded CPython 3.10 Windows x86

pydivsufsort-0.0.14-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (1.9 MB view details)

Uploaded CPython 3.10 manylinux: glibc 2.17+ x86-64

pydivsufsort-0.0.14-cp310-cp310-macosx_11_0_arm64.whl (280.3 kB view details)

Uploaded CPython 3.10 macOS 11.0+ ARM64

pydivsufsort-0.0.14-cp310-cp310-macosx_10_9_x86_64.whl (316.3 kB view details)

Uploaded CPython 3.10 macOS 10.9+ x86-64

pydivsufsort-0.0.14-cp39-cp39-win_amd64.whl (266.8 kB view details)

Uploaded CPython 3.9 Windows x86-64

pydivsufsort-0.0.14-cp39-cp39-win32.whl (223.9 kB view details)

Uploaded CPython 3.9 Windows x86

pydivsufsort-0.0.14-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (1.9 MB view details)

Uploaded CPython 3.9 manylinux: glibc 2.17+ x86-64

pydivsufsort-0.0.14-cp39-cp39-macosx_11_0_arm64.whl (280.8 kB view details)

Uploaded CPython 3.9 macOS 11.0+ ARM64

pydivsufsort-0.0.14-cp39-cp39-macosx_10_9_x86_64.whl (316.9 kB view details)

Uploaded CPython 3.9 macOS 10.9+ x86-64

pydivsufsort-0.0.14-cp38-cp38-win_amd64.whl (268.6 kB view details)

Uploaded CPython 3.8 Windows x86-64

pydivsufsort-0.0.14-cp38-cp38-win32.whl (225.6 kB view details)

Uploaded CPython 3.8 Windows x86

pydivsufsort-0.0.14-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (2.0 MB view details)

Uploaded CPython 3.8 manylinux: glibc 2.17+ x86-64

pydivsufsort-0.0.14-cp38-cp38-macosx_11_0_arm64.whl (278.6 kB view details)

Uploaded CPython 3.8 macOS 11.0+ ARM64

pydivsufsort-0.0.14-cp38-cp38-macosx_10_9_x86_64.whl (314.1 kB view details)

Uploaded CPython 3.8 macOS 10.9+ x86-64

pydivsufsort-0.0.14-cp37-cp37m-win_amd64.whl (259.8 kB view details)

Uploaded CPython 3.7m Windows x86-64

pydivsufsort-0.0.14-cp37-cp37m-win32.whl (220.5 kB view details)

Uploaded CPython 3.7m Windows x86

pydivsufsort-0.0.14-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (1.7 MB view details)

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

pydivsufsort-0.0.14-cp37-cp37m-macosx_10_9_x86_64.whl (309.2 kB view details)

Uploaded CPython 3.7m macOS 10.9+ x86-64

pydivsufsort-0.0.14-cp36-cp36m-win_amd64.whl (268.9 kB view details)

Uploaded CPython 3.6m Windows x86-64

pydivsufsort-0.0.14-cp36-cp36m-win32.whl (230.1 kB view details)

Uploaded CPython 3.6m Windows x86

pydivsufsort-0.0.14-cp36-cp36m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (1.7 MB view details)

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

pydivsufsort-0.0.14-cp36-cp36m-macosx_10_9_x86_64.whl (305.1 kB view details)

Uploaded CPython 3.6m macOS 10.9+ x86-64

File details

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

File metadata

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

File hashes

Hashes for pydivsufsort-0.0.14.tar.gz
Algorithm Hash digest
SHA256 83272e77a5740cb54de6d73d6e8480497b7628384bc1e0adc7cad905fba72d01
MD5 3d55108f31ce6ee9e2774b3d1e532c7f
BLAKE2b-256 88d23ed374803b836883abb1e897fc4baa0125512d9093d0edc40d11912d01a4

See more details on using hashes here.

File details

Details for the file pydivsufsort-0.0.14-cp312-cp312-win_amd64.whl.

File metadata

File hashes

Hashes for pydivsufsort-0.0.14-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 9740416f8bcd06f43c056b24368077fed488c0bb99ac90e4d0ae5f8029259177
MD5 b81e1f39d921dd7756e9d6d377f8138e
BLAKE2b-256 04037583252877d258ad3efbd72a312bb4d6e69efa6fcd8dbaa695baf563a3e5

See more details on using hashes here.

File details

Details for the file pydivsufsort-0.0.14-cp312-cp312-win32.whl.

File metadata

File hashes

Hashes for pydivsufsort-0.0.14-cp312-cp312-win32.whl
Algorithm Hash digest
SHA256 6a1691d51ba869b0f29799b19cf5e9b7793e5187c89cb758945b4fa22fc518d1
MD5 1a4ba709c6d62f77a9bfc724c28e17e6
BLAKE2b-256 eecadc29cb6bced0dcb35f50d4f3f777a34d8baf501d2387e71da1f453a0bb41

See more details on using hashes here.

File details

Details for the file pydivsufsort-0.0.14-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for pydivsufsort-0.0.14-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 87bafd4ce3c8899f45500f7ddddae93a55abaf5fba5e8c2fb8ba411b69a873b4
MD5 9234a28b0d0902f13f1bd0ad69889c0f
BLAKE2b-256 11ee10e5b5fa6bd2c4bdb8f86a1673dfaed518930f51eed5b01a5a2c7128d15d

See more details on using hashes here.

File details

Details for the file pydivsufsort-0.0.14-cp312-cp312-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for pydivsufsort-0.0.14-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 f7f25c5953c2f855d16d04f7814e57fef41dfa7e37cdcd0d2aa51eed37a9a9c6
MD5 2536e50c7360712b97adafc9d3b15bcb
BLAKE2b-256 cffcfc7255b57ad36e7a1ae17a8772daf3928889f1ea56169adc17f11e2d24de

See more details on using hashes here.

File details

Details for the file pydivsufsort-0.0.14-cp312-cp312-macosx_10_9_x86_64.whl.

File metadata

File hashes

Hashes for pydivsufsort-0.0.14-cp312-cp312-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 968522a601f27a080c07d09ca80a6e880468df2a4226f1aad633a7eeb11e4b5e
MD5 b86bf4f4900e2b512ece7c74bf7af6df
BLAKE2b-256 96c921c1c60e0ba01321097423b2661d3f4da85b3c069e8ff9620af94fa4fafe

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pydivsufsort-0.0.14-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 f85e94af3f676ecd2c9c39d4c35b2fdd0e912f68965cce641c86290d85f13ed8
MD5 9a987406f9c9b398469e47de01a9374a
BLAKE2b-256 a8c0986fccfbdb698620ed5ba829e092bcb6129565095920c8a7d3e34f98d936

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pydivsufsort-0.0.14-cp311-cp311-win32.whl
Algorithm Hash digest
SHA256 cfaff98c35d74c0d15042b1d0b2fe9451f451af855cd1fbd0a93ebdafc7cef7c
MD5 e4af1ebef408917275f97ffaea52854e
BLAKE2b-256 418f356f758bd2d49ef12be89dcc678fbd03457a17208cd250c3dc37b13f479c

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pydivsufsort-0.0.14-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 aad177629b0502260ef49fa87c7155c520e5028e7bef13001c52c6563c335777
MD5 e7d4b33a0b86fbf6651df3a3f7c84304
BLAKE2b-256 31862ce81e32ee26b9ef4fb37cc4df47f3c19c4c6564ca127d1da4a5a129b454

See more details on using hashes here.

File details

Details for the file pydivsufsort-0.0.14-cp311-cp311-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for pydivsufsort-0.0.14-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 3a75ed2c6b2f65c7e2ceaca4974bb474b9dd907ce79bb3ec0fd50af386f444f4
MD5 9d9964652af541ee002b25d49222b623
BLAKE2b-256 af37f3a39eacdaf63763dd02baf164160b1dc81af60460c2b3d217a253764bb2

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pydivsufsort-0.0.14-cp311-cp311-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 a14520282c3d754871d3c1926dd64d02e72f0f0d3eb975db0355a3efbb372ec0
MD5 e7629a3ab98adc8c197340c2e7923d9c
BLAKE2b-256 c46576629b76f1bccfb6e5a411f0d1f25fa00a9689ed64416ee7cc902cff9501

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pydivsufsort-0.0.14-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 d7988df0a5338e821b23e95da8606f7983cacb957f4fd8cbd02f86d5cfc80d82
MD5 a9ef65c484a9c8eaeda2e2bd905be4e1
BLAKE2b-256 c8e79bdc13c3cfbc1c13cbd45f3cda297097bb29934d02d7303562ee05cafb94

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pydivsufsort-0.0.14-cp310-cp310-win32.whl
Algorithm Hash digest
SHA256 279f10b8b5cc1bef3bc4a8c1b114108594eb8cc32b481f89f3e1664e6da48644
MD5 4c91c3d7e9032ef68ea6070692ce5f0e
BLAKE2b-256 196920efc6dfacab0ff3d77a90734a3923e23db9bf0f6d16be9fbe93ee59085b

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pydivsufsort-0.0.14-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 43816ec3cea58f99275c4e0420bbd3bc7306a723d8e957a278d85fbb0e745388
MD5 4feecd45d9e077808bad6b189da30a0c
BLAKE2b-256 16913d02c49f14ac56da7790c54ace4497d382dd62605a4b7b3f280c8e42bc12

See more details on using hashes here.

File details

Details for the file pydivsufsort-0.0.14-cp310-cp310-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for pydivsufsort-0.0.14-cp310-cp310-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 37495d019e6ded3bf55d4d83b2e54f05a8bd171f8740661c384f1016021bf982
MD5 e8bd8478303a50ad88f5dec951b0457b
BLAKE2b-256 352c82151a9383787444809ad92f6fb1ed001c136cd83e25f21507d9df7e97b7

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pydivsufsort-0.0.14-cp310-cp310-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 77b65dd5a9b1dd7d192e57ebee53242a2c07865d7f3708a6a9c6f3ba576269c5
MD5 6a3f70e4f0ac590bfaec4510ea16d792
BLAKE2b-256 9faeb4d1ebbcd0b764159fada1a912501e716a8f24d752927ad56e74ab13d970

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pydivsufsort-0.0.14-cp39-cp39-win_amd64.whl
Algorithm Hash digest
SHA256 8a4492523b3dc9a9a12585a6170b917b27fa2bd1b8780e9d4243f92260eee23c
MD5 da680759e0a5f1a1f842e2e9a1063868
BLAKE2b-256 bb899f18cd262f1487e8b3e946d1569dae2ca9be9c072e2206a9a79c42d24c15

See more details on using hashes here.

File details

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

File metadata

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

File hashes

Hashes for pydivsufsort-0.0.14-cp39-cp39-win32.whl
Algorithm Hash digest
SHA256 c5f669517110c098164911750ea769c2b201d99453816c46006d9ebd01934673
MD5 440d4e9295d53e778792ab8478d35b30
BLAKE2b-256 0180a8e852153989a4fd05d8fbdba31bbd74e1f275e81128cf5f3d6dfec87e85

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pydivsufsort-0.0.14-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 b0d4c480fca182596730f141e5deb5866d14cf9e30ab73e517d15ba4dc9e1971
MD5 84163fe53915bea601cc614dbceb09f7
BLAKE2b-256 d75ce320e19020f854757f735c820f9d4117697a032bd76bbac2de5e0ccb2534

See more details on using hashes here.

File details

Details for the file pydivsufsort-0.0.14-cp39-cp39-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for pydivsufsort-0.0.14-cp39-cp39-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 43e1c6157a1821ce5be3beb5866defea53e8eb498fe06b4c5c896b44840ad723
MD5 94c98065cd71004754d84040081423d8
BLAKE2b-256 6b27a3d2de5a148d23f37c3c94a9d9c0dad3643a413db9fa0266bdda39c3e7df

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pydivsufsort-0.0.14-cp39-cp39-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 0cb9d880cb088b3c36a12aeb2fad0357613f257cce07c166c64f29407220ce7e
MD5 d3f0785f192310d9d712b7fcf98debd6
BLAKE2b-256 24d3aebc63679aa6040f8434b1ce09cf9ac6119296a8a41823e0b2276e4db6b1

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pydivsufsort-0.0.14-cp38-cp38-win_amd64.whl
Algorithm Hash digest
SHA256 5af7565bfbb0304287875a834d62df2c4b374cc45653d124b80f05bd7fab96ce
MD5 3c2c909499d02fcfa57587c008d49cb5
BLAKE2b-256 a2da569abfb0c759f0155e3e8d8f2e2ce4e1b50138c615993915e4188e2af4c6

See more details on using hashes here.

File details

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

File metadata

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

File hashes

Hashes for pydivsufsort-0.0.14-cp38-cp38-win32.whl
Algorithm Hash digest
SHA256 6fcbad6c22c4dda3d2b11f7845ad47c200713f9aee415ff892cf5b02abca740d
MD5 275af278f9d698f4607e574e7d9dcb08
BLAKE2b-256 3c38b8b1d2035544bd7a2707fe8a2e67e636b6a3e162078cb2bcbec7843a5b79

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pydivsufsort-0.0.14-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 9834281e425a9b19fbfd809779c31da807f29d37794aa70180b2d998446d0451
MD5 c6a35b17e0ca62835bf467a0965a53ad
BLAKE2b-256 160a571c4965cac9eac1878be4c9323255777b6b6098975d0674f9cfd3e870e9

See more details on using hashes here.

File details

Details for the file pydivsufsort-0.0.14-cp38-cp38-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for pydivsufsort-0.0.14-cp38-cp38-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 bb3baabcbdfa327959e8720c083fda07607b7b22e923f4e7e6262a8c703db236
MD5 525b22c44c245f10fba6083c99a3ef55
BLAKE2b-256 70a06a58aa908be44b71ba2c106ffc93357fd03aaa23cf512bf53426fe2d809e

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pydivsufsort-0.0.14-cp38-cp38-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 e9e1ba270bb62c2595f749a9a06433c3ac0e5fd2a6faa3eb185db627c83b79b8
MD5 617eb6f9c449ebfe9b59279a987d355c
BLAKE2b-256 a2596de89e1d136bd61d3c3b90db8461eee22a7b91600671b0b10b76c367a27b

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pydivsufsort-0.0.14-cp37-cp37m-win_amd64.whl
Algorithm Hash digest
SHA256 d6be090e1e959beeb3a94f0de2465783eae354bf032d45dc9f105ab04f5bfaa2
MD5 810065dd26fa311f78a190f89cd168f7
BLAKE2b-256 527043f1d1fbe7b7e5e04e1a2f7fa1c50b19e2174bfffbccfb64970860662566

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pydivsufsort-0.0.14-cp37-cp37m-win32.whl
Algorithm Hash digest
SHA256 7e7340e1681db1a256000538f0837ffbc7082a56dbc34248c85f6d7ad859c667
MD5 eb53bdd3a61a2bcfcef2597ceec7bb2a
BLAKE2b-256 ab7fef7022cbe1e01e5a8b58bf24e0be853706f1480edc2ea6abe02c11cf0c3c

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pydivsufsort-0.0.14-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 532a919cf428740b2adb2c4b1afd5d8b900041e2fe7fc8cc4c029daf3c1309a5
MD5 8fdf7167163274093b6ccde6c580f640
BLAKE2b-256 a8cd1e36ce13475ed60a8d2db96d0b9d9ebc572761154b6fe21d4476a480c8b2

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pydivsufsort-0.0.14-cp37-cp37m-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 3a5d65a478d2e0313aca8dd9eaa0c680be11d2857b350c5685b9680d404382e2
MD5 f88592f4b00158e475d2375412618a99
BLAKE2b-256 1e8e2dad9d540fa450282e4f78f7c8777cf9316f922847b16f2d2f79e980890a

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pydivsufsort-0.0.14-cp36-cp36m-win_amd64.whl
Algorithm Hash digest
SHA256 0f672b1e3b588ca327e1f9ddaa51e6561ef48f8ba0b050aa6fd5092a8981cbc1
MD5 0f20a0a296f5744d45cea65483612867
BLAKE2b-256 304c3370d17ee9b4e74f0ca70cb827bbdcdb48cc1b7be505c0d5d07a7ce5f80f

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pydivsufsort-0.0.14-cp36-cp36m-win32.whl
Algorithm Hash digest
SHA256 0ed4d720f5b9564e7657810a83562803f49be76c05a1c89322991d17929ea3fb
MD5 e69be9c296fd61589d24cce3c265149d
BLAKE2b-256 12ed0519900c434e353852aa54fbec97ed3a072a987a43a2fc869947251af39f

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pydivsufsort-0.0.14-cp36-cp36m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 aef2b87b73d18cfc5d3e928d251e0bf59c7d2b508812c4a34e50cfa97646e6f5
MD5 29e8f955e3f35f74d1d254179d0f1474
BLAKE2b-256 13f70ba8df1e8fdaf1ed1369dbf98b59cc89b7b91b0e472c86d464b7a44b8956

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pydivsufsort-0.0.14-cp36-cp36m-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 e40d365c27feb96d3c016866439fd80c192123f2b07d40067d7249df06306b4d
MD5 e4762df8de09afafb2adc1fb7443f2ea
BLAKE2b-256 05be091c9d7a42369eddfae28185ff0a2aeb1eee0004d79248d5ce89e2a4d2bb

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