Skip to main content

Lightweight, super fast library for sequence alignment using edit (Levenshtein) distance.

Project description

Lightweight, super fast library for sequence alignment using edit (Levenshtein) distance.

Popular use cases: aligning DNA sequences, calculating word/text similarity.

edlib.align("elephant", "telephone")
# {'editDistance': 3, 'alphabetLength': 8, 'locations': [(None, 8)], 'cigar': None}

# Works with unicode characters (or any other iterable of hashable objects)!
edlib.align("ты милая", "ты гений")
# {'editDistance': 5, 'alphabetLength': 12, 'locations': [(None, 7)], 'cigar': None}

edlib.align("AACG", "TCAACCTG", mode = "HW", task = "path")
# {'editDistance': 1, 'alphabetLength': 4, 'locations': [(2, 4), (2, 5)], 'cigar': '3=1I'}

query = "elephant"; target = "telephone"
# NOTE: `task` has to be "path" in order to get nice alignment.
result = edlib.align(query, target, task = "path")
nice = edlib.getNiceAlignment(result, query, target)
print("\n".join(nice.values()))
# -elephant
# -|||||.|.
# telephone

Edlib is actually a C/C++ library, and this package is it’s wrapper for Python. Python Edlib has mostly the same API as C/C++ Edlib, so feel free to check out C/C++ Edlib docs for more code examples, details on API and how Edlib works.

Features

  • Calculates edit distance.

  • It can find optimal alignment path (instructions how to transform first sequence into the second sequence).

  • It can find just the start and/or end locations of alignment path - can be useful when speed is more important than having exact alignment path.

  • Supports multiple alignment methods: global(NW), prefix(SHW) and infix(HW), each of them useful for different scenarios.

  • You can extend character equality definition, enabling you to e.g. have wildcard characters, to have case insensitive alignment or to work with degenerate nucleotides.

  • It can easily handle small or very large sequences, even when finding alignment path.

  • Super fast thanks to Myers’s bit-vector algorithm.

NOTE: Alphabet length has to be <= 256 (meaning that query and target together must have <= 256 unique values).

Installation

pip install edlib

API

Edlib has two functions, align() and getNiceAlignment():

align()

align(query, target, [mode], [task], [k], [additionalEqualities])

Aligns query against target with edit distance.

query and target can be strings, bytes, or any iterables of hashable objects, as long as all together they don’t have more than 256 unique values.

Output of help(edlib.align):

cython_function_or_method in module edlib

align(query, target, mode='NW', task='distance', k=-1, additionalEqualities=None)
    Align query with target using edit distance.
    @param {str or bytes or iterable of hashable objects} query, combined with target must have no more
           than 256 unique values
    @param {str or bytes or iterable of hashable objects} target, combined with query must have no more
           than 256 unique values
    @param {string} mode  Optional. Alignment method do be used. Possible values are:
            - 'NW' for global (default)
            - 'HW' for infix
            - 'SHW' for prefix.
    @param {string} task  Optional. Tells edlib what to calculate. The less there is to calculate,
            the faster it is. Possible value are (from fastest to slowest):
            - 'distance' - find edit distance and end locations in target. Default.
            - 'locations' - find edit distance, end locations and start locations.
            - 'path' - find edit distance, start and end locations and alignment path.
    @param {int} k  Optional. Max edit distance to search for - the lower this value,
            the faster is calculation. Set to -1 (default) to have no limit on edit distance.
    @param {list} additionalEqualities  Optional.
            List of pairs of characters or hashable objects, where each pair defines two values as equal.
            This way you can extend edlib's definition of equality (which is that each character is equal only
            to itself).
            This can be useful e.g. when you want edlib to be case insensitive, or if you want certain
            characters to act as a wildcards.
            Set to None (default) if you do not want to extend edlib's default equality definition.
    @return Dictionary with following fields:
            {int} editDistance  Integer, -1 if it is larger than k.
            {int} alphabetLength Integer, length of unique characters in 'query' and 'target'
            {[(int, int)]} locations  List of locations, in format [(start, end)].
            {string} cigar  Cigar is a standard format for alignment path.
                Here we are using extended cigar format, which uses following symbols:
                Match: '=', Insertion to target: 'I', Deletion from target: 'D', Mismatch: 'X'.
                e.g. cigar of "5=1X1=1I" means "5 matches, 1 mismatch, 1 match, 1 insertion (to target)".

