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.0.1.tar.gz (12.9 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.0.1-cp313-cp313t-win_amd64.whl (238.3 kB view details)

Uploaded CPython 3.13tWindows x86-64

taulu-1.0.1-cp313-cp313t-win32.whl (231.8 kB view details)

Uploaded CPython 3.13tWindows x86

taulu-1.0.1-cp313-cp313t-musllinux_1_2_x86_64.whl (548.2 kB view details)

Uploaded CPython 3.13tmusllinux: musl 1.2+ x86-64

taulu-1.0.1-cp313-cp313t-musllinux_1_2_i686.whl (574.0 kB view details)

Uploaded CPython 3.13tmusllinux: musl 1.2+ i686

taulu-1.0.1-cp313-cp313t-musllinux_1_2_armv7l.whl (639.1 kB view details)

Uploaded CPython 3.13tmusllinux: musl 1.2+ ARMv7l

taulu-1.0.1-cp313-cp313t-musllinux_1_2_aarch64.whl (539.7 kB view details)

Uploaded CPython 3.13tmusllinux: musl 1.2+ ARM64

taulu-1.0.1-cp313-cp313t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (375.3 kB view details)

Uploaded CPython 3.13tmanylinux: glibc 2.17+ x86-64

taulu-1.0.1-cp313-cp313t-manylinux_2_17_s390x.manylinux2014_s390x.whl (423.9 kB view details)

Uploaded CPython 3.13tmanylinux: glibc 2.17+ s390x

taulu-1.0.1-cp313-cp313t-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl (411.6 kB view details)

Uploaded CPython 3.13tmanylinux: glibc 2.17+ ppc64le

taulu-1.0.1-cp313-cp313t-manylinux_2_17_armv7l.manylinux2014_armv7l.whl (375.4 kB view details)

Uploaded CPython 3.13tmanylinux: glibc 2.17+ ARMv7l

taulu-1.0.1-cp313-cp313t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (358.1 kB view details)

Uploaded CPython 3.13tmanylinux: glibc 2.17+ ARM64

taulu-1.0.1-cp313-cp313t-manylinux_2_12_i686.manylinux2010_i686.whl (395.9 kB view details)

Uploaded CPython 3.13tmanylinux: glibc 2.12+ i686

taulu-1.0.1-cp313-cp313t-macosx_11_0_arm64.whl (319.0 kB view details)

Uploaded CPython 3.13tmacOS 11.0+ ARM64

taulu-1.0.1-cp313-cp313t-macosx_10_12_x86_64.whl (348.9 kB view details)

Uploaded CPython 3.13tmacOS 10.12+ x86-64

taulu-1.0.1-cp39-abi3-win_amd64.whl (243.7 kB view details)

Uploaded CPython 3.9+Windows x86-64

taulu-1.0.1-cp39-abi3-win32.whl (236.5 kB view details)

Uploaded CPython 3.9+Windows x86

taulu-1.0.1-cp39-abi3-musllinux_1_2_x86_64.whl (554.7 kB view details)

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

taulu-1.0.1-cp39-abi3-musllinux_1_2_i686.whl (580.2 kB view details)

Uploaded CPython 3.9+musllinux: musl 1.2+ i686

taulu-1.0.1-cp39-abi3-musllinux_1_2_armv7l.whl (645.8 kB view details)

Uploaded CPython 3.9+musllinux: musl 1.2+ ARMv7l

taulu-1.0.1-cp39-abi3-musllinux_1_2_aarch64.whl (544.8 kB view details)

Uploaded CPython 3.9+musllinux: musl 1.2+ ARM64

taulu-1.0.1-cp39-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (381.8 kB view details)

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

taulu-1.0.1-cp39-abi3-manylinux_2_17_s390x.manylinux2014_s390x.whl (432.7 kB view details)

Uploaded CPython 3.9+manylinux: glibc 2.17+ s390x

taulu-1.0.1-cp39-abi3-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl (418.7 kB view details)

Uploaded CPython 3.9+manylinux: glibc 2.17+ ppc64le

taulu-1.0.1-cp39-abi3-manylinux_2_17_armv7l.manylinux2014_armv7l.whl (382.2 kB view details)

Uploaded CPython 3.9+manylinux: glibc 2.17+ ARMv7l

taulu-1.0.1-cp39-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (364.1 kB view details)

Uploaded CPython 3.9+manylinux: glibc 2.17+ ARM64

taulu-1.0.1-cp39-abi3-manylinux_2_12_i686.manylinux2010_i686.whl (402.3 kB view details)

Uploaded CPython 3.9+manylinux: glibc 2.12+ i686

taulu-1.0.1-cp39-abi3-macosx_11_0_arm64.whl (325.4 kB view details)

Uploaded CPython 3.9+macOS 11.0+ ARM64

taulu-1.0.1-cp39-abi3-macosx_10_12_x86_64.whl (354.9 kB view details)

Uploaded CPython 3.9+macOS 10.12+ x86-64

File details

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

File metadata

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

File hashes

Hashes for taulu-1.0.1.tar.gz
Algorithm Hash digest
SHA256 c9aebd60f7dd4c553524c3f6fc0f09c184394090a2328a03e5e5ae8afc60d4d5
MD5 2d4f9159ffbb3e15011afa571465acd7
BLAKE2b-256 f7d024ac7e5ee73770018a72f33794cb0fbd8839ba32c3b7fa9b1d014dcfa2cb

See more details on using hashes here.

File details

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

File metadata

  • Download URL: taulu-1.0.1-cp313-cp313t-win_amd64.whl
  • Upload date:
  • Size: 238.3 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.0.1-cp313-cp313t-win_amd64.whl
Algorithm Hash digest
SHA256 8f26ed9c73b0322a0da610a579a64057690019166e38f3715ab66f059d723026
MD5 d99785ee78ea96f0e7e6746a750d2616
BLAKE2b-256 a2b86208dbf5d12630a60bea9905a6e99dd8550d0460578ddff96e22702b88c6

See more details on using hashes here.

File details

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

File metadata

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

File hashes

Hashes for taulu-1.0.1-cp313-cp313t-win32.whl
Algorithm Hash digest
SHA256 c09682fbad4249d4f03c0cfb090d5f59d7e2312a0076f995c364ac504214a6d8
MD5 09e77b761fa60731b65b33474ec20883
BLAKE2b-256 90451ecbb6ea89ef7f334dc5d29bb79b73b9c79fe8e7c6d718bbfccaf833aedc

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for taulu-1.0.1-cp313-cp313t-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 0174597d39c9cb9c800492eaa414214e3db45b3e9fef442f1085a4278795962d
MD5 b64cdef348acdc6f0d00b2e221f42b5b
BLAKE2b-256 a34a70918142ddf91937d970266f0cbf35b3b3c4b9e645354784a35520487acf

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for taulu-1.0.1-cp313-cp313t-musllinux_1_2_i686.whl
Algorithm Hash digest
SHA256 8fc9cc932176695002fc9c028cce1aa112eebbefac5473777fd50a072cf3995b
MD5 27c78fe8c4d4cf0759d453c4289d8fdf
BLAKE2b-256 618f9bbaa456a44aecd29547bb4a4dab25efecc38e64dc90b1db212ead806c51

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for taulu-1.0.1-cp313-cp313t-musllinux_1_2_armv7l.whl
Algorithm Hash digest
SHA256 38a2562564fb7fd83744ccc2b822be5b94205e1c8872c78008f23884159357e7
MD5 3eb321127325935ab318abbee68f89cd
BLAKE2b-256 bf47adc9788a2c9205c1316d35cd6277706b1c322a88d3c7b047c8b178dc0008

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for taulu-1.0.1-cp313-cp313t-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 e8a96d97037b2a2ab4949aaed7d43e3b21cf2325b8b4207158cd7bf5c77bbfe0
MD5 f125f2ca48e2591f3407535259e30c53
BLAKE2b-256 74c706fd3f78fff042b5f6157ff7cb232690ef63ca902f0a637b579a8d68929a

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for taulu-1.0.1-cp313-cp313t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 eb8e2cb0f76b35eee49e9e6ec75bd3f814095dc066eb7689c4bcf7e46a4f8df3
MD5 ab61b25f2216f91636c6b6b8bff62f65
BLAKE2b-256 350a54ba00adc4394c0fee7e823e1c28a4b4080a237088ed60203720095a0407

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for taulu-1.0.1-cp313-cp313t-manylinux_2_17_s390x.manylinux2014_s390x.whl
Algorithm Hash digest
SHA256 cf59277eb2368c12b6296505810d07d7cc11eaaf63c7dbd9dd6977ac3ded89b2
MD5 3955ee0faa9b9f55546f48bdf6226ee9
BLAKE2b-256 f4017a7f25184bcefe7bfb0a0958621e2c5b93751c4fde5a73a8edb5fe5477c9

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for taulu-1.0.1-cp313-cp313t-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl
Algorithm Hash digest
SHA256 05c4dffeff593ed250167543d9bdace52a97033ee494d4dca8a12eabb94cbaff
MD5 46e30a628b4c4db9c2f607b276ab4425
BLAKE2b-256 8f123d83bbaf1e687212d7cfb147c85a08ec90f435bc7f43bf246a881df4e2c3

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for taulu-1.0.1-cp313-cp313t-manylinux_2_17_armv7l.manylinux2014_armv7l.whl
Algorithm Hash digest
SHA256 6ced46ba0d9f8f1ef30b215e47ed9de707c344c8d601648010c3bb592c6f1d94
MD5 e8216b3018c1ee83d02214a54203fca7
BLAKE2b-256 7372b8d885d9ce84ca199ed8dbed7ed9eaa69567931cdb86b4f8c573495f92ad

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for taulu-1.0.1-cp313-cp313t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 a98f8bd032cbe56e6c0433b606bf6e4a8ccd0ab4ea7168a67c085c3762f33739
MD5 e7ceabe267df0ecb076a7dc3baedbad6
BLAKE2b-256 cf4299c9ae47c6ce9844fba7c1c6d96fd4248a7b434b942236af2162d8b1d1a3

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for taulu-1.0.1-cp313-cp313t-manylinux_2_12_i686.manylinux2010_i686.whl
Algorithm Hash digest
SHA256 cdebb3b80b4b276f2eef0ce7fe71031b7fd91a718834e13383889678c21b9773
MD5 ed0f969ce46cf136d1e4a0a724bd56c2
BLAKE2b-256 ff773898d3dd5c87bcbc65ede2242b03e791f0faad087acc6ecc92026cd6d77d

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for taulu-1.0.1-cp313-cp313t-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 21e8fee27fbdbedd0de769989548feecc34fe5ee9761cf00199b6e7b95285f67
MD5 4db41bd0379914b45b8b3f237983d99f
BLAKE2b-256 09677c0c69e31f09f04abd6c8d0d8a073b2b75e91157ab14cf5d13daeae12863

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for taulu-1.0.1-cp313-cp313t-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 0841531ae2df6b14e5fe54c7b77bb2a4c6a5190191de1ddcbf637aa89bd6ab4c
MD5 6e55292b074ee15ead08f271089b7dd4
BLAKE2b-256 b4aae84862367de0995f94605662bc20519b0875e917477dd921d9b24505387e

See more details on using hashes here.

File details

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

File metadata

  • Download URL: taulu-1.0.1-cp39-abi3-win_amd64.whl
  • Upload date:
  • Size: 243.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.0.1-cp39-abi3-win_amd64.whl
Algorithm Hash digest
SHA256 96d1dd6fc7d345ea58354527c83dff4cd7792f96693f3411dc474f4cdbfe3ca1
MD5 81bb107ff0f5e3cca3bf892789c77c2c
BLAKE2b-256 5d710c427d61127ba4a0795ea2a8ff98be94cf3a5f0a4785c1f6b77a2330f141

See more details on using hashes here.

File details

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

File metadata

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

File hashes

Hashes for taulu-1.0.1-cp39-abi3-win32.whl
Algorithm Hash digest
SHA256 1f1a90e70ab3337d77297fb0bdf9d03fb099312c243e1b22e65011cba4da4d36
MD5 6125517b08228ea7f31c6684624d0fc1
BLAKE2b-256 6003e1acdce68c33cf58a52bbf87635dadbc4969ea6eef99e22da94eea942a11

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for taulu-1.0.1-cp39-abi3-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 608dda6fe14095458bb5d298a3d802ed6f99f7f13cded4921b75471cde562655
MD5 674a10ec8ea3965efeb7ded3bb685da3
BLAKE2b-256 3716bf07481eef3edda63a4f75e00c23574b60472b58b032a77404d836f92498

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for taulu-1.0.1-cp39-abi3-musllinux_1_2_i686.whl
Algorithm Hash digest
SHA256 16b873fb635658a97c11cc2545fe57cc01cfc92117fc24cbea33a2ad53399218
MD5 5d754882c87f0ce5ca5d47c096da4c78
BLAKE2b-256 233d12db24d978ab925901c15be1ce1b2974dd874f9086bb9630d53035b212a7

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for taulu-1.0.1-cp39-abi3-musllinux_1_2_armv7l.whl
Algorithm Hash digest
SHA256 6f432faf6811d4e01581e2e745c06452e2d128ab27523c56196c635a70b350cb
MD5 1c0ac2040333acf3472da2283effac83
BLAKE2b-256 f3d99c80986a4120d8d8fc50e7db08569caad434f53803bbebd6d32f657d1a30

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for taulu-1.0.1-cp39-abi3-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 a85ecd72f8c52fb5650f029b57e4b4dabc55e080fe54f2c86796c678e453053a
MD5 a2c0bc57e0d1f6d2d0f6c25d7d91b883
BLAKE2b-256 5805e857ec2b53a8b6e05376dcb240732ceb70153c5a70772f5d453291eca5de

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for taulu-1.0.1-cp39-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 9b3bcf6623985ec3b070794f42677b08a1a19db35d5ff5930ef6fd45905bd517
MD5 62d9a79d86e04ef0bac4dc8eec11a6a3
BLAKE2b-256 0fd04b45e0b1e5364f8dab2298ee5b262abd3de7c4fbbee20581ebbd198f4096

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for taulu-1.0.1-cp39-abi3-manylinux_2_17_s390x.manylinux2014_s390x.whl
Algorithm Hash digest
SHA256 f7642dd14c23e25dd567a80d95d3bff59e582cd0a6fe383a5e08e97aa87bb973
MD5 20d9f303e6e5b9730eb92eaae0e91042
BLAKE2b-256 60aa66e51b233b46bdfac4f75772a8f90c81353c201cce898d93bd9895c80e48

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for taulu-1.0.1-cp39-abi3-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl
Algorithm Hash digest
SHA256 54aa627636a564fc40c420fe611c76aac605d20f511a11ad2a94b63315e66722
MD5 1b702af67c254e72efe34413e8902148
BLAKE2b-256 c3d8c3e96762c80328b2e1fc90827fb272680edb4a47d1034b5ed81c1bd7b271

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for taulu-1.0.1-cp39-abi3-manylinux_2_17_armv7l.manylinux2014_armv7l.whl
Algorithm Hash digest
SHA256 fb6e3fc91bf9cf8448c581775cf4955101e73f494c7379fb9133be294547a114
MD5 42dba01aade9ac01e83812b1805a8b69
BLAKE2b-256 5e3f0b0e583507e1be3626bff5d2ebdea9e5736830728dbc522b4e9266094fb1

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for taulu-1.0.1-cp39-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 9daaad2d7c4adae165a9942ecb2ef5cdadf75fc218d3fa4f4e64c087a18d23f2
MD5 1a4fc19fb7aada49770a6285c0c512f2
BLAKE2b-256 97abba2377d8f4077221112c9489341ea5b8a0ac7461613ca286741583ab3abc

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for taulu-1.0.1-cp39-abi3-manylinux_2_12_i686.manylinux2010_i686.whl
Algorithm Hash digest
SHA256 8dc8b88f7984a124378af512ff203906894d8bb894e2b97217c7a1830b94b494
MD5 913805f12c371efca2a8bf496d6a71ba
BLAKE2b-256 d02564bc8c7b2282125c66946242711873ff7f7519fff9f59972931ced954789

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for taulu-1.0.1-cp39-abi3-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 05d497652de4bd78996f8d6100e1d1a287aaf9cc9cde768451c699ac759ac73d
MD5 45488a405e92904780b28f9663cd5ccc
BLAKE2b-256 9c3e84ba12802d313e531603d25d8a66d211322e3ca7715e86c14a6b6ebd8cb4

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for taulu-1.0.1-cp39-abi3-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 74ffafe5fcc0e2c4afbdbc4fb84e8642118e24ccdea2897b06a264944c1543a8
MD5 1b53d07c64482980a711f365b9e9c9ca
BLAKE2b-256 01f9cf190cc05a446f2b60e3f886f5012fd02e77ab27e0c66370338aaefa9d1e

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