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

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-1.1.0.tar.gz (13.0 MB view details)

Uploaded Source

Built Distributions

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

taulu-1.1.0-cp313-cp313t-win_amd64.whl (248.9 kB view details)

Uploaded CPython 3.13tWindows x86-64

taulu-1.1.0-cp313-cp313t-win32.whl (240.3 kB view details)

Uploaded CPython 3.13tWindows x86

taulu-1.1.0-cp313-cp313t-musllinux_1_2_x86_64.whl (559.7 kB view details)

Uploaded CPython 3.13tmusllinux: musl 1.2+ x86-64

taulu-1.1.0-cp313-cp313t-musllinux_1_2_i686.whl (582.5 kB view details)

Uploaded CPython 3.13tmusllinux: musl 1.2+ i686

taulu-1.1.0-cp313-cp313t-musllinux_1_2_armv7l.whl (647.0 kB view details)

Uploaded CPython 3.13tmusllinux: musl 1.2+ ARMv7l

taulu-1.1.0-cp313-cp313t-musllinux_1_2_aarch64.whl (548.5 kB view details)

Uploaded CPython 3.13tmusllinux: musl 1.2+ ARM64

taulu-1.1.0-cp313-cp313t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (386.7 kB view details)

Uploaded CPython 3.13tmanylinux: glibc 2.17+ x86-64

taulu-1.1.0-cp313-cp313t-manylinux_2_17_s390x.manylinux2014_s390x.whl (435.3 kB view details)

Uploaded CPython 3.13tmanylinux: glibc 2.17+ s390x

taulu-1.1.0-cp313-cp313t-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl (426.1 kB view details)

Uploaded CPython 3.13tmanylinux: glibc 2.17+ ppc64le

taulu-1.1.0-cp313-cp313t-manylinux_2_17_armv7l.manylinux2014_armv7l.whl (383.2 kB view details)

Uploaded CPython 3.13tmanylinux: glibc 2.17+ ARMv7l

taulu-1.1.0-cp313-cp313t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (367.5 kB view details)

Uploaded CPython 3.13tmanylinux: glibc 2.17+ ARM64

taulu-1.1.0-cp313-cp313t-manylinux_2_12_i686.manylinux2010_i686.whl (404.4 kB view details)

Uploaded CPython 3.13tmanylinux: glibc 2.12+ i686

taulu-1.1.0-cp313-cp313t-macosx_11_0_arm64.whl (328.4 kB view details)

Uploaded CPython 3.13tmacOS 11.0+ ARM64

taulu-1.1.0-cp313-cp313t-macosx_10_12_x86_64.whl (357.8 kB view details)

Uploaded CPython 3.13tmacOS 10.12+ x86-64

taulu-1.1.0-cp39-abi3-win_amd64.whl (254.7 kB view details)

Uploaded CPython 3.9+Windows x86-64

taulu-1.1.0-cp39-abi3-win32.whl (244.6 kB view details)

Uploaded CPython 3.9+Windows x86

taulu-1.1.0-cp39-abi3-musllinux_1_2_x86_64.whl (566.4 kB view details)

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

taulu-1.1.0-cp39-abi3-musllinux_1_2_i686.whl (588.6 kB view details)

Uploaded CPython 3.9+musllinux: musl 1.2+ i686

taulu-1.1.0-cp39-abi3-musllinux_1_2_armv7l.whl (653.9 kB view details)

Uploaded CPython 3.9+musllinux: musl 1.2+ ARMv7l

taulu-1.1.0-cp39-abi3-musllinux_1_2_aarch64.whl (554.7 kB view details)

Uploaded CPython 3.9+musllinux: musl 1.2+ ARM64

taulu-1.1.0-cp39-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (393.4 kB view details)

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

taulu-1.1.0-cp39-abi3-manylinux_2_17_s390x.manylinux2014_s390x.whl (443.9 kB view details)

Uploaded CPython 3.9+manylinux: glibc 2.17+ s390x

taulu-1.1.0-cp39-abi3-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl (433.9 kB view details)

Uploaded CPython 3.9+manylinux: glibc 2.17+ ppc64le

taulu-1.1.0-cp39-abi3-manylinux_2_17_armv7l.manylinux2014_armv7l.whl (389.9 kB view details)

Uploaded CPython 3.9+manylinux: glibc 2.17+ ARMv7l

taulu-1.1.0-cp39-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (373.5 kB view details)

Uploaded CPython 3.9+manylinux: glibc 2.17+ ARM64

taulu-1.1.0-cp39-abi3-manylinux_2_12_i686.manylinux2010_i686.whl (410.8 kB view details)

Uploaded CPython 3.9+manylinux: glibc 2.12+ i686

taulu-1.1.0-cp39-abi3-macosx_11_0_arm64.whl (335.1 kB view details)

Uploaded CPython 3.9+macOS 11.0+ ARM64

taulu-1.1.0-cp39-abi3-macosx_10_12_x86_64.whl (364.5 kB view details)

Uploaded CPython 3.9+macOS 10.12+ x86-64

File details

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

File metadata

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

File hashes

Hashes for taulu-1.1.0.tar.gz
Algorithm Hash digest
SHA256 55cf94193529781eafb65eb6d838bc1acb11631748f7a670041e24d8008c9b4a
MD5 76dd63f9bb76f960f0c635d48c5eca37
BLAKE2b-256 fa29185e74e1dd97e93c10a3c0801d394df4425be69ebf0bc240f0d5a30194ec

See more details on using hashes here.

File details

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

File metadata

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

File hashes

Hashes for taulu-1.1.0-cp313-cp313t-win_amd64.whl
Algorithm Hash digest
SHA256 05417d594f6dade12ad3b7401101c1c6bb96d3c0219fa708f926699019092b2c
MD5 b6667636f6b2630ec8422c90b6234fa4
BLAKE2b-256 ba9e42c34357f0dcce64b9f6c66cb4f653e00070da8e65fd5d407f0d2cee41b2

See more details on using hashes here.

File details

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

File metadata

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

File hashes

Hashes for taulu-1.1.0-cp313-cp313t-win32.whl
Algorithm Hash digest
SHA256 18ff4a20441648c92437d3c6dc1a40d2ede54a5caaa95d5941f52022fcfce096
MD5 a8dfdd7144ad993654d7c37dc649bad1
BLAKE2b-256 8e21995742b6fcc88a7de47a0e65d777c8b297f719a02bfaf5e63d6b33237407

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for taulu-1.1.0-cp313-cp313t-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 ef3dad84baf7e5855cdc3d9f458639049c3896e18390e3aa1f6d59859c2b4035
MD5 2a330d4340fa4168818215a20512cf49
BLAKE2b-256 d2dbc41f5f5653bb826b7ab76fd73e7919a85b048af79dd3d28ae59d56f78f90

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for taulu-1.1.0-cp313-cp313t-musllinux_1_2_i686.whl
Algorithm Hash digest
SHA256 63b9c6c3d22d89037bef135f6a553e864b080c0ecc0a6a0b7cc0b72741be9190
MD5 b59e08919bfe8bc1b6545e86eff27a2d
BLAKE2b-256 cdbc6e4b5c0c4c5aaade27491c1e7161b3795e884a40d3b4bdf49bcd4fcf521c

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for taulu-1.1.0-cp313-cp313t-musllinux_1_2_armv7l.whl
Algorithm Hash digest
SHA256 86a9c28ceac999e311da6e2a1a3a79ddbd76ba64c351c92abb2c3cc417e259ef
MD5 27ed4f25f82efccb54b96cd231c9744e
BLAKE2b-256 bef7a251d19e26901727691af70e832479c715c3954e2e343c90f791fea2de71

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for taulu-1.1.0-cp313-cp313t-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 0f82d2c1691f9d429e65596faba0d63ef466c8586e0a7bff68e551b07bbaa420
MD5 f509d6ec3dfa3883ed7f170793d558af
BLAKE2b-256 23d8f94c529bf7adce7bc73c220ec7e8879089ca5bf9cd7cf12cb492c256b366

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for taulu-1.1.0-cp313-cp313t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 3912721839a3840392c0b9a722be173c5cf218951bfa05669d1d53e8e16a963a
MD5 8be8023b16e48a69529872b5619303ac
BLAKE2b-256 f9bac32e5ea115f07c242f9935f3b28dbb0d433ad6a0e9c631413e611b29b5ba

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for taulu-1.1.0-cp313-cp313t-manylinux_2_17_s390x.manylinux2014_s390x.whl
Algorithm Hash digest
SHA256 3588ef50d6c646a406daffd1fc07f08a5b5c80017c8cc6b6ede7b394b98aab40
MD5 8fd5167961bce226904e3bb6c9e5c4d5
BLAKE2b-256 42beeff2cb832656f1ff830f850d2a654b23c30f03beb33f5058949cdd302932

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for taulu-1.1.0-cp313-cp313t-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl
Algorithm Hash digest
SHA256 452fd449409937f35524d7f348b3b358cb33f502f462f528278e6240db1b0abf
MD5 6869bbaf78bdb368bc35662300eced4d
BLAKE2b-256 4b50177d87a020e1b409ed86becc3f87135a9cb2fb5b1d35d936b8146796da84

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for taulu-1.1.0-cp313-cp313t-manylinux_2_17_armv7l.manylinux2014_armv7l.whl
Algorithm Hash digest
SHA256 acfb8bb3ab08eff6c0d398acee5cb99f0f035eba6c6d2652159a72f86bd2030a
MD5 a533ac0af942269d1070edbfdb947a32
BLAKE2b-256 e5892f9821bcb5d31c5933cfc6132f1c4e1a423b86070dcdf586feb0c3aaf567

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for taulu-1.1.0-cp313-cp313t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 6f6d33d06a370b4a75e2250ea96d3b8765595c887a7f8d6b767f70b2f282c813
MD5 a4c0e23a6e900cbe095f7bac13caf3f3
BLAKE2b-256 77410bbb6a0d62f5bd631ef712d6f0401bb96fb0843820b72c658d8271b40359

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for taulu-1.1.0-cp313-cp313t-manylinux_2_12_i686.manylinux2010_i686.whl
Algorithm Hash digest
SHA256 b3a24053456abff855dac62228405c8e1ae4667c7e8f107240607049c35b2b0a
MD5 28b03a1b75a6d1327a2a47157944964a
BLAKE2b-256 37ef12c81dcc4ecd748750c441ee39b47ad06c7bb7f7e09d04d8e6ed925c171a

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for taulu-1.1.0-cp313-cp313t-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 c2f8cfa2269d39da11127df0d0839c3e5ee2560597d9101808373f8185a279e6
MD5 75f77f2bd80b7df5b69dd39684c2ca55
BLAKE2b-256 3ba63a9c9956c7ebfeb5870986cfc906ea47077a0b31169497d36eb6dae5a5e0

See more details on using hashes here.

File details

Details for the file taulu-1.1.0-cp313-cp313t-macosx_10_12_x86_64.whl.

File metadata

File hashes

Hashes for taulu-1.1.0-cp313-cp313t-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 80ee90ccd4655a486ffa38a5224bc3befdf6c33e311bd7ce8d4d45ac8802b3d1
MD5 b0cd7928a530153d2b58163bb8a56e56
BLAKE2b-256 79558a6d2565f465b612df1659e12b89ecc62216c9f6409b179740ba645cc056

See more details on using hashes here.

File details

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

File metadata

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

File hashes

Hashes for taulu-1.1.0-cp39-abi3-win_amd64.whl
Algorithm Hash digest
SHA256 98d170f232483c4a2df4fc42816c6b18406fddac9a41ef85de30b9d8df93c6b9
MD5 b2433ce0a0283e7f7b90f6cc6f984322
BLAKE2b-256 020ee78b51bfe678448c3e815106cde9721849083ff95e637e78aae6b59b9f04

See more details on using hashes here.

File details

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

File metadata

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

File hashes

Hashes for taulu-1.1.0-cp39-abi3-win32.whl
Algorithm Hash digest
SHA256 d1f49e99386d79fdd977046d8318049a00bfdb4228f5cbc505c2a5aa1c41050d
MD5 f29528e7b5ec5a411150d86aacf3a405
BLAKE2b-256 4a28b212658a37734de679a66a8be00df2f61b818abf24d82cbf02f9c648ac6c

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for taulu-1.1.0-cp39-abi3-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 671f1b68c3ce1dcab7a73d49ee10c29c044fa8ed0d614e63dd1286251791d7cc
MD5 735c7a44b63bafdabd508d3255006a7d
BLAKE2b-256 6c9c91bcf3932b509798b9ee9f058b0c6b796e75abda3c01bcba388e72ef5952

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for taulu-1.1.0-cp39-abi3-musllinux_1_2_i686.whl
Algorithm Hash digest
SHA256 c1619fed73f165310ae91a4d4c233bc5f9daca71ec7d48a5ea99920aaa885a30
MD5 764c55b3c3536bc94615bb1ca58444e5
BLAKE2b-256 0dfec85c9d71603ab181d7d350af880cefe1caa21e7bd29beb2029eb261b0b75

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for taulu-1.1.0-cp39-abi3-musllinux_1_2_armv7l.whl
Algorithm Hash digest
SHA256 7e48edc1cb9490c688721def9c32e6430e257259dad23a79c94406acf1ab1228
MD5 879a259d56ba476ce22592e990789e8a
BLAKE2b-256 06eb654c30a35f0c67e98d4f77f10f5cff62d43c7c925bbe17907aaba398a3b8

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for taulu-1.1.0-cp39-abi3-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 7b4496cfb752753132b07687c326146c8bc8b8f0b042749da477762152e3c6c9
MD5 8090a35e51342caea981fd87818f9b37
BLAKE2b-256 1039deb8f1651a240b367d7b7e6958d0e1aed97699b3fe723827349617089872

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for taulu-1.1.0-cp39-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 5177a854ed43458127ba424dece09d0a4719fb98bdd9a093fcb4734e30fcbf01
MD5 0486b953d1f9514c0ac31ee81ba16b02
BLAKE2b-256 6e6ec3733fb372007d6d7b150cb19323ff27f7a20cd9a03eb235a8ff166db1ba

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for taulu-1.1.0-cp39-abi3-manylinux_2_17_s390x.manylinux2014_s390x.whl
Algorithm Hash digest
SHA256 da889503b37bc9d9c9fbb5e6b8da6848e9124f185e469cebc8ba8f66e3b7cec3
MD5 52a673573a0790989c27ffcfbb60f682
BLAKE2b-256 648df75485a1f2b7bf2d480f01feefc6a3d48c22108a1144a3fa4ef25bb71dd9

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for taulu-1.1.0-cp39-abi3-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl
Algorithm Hash digest
SHA256 99d482932c72fb6fc146aabd0e64f6448377ca7072f1b75454776f9da897809e
MD5 7472ce03a9ea584e676dc24291cd2824
BLAKE2b-256 9a6f088ab8f8c5e2788e9fb6a33b0c16fb551aab2dbeae005f0c1980b76be473

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for taulu-1.1.0-cp39-abi3-manylinux_2_17_armv7l.manylinux2014_armv7l.whl
Algorithm Hash digest
SHA256 777f50789b1f5cdb4cb6497bef48527cd6cb3f0fa9bfde2368d07d8e68c48336
MD5 190a1f1996a694b88ef1af32c4fecb5a
BLAKE2b-256 af39789563de3947429c3ffd409b611754237c0d7f7718bad6564a6db625a23c

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for taulu-1.1.0-cp39-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 732b487f0bd0193e85955cee04dc26ef38cdfbd91142fb22a03d061b00c93fa8
MD5 00cc75a26303be89f97b20a5e7a85c79
BLAKE2b-256 94e69906ae364382691c01d4e264a4d99c9c56009109c03ddeb794890c58f8e6

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for taulu-1.1.0-cp39-abi3-manylinux_2_12_i686.manylinux2010_i686.whl
Algorithm Hash digest
SHA256 116a8ca2505e412d52d9c5ed85baaa691d5c43460e9de2c7bbee26f94a8027d3
MD5 2454c509ff3092e909ee711b0697cdaa
BLAKE2b-256 e256a4a310454f7395d89fc1f21a18259c67af1c54faf42b7381fe44e257d561

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for taulu-1.1.0-cp39-abi3-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 51ffa008c25c71a67dfafa925880773fe3d8faf14bb701b7edcda042fa0890a2
MD5 4a6c8d8f063aa2c832efffa721c2d831
BLAKE2b-256 6091cf16800d5c5747cb088bdc89b4c7109ce468097eebe48a506817b5efcbf6

See more details on using hashes here.

File details

Details for the file taulu-1.1.0-cp39-abi3-macosx_10_12_x86_64.whl.

File metadata

File hashes

Hashes for taulu-1.1.0-cp39-abi3-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 609d949571000daab152fa45a4423ffe7d236990976362deea357b99f4e7bbf2
MD5 c4504862ce8f7ee4a326298418174e69
BLAKE2b-256 162f098318ff75463d4a22c4d584252be0afe5ffafe9899394c0321ac9191ba4

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