Skip to main content

Segment a table from an image

Project description

Banner
Segmentation of tables from images

PyPi version of taulu GitHub Actions Workflow Status

Documentation

Data Requirements

This package assumes that you are working with images of tables that have clearly visible rules (the lines that divide the table into cells).

To fully utilize the automated workflow, your tables should include a recognizable header. This header will be used to identify the position of the first cell in the input image and determine the expected widths of the table's cells.

For optimal segmentation, ensure that the tables are rotated so the borders are approximately vertical and horizontal. Minor page warping is acceptable.

Installation

Using pip

pip install taulu

Using uv

uv add taulu

Usage

from taulu import Taulu
import os


def setup():
    # create an Annotation file of the headers in the image
    # (one for the left header, one for the right)
    # and store them in the examples directory
    print("Annotating the LEFT header...")
    Taulu.annotate("../data/table_00.png", "table_00_header_left.png")

    print("Annotating the RIGHT header...")
    Taulu.annotate("../data/table_00.png", "table_00_header_right.png")


def main():
    taulu = Taulu(("table_00_header_left.png", "table_00_header_right.png"))
    table = taulu.segment_table("../data/table_00.png", 0.8, debug_view=True)

    table.show_cells("../data/table_00.png")


if __name__ == "__main__":
    if os.path.exists("table_00_header_left.png") and os.path.exists(
        "table_00_header_right.png"
    ):
        main()
    else:
        setup()
        main()

This file can be found at examples/example.py. To run it, clone this repository, create a uv project, and run the script:

git clone git@github.com:GhentCDH/taulu.git
cd taulu
uv init --no-workspace --bare
uv run example.py

During this example, you will need to annotate the header image. You do this by simply clicking twice per line, once for each endpoint. It does not matter in which order you annotate the lines. Example:

Table Header Annotation Example

Below is an example of table cell identification using the Taulu package:

Table Cell Identification Example

Workflow

This package is structured in a modular way, with several components that work together.

The Taulu class combines the components into one simple API, as seen in Usage

The algorithm identifies the header's location in the input image, which provides a starting point. From there, it scans the image to find intersections of the rules (borders) and segments the image into cells accordingly.

The output is a TableGrid object that contains the detected intersections and which defines some useful methods, enabling you to segment the image into rows, columns, and cells.

The main classes are:

  • HeaderAligner: Uses template matching to identify the header's location in the input images.
  • HeaderTemplate: Stores header template information by reading an annotation JSON file. You can create this file by running HeaderTemplate.annotate_image.
  • GridDetector: Processes the image to identify intersections of horizontal and vertical lines (borders). To see its progress, you can run it with debug_view=True. This should allow you to tune the parameters to your data.

Parameters and Methods

The taulu algorithm has a number of parameters which you might need to tune in order for it to fit your data's characteristics. The following is a summary of the most important parameters and how you could tune them to your data.

Taulu

  • header_path: a path of the header image which has an annotation associated with it. The annotation is assumed to have the same path, but with a json suffix (this is the case when created with Taulu.annotate). When working with images that have two tables (or one table, split across two pages), you can supply a tuple of the left and right header images.

  • kernel_size, cross_width: The GridDetector uses a kernel to detect intersections of rules in the image. The kernel looks like this:

    kernel diagram

    The goal is to make this kernel look like the actual corners in your images after thresholding and dilation. The example script shows the dilated result (because debug_view=True), which you can use to estimate the cross_width and kernel_size values that fit your image. Note that the optimal values will depend on the morph_size parameter too.

  • morph_size: The GridDetector uses a dilation step in order to connect lines in the image that might be broken up after thresholding. With a larger morph_size, larger gaps in the lines will be connected, but it will also lead to much thicker lines. As a result, this parameter affects the optimal cross_width and cross_height.

  • region: This parameter influences the search algorithm. The algorithm has a rough idea of where the next corner point should be. At that location, the algorithm then finds the best match that is within a square of size region around that point, and selects that as the detected corner. Visualized:

    search algorithm region

    A larger region will be more forgiving for warping or other artefacts, but could lead to false positives too. You can see this region as blue squares when running the segmentation with debug_view=True

  • sauvola_k: This parameter adjusts the threshold that is used when binarizing the image. The larger sauvola_k more pixels will be mapped to zero. You should increase this parameter until most of the noise is gone in your image, without removing too many pixels from the actual lines of the table.

These methods are the most useful:

  • Taulu.annotate: create an annotation file for a header image. This requires an image of a table with a clear header. Taulu will first ask you to crop the header in the image (by clicking four points, one for each corner). Then, it will ask you to annotate the lines in the header (by clicking two points per line, one for each endpoint). The annotation file will be saved as a json file and a png with the same name.
  • Taulu.segment_table: given an input image, segment into a TableGrid object.
    • cell_height_factor: a float or a list of floats that determine the expected height of each row in the table, relative to the height of the header. If the list is shorter than the number of rows, the last value will be repeated for the remaining rows. If a single float is given, it will be used for all rows.

TableGrid

Taulu.segment_table returns a TableGrid instance, which you can use to get information about the location and bounding box of cells in your image.

These methods are the most useful:

  • save: save the TableGrid object as a json file
  • from_saved: restore a TableGrid object from a json file
  • cell: given a location in the image ((tuple[float, float]), return the cell index (row, column)
  • cell_polygon: get the polygon (left top, right top, right bottom, left bottom) of the cell in the image
  • region: given a start and end cell, get the polygon that surrounds all cells in between (inclusive range)
  • highlight_all_cells: highlight all cell edges on an image
  • show_cells: interactively highlight cells you click on in the image (in an OpenCV window)
  • crop_cell and crop_region: crop the image to the supplied cell or region

Credits

Development by Ghent Centre for Digital Humanities - Ghent University. Funded by the GhentCDH research projects.

Landscape

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

taulu-2.0.7.tar.gz (13.2 MB view details)

Uploaded Source

Built Distributions

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

taulu-2.0.7-pp310-pypy310_pp73-manylinux_2_17_s390x.manylinux2014_s390x.whl (449.5 kB view details)

Uploaded PyPymanylinux: glibc 2.17+ s390x

taulu-2.0.7-pp310-pypy310_pp73-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl (447.6 kB view details)

Uploaded PyPymanylinux: glibc 2.17+ ppc64le

taulu-2.0.7-pp310-pypy310_pp73-manylinux_2_17_armv7l.manylinux2014_armv7l.whl (405.4 kB view details)

Uploaded PyPymanylinux: glibc 2.17+ ARMv7l

taulu-2.0.7-pp310-pypy310_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (391.0 kB view details)

Uploaded PyPymanylinux: glibc 2.17+ ARM64

taulu-2.0.7-pp39-pypy39_pp73-manylinux_2_17_s390x.manylinux2014_s390x.whl (450.2 kB view details)

Uploaded PyPymanylinux: glibc 2.17+ s390x

taulu-2.0.7-pp39-pypy39_pp73-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl (447.4 kB view details)

Uploaded PyPymanylinux: glibc 2.17+ ppc64le

taulu-2.0.7-pp39-pypy39_pp73-manylinux_2_17_armv7l.manylinux2014_armv7l.whl (405.3 kB view details)

Uploaded PyPymanylinux: glibc 2.17+ ARMv7l

taulu-2.0.7-pp39-pypy39_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (390.7 kB view details)

Uploaded PyPymanylinux: glibc 2.17+ ARM64

taulu-2.0.7-cp313-cp313t-win_amd64.whl (267.0 kB view details)

Uploaded CPython 3.13tWindows x86-64

taulu-2.0.7-cp313-cp313t-win32.whl (257.7 kB view details)

Uploaded CPython 3.13tWindows x86

taulu-2.0.7-cp313-cp313t-musllinux_1_2_x86_64.whl (615.1 kB view details)

Uploaded CPython 3.13tmusllinux: musl 1.2+ x86-64

taulu-2.0.7-cp313-cp313t-musllinux_1_2_i686.whl (638.9 kB view details)

Uploaded CPython 3.13tmusllinux: musl 1.2+ i686

taulu-2.0.7-cp313-cp313t-musllinux_1_2_armv7l.whl (668.6 kB view details)

Uploaded CPython 3.13tmusllinux: musl 1.2+ ARMv7l

taulu-2.0.7-cp313-cp313t-musllinux_1_2_aarch64.whl (568.5 kB view details)

Uploaded CPython 3.13tmusllinux: musl 1.2+ ARM64

taulu-2.0.7-cp313-cp313t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (402.9 kB view details)

Uploaded CPython 3.13tmanylinux: glibc 2.17+ x86-64

taulu-2.0.7-cp313-cp313t-manylinux_2_17_s390x.manylinux2014_s390x.whl (442.2 kB view details)

Uploaded CPython 3.13tmanylinux: glibc 2.17+ s390x

taulu-2.0.7-cp313-cp313t-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl (440.7 kB view details)

Uploaded CPython 3.13tmanylinux: glibc 2.17+ ppc64le

taulu-2.0.7-cp313-cp313t-manylinux_2_17_armv7l.manylinux2014_armv7l.whl (398.9 kB view details)

Uploaded CPython 3.13tmanylinux: glibc 2.17+ ARMv7l

taulu-2.0.7-cp313-cp313t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (385.4 kB view details)

Uploaded CPython 3.13tmanylinux: glibc 2.17+ ARM64

taulu-2.0.7-cp313-cp313t-manylinux_2_12_i686.manylinux2010_i686.whl (422.5 kB view details)

Uploaded CPython 3.13tmanylinux: glibc 2.12+ i686

taulu-2.0.7-cp313-cp313t-macosx_11_0_arm64.whl (347.9 kB view details)

Uploaded CPython 3.13tmacOS 11.0+ ARM64

taulu-2.0.7-cp39-abi3-win_amd64.whl (272.1 kB view details)

Uploaded CPython 3.9+Windows x86-64

taulu-2.0.7-cp39-abi3-win32.whl (261.8 kB view details)

Uploaded CPython 3.9+Windows x86

taulu-2.0.7-cp39-abi3-musllinux_1_2_x86_64.whl (622.5 kB view details)

Uploaded CPython 3.9+musllinux: musl 1.2+ x86-64

taulu-2.0.7-cp39-abi3-musllinux_1_2_i686.whl (645.8 kB view details)

Uploaded CPython 3.9+musllinux: musl 1.2+ i686

taulu-2.0.7-cp39-abi3-musllinux_1_2_armv7l.whl (676.1 kB view details)

Uploaded CPython 3.9+musllinux: musl 1.2+ ARMv7l

taulu-2.0.7-cp39-abi3-musllinux_1_2_aarch64.whl (573.9 kB view details)

Uploaded CPython 3.9+musllinux: musl 1.2+ ARM64

taulu-2.0.7-cp39-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (409.8 kB view details)

Uploaded CPython 3.9+manylinux: glibc 2.17+ x86-64

taulu-2.0.7-cp39-abi3-manylinux_2_17_s390x.manylinux2014_s390x.whl (450.7 kB view details)

Uploaded CPython 3.9+manylinux: glibc 2.17+ s390x

taulu-2.0.7-cp39-abi3-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl (447.8 kB view details)

Uploaded CPython 3.9+manylinux: glibc 2.17+ ppc64le

taulu-2.0.7-cp39-abi3-manylinux_2_17_armv7l.manylinux2014_armv7l.whl (406.1 kB view details)

Uploaded CPython 3.9+manylinux: glibc 2.17+ ARMv7l

taulu-2.0.7-cp39-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (391.1 kB view details)

Uploaded CPython 3.9+manylinux: glibc 2.17+ ARM64

taulu-2.0.7-cp39-abi3-manylinux_2_12_i686.manylinux2010_i686.whl (429.4 kB view details)

Uploaded CPython 3.9+manylinux: glibc 2.12+ i686

taulu-2.0.7-cp39-abi3-macosx_11_0_arm64.whl (352.4 kB view details)

Uploaded CPython 3.9+macOS 11.0+ ARM64

File details

Details for the file taulu-2.0.7.tar.gz.

File metadata

  • Download URL: taulu-2.0.7.tar.gz
  • Upload date:
  • Size: 13.2 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: maturin/1.11.5

File hashes

Hashes for taulu-2.0.7.tar.gz
Algorithm Hash digest
SHA256 4c1a9d852fdc473b69905a0d8c88bec81779ca3b3ac4cdc2d9b0a9ebc93c7fab
MD5 c501a2c4607b85898c1931deb8801bb2
BLAKE2b-256 83385f24c88425c2393a7bb8216dbf921b7204a87db8437a414794ea136248c7

See more details on using hashes here.

File details

Details for the file taulu-2.0.7-pp310-pypy310_pp73-manylinux_2_17_s390x.manylinux2014_s390x.whl.

File metadata

File hashes

Hashes for taulu-2.0.7-pp310-pypy310_pp73-manylinux_2_17_s390x.manylinux2014_s390x.whl
Algorithm Hash digest
SHA256 c528882b245ae2cfc4cb8711a125c9d48738ad381fbe18b2bf1170d14089c4d4
MD5 aa2aa56be7c070b59384971e992a665c
BLAKE2b-256 61e61acd244c9025220a33375619123673c4722c0485095e7e3a0ab0bdcf44f1

See more details on using hashes here.

File details

Details for the file taulu-2.0.7-pp310-pypy310_pp73-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl.

File metadata

File hashes

Hashes for taulu-2.0.7-pp310-pypy310_pp73-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl
Algorithm Hash digest
SHA256 41ee6cb264810124ba1ed8366775de8107af3714f1fea81ecb1df72e5cfa304b
MD5 2a2c77859cdcc1ec48c8c3ab048d73d3
BLAKE2b-256 b007e71c712298bf5cfe26ea3e9477844dc931ab02841a6d491f852904ca00d7

See more details on using hashes here.

File details

Details for the file taulu-2.0.7-pp310-pypy310_pp73-manylinux_2_17_armv7l.manylinux2014_armv7l.whl.

File metadata

File hashes

Hashes for taulu-2.0.7-pp310-pypy310_pp73-manylinux_2_17_armv7l.manylinux2014_armv7l.whl
Algorithm Hash digest
SHA256 24926f653dd74478da514caf56c3b87c49799d129759f62c39493c10b840f514
MD5 e2177f4fcdd0a20706155ce2d2dde2c3
BLAKE2b-256 a3cb49ea75ebeee9e16620fe7a2567e1ce5412b2593b8edda91c083f1dbe8616

See more details on using hashes here.

File details

Details for the file taulu-2.0.7-pp310-pypy310_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for taulu-2.0.7-pp310-pypy310_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 1613fa07cb5288559dbbccffc3c32e3963cc75ebb3f6ae1f732b2968c8511055
MD5 4737a0bdbe7bdb4d44b613d8b19d0341
BLAKE2b-256 2193007a26ab8d7fac36dd541a2925914d7726ad1c09de23bacb212308887503

See more details on using hashes here.

File details

Details for the file taulu-2.0.7-pp39-pypy39_pp73-manylinux_2_17_s390x.manylinux2014_s390x.whl.

File metadata

File hashes

Hashes for taulu-2.0.7-pp39-pypy39_pp73-manylinux_2_17_s390x.manylinux2014_s390x.whl
Algorithm Hash digest
SHA256 dad713476f802bbdaecbd15ece620577b2ef21b90e949bc9188111f2a1970294
MD5 2b37031035e0952cdeb1079c83bce91c
BLAKE2b-256 432ad60e182a47406568f1f2d9b8739da8c335f683213400d24d54aef71257eb

See more details on using hashes here.

File details

Details for the file taulu-2.0.7-pp39-pypy39_pp73-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl.

File metadata

File hashes

Hashes for taulu-2.0.7-pp39-pypy39_pp73-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl
Algorithm Hash digest
SHA256 bd92a3c56af0c04af070795534da9f38355d4ae44d2516a9307f0042445e2aaa
MD5 fe5372d2d0f2c432e52972946a52574d
BLAKE2b-256 2526274e90c7a25fa33bfd568726ae83a63a0d19d030fc8dee3ed460e0a7e05c

See more details on using hashes here.

File details

Details for the file taulu-2.0.7-pp39-pypy39_pp73-manylinux_2_17_armv7l.manylinux2014_armv7l.whl.

File metadata

File hashes

Hashes for taulu-2.0.7-pp39-pypy39_pp73-manylinux_2_17_armv7l.manylinux2014_armv7l.whl
Algorithm Hash digest
SHA256 810f830f0cfc03f0e72d97a422327669512b03251c13f28e8ff0cf53b1bef773
MD5 f077dd6acca6c64bf4586c4db0f36aa7
BLAKE2b-256 954ef2b8f0a24611ed8c252c3bb20a1076c68b6fa1d23a85e2d38f4849e45b4c

See more details on using hashes here.

File details

Details for the file taulu-2.0.7-pp39-pypy39_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for taulu-2.0.7-pp39-pypy39_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 affb458a62ad41275acf8495d9199f8dbd4a832ec9e1f95f47379fb032372ab8
MD5 c24d2597063b0cb4eece607e715f9463
BLAKE2b-256 36b06ecbc1ec073994d095801eb519e07d766290940d9a195a98d35099b01b32

See more details on using hashes here.

File details

Details for the file taulu-2.0.7-cp313-cp313t-win_amd64.whl.

File metadata

  • Download URL: taulu-2.0.7-cp313-cp313t-win_amd64.whl
  • Upload date:
  • Size: 267.0 kB
  • Tags: CPython 3.13t, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: maturin/1.11.5

File hashes

Hashes for taulu-2.0.7-cp313-cp313t-win_amd64.whl
Algorithm Hash digest
SHA256 1d82e17b29e0cea9a449403a5344364857949406b2e5ca004c425d77328b4ff3
MD5 dacaf101e3598d1aa566dd8ae3fb112e
BLAKE2b-256 32aa318fd5ac2313c87fc908deb5c2e4d01c03bf8a35e274f9ca953648f2a3ab

See more details on using hashes here.

File details

Details for the file taulu-2.0.7-cp313-cp313t-win32.whl.

File metadata

  • Download URL: taulu-2.0.7-cp313-cp313t-win32.whl
  • Upload date:
  • Size: 257.7 kB
  • Tags: CPython 3.13t, Windows x86
  • Uploaded using Trusted Publishing? No
  • Uploaded via: maturin/1.11.5

File hashes

Hashes for taulu-2.0.7-cp313-cp313t-win32.whl
Algorithm Hash digest
SHA256 972c49d153390a38050bef5b7e59bf6ec140396a8ffb16463b7603e9b52fa237
MD5 c516caa489efb9901f42c240f2e53545
BLAKE2b-256 e434cf69c1904a76499187c892b8485cd6cd715dfdd6300f507bb196c2d38fce

See more details on using hashes here.

File details

Details for the file taulu-2.0.7-cp313-cp313t-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for taulu-2.0.7-cp313-cp313t-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 f10c66f5e0e967ea856f9214867e717db94fd0b62771395c6bfae0c1950fb732
MD5 5bf0a8a920b031a288e9c237c32598f2
BLAKE2b-256 52bf1322e654840abdac164629fcfba4e5d4c0bfd233d2abb94628acb54e65a7

See more details on using hashes here.

File details

Details for the file taulu-2.0.7-cp313-cp313t-musllinux_1_2_i686.whl.

File metadata

File hashes

Hashes for taulu-2.0.7-cp313-cp313t-musllinux_1_2_i686.whl
Algorithm Hash digest
SHA256 8fd9e439db74cb7c89bff2f2ebcb920049e98c30a9796190273771ceea5f8d5c
MD5 d89a161d1ee4d3907de61c7f710b7067
BLAKE2b-256 9299758fa35a32b9445e4b93de3915c3f31b06b92d3ae5992ff52dd3ad1ce725

See more details on using hashes here.

File details

Details for the file taulu-2.0.7-cp313-cp313t-musllinux_1_2_armv7l.whl.

File metadata

File hashes

Hashes for taulu-2.0.7-cp313-cp313t-musllinux_1_2_armv7l.whl
Algorithm Hash digest
SHA256 439ebf1385647ae1e42f52f7fc3c8a937988ff1c60765e65cbb04478ca17bbd2
MD5 0bc04d81dd55fd7739b795085792d09b
BLAKE2b-256 968ddb1771b991275c4acef673ac266ae8a804dcf50e3c6d0f8444b7d3c98fdc

See more details on using hashes here.

File details

Details for the file taulu-2.0.7-cp313-cp313t-musllinux_1_2_aarch64.whl.

File metadata

File hashes

Hashes for taulu-2.0.7-cp313-cp313t-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 048eabe6ea32605d5a7af63df10a42262c66b22d4f69b2a87871e193f74aa756
MD5 40efdab3fc5e577ded2f8e2b2c5c66c7
BLAKE2b-256 dd235dc528b10a87595553cdd0ccfed60581ee57f92c097f93985b50db55b257

See more details on using hashes here.

File details

Details for the file taulu-2.0.7-cp313-cp313t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for taulu-2.0.7-cp313-cp313t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 0da960a928777e94bf1da18b77274f9b99b5ef9e398061327045aeade42c3652
MD5 fcc761490c416cb19ad583d5df85e809
BLAKE2b-256 a16dda8a7500a039c5e86ff1f937d92c9b710acffb227d5f78f0b5f5e6300a14

See more details on using hashes here.

File details

Details for the file taulu-2.0.7-cp313-cp313t-manylinux_2_17_s390x.manylinux2014_s390x.whl.

File metadata

File hashes

Hashes for taulu-2.0.7-cp313-cp313t-manylinux_2_17_s390x.manylinux2014_s390x.whl
Algorithm Hash digest
SHA256 1ab2397b3100a968bf2f9bf08c1cdbd8f7a6a9c5ac74c62768ab20ca2287a79a
MD5 e6574e64ee385caea43b3283f595718f
BLAKE2b-256 2d25cd0db091d8031d118e453277328748a9d7d73b7a8a48d3540d5eac38fb6c

See more details on using hashes here.

File details

Details for the file taulu-2.0.7-cp313-cp313t-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl.

File metadata

File hashes

Hashes for taulu-2.0.7-cp313-cp313t-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl
Algorithm Hash digest
SHA256 229cdbf67d05fa82dfb7aaf959bf4755d88d064bd480e0c8b96920d5d4b604ff
MD5 a735e5c917d8bd6fcb61b41f55878653
BLAKE2b-256 84e7e349885af57f53473d667348373cf3950781844bf9fa3f9d029c102d20d1

See more details on using hashes here.

File details

Details for the file taulu-2.0.7-cp313-cp313t-manylinux_2_17_armv7l.manylinux2014_armv7l.whl.

File metadata

File hashes

Hashes for taulu-2.0.7-cp313-cp313t-manylinux_2_17_armv7l.manylinux2014_armv7l.whl
Algorithm Hash digest
SHA256 76c190dc4b9e666b01fa1b059b1d861d639c75080e2a0df8cbc57f046a83fda8
MD5 adfc83bb7eea33c8dcc38eb88c86e787
BLAKE2b-256 2d51f3869627f12afdc67f9800115a0ba1cf8d992798dc9ef668ebfe3abb35df

See more details on using hashes here.

File details

Details for the file taulu-2.0.7-cp313-cp313t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for taulu-2.0.7-cp313-cp313t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 51d6464a776728707124fa04b494225792884513cef58f8270fc4061f97405b8
MD5 736acfb743eba774020dd65283913e25
BLAKE2b-256 070539cc0221812e5a67ae7e6a5a817c8566e445667ab2506448cb109f9152b0

See more details on using hashes here.

File details

Details for the file taulu-2.0.7-cp313-cp313t-manylinux_2_12_i686.manylinux2010_i686.whl.

File metadata

File hashes

Hashes for taulu-2.0.7-cp313-cp313t-manylinux_2_12_i686.manylinux2010_i686.whl
Algorithm Hash digest
SHA256 2768f90d71559e9eecc95d14af0642b44587e03e45eb6fc4b705e3dc6d4547dd
MD5 9ac31ace234067a38f9782fa36299745
BLAKE2b-256 b132263ce4314e219a7385b71ea7d7d4db6d67eb156a0304883882310cf35aaf

See more details on using hashes here.

File details

Details for the file taulu-2.0.7-cp313-cp313t-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for taulu-2.0.7-cp313-cp313t-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 6a9a17c0aee2efcc7b70bc2ef7ac8fab2f342b7a5cd4bcb8a1bbd9531e251db0
MD5 b80cadce1884fcb8992388516e0cc272
BLAKE2b-256 22e5bd838567f94a22b089eb99d4fafedaa59e0a34944f257c77d568ee1dc337

See more details on using hashes here.

File details

Details for the file taulu-2.0.7-cp39-abi3-win_amd64.whl.

File metadata

  • Download URL: taulu-2.0.7-cp39-abi3-win_amd64.whl
  • Upload date:
  • Size: 272.1 kB
  • Tags: CPython 3.9+, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: maturin/1.11.5

File hashes

Hashes for taulu-2.0.7-cp39-abi3-win_amd64.whl
Algorithm Hash digest
SHA256 bb2ee6018a5e99593e58c134a40f62e40219e960fa500452f8a799125f6fc4b5
MD5 bd59523402abad85e359f3acf357048f
BLAKE2b-256 db6e89038aa1c15032ad5e57d89050feb3e9767194e9227aecfd291a25189269

See more details on using hashes here.

File details

Details for the file taulu-2.0.7-cp39-abi3-win32.whl.

File metadata

  • Download URL: taulu-2.0.7-cp39-abi3-win32.whl
  • Upload date:
  • Size: 261.8 kB
  • Tags: CPython 3.9+, Windows x86
  • Uploaded using Trusted Publishing? No
  • Uploaded via: maturin/1.11.5

File hashes

Hashes for taulu-2.0.7-cp39-abi3-win32.whl
Algorithm Hash digest
SHA256 a6d1a11b6438f91f4230fcbfb973722a016acb830a9499aa09e241aafb49c25c
MD5 13be55a6044fe7b2393e4da4d99e0f60
BLAKE2b-256 260347c44db4ab00fe4139c710382d2128e0106881c4f7245a1e6b17af37a524

See more details on using hashes here.

File details

Details for the file taulu-2.0.7-cp39-abi3-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for taulu-2.0.7-cp39-abi3-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 b4d7be6be396e2b34762272f2634b41387c49ac669b399235d468a1a03926047
MD5 7cce3b70ff90cd472dd0fe94d20b254d
BLAKE2b-256 ad2bb66156d124a16d15d47c5c424ef98ce438cc45d0b3a7c2015d2c6345064b

See more details on using hashes here.

File details

Details for the file taulu-2.0.7-cp39-abi3-musllinux_1_2_i686.whl.

File metadata

File hashes

Hashes for taulu-2.0.7-cp39-abi3-musllinux_1_2_i686.whl
Algorithm Hash digest
SHA256 9bda7d5ae518732779eb26357f14c9b181d1bf5a923256ba7a2a1b4a803d475f
MD5 79a9452250a14747087189705037c4e5
BLAKE2b-256 bb60c9bb40a8390915753c14fd699b46f993067ee6ce8fbea6790ead4d330ecf

See more details on using hashes here.

File details

Details for the file taulu-2.0.7-cp39-abi3-musllinux_1_2_armv7l.whl.

File metadata

File hashes

Hashes for taulu-2.0.7-cp39-abi3-musllinux_1_2_armv7l.whl
Algorithm Hash digest
SHA256 0e424a83252c33691caf3a8e0aaa8393323694f5fbe521e283abc9f4ca905a8f
MD5 0a82b32b3daa00591abd0921671794d8
BLAKE2b-256 f3d6421fafc7c734b3cd515bbd7da208bdfd6a14b1586f1ab90ac1804b042a17

See more details on using hashes here.

File details

Details for the file taulu-2.0.7-cp39-abi3-musllinux_1_2_aarch64.whl.

File metadata

File hashes

Hashes for taulu-2.0.7-cp39-abi3-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 49329afc2dce1186e9ead54466c5f1591582de5d5e34f414acba592bd8109f07
MD5 787a0e5b8ce41e10176b66e08128dfa4
BLAKE2b-256 3bee60426158e049083b251c24237e5f184575ca1dbc41322bca73311a148eff

See more details on using hashes here.

File details

Details for the file taulu-2.0.7-cp39-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for taulu-2.0.7-cp39-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 fae398cdc8ea5a7ef61ebed06c34d215aff2a86a2e8e78e594896264d2dd8a62
MD5 e6a348b00fcde1becd4c21e3561564f6
BLAKE2b-256 d48dbd56f8ea347783739f071fd75bb61539b0a327bbbea8cb9b73e0a92261af

See more details on using hashes here.

File details

Details for the file taulu-2.0.7-cp39-abi3-manylinux_2_17_s390x.manylinux2014_s390x.whl.

File metadata

File hashes

Hashes for taulu-2.0.7-cp39-abi3-manylinux_2_17_s390x.manylinux2014_s390x.whl
Algorithm Hash digest
SHA256 a888fab7ef4f190ccb65abd2b34e494d9997e0d5ccfb2f756d8e796d85f343f7
MD5 8a2f9a4d953ad63e851378bea131722c
BLAKE2b-256 ac36233029abbce2f34370d1abdf175f9d44ba1659c6972036cf5dac6ade9c12

See more details on using hashes here.

File details

Details for the file taulu-2.0.7-cp39-abi3-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl.

File metadata

File hashes

Hashes for taulu-2.0.7-cp39-abi3-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl
Algorithm Hash digest
SHA256 feb4af00d70dc24c539e72528f8d77aaada18d736314ddc3dd93da77359b1d52
MD5 8d912287e8d336ba1a34fb35f6ae2b71
BLAKE2b-256 46c785d7408f7702deac95946a24a38f96793b0e8f786ca694bf879d92d91093

See more details on using hashes here.

File details

Details for the file taulu-2.0.7-cp39-abi3-manylinux_2_17_armv7l.manylinux2014_armv7l.whl.

File metadata

File hashes

Hashes for taulu-2.0.7-cp39-abi3-manylinux_2_17_armv7l.manylinux2014_armv7l.whl
Algorithm Hash digest
SHA256 49f8bd6dd27a1fc186d9908a0fe07336ce984dc377ff27357f6786ec798705b7
MD5 184d335cdd35ac8c1a15babcd824fc36
BLAKE2b-256 fde2843991fd9dca520935b0da9bd832c45306b667fa5570e0667d28401934c5

See more details on using hashes here.

File details

Details for the file taulu-2.0.7-cp39-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for taulu-2.0.7-cp39-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 45869d3ab11a13f1aceda3505a8f435c17f6e7eb8a8424b897bee9a1195e3b94
MD5 57a1b9e2aae6f0c2db759683c3554cfa
BLAKE2b-256 76b4e2fdd7d4ee940379e91b7270e44b49a39c19de78c97877397eef0a0003d4

See more details on using hashes here.

File details

Details for the file taulu-2.0.7-cp39-abi3-manylinux_2_12_i686.manylinux2010_i686.whl.

File metadata

File hashes

Hashes for taulu-2.0.7-cp39-abi3-manylinux_2_12_i686.manylinux2010_i686.whl
Algorithm Hash digest
SHA256 97a7cad995592eff51a575db1d3fd42e9f7bad253af2c400481685044ec07082
MD5 f568369582b87b841eb1c171294fab6c
BLAKE2b-256 6d2ef902487a12ee0e1b3eb01bb9dbd368863d466a1f5ebe6b2962c6707ef50e

See more details on using hashes here.

File details

Details for the file taulu-2.0.7-cp39-abi3-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for taulu-2.0.7-cp39-abi3-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 6651b0ccba276227dcd78bc2a899931b22e9ee71d42eb22389181f3319524484
MD5 c8ad1c3d535552c587b21c4d52c2b8c4
BLAKE2b-256 504e46bd909dc24213117c503589c6b4c2c122face69f16f628fe039d4d5aa44

See more details on using hashes here.

Supported by

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