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.2.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.2.0-cp313-cp313t-win_amd64.whl (256.2 kB view details)

Uploaded CPython 3.13tWindows x86-64

taulu-1.2.0-cp313-cp313t-win32.whl (247.4 kB view details)

Uploaded CPython 3.13tWindows x86

taulu-1.2.0-cp313-cp313t-musllinux_1_2_x86_64.whl (567.4 kB view details)

Uploaded CPython 3.13tmusllinux: musl 1.2+ x86-64

taulu-1.2.0-cp313-cp313t-musllinux_1_2_i686.whl (590.3 kB view details)

Uploaded CPython 3.13tmusllinux: musl 1.2+ i686

taulu-1.2.0-cp313-cp313t-musllinux_1_2_armv7l.whl (654.5 kB view details)

Uploaded CPython 3.13tmusllinux: musl 1.2+ ARMv7l

taulu-1.2.0-cp313-cp313t-musllinux_1_2_aarch64.whl (556.3 kB view details)

Uploaded CPython 3.13tmusllinux: musl 1.2+ ARM64

taulu-1.2.0-cp313-cp313t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (394.4 kB view details)

Uploaded CPython 3.13tmanylinux: glibc 2.17+ x86-64

taulu-1.2.0-cp313-cp313t-manylinux_2_17_s390x.manylinux2014_s390x.whl (442.9 kB view details)

Uploaded CPython 3.13tmanylinux: glibc 2.17+ s390x

taulu-1.2.0-cp313-cp313t-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl (433.8 kB view details)

Uploaded CPython 3.13tmanylinux: glibc 2.17+ ppc64le

taulu-1.2.0-cp313-cp313t-manylinux_2_17_armv7l.manylinux2014_armv7l.whl (390.8 kB view details)

Uploaded CPython 3.13tmanylinux: glibc 2.17+ ARMv7l

taulu-1.2.0-cp313-cp313t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (375.2 kB view details)

Uploaded CPython 3.13tmanylinux: glibc 2.17+ ARM64

taulu-1.2.0-cp313-cp313t-manylinux_2_12_i686.manylinux2010_i686.whl (411.9 kB view details)

Uploaded CPython 3.13tmanylinux: glibc 2.12+ i686

taulu-1.2.0-cp313-cp313t-macosx_11_0_arm64.whl (337.1 kB view details)

Uploaded CPython 3.13tmacOS 11.0+ ARM64

taulu-1.2.0-cp313-cp313t-macosx_10_12_x86_64.whl (365.4 kB view details)

Uploaded CPython 3.13tmacOS 10.12+ x86-64

taulu-1.2.0-cp39-abi3-win_amd64.whl (261.9 kB view details)

Uploaded CPython 3.9+Windows x86-64

taulu-1.2.0-cp39-abi3-win32.whl (252.4 kB view details)

Uploaded CPython 3.9+Windows x86

taulu-1.2.0-cp39-abi3-musllinux_1_2_x86_64.whl (574.0 kB view details)

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

taulu-1.2.0-cp39-abi3-musllinux_1_2_i686.whl (596.1 kB view details)

Uploaded CPython 3.9+musllinux: musl 1.2+ i686

taulu-1.2.0-cp39-abi3-musllinux_1_2_armv7l.whl (661.4 kB view details)

Uploaded CPython 3.9+musllinux: musl 1.2+ ARMv7l

taulu-1.2.0-cp39-abi3-musllinux_1_2_aarch64.whl (562.3 kB view details)

Uploaded CPython 3.9+musllinux: musl 1.2+ ARM64

taulu-1.2.0-cp39-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (401.1 kB view details)

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

taulu-1.2.0-cp39-abi3-manylinux_2_17_s390x.manylinux2014_s390x.whl (451.5 kB view details)

Uploaded CPython 3.9+manylinux: glibc 2.17+ s390x

taulu-1.2.0-cp39-abi3-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl (441.7 kB view details)

Uploaded CPython 3.9+manylinux: glibc 2.17+ ppc64le

taulu-1.2.0-cp39-abi3-manylinux_2_17_armv7l.manylinux2014_armv7l.whl (397.4 kB view details)

Uploaded CPython 3.9+manylinux: glibc 2.17+ ARMv7l

taulu-1.2.0-cp39-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (381.2 kB view details)

Uploaded CPython 3.9+manylinux: glibc 2.17+ ARM64

taulu-1.2.0-cp39-abi3-manylinux_2_12_i686.manylinux2010_i686.whl (418.2 kB view details)

Uploaded CPython 3.9+manylinux: glibc 2.12+ i686

taulu-1.2.0-cp39-abi3-macosx_11_0_arm64.whl (341.6 kB view details)

Uploaded CPython 3.9+macOS 11.0+ ARM64

taulu-1.2.0-cp39-abi3-macosx_10_12_x86_64.whl (372.4 kB view details)

Uploaded CPython 3.9+macOS 10.12+ x86-64

File details

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

File metadata

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

File hashes

Hashes for taulu-1.2.0.tar.gz
Algorithm Hash digest
SHA256 8f7d384bb33a679c6b4947e1967e80ebb09cf123258247d483818c3b6f21a045
MD5 3027fb2b4b07fec4d0a258fda525c769
BLAKE2b-256 406c9b887fd1a021fc724e45c01fa4b63254fdff021fec5648d55fd14c0da766

See more details on using hashes here.

File details

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

File metadata

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

File hashes

Hashes for taulu-1.2.0-cp313-cp313t-win_amd64.whl
Algorithm Hash digest
SHA256 94dded4c83dc5eb739c662c0f494ff4f541610a5ad3d7de0330162203f513da2
MD5 e8d70b1e62003ba656599e9b8ea74734
BLAKE2b-256 5a70cf6829bee3aeeb061602affebceb5ba00a08becad44dfb619968f02b47d2

See more details on using hashes here.

File details

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

File metadata

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

File hashes

Hashes for taulu-1.2.0-cp313-cp313t-win32.whl
Algorithm Hash digest
SHA256 137e3dcc076eae9a3e0b6553153f7318d84112e1b06c7d435b150ed8149a6572
MD5 3fabb41b8f8675e4b30df7912eaa18b1
BLAKE2b-256 76a9f0c22cab48c92e3e227dea70c4ad196f2fc7d3d1d79576505245baf4d99f

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for taulu-1.2.0-cp313-cp313t-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 78f6c310dbe8a6215fffc9804ac25dfef268cb8cfe4420e67c9dbbf150612974
MD5 7c9e98c0cd6c2f9df454557d849625fa
BLAKE2b-256 740ff6cc42ec8f8ee1b92e1432d14d2a332324be2b9541d6f90450e2a895c73d

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for taulu-1.2.0-cp313-cp313t-musllinux_1_2_i686.whl
Algorithm Hash digest
SHA256 27139054d91ef81b232b082093643de65b44ca6461151a3fb002955bfa1150b1
MD5 a53d947eb65b397e3b3cc8908420d0d2
BLAKE2b-256 7a5b57c76213cf4a0b58b98006024c0027e4b9ebac4466358292acd5fabea9c5

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for taulu-1.2.0-cp313-cp313t-musllinux_1_2_armv7l.whl
Algorithm Hash digest
SHA256 bc93cc8f4ae3966016c0b9089799f2db2ee33af9406a943772efa84f4958b0b5
MD5 91f827b5e60d78652536ea36752c46e8
BLAKE2b-256 bbb59068d97315a9e221b105db74c6b532155734deb3842ca4269778ba17d5f4

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for taulu-1.2.0-cp313-cp313t-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 4e62ebece3613c1e9f74889893cbdc03d9a0cf49841fb4e2df5e67b9b98082b6
MD5 dc7b7fd6459dbc754bae9055425ee563
BLAKE2b-256 b7dc169105dc124f8ec6bef018f29cc8a90017f30050c4a8f0e07e0698fd205e

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for taulu-1.2.0-cp313-cp313t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 f2f297c9507ba7a228e9bd1796bcb65df22c866098547311b46a06df94007c73
MD5 3a926f808fa958652ab6fa2ea852dbfc
BLAKE2b-256 acdb5a82c38e080062d6d816763aa4aada81b54fcfecfc0419777bd26ecc33d3

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for taulu-1.2.0-cp313-cp313t-manylinux_2_17_s390x.manylinux2014_s390x.whl
Algorithm Hash digest
SHA256 b4f930e645ac5d79a579ebd3f01ff0c88fd30516731cbbf5419a13a80412a4f4
MD5 023034c25568b8f54ef48f7db02a424c
BLAKE2b-256 fce3349bc83377a455f17a6c0310e45217ff9f6ed4999ee7e3a49eafbd409529

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for taulu-1.2.0-cp313-cp313t-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl
Algorithm Hash digest
SHA256 1d0526f71a13945a5dcf619805bcfe88ee489d88103a9db26749d2c7a0db41e4
MD5 fb48f4f0d3e690360a923cda0e660a65
BLAKE2b-256 145ea7137a3e6cc91c5e4edc2d253404f96ebf440ae16ae2f67ccc4676cd9668

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for taulu-1.2.0-cp313-cp313t-manylinux_2_17_armv7l.manylinux2014_armv7l.whl
Algorithm Hash digest
SHA256 2d7bbb7982a5fcf6d91e40e3ca1fa46821606ec0aa865dde563332ce52496fa1
MD5 c5554f3a713cb71a0b8e1b1b4e0750c6
BLAKE2b-256 9f465107fe569fda317168dd54e8997e29ad774894f5f7ab9c213868fa6b8b6f

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for taulu-1.2.0-cp313-cp313t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 0bf55e2d434cc14732a10f096859454632bf1e1b2cb8babb96ec285d7f018a75
MD5 bcc359b95d3077399db20509893c88b3
BLAKE2b-256 565aaaac5ba65842b3d961ec24d3013c933243a2b3321c295dde410be5b76049

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for taulu-1.2.0-cp313-cp313t-manylinux_2_12_i686.manylinux2010_i686.whl
Algorithm Hash digest
SHA256 1b72e575089f33778a680e77c258b71b746a7bb47a2f542095f2ef7b5367c628
MD5 56dd4cd3ce8b5520112096e4793079f0
BLAKE2b-256 bbb4a6ba253b2d1af2c29b0f91838bc08cfaa8616a8e0adb407407937de2e4a5

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for taulu-1.2.0-cp313-cp313t-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 6a5af310ca93dd15aaa76f46f989679af0621620e9de517cb2b3cdea1a9b25ac
MD5 717f40cddb38083663c07df5d35bb089
BLAKE2b-256 c8841fc71aa181ddae23dbf9f6d7f32401076df311a456fe34566c3d8c43cb52

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for taulu-1.2.0-cp313-cp313t-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 c098b8386284cc8d6cc53f8fd15af2c2768ccc90ad344dbb8685df57c00ce159
MD5 bcf8c6ddd9e9dc564d078dfe7297d47e
BLAKE2b-256 653baa3eb16182e38eb1d50e6f4825201f6c55dcc1ea9fa83ed22284fe451a7b

See more details on using hashes here.

File details

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

File metadata

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

File hashes

Hashes for taulu-1.2.0-cp39-abi3-win_amd64.whl
Algorithm Hash digest
SHA256 4615fd836e8d741a5de14cb769c59a11e0529ffcae3fddb72bd942c06fd02eff
MD5 6daedf5305e974e7cbdc08a19634ded5
BLAKE2b-256 3929948e5141d2c52faa68309a2d450657fe58a5bb834187fbcb13a914bb3f3f

See more details on using hashes here.

File details

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

File metadata

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

File hashes

Hashes for taulu-1.2.0-cp39-abi3-win32.whl
Algorithm Hash digest
SHA256 01ca77705409794228ac7813e5be049ccf72c1eb6e97255fd746f77645610742
MD5 f077bcc10d56f894e6613ec95d5d042d
BLAKE2b-256 21c8182a7250f359b88144ddc6eb521ecaa0d558cc194bda1e72ba1f7055c04b

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for taulu-1.2.0-cp39-abi3-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 53d1b4ffe9e9d66ce8ad093abe61de77265eefb4ebf0135f74e777a3c40961ab
MD5 cb0e26405d308e9701ebcb38c30b8039
BLAKE2b-256 8520c070df152dd33b455cb27f1c8322aa8fafe8496f13091a897717ac9cda66

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for taulu-1.2.0-cp39-abi3-musllinux_1_2_i686.whl
Algorithm Hash digest
SHA256 71f5e5b0d5f4aa84a1868ba8cc003ef24a49dcdb4fc92cf00e32e4c869691d71
MD5 e96a8fccefb8fa68416b021eee565fe6
BLAKE2b-256 c9bd5029ed1000b7e5c4b1e54de8f47542e61d71d2f6db64bf7dfcd7ff6de5f3

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for taulu-1.2.0-cp39-abi3-musllinux_1_2_armv7l.whl
Algorithm Hash digest
SHA256 9429062cc5979df100aa993caeaa22c5f90a61bdb73651dad49d9c6956bc4409
MD5 0e4e143c5aeaff94f96ef6f29d548b75
BLAKE2b-256 f3dff82903938b5943aeaace786dcf6a54d84c4da29258c6b96e3b9f4482f19c

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for taulu-1.2.0-cp39-abi3-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 7ccf9e23cc473b48b2ea7cca5b185b798fdff864e2537ce1e1875bd61ef67d21
MD5 1ca7422f54876c7907fbe2d4f4aa4d2e
BLAKE2b-256 d8a17a1ab808983dd185caddf51fde9471b94eb2939f54ca083e360cdb2603e2

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for taulu-1.2.0-cp39-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 86ad0e5a82f4c7d7fa200bf64b4e63fe1a0612fa03ee4d335e399231ed48d5d3
MD5 4e7bba69715b0573ddfa96c1769150f6
BLAKE2b-256 e12078ff4c7d7daf40593145ef240ba9902b1177c4034bef055340be19a775e3

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for taulu-1.2.0-cp39-abi3-manylinux_2_17_s390x.manylinux2014_s390x.whl
Algorithm Hash digest
SHA256 99bd02fcd06210095fb841c22d593d568a6f49b2f43a9db2576f3569b01b0fbd
MD5 2720906352ea92095927e7f5367ece3c
BLAKE2b-256 e95842548d6eb854056a0e0ff184d0e079493ec90b7dbda35675f2fe4b2cc561

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for taulu-1.2.0-cp39-abi3-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl
Algorithm Hash digest
SHA256 ac766a82c17e3ec096ff91cbe48e517ca7a860f856c7e38633c301292eb14642
MD5 2277bd40df8516210f6cc1eb3aaee5a5
BLAKE2b-256 fae54e446f84b360b455ea7393bb6df1422a43d3764f7fc24378a9e7e03e0af9

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for taulu-1.2.0-cp39-abi3-manylinux_2_17_armv7l.manylinux2014_armv7l.whl
Algorithm Hash digest
SHA256 a960a8600fc2ad377abfa386930a8687fba5f61d4e62d21f3514db7ee717f353
MD5 d4335296ee84ca3957a2ef17f77d0e99
BLAKE2b-256 a7f4358c5e070183d3085884c9424d2828843eb5f01a7b248b7378309f2705f6

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for taulu-1.2.0-cp39-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 6a9af3caa59a379d3d2f2d55fe452012e8b133fd1534542165480a2aacc94248
MD5 c7e009bd24e61ce7eeb3de29f7fd644e
BLAKE2b-256 a741cc13010f1450f3134da89eaeff65b720089f8e531a84895d947f3489a886

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for taulu-1.2.0-cp39-abi3-manylinux_2_12_i686.manylinux2010_i686.whl
Algorithm Hash digest
SHA256 f1390c7c28af129e5cb3802990a2c60ae4db5904d936b21e6702cca392893b39
MD5 6d76e9bbb3aab20ce3d66358ee560e71
BLAKE2b-256 6163837db71db95dd9983367f2f10dbb92d11bd20db1a075c99e31f73659aeac

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for taulu-1.2.0-cp39-abi3-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 12632f65852d6191ca8d8ff27762fd7d942d498e27ab6e2f5f7277d7bceafe01
MD5 49e04faa71e561adf32a37a6187c7182
BLAKE2b-256 33ade66644b0c2fda7260b8122e34e04ce8b8c4a31e6597b390f7c6683de8417

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for taulu-1.2.0-cp39-abi3-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 6b2eb5859937547b5c23a723090ee91a272d974e1c1a6c7a6b50843d36b7bac7
MD5 95e151d8711fdcc85c001318e10281e0
BLAKE2b-256 776b7c440ab125bca94d06e18ec29e9069cb499995e559585b582785e3e67932

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