getNiceAlignment()

getNiceAlignment(alignResult, query, target)

Represents alignment from align() in a visually attractive format.

Output of help(edlib.getNiceAlignment):

cython_function_or_method in module edlib

getNiceAlignment(alignResult, query, target, gapSymbol='-')
    Output alignments from align() in NICE format
    @param {dictionary} alignResult, output of the method align()
        NOTE: The method align() requires the argument task="path"
    @param {string} query, the exact query used for alignResult
    @param {string} target, the exact target used for alignResult
    @param {string} gapSymbol, default "-"
        String used to represent gaps in the alignment between query and target
    @return Alignment in NICE format, which is human-readable visual representation of how the query and target align to each other.
        e.g., for "telephone" and "elephant", it would look like:
           telephone
            |||||.|.
           -elephant
        It is represented as dictionary with following fields:
          - {string} query_aligned
          - {string} matched_aligned ('|' for match, '.' for mismatch, ' ' for insertion/deletion)
          - {string} target_aligned
        Normally you will want to print these three in order above joined with newline character.

Usage

import edlib

edlib.align("ACTG", "CACTRT", mode="HW", task="path")
# {'editDistance': 1, 'alphabetLength': 5, 'locations': [(1, 3), (1, 4)], 'cigar': '3=1I'}

# You can provide additional equalities.
edlib.align("ACTG", "CACTRT", mode="HW", task="path", additionalEqualities=[("R", "A"), ("R", "G")])
# {'editDistance': 0, 'alphabetLength': 5, 'locations': [(1, 4)], 'cigar': '4='}

Benchmark

I run a simple benchmark on 7 Feb 2017 (using timeit, on Python3) to get a feeling of how Edlib compares to other Python libraries: editdistance and python-Levenshtein.

As input data I used pairs of DNA sequences of different lengths, where each pair has about 90% similarity.

#1: query length: 30, target length: 30
edlib.align(query, target): 1.88µs
editdistance.eval(query, target): 1.26µs
Levenshtein.distance(query, target): 0.43µs

#2: query length: 100, target length: 100
edlib.align(query, target): 3.64µs
editdistance.eval(query, target): 3.86µs
Levenshtein.distance(query, target): 14.1µs

#3: query length: 1000, target length: 1000
edlib.align(query, target): 0.047ms
editdistance.eval(query, target): 5.4ms
Levenshtein.distance(query, target): 1.9ms

#4: query length: 10000, target length: 10000
edlib.align(query, target): 0.0021s
editdistance.eval(query, target): 0.56s
Levenshtein.distance(query, target): 0.2s

#5: query length: 50000, target length: 50000
edlib.align(query, target): 0.031s
editdistance.eval(query, target): 13.8s
Levenshtein.distance(query, target): 5.0s

More

Check out C/C++ Edlib docs for more information about Edlib!

Development

Check out Edlib python package on Github.

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

edlib-1.3.9.post1.tar.gz (120.2 kB view details)

Uploaded Source

Built Distributions

edlib-1.3.9.post1-cp313-cp313-musllinux_1_2_x86_64.whl (1.4 MB view details)

Uploaded CPython 3.13musllinux: musl 1.2+ x86-64

edlib-1.3.9.post1-cp313-cp313-musllinux_1_2_i686.whl (1.5 MB view details)

Uploaded CPython 3.13musllinux: musl 1.2+ i686

edlib-1.3.9.post1-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (396.3 kB view details)

Uploaded CPython 3.13manylinux: glibc 2.17+ x86-64

edlib-1.3.9.post1-cp313-cp313-macosx_10_13_x86_64.whl (70.2 kB view details)

Uploaded CPython 3.13macOS 10.13+ x86-64

edlib-1.3.9.post1-cp313-cp313-macosx_10_13_universal2.whl (130.5 kB view details)

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

edlib-1.3.9.post1-cp312-cp312-musllinux_1_2_x86_64.whl (1.4 MB view details)

Uploaded CPython 3.12musllinux: musl 1.2+ x86-64

edlib-1.3.9.post1-cp312-cp312-musllinux_1_2_i686.whl (1.5 MB view details)

Uploaded CPython 3.12musllinux: musl 1.2+ i686

edlib-1.3.9.post1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (397.5 kB view details)

Uploaded CPython 3.12manylinux: glibc 2.17+ x86-64

