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

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.0.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.0-cp313-cp313t-win_amd64.whl (238.2 kB view details)

Uploaded CPython 3.13tWindows x86-64

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

Uploaded CPython 3.13tWindows x86

taulu-1.0.0-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.0-cp313-cp313t-musllinux_1_2_i686.whl (573.8 kB view details)

Uploaded CPython 3.13tmusllinux: musl 1.2+ i686

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

Uploaded CPython 3.13tmusllinux: musl 1.2+ ARMv7l

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

Uploaded CPython 3.13tmusllinux: musl 1.2+ ARM64

taulu-1.0.0-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.0-cp313-cp313t-manylinux_2_17_s390x.manylinux2014_s390x.whl (423.8 kB view details)

Uploaded CPython 3.13tmanylinux: glibc 2.17+ s390x

taulu-1.0.0-cp313-cp313t-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl (411.5 kB view details)

Uploaded CPython 3.13tmanylinux: glibc 2.17+ ppc64le

taulu-1.0.0-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.0-cp313-cp313t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (357.9 kB view details)

Uploaded CPython 3.13tmanylinux: glibc 2.17+ ARM64

taulu-1.0.0-cp313-cp313t-manylinux_2_12_i686.manylinux2010_i686.whl (395.8 kB view details)

Uploaded CPython 3.13tmanylinux: glibc 2.12+ i686

taulu-1.0.0-cp313-cp313t-macosx_11_0_arm64.whl (318.9 kB view details)

Uploaded CPython 3.13tmacOS 11.0+ ARM64

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

Uploaded CPython 3.13tmacOS 10.12+ x86-64

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

Uploaded CPython 3.9+Windows x86-64

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

Uploaded CPython 3.9+Windows x86

taulu-1.0.0-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.0-cp39-abi3-musllinux_1_2_i686.whl (580.1 kB view details)

Uploaded CPython 3.9+musllinux: musl 1.2+ i686

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

Uploaded CPython 3.9+musllinux: musl 1.2+ ARMv7l

taulu-1.0.0-cp39-abi3-musllinux_1_2_aarch64.whl (544.7 kB view details)

Uploaded CPython 3.9+musllinux: musl 1.2+ ARM64

taulu-1.0.0-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.0-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.0-cp39-abi3-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl (418.6 kB view details)

Uploaded CPython 3.9+manylinux: glibc 2.17+ ppc64le

taulu-1.0.0-cp39-abi3-manylinux_2_17_armv7l.manylinux2014_armv7l.whl (382.3 kB view details)

Uploaded CPython 3.9+manylinux: glibc 2.17+ ARMv7l

taulu-1.0.0-cp39-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (364.0 kB view details)

Uploaded CPython 3.9+manylinux: glibc 2.17+ ARM64

taulu-1.0.0-cp39-abi3-manylinux_2_12_i686.manylinux2010_i686.whl (402.2 kB view details)

Uploaded CPython 3.9+manylinux: glibc 2.12+ i686

taulu-1.0.0-cp39-abi3-macosx_11_0_arm64.whl (325.5 kB view details)

Uploaded CPython 3.9+macOS 11.0+ ARM64

taulu-1.0.0-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.0.tar.gz.

File metadata

  • Download URL: taulu-1.0.0.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.0.tar.gz
Algorithm Hash digest
SHA256 03a924feb66d6ffa560c604dfac403b0ebf1f1f1d020865c5c2dcf44997bf659
MD5 f9b312aab306ba8224c96b0b4edc640e
BLAKE2b-256 e8615ea1f80ee47c68b83b71e69b59f07297c243c65c775276e8f1582a92e49c

See more details on using hashes here.

File details

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

File metadata

  • Download URL: taulu-1.0.0-cp313-cp313t-win_amd64.whl
  • Upload date:
  • Size: 238.2 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.0-cp313-cp313t-win_amd64.whl
Algorithm Hash digest
SHA256 e309b1a42fdfc8fc685f65ff069ad19424ae0127b90dd94454170ef3bfd74688
MD5 ecf7e0dc4aeb84d505f36df01f3932ed
BLAKE2b-256 4dde41e6d92e71f9d9a1018824a0251cfd567fe67d617007a1484a54206a5725

See more details on using hashes here.

File details

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

File metadata

  • Download URL: taulu-1.0.0-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.0-cp313-cp313t-win32.whl
Algorithm Hash digest
SHA256 d79b3d90384587afc37f8030e174a0309a910d0e295ae0135c0b20ea1a6bdb22
MD5 5db7b4ccdadf420d614ab9b7771661c5
BLAKE2b-256 ed7ef9473dfb376740e379883da84d219e873f97517d13197c05f31e6e62480b

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for taulu-1.0.0-cp313-cp313t-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 c07a448dbbe372a72e3d026b910a5e64f807d2cbe0cff0753c2166da8bdc3dff
MD5 cae424f1ed1d3ee702a8a8a71175a26a
BLAKE2b-256 8851e1604d6004f4a952a629e9953c98fd70b7e524d3a8993feb1d2eda0ff427

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for taulu-1.0.0-cp313-cp313t-musllinux_1_2_i686.whl
Algorithm Hash digest
SHA256 131ec1598dc3be91861ea1dbc515c95de0fb5cb184956064fd400f479d6bf11f
MD5 6db7586837deeabd12421a1377a46f7a
BLAKE2b-256 11ce9ab6bbbc6dcdb1c374ff3aff1ae1f257e8c48de6c4713c9222ab4c7cc8e8

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for taulu-1.0.0-cp313-cp313t-musllinux_1_2_armv7l.whl
Algorithm Hash digest
SHA256 758e05660aa9f83b562725070c34ef6751499ed5177434ab6d1d0613c9b5d0ba
MD5 e41008c026f350b96ae931fe6eee9be3
BLAKE2b-256 896993c74199501d1a4c952217718ae6b2ad3aadf39348ea17ee5e7561b17905

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for taulu-1.0.0-cp313-cp313t-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 ad0753d7bb8c1090d0bb85eb87fd62f6da057e7228e8366b456033a55512dd57
MD5 0c0e1f5f0717387911d6edce93423f97
BLAKE2b-256 75552f502b102c495ac28802030606c5776b6483c2531ed1a8988035d70f2662

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for taulu-1.0.0-cp313-cp313t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 927acf04e21232be4379b1314b13c87c49c9c503cd1b640d28e8e6b34c268b82
MD5 b19b041072e62421efa170a34016bcb1
BLAKE2b-256 d662a56860e6469691cea33574a014bc1015b7d18b5d7bca6cdbf653e92de2b4

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for taulu-1.0.0-cp313-cp313t-manylinux_2_17_s390x.manylinux2014_s390x.whl
Algorithm Hash digest
SHA256 83cabfb735cd0d91f7dd44146c6eb4fbb79002281dbd83dfcbb2d65441e06159
MD5 b03d82d32cd244ce29a3593d568e30fd
BLAKE2b-256 827c7ceab17e9ed92db20f37a7fbeb887fc1ce7a3993722403ca68155a02ce55

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for taulu-1.0.0-cp313-cp313t-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl
Algorithm Hash digest
SHA256 d5adbaf3bbf3787dee07b182ec4a6d7df6b2051714615407780dbdb78a6197dc
MD5 9bbcc44f42bc718e6f2decb1ffa01323
BLAKE2b-256 a7d6e9be58af22e12d721f15f010f37aed9f075e1eaf62904f743043c7602a75

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for taulu-1.0.0-cp313-cp313t-manylinux_2_17_armv7l.manylinux2014_armv7l.whl
Algorithm Hash digest
SHA256 100582736bd7b70431ab86b1ddc8c06eaeb9aa119ec902a60b18057fd07638d3
MD5 e03e4d10713089f5800e0ca0436b2366
BLAKE2b-256 43111c90c4c66a77f76dcb6258bfec609b4c098d81b601349927a429ad7df0ad

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for taulu-1.0.0-cp313-cp313t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 7b1d467df770a344af34b73207ac9c862341fd013dae414d363e5060b67560a3
MD5 4c648ba0e60252a534d47d0ab56ea9f5
BLAKE2b-256 4fdf32adc32d45b79341aa649751859a0de74748e2eca3124912fa0ab7999af6

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for taulu-1.0.0-cp313-cp313t-manylinux_2_12_i686.manylinux2010_i686.whl
Algorithm Hash digest
SHA256 8d2bb16e707f5e3a669aa7a08918f15daea5bb42a82a6ecd3c4966d59d602660
MD5 bb56194f540c1b5a2f3d41196a1f73ff
BLAKE2b-256 2e182e16dc355ddbf4ebd0c962d8c0254a7390e3b3c3f2fb7433e76dec7fe178

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for taulu-1.0.0-cp313-cp313t-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 936b3f3d1b4df23c180db1102016ce620d6791fa4b0d3e6d36486a048e87857a
MD5 651a7063f5fe3bdde42705929a978847
BLAKE2b-256 16c6d98a9d95ef33980d3d98eea9e5ca9ac0e0b6cba0dd2101b904e1335775d2

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for taulu-1.0.0-cp313-cp313t-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 5396b6973ab30c0cd0f17a5f951375fe0ef8ee4e273f2e00255747a36e93cc96
MD5 61209444cfbff8d9616c1f3b99ae212a
BLAKE2b-256 38128adbf75b1ba956a350593ebb764405bc5148b941a408f1459f58dc973bf4

See more details on using hashes here.

File details

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

File metadata

  • Download URL: taulu-1.0.0-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.0-cp39-abi3-win_amd64.whl
Algorithm Hash digest
SHA256 fae79f18b643c6e78d051fee02358b3644c47713ecd29439f59e15bf4d28811d
MD5 515bafd78baaf1f63ad8d306b5d068db
BLAKE2b-256 3c19956132409b19f2523ed42c38df803735ea39172e2bf2ffe197b4872ccac5

See more details on using hashes here.

File details

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

File metadata

  • Download URL: taulu-1.0.0-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.0-cp39-abi3-win32.whl
Algorithm Hash digest
SHA256 2e7944951da8f16baa7f9b2169e42daac3d358693cb8a4bbcc8ddea3e33be082
MD5 c3e2051f9a3b2a2213cb0c7b65c2a7b7
BLAKE2b-256 c5fe5a0279dee2f62e043b15954096f4e8eb229ee92da05b4d184e14dacca163

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for taulu-1.0.0-cp39-abi3-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 7c6f48a7a0676f20d9951ad020ddb6089980486e7fafce2ed40d74f5ac0fd998
MD5 2c3ac6a47d346a3de2464f8268b14ba7
BLAKE2b-256 bc2b074f67b2009849a218fd54cff8121559ce01e08932a243b6ae0ac820696f

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for taulu-1.0.0-cp39-abi3-musllinux_1_2_i686.whl
Algorithm Hash digest
SHA256 b1124e3c0d05ee65aed0f19f7c8376bc7e9fab6ff14c94147999bc14ebab0318
MD5 dc92d9067579b92c341102c58a5c6954
BLAKE2b-256 110ec5fba55201c67a16cce0c8d082d8526aa4b2d85bfad7ce232c1fec3d8666

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for taulu-1.0.0-cp39-abi3-musllinux_1_2_armv7l.whl
Algorithm Hash digest
SHA256 123a9e83d1d8f1557f656786545148f289dcb8d824613a279902899477b509c9
MD5 019b0f50a7238af37af7b52d8259e2ac
BLAKE2b-256 e1183c8bf0f62c166271b328244888ed34163da01343dfd45199a042ecedf1f0

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for taulu-1.0.0-cp39-abi3-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 eff93233ba1a2657f27d2212e9aa96fec726967fd835bc63a0ead3d03a25a491
MD5 cc208198693fbef19b8d94ac02cda93a
BLAKE2b-256 82ef22d38ead718c9d042b8ff112ea58fb94010a2003ef49b9987ec72a925e06

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for taulu-1.0.0-cp39-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 0c4029fa067fa477fcb81801211627bd56705474a9387ffb9225d5d6dbc407f3
MD5 685669c886893c770005ce8f84ba32c9
BLAKE2b-256 381c5589f5cde9e4f26a49eb64918bdbeba595d971f01450175d2fed82b9219a

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for taulu-1.0.0-cp39-abi3-manylinux_2_17_s390x.manylinux2014_s390x.whl
Algorithm Hash digest
SHA256 574f7337ae1c89199a290cd746cdccde7c6e7c5ff0250b6b32cd278a7bad52dc
MD5 8e47f7e78af348cfe8099ce142ee2cdc
BLAKE2b-256 331794fc5d1617698a252db2484e9b1db36c86a7064570ce1624bc4a596e78d3

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for taulu-1.0.0-cp39-abi3-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl
Algorithm Hash digest
SHA256 4e481380d88dfe6eb44a2c5ffca6988f4969160b3951c762344ed2aef24aeb89
MD5 93c60e2c43c1a2072a9650bf232d16d2
BLAKE2b-256 577764975c5954a2768532a85c78b72c1c89391b42d09e83b9c1bb4d874f4643

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for taulu-1.0.0-cp39-abi3-manylinux_2_17_armv7l.manylinux2014_armv7l.whl
Algorithm Hash digest
SHA256 dd91926b922d57c1b3a4b1d1f6720f3f9a09e2b0012b6badcdc3d5a5e4b69419
MD5 6e144334e9e0a3cdd074f4f219d8edda
BLAKE2b-256 837d4977692d07aa41b7c1fcce42dd6b100fb5c2427955f7f7e9761d75a3f29d

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for taulu-1.0.0-cp39-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 9a1196db393fd4ef16f3772ac5f9519a0a3ec694f56187e6462848b38140ef38
MD5 d944fe632979a82edfb5402b96c98108
BLAKE2b-256 f88e3dbe5d85308b9ebb15457a8e64712f84c4c34deea8b614a7c84fa355392c

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for taulu-1.0.0-cp39-abi3-manylinux_2_12_i686.manylinux2010_i686.whl
Algorithm Hash digest
SHA256 0a442157fac2631f9febbd4ccc93d4d4108f9d993766ca99a1a0d250db73347c
MD5 ea8dcc62f5a0830a451be4451e88d722
BLAKE2b-256 6cbafed67d384f6f3feddd5bec0a024174b7a21a5b36849917de8effb1cc9990

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for taulu-1.0.0-cp39-abi3-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 30c7bf41d795f8efd29b11e5398f5890ed391f8aec6145f1b70f14ec5a621114
MD5 6ae909357080cb3e98d9a0fd179301e6
BLAKE2b-256 342a81ae88ef79dea49e012065f59dcb41f7abe91240a60d6f62b169cd14c38f

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for taulu-1.0.0-cp39-abi3-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 4c6a30c8350a3d0e9d40fd80327f266adb91be9fd5d3f21bb1fc993a1a7496bb
MD5 24be52f9a4b051eb49136b1f8effdb9b
BLAKE2b-256 919c16cb99d872f1b44d5e4e96126a8f31a08cf1101106f00b0a0276ddb6dc19

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