edlib-1.3.9.post1-cp312-cp312-macosx_10_9_x86_64.whl (71.5 kB view details)

Uploaded CPython 3.12macOS 10.9+ x86-64

edlib-1.3.9.post1-cp312-cp312-macosx_10_9_universal2.whl (132.8 kB view details)

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

edlib-1.3.9.post1-cp311-cp311-musllinux_1_2_x86_64.whl (1.4 MB view details)

Uploaded CPython 3.11musllinux: musl 1.2+ x86-64

edlib-1.3.9.post1-cp311-cp311-musllinux_1_2_i686.whl (1.5 MB view details)

Uploaded CPython 3.11musllinux: musl 1.2+ i686

edlib-1.3.9.post1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (397.0 kB view details)

Uploaded CPython 3.11manylinux: glibc 2.17+ x86-64

edlib-1.3.9.post1-cp311-cp311-macosx_10_9_x86_64.whl (70.5 kB view details)

Uploaded CPython 3.11macOS 10.9+ x86-64

edlib-1.3.9.post1-cp311-cp311-macosx_10_9_universal2.whl (132.2 kB view details)

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

edlib-1.3.9.post1-cp310-cp310-musllinux_1_2_x86_64.whl (1.4 MB view details)

Uploaded CPython 3.10musllinux: musl 1.2+ x86-64

edlib-1.3.9.post1-cp310-cp310-musllinux_1_2_i686.whl (1.5 MB view details)

Uploaded CPython 3.10musllinux: musl 1.2+ i686

edlib-1.3.9.post1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (372.7 kB view details)

Uploaded CPython 3.10manylinux: glibc 2.17+ x86-64

edlib-1.3.9.post1-cp310-cp310-macosx_10_9_x86_64.whl (70.4 kB view details)

Uploaded CPython 3.10macOS 10.9+ x86-64

edlib-1.3.9.post1-cp310-cp310-macosx_10_9_universal2.whl (132.1 kB view details)

Uploaded CPython 3.10macOS 10.9+ universal2 (ARM64, x86-64)

edlib-1.3.9.post1-cp39-cp39-musllinux_1_2_x86_64.whl (1.4 MB view details)

Uploaded CPython 3.9musllinux: musl 1.2+ x86-64

edlib-1.3.9.post1-cp39-cp39-musllinux_1_2_i686.whl (1.5 MB view details)

Uploaded CPython 3.9musllinux: musl 1.2+ i686

edlib-1.3.9.post1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (374.2 kB view details)

Uploaded CPython 3.9manylinux: glibc 2.17+ x86-64

edlib-1.3.9.post1-cp39-cp39-macosx_10_9_x86_64.whl (70.9 kB view details)

Uploaded CPython 3.9macOS 10.9+ x86-64

edlib-1.3.9.post1-cp39-cp39-macosx_10_9_universal2.whl (132.9 kB view details)

Uploaded CPython 3.9macOS 10.9+ universal2 (ARM64, x86-64)

edlib-1.3.9.post1-cp38-cp38-musllinux_1_2_x86_64.whl (1.4 MB view details)

Uploaded CPython 3.8musllinux: musl 1.2+ x86-64

edlib-1.3.9.post1-cp38-cp38-musllinux_1_2_i686.whl (1.5 MB view details)

Uploaded CPython 3.8musllinux: musl 1.2+ i686

edlib-1.3.9.post1-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (381.5 kB view details)

Uploaded CPython 3.8manylinux: glibc 2.17+ x86-64

edlib-1.3.9.post1-cp38-cp38-macosx_10_9_x86_64.whl (71.4 kB view details)

Uploaded CPython 3.8macOS 10.9+ x86-64

edlib-1.3.9.post1-cp38-cp38-macosx_10_9_universal2.whl (133.6 kB view details)

Uploaded CPython 3.8macOS 10.9+ universal2 (ARM64, x86-64)

edlib-1.3.9.post1-cp37-cp37m-musllinux_1_2_x86_64.whl (1.4 MB view details)

Uploaded CPython 3.7mmusllinux: musl 1.2+ x86-64

edlib-1.3.9.post1-cp37-cp37m-musllinux_1_2_i686.whl (1.4 MB view details)

Uploaded CPython 3.7mmusllinux: musl 1.2+ i686

edlib-1.3.9.post1-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (353.8 kB view details)

Uploaded CPython 3.7mmanylinux: glibc 2.17+ x86-64

edlib-1.3.9.post1-cp37-cp37m-macosx_10_9_x86_64.whl (70.6 kB view details)

Uploaded CPython 3.7mmacOS 10.9+ x86-64

edlib-1.3.9.post1-cp36-cp36m-musllinux_1_2_x86_64.whl (1.3 MB view details)

Uploaded CPython 3.6mmusllinux: musl 1.2+ x86-64

edlib-1.3.9.post1-cp36-cp36m-musllinux_1_2_i686.whl (1.4 MB view details)

Uploaded CPython 3.6mmusllinux: musl 1.2+ i686

edlib-1.3.9.post1-cp36-cp36m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (340.1 kB view details)

Uploaded CPython 3.6mmanylinux: glibc 2.17+ x86-64

edlib-1.3.9.post1-cp36-cp36m-macosx_10_9_x86_64.whl (68.4 kB view details)

Uploaded CPython 3.6mmacOS 10.9+ x86-64

File details

Details for the file edlib-1.3.9.post1.tar.gz.

File metadata

  • Download URL: edlib-1.3.9.post1.tar.gz
  • Upload date:
  • Size: 120.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.1 CPython/3.12.5

File hashes

Hashes for edlib-1.3.9.post1.tar.gz
Algorithm Hash digest
SHA256 b0fb6e85882cab02208ccd6daa46f80cb9ff1d05764e91bf22920a01d7a6fbfa
MD5 c162caba13195bc3631d85728ddabd39
BLAKE2b-256 0cddcaa71ef15b46375e01581812e52ec8e3f4da0686f370e8b9179eb5f748fb

See more details on using hashes here.

File details

Details for the file edlib-1.3.9.post1-cp313-cp313-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for edlib-1.3.9.post1-cp313-cp313-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 a8dc08d4e162bd9f0c0f4a2511a2769c2953e3315915f5631e33096c85b27ac5
MD5 a981aa553cc3cae1b8c9d4cf9ebe7eba
BLAKE2b-256 276a569bf9584318fe13bf7e5e9ac580043f8e0ca54c97354e971f9cd831241b

See more details on using hashes here.

File details

Details for the file edlib-1.3.9.post1-cp313-cp313-musllinux_1_2_i686.whl.

File metadata

File hashes

Hashes for edlib-1.3.9.post1-cp313-cp313-musllinux_1_2_i686.whl
Algorithm Hash digest
SHA256 a8ebdc95d9f5233b4ebd0b7061eb05d9786ccac05a2065faebf2dd61cf1ac945
MD5 a11fbbd49f8e43ae188abbfc11689816
BLAKE2b-256 18e2bfa5ec07a7ce0835598b00f4935c510057945580c25dc0e725fa696ee464

See more details on using hashes here.

File details

Details for the file edlib-1.3.9.post1-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for edlib-1.3.9.post1-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 6e6457ff3e80d29eb42436eea7235babd3f1db78a526565e1fdce102aa3f6fa0
MD5 b1f566a9bd909e7127730c66b8892d15
BLAKE2b-256 f9f3f12157bbace8c9149133fc7eb5bd03894ae52301d372e010a967dae1fe3b

See more details on using hashes here.

File details

Details for the file edlib-1.3.9.post1-cp313-cp313-macosx_10_13_x86_64.whl.

File metadata

File hashes

Hashes for edlib-1.3.9.post1-cp313-cp313-macosx_10_13_x86_64.whl
Algorithm Hash digest
SHA256 c328b481eb9bb4fde7b5a79c5f251413e2486033d5bc92d6788f6ce301e398cc
MD5 ce411b80d31c9b0eb2c3a42629e3e993
BLAKE2b-256 3cfbe1ac4e8088f15fad0dab1cf95b23ca0855ada8b0a14451492f3320b2e1a0

See more details on using hashes here.

File details

Details for the file edlib-1.3.9.post1-cp313-cp313-macosx_10_13_universal2.whl.

File metadata

File hashes

Hashes for edlib-1.3.9.post1-cp313-cp313-macosx_10_13_universal2.whl
Algorithm Hash digest
SHA256 d87ea04825968350bc5dabe1e95f7d0fe357183c26a039592d4ff12d53ae6c7a
MD5 20cc17861d08b0f2ea56b94ee0b83973
BLAKE2b-256 14a77d7d4f7ff473127fbcc1ae65e6fc17ed6f024b4bc55c41e79a11298cc4ab

See more details on using hashes here.

File details

Details for the file edlib-1.3.9.post1-cp312-cp312-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for edlib-1.3.9.post1-cp312-cp312-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 2d6f40a19d0dc784c5f3b27c2989e431614797bcb77f15b55781491cdab1666f
MD5 54ca829c249c68ea15d2d44bca885d24
BLAKE2b-256 b29798c62f1c6dead23373aa968a3e5928908fb93cdc826d712e6136e0736022

See more details on using hashes here.

File details

Details for the file edlib-1.3.9.post1-cp312-cp312-musllinux_1_2_i686.whl.

File metadata

File hashes

Hashes for edlib-1.3.9.post1-cp312-cp312-musllinux_1_2_i686.whl
Algorithm Hash digest
SHA256 508687d0a16ff1f3f63d31511f469b43028a865faf1fb68fbf5499aa78b4e7ec
MD5 60e99b42aeee4c3dec0232c2fe3a76bc
BLAKE2b-256 dacd1acfddd17aa804ba8dcb9900c4a5c7a959310a57b351696d940617b878a9

See more details on using hashes here.

File details

Details for the file edlib-1.3.9.post1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for edlib-1.3.9.post1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 b8539562cfb7b387decae9492e86fbc35094ded4769ea8242273015c073ad366
MD5 f0ffbbfa558f280094561f5049530193
BLAKE2b-256 7a986d75b060dd4c5f8a91b5c7031faf41cccb58448ffc14d0ef03e02ecb6c67

See more details on using hashes here.

File details

Details for the file edlib-1.3.9.post1-cp312-cp312-macosx_10_9_x86_64.whl.

File metadata

File hashes

Hashes for edlib-1.3.9.post1-cp312-cp312-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 947080004c9fa82dfae9330ecc8ac9f5506503ea3fd379e0cd20b24c4dd51bb7
MD5 719d3dfc590630ca31e5e683ba6340f8
BLAKE2b-256 006257d8b700aa5d2f9912b6689e7b309fbf0555d115c7881068ded3d705a679

See more details on using hashes here.

File details

Details for the file edlib-1.3.9.post1-cp312-cp312-macosx_10_9_universal2.whl.

File metadata

File hashes

Hashes for edlib-1.3.9.post1-cp312-cp312-macosx_10_9_universal2.whl
Algorithm Hash digest
SHA256 9bc0d778527d2a1ff60379d6620c2fa057bc7a94a8a31ec525e550b7afcfd83c
MD5 887435380c4bc4191043dfe420a28040
BLAKE2b-256 5bde8fd435bb5d76b86147ff16b86de269ac51f2515c027fa6b16d602e53b83d

See more details on using hashes here.

File details

Details for the file edlib-1.3.9.post1-cp311-cp311-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for edlib-1.3.9.post1-cp311-cp311-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 2aba2e45677b19a26a7d9acd74bd0869a6b138b7626dbeafcd5a15aea00b36f2
MD5 6056e142ad7c26449c1c7f90158b27dc
BLAKE2b-256 65ff8fc79ffde2f54b015bd698dc69c516913f4103126ff5c467c8c8bcd81817

See more details on using hashes here.

File details

Details for the file edlib-1.3.9.post1-cp311-cp311-musllinux_1_2_i686.whl.

File metadata

File hashes

Hashes for edlib-1.3.9.post1-cp311-cp311-musllinux_1_2_i686.whl
Algorithm Hash digest
SHA256 82e95bcc4a025d919db53b3b48e98e967afc4c6d741d39e906cdeca6bc74deda
MD5 0908d3b4be392e1863bc89732bb7cd9e
BLAKE2b-256 9fdf70cacedb6b238b5258942bd8fdb890aa6a65b19517f9cfdc241928a0b549

See more details on using hashes here.

File details

Details for the file edlib-1.3.9.post1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for edlib-1.3.9.post1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 ea4714c98756954d19325dee61093e7b8d0ec204dae522c27d57998c32a4a796
MD5 c59f167165a39eb6fca8d375e66da7b7
BLAKE2b-256 41b3267cf3b9f6ba13bede5c2f29957102f4988fead04ad7fed89e4bdf89562a

See more details on using hashes here.

File details

Details for the file edlib-1.3.9.post1-cp311-cp311-macosx_10_9_x86_64.whl.

File metadata

File hashes

Hashes for edlib-1.3.9.post1-cp311-cp311-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 fdf895ce15a81097b191ded0f829a426d1d76b12147cfe01ad75ba5aa70af00d
MD5 1d4f90d8ce8fbbe9cce3d694077e05d8
BLAKE2b-256 14666d3973667832706a86754db98293393df8f87906105101479c75d6e02548

See more details on using hashes here.

File details

Details for the file edlib-1.3.9.post1-cp311-cp311-macosx_10_9_universal2.whl.

File metadata

File hashes

Hashes for edlib-1.3.9.post1-cp311-cp311-macosx_10_9_universal2.whl
Algorithm Hash digest
SHA256 6249493e72f324f731ab23433d04a06888f45319d8f7a765b6d1f135f102fa38
MD5 7592d1b7e43835bb9aac7871aa6bcf56
BLAKE2b-256 dfa8bee9a0e6133ede12505b07339e4d125c2a5b8c4dfad5fe9a7304f9fc6e6e

See more details on using hashes here.

File details

Details for the file edlib-1.3.9.post1-cp310-cp310-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for edlib-1.3.9.post1-cp310-cp310-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 de93447b4c20be00c3eaa533f6ee0f233225860cee943818aef987f4882b4f20
MD5 fa5a442fb98252f5b3332c05dc93dbbd
BLAKE2b-256 e1899db1b45dc748a0dc56a411e32c35058fab0ebd51b2fe684d3494952a3c03

See more details on using hashes here.

File details

Details for the file edlib-1.3.9.post1-cp310-cp310-musllinux_1_2_i686.whl.

File metadata

File hashes

Hashes for edlib-1.3.9.post1-cp310-cp310-musllinux_1_2_i686.whl
Algorithm Hash digest
SHA256 50677612047506b95a15450fb003f7d9f9fda8ad472f3e54936ef619fa7a0746
MD5 453348dfbd7f42e6db21e6d499249c9e
BLAKE2b-256 39ca532f2288774bea64b84878a6145b0be17a0d36d0a022beed99bb989d1ed3

See more details on using hashes here.

File details

Details for the file edlib-1.3.9.post1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for edlib-1.3.9.post1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 fc30dbee8faf0433eda805a64db4364b88a6b4fa4d7972aa84d345700dc749b0
MD5 ed5e53b4571bb705da5bb94c96181e0e
BLAKE2b-256 52564d9a3147e74234ad0d620a32d6e35761c50d951b60d20710f4f7d7b2ee7e

See more details on using hashes here.

File details

Details for the file edlib-1.3.9.post1-cp310-cp310-macosx_10_9_x86_64.whl.

File metadata

File hashes

Hashes for edlib-1.3.9.post1-cp310-cp310-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 ae9364732b1d27615605a0374b406c71e5d881128f571f85cb028157cee1ce67
MD5 5d014fba82931fb630694fd3affcdc60
BLAKE2b-256 2b431de8579820800f8c144eba2e8f0fa622e0d7b24a88b99f7871ea18996b27

See more details on using hashes here.

File details

Details for the file edlib-1.3.9.post1-cp310-cp310-macosx_10_9_universal2.whl.

File metadata

File hashes

Hashes for edlib-1.3.9.post1-cp310-cp310-macosx_10_9_universal2.whl
Algorithm Hash digest
SHA256 9bbd8fe0d4b103d87fa9fef3afe185816d1a01552501fedd19247f4841fce0af
MD5 70a0d469f9e136ac668eaa0f3aed69d3
BLAKE2b-256 b57223cb9cea30a80d528fab08b5cdce77851b2bf279bc9592f70554f69650e5

See more details on using hashes here.

File details

Details for the file edlib-1.3.9.post1-cp39-cp39-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for edlib-1.3.9.post1-cp39-cp39-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 eec42bfc5614ec92559b86e5c5b7398a15599500bc1b2bf63f08b6bf48d7f972
MD5 b7ea0e1ee241d9201cafed983d8df64c
BLAKE2b-256 58a4ad26dea44748762dd92c1f580445aba4565a5f36c2b04c13f2fc193fcfaf

See more details on using hashes here.

File details

Details for the file edlib-1.3.9.post1-cp39-cp39-musllinux_1_2_i686.whl.

File metadata

File hashes

Hashes for edlib-1.3.9.post1-cp39-cp39-musllinux_1_2_i686.whl
Algorithm Hash digest
SHA256 7c5a02a5e334ce6f24bc578739b9c6a48c883c453c703dea52814953da37425c
MD5 02150a79047a9c269bcc5f41fea8aee7
BLAKE2b-256 ff3cdd01c8e7192cb1a6f892898417b1541dcdab6e86431f896fd2d593c44e07

See more details on using hashes here.

File details

Details for the file edlib-1.3.9.post1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for edlib-1.3.9.post1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 650156a596db8dd098f625692c27b1c5dcf7f0c4db1fa0dfa05d87bb016b5f22
MD5 9e1875bd11460ac378e27cc7e9a13a44
BLAKE2b-256 1307f98c0369aec3c7bd8ce1f8d0ba38894edf97323b893042f0310c9b83c6f4

See more details on using hashes here.

File details

Details for the file edlib-1.3.9.post1-cp39-cp39-macosx_10_9_x86_64.whl.

File metadata

File hashes

Hashes for edlib-1.3.9.post1-cp39-cp39-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 fe0b6420a6f9906e91a23d3ffc7a5798dee9388fc5179806a640968761833ac9
MD5 1e693415fefc33ca777f1726bf0889e0
BLAKE2b-256 e483597614096f155bec586098824811f19ca02385db94f61d732d348417153a

See more details on using hashes here.

File details

Details for the file edlib-1.3.9.post1-cp39-cp39-macosx_10_9_universal2.whl.

File metadata

File hashes

Hashes for edlib-1.3.9.post1-cp39-cp39-macosx_10_9_universal2.whl
Algorithm Hash digest
SHA256 04d84b6b9c9b38841ee2557e060a3db133871bef5793be29269492eb62fa658d
MD5 4e2f6297810c93a9ab180590c4bdc16f
BLAKE2b-256 8956498ca69bd6355130341d0714588dafd1d2b777b024d3e668a881fd6cf432

See more details on using hashes here.

File details

Details for the file edlib-1.3.9.post1-cp38-cp38-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for edlib-1.3.9.post1-cp38-cp38-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 ec92058f7317436f94b9697074c3a3b016577768ee5710dc7c15a2fa4d5882fc
MD5 e35e18b9ced77271f60f63b2dc638b7b
BLAKE2b-256 9003166b103c8d25592d64c58c5b106c5bee2399cb8a2622978b6dbbf9a478fd

See more details on using hashes here.

File details

Details for the file edlib-1.3.9.post1-cp38-cp38-musllinux_1_2_i686.whl.

File metadata

File hashes

Hashes for edlib-1.3.9.post1-cp38-cp38-musllinux_1_2_i686.whl
Algorithm Hash digest
SHA256 62931650016d121a5c5dfe403299865038e46c3b57521a5808b5129c960e52c3
MD5 ca350e99db3abe615b4f73c2d94ed8ab
BLAKE2b-256 ab1af4f6f59c1ffc5c911b659fb3f15a61cd093b4af368695bcf544d02d42bee

See more details on using hashes here.

File details

Details for the file edlib-1.3.9.post1-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for edlib-1.3.9.post1-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 604d478355b5c710b54fc985c7069fb6d869d4307c0fe4a165f23062bbc7d2fc
MD5 5de49df091ec21e9b9741d94637ad049
BLAKE2b-256 9657a2bd1ae75154f99bdcc9670ebc3175b526e479c67f25fcec542a353f04e1

See more details on using hashes here.

File details

Details for the file edlib-1.3.9.post1-cp38-cp38-macosx_10_9_x86_64.whl.

File metadata

File hashes

Hashes for edlib-1.3.9.post1-cp38-cp38-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 e2051c4edfa12d136e42ecfc7acad011249f1afcbcea4ce404c9ee7804325999
MD5 fb0d7fd11a236fb4dc4b7f6bfc798835
BLAKE2b-256 1e9e3cd9fbd6e9c86a511f236b999b91149f063e21567db0fd1afa164cb94545

See more details on using hashes here.

File details

Details for the file edlib-1.3.9.post1-cp38-cp38-macosx_10_9_universal2.whl.

File metadata

File hashes

Hashes for edlib-1.3.9.post1-cp38-cp38-macosx_10_9_universal2.whl
Algorithm Hash digest
SHA256 645dec817f2cd4337d06bcb6fa5673a78a579f92dd13cae5431ec5a841ad8869
MD5 2bd367e5954bdd644d2534f3ffc1f023
BLAKE2b-256 393091000caa85ad802754e6b371ddb79c3ae0c06095a6567f948731103589c3

See more details on using hashes here.

File details

Details for the file edlib-1.3.9.post1-cp37-cp37m-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for edlib-1.3.9.post1-cp37-cp37m-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 d86f71dd89bdf0d3afa5a1676f01ffd8816f258d1c9b54f805c44cf0e5fd0dde
MD5 0c943ff69c8973e2af145977b63a8606
BLAKE2b-256 3f881fc23baa1ccab15faae34dc47dd658c545f24f9a37b2d0c24f3425d14cb5

See more details on using hashes here.

File details

Details for the file edlib-1.3.9.post1-cp37-cp37m-musllinux_1_2_i686.whl.

File metadata

File hashes

Hashes for edlib-1.3.9.post1-cp37-cp37m-musllinux_1_2_i686.whl
Algorithm Hash digest
SHA256 d2d65f654dbbe5f422b2ad372f7afe332870b78ae93af59f52973955e80af701
MD5 13ee2c637562c5b99dd263388c53dd64
BLAKE2b-256 0403083460a33cc5e9c7edaf987641f726f46f372dec35548294782529c387cf

See more details on using hashes here.

File details

Details for the file edlib-1.3.9.post1-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for edlib-1.3.9.post1-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 4948d242587b0faa04d5a4108191da14bf1d0e69cc51c0b0ff0b0ce1ee17cf97
MD5 fa2e38292453c78b48b6a60b3b674b62
BLAKE2b-256 53aaedaa2567e4d39f708253ceeb74bc837c6d324c17142af912593ffb244e84

See more details on using hashes here.

File details

Details for the file edlib-1.3.9.post1-cp37-cp37m-macosx_10_9_x86_64.whl.

File metadata

File hashes

Hashes for edlib-1.3.9.post1-cp37-cp37m-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 28a46409421e365717ee2ab2be73fc96da8650cbbe2d58b663497a22e3be2385
MD5 4bf41d20bb47b887e7458f5d31bb3337
BLAKE2b-256 c5cd9110c690245d5daf27926aa6337aaa10e2e9c2e213568b8110f41dc702c9

See more details on using hashes here.

File details

Details for the file edlib-1.3.9.post1-cp36-cp36m-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for edlib-1.3.9.post1-cp36-cp36m-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 544a018acd1e1f9d2c90e10d119cecd4022bffd3a5c56480214ec6b5dcb41b15
MD5 b066eb2c35ee6add51f72339ddc129a6
BLAKE2b-256 cb80f93737f198d619734a2f6779a73f1f4989242fb79b6805e5d75262f000ae

See more details on using hashes here.

File details

Details for the file edlib-1.3.9.post1-cp36-cp36m-musllinux_1_2_i686.whl.

File metadata

File hashes

Hashes for edlib-1.3.9.post1-cp36-cp36m-musllinux_1_2_i686.whl
Algorithm Hash digest
SHA256 caa3b558333a18328a92d1691e4e19b11ffed50aec456118aab719b5a1cc4833
MD5 1e4fc628c987db13bf92c1b9ba2759a6
BLAKE2b-256 8bf05c1f9a7dbdc937cedaaff4fc8e7664bb8df1bdfc4efc1cc94b2efc580f8c

See more details on using hashes here.

File details

Details for the file edlib-1.3.9.post1-cp36-cp36m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for edlib-1.3.9.post1-cp36-cp36m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 e23efd98cfa4416f3a452fdb8c2cdc428fa62d561457b461054a15a5640c4ecf
MD5 b2081ab3dc091cb52545e84b0cb98c94
BLAKE2b-256 2a7e10719533b6fac6105e5790a6dd24c9f74ce4033ae53c8da04f348ab9b5f1

See more details on using hashes here.

File details

Details for the file edlib-1.3.9.post1-cp36-cp36m-macosx_10_9_x86_64.whl.

File metadata

File hashes

Hashes for edlib-1.3.9.post1-cp36-cp36m-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 e1f419c5e9fde148c812c10ebcc0f3115e396602b60031a9645a765030f2d71f
MD5 6c9f22e9aac1812e8ec205ff3e356b87
BLAKE2b-256 f44f154ff1347b424e3242216eb7da2e531e4adc9077a84a7f9de51a7d59e406

See more details on using hashes here.

Supported by

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