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, Split
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(Split("table_00_header_left.png", "table_00_header_right.png"))
    table = taulu.segment_table("../data/table_00.png", 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 SegmentedTable 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:

  • TemplateMatcher: Uses template matching to identify the header's location in the input images.
  • TableTemplate: Stores header template information by reading an annotation JSON file. You can create this file by running TableTemplate.annotate_image.
  • TableDetector: 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

  • template_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 Split of the left and right header images.

  • intersection_kernel_size, line_thickness: The TableDetector 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 line_thickness and intersection_kernel_size values that fit your image. Note that the optimal values will depend on the line_gap_fill parameter too.

  • line_gap_fill: The TableDetector uses a dilation step in order to connect lines in the image that might be broken up after thresholding. With a larger line_gap_fill, 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 line_thickness and line_thickness_horizontal.

  • search_radius: 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 search_radius 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

  • binarization_sensitivity: This parameter adjusts the threshold that is used when binarizing the image. The larger binarization_sensitivity 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.__init__: initialize a Taulu instance with a header image and parameters.
    • row_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.
  • Taulu.segment_table: given an input image, segment into a SegmentedTable object.
    • filtered: optional pre-filtered binary image for corner detection. If provided, binarization parameters are ignored.
    • debug_view: show intermediate processing steps (note: crashes in Jupyter notebooks due to OpenCV window handling).

SegmentedTable

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

Credits

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

Ghent Centre for Digital Humanities Logo

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

Uploaded Source

Built Distributions

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

taulu-3.0.0-cp313-cp313t-win_amd64.whl (313.1 kB view details)

Uploaded CPython 3.13tWindows x86-64

taulu-3.0.0-cp313-cp313t-win32.whl (302.3 kB view details)

Uploaded CPython 3.13tWindows x86

taulu-3.0.0-cp313-cp313t-musllinux_1_2_x86_64.whl (661.4 kB view details)

Uploaded CPython 3.13tmusllinux: musl 1.2+ x86-64

taulu-3.0.0-cp313-cp313t-musllinux_1_2_i686.whl (684.7 kB view details)

Uploaded CPython 3.13tmusllinux: musl 1.2+ i686

taulu-3.0.0-cp313-cp313t-musllinux_1_2_armv7l.whl (716.3 kB view details)

Uploaded CPython 3.13tmusllinux: musl 1.2+ ARMv7l

taulu-3.0.0-cp313-cp313t-musllinux_1_2_aarch64.whl (605.1 kB view details)

Uploaded CPython 3.13tmusllinux: musl 1.2+ ARM64

taulu-3.0.0-cp313-cp313t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (449.0 kB view details)

Uploaded CPython 3.13tmanylinux: glibc 2.17+ x86-64

taulu-3.0.0-cp313-cp313t-manylinux_2_17_s390x.manylinux2014_s390x.whl (491.1 kB view details)

Uploaded CPython 3.13tmanylinux: glibc 2.17+ s390x

taulu-3.0.0-cp313-cp313t-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl (491.1 kB view details)

Uploaded CPython 3.13tmanylinux: glibc 2.17+ ppc64le

taulu-3.0.0-cp313-cp313t-manylinux_2_17_armv7l.manylinux2014_armv7l.whl (442.5 kB view details)

Uploaded CPython 3.13tmanylinux: glibc 2.17+ ARMv7l

taulu-3.0.0-cp313-cp313t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (429.7 kB view details)

Uploaded CPython 3.13tmanylinux: glibc 2.17+ ARM64

taulu-3.0.0-cp313-cp313t-manylinux_2_12_i686.manylinux2010_i686.whl (467.7 kB view details)

Uploaded CPython 3.13tmanylinux: glibc 2.12+ i686

taulu-3.0.0-cp313-cp313t-macosx_11_0_arm64.whl (392.3 kB view details)

Uploaded CPython 3.13tmacOS 11.0+ ARM64

taulu-3.0.0-cp39-abi3-win_amd64.whl (318.0 kB view details)

Uploaded CPython 3.9+Windows x86-64

taulu-3.0.0-cp39-abi3-win32.whl (306.9 kB view details)

Uploaded CPython 3.9+Windows x86

taulu-3.0.0-cp39-abi3-musllinux_1_2_x86_64.whl (668.1 kB view details)

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

taulu-3.0.0-cp39-abi3-musllinux_1_2_i686.whl (691.4 kB view details)

Uploaded CPython 3.9+musllinux: musl 1.2+ i686

taulu-3.0.0-cp39-abi3-musllinux_1_2_armv7l.whl (724.1 kB view details)

Uploaded CPython 3.9+musllinux: musl 1.2+ ARMv7l

taulu-3.0.0-cp39-abi3-musllinux_1_2_aarch64.whl (612.3 kB view details)

Uploaded CPython 3.9+musllinux: musl 1.2+ ARM64

taulu-3.0.0-cp39-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (455.6 kB view details)

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

taulu-3.0.0-cp39-abi3-manylinux_2_17_s390x.manylinux2014_s390x.whl (500.1 kB view details)

Uploaded CPython 3.9+manylinux: glibc 2.17+ s390x

taulu-3.0.0-cp39-abi3-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl (499.7 kB view details)

Uploaded CPython 3.9+manylinux: glibc 2.17+ ppc64le

taulu-3.0.0-cp39-abi3-manylinux_2_17_armv7l.manylinux2014_armv7l.whl (448.8 kB view details)

Uploaded CPython 3.9+manylinux: glibc 2.17+ ARMv7l

taulu-3.0.0-cp39-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (436.5 kB view details)

Uploaded CPython 3.9+manylinux: glibc 2.17+ ARM64

taulu-3.0.0-cp39-abi3-manylinux_2_12_i686.manylinux2010_i686.whl (473.9 kB view details)

Uploaded CPython 3.9+manylinux: glibc 2.12+ i686

taulu-3.0.0-cp39-abi3-macosx_11_0_arm64.whl (396.5 kB view details)

Uploaded CPython 3.9+macOS 11.0+ ARM64

File details

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

File metadata

  • Download URL: taulu-3.0.0.tar.gz
  • Upload date:
  • Size: 14.2 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.11.9 {"installer":{"name":"uv","version":"0.11.9","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for taulu-3.0.0.tar.gz
Algorithm Hash digest
SHA256 1fcd17e47bc98d077fefe7f007e42cb255d2a0f6bba5ec173289e6f8b10eda36
MD5 19fde10573fbdb2ef839e3fa134a3269
BLAKE2b-256 5c5c2f6f19246a0f6d1b586ad18263eb64df6e99d60d14776a7b24ebc10f6779

See more details on using hashes here.

File details

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

File metadata

  • Download URL: taulu-3.0.0-cp313-cp313t-win_amd64.whl
  • Upload date:
  • Size: 313.1 kB
  • Tags: CPython 3.13t, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.11.9 {"installer":{"name":"uv","version":"0.11.9","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for taulu-3.0.0-cp313-cp313t-win_amd64.whl
Algorithm Hash digest
SHA256 329e5b286e33599537548d10163c2851004b77205c4558b06fcd437ab6977252
MD5 edd5bad162abb52bd8387b1309fdcef5
BLAKE2b-256 798876aec7f9b2574df733a833f38c83bd0dd4a10c8fe74812a1b4f619afcb0b

See more details on using hashes here.

File details

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

File metadata

  • Download URL: taulu-3.0.0-cp313-cp313t-win32.whl
  • Upload date:
  • Size: 302.3 kB
  • Tags: CPython 3.13t, Windows x86
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.11.9 {"installer":{"name":"uv","version":"0.11.9","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for taulu-3.0.0-cp313-cp313t-win32.whl
Algorithm Hash digest
SHA256 49029d9caf827231ed6e1cc2adb47a8d476754c9d91ce515f9a477c7f80e18d9
MD5 29dc27577ad0b1fb52b4f029b314062f
BLAKE2b-256 b6c5551688f61283638e8f41881a786b840f5a830f9afec8d2e4739572258279

See more details on using hashes here.

File details

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

File metadata

  • Download URL: taulu-3.0.0-cp313-cp313t-musllinux_1_2_x86_64.whl
  • Upload date:
  • Size: 661.4 kB
  • Tags: CPython 3.13t, musllinux: musl 1.2+ x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.11.9 {"installer":{"name":"uv","version":"0.11.9","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for taulu-3.0.0-cp313-cp313t-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 bf8aca8d7d12ca4383a17172b78f7c75848357c4bbaaf4b09467288dc2eb2018
MD5 c52fc1dea4935fe1da3a6b99b6795c7e
BLAKE2b-256 dadc70d75cf5aa31bac9d192ea9ce5658341214704b727fdebba74b53a5875fa

See more details on using hashes here.

File details

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

File metadata

  • Download URL: taulu-3.0.0-cp313-cp313t-musllinux_1_2_i686.whl
  • Upload date:
  • Size: 684.7 kB
  • Tags: CPython 3.13t, musllinux: musl 1.2+ i686
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.11.9 {"installer":{"name":"uv","version":"0.11.9","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for taulu-3.0.0-cp313-cp313t-musllinux_1_2_i686.whl
Algorithm Hash digest
SHA256 b73fae9c4132dd7855ff59579b49393f191b5dca6de264c70986ad112db6f40c
MD5 5aa4a653354333d84df191193dffb140
BLAKE2b-256 3d90e4542c9ccaa815345aa49b17a08b61db050e0d856768207b8781478de053

See more details on using hashes here.

File details

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

File metadata

  • Download URL: taulu-3.0.0-cp313-cp313t-musllinux_1_2_armv7l.whl
  • Upload date:
  • Size: 716.3 kB
  • Tags: CPython 3.13t, musllinux: musl 1.2+ ARMv7l
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.11.9 {"installer":{"name":"uv","version":"0.11.9","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for taulu-3.0.0-cp313-cp313t-musllinux_1_2_armv7l.whl
Algorithm Hash digest
SHA256 f60e87a039f7ec34919b716d2f977f979832d71c1ff32ce77bc83617079e4117
MD5 7fc0a3b8f93564749940c69f71042b50
BLAKE2b-256 5a6643502fd23571077b3c53429b1f1e5a86e85d39a2c2c2017573c0cad0a632

See more details on using hashes here.

File details

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

File metadata

  • Download URL: taulu-3.0.0-cp313-cp313t-musllinux_1_2_aarch64.whl
  • Upload date:
  • Size: 605.1 kB
  • Tags: CPython 3.13t, musllinux: musl 1.2+ ARM64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.11.9 {"installer":{"name":"uv","version":"0.11.9","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for taulu-3.0.0-cp313-cp313t-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 21daed8c4666d76c525ff884767302441c4a920d17c31108502b674e5b02a225
MD5 62b1b33beb2c3eb69487ca8091247762
BLAKE2b-256 2b113baa0245808fe414ee3c5ce496bdb2574ed3e5b747e1ee987e08058de64b

See more details on using hashes here.

File details

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

File metadata

  • Download URL: taulu-3.0.0-cp313-cp313t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
  • Upload date:
  • Size: 449.0 kB
  • Tags: CPython 3.13t, manylinux: glibc 2.17+ x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.11.9 {"installer":{"name":"uv","version":"0.11.9","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for taulu-3.0.0-cp313-cp313t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 325f02aa6356cdb1d3bb1677faa07ab9863df8f455bf9f2bbc5510ede46dbdc8
MD5 8ae16b3a4fe63699ca6d35ea311327dd
BLAKE2b-256 5381e363fcb55adc982a8edb0cbae8776742aba138fd3df45a5323ab4dbdd8f8

See more details on using hashes here.

File details

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

File metadata

  • Download URL: taulu-3.0.0-cp313-cp313t-manylinux_2_17_s390x.manylinux2014_s390x.whl
  • Upload date:
  • Size: 491.1 kB
  • Tags: CPython 3.13t, manylinux: glibc 2.17+ s390x
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.11.9 {"installer":{"name":"uv","version":"0.11.9","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for taulu-3.0.0-cp313-cp313t-manylinux_2_17_s390x.manylinux2014_s390x.whl
Algorithm Hash digest
SHA256 20a35627386856f7b2a02d88e1e6ba5fab4d7cf296c99d5a9e9bf7d394cd4784
MD5 39f11605a778ece33595ab9c72af5357
BLAKE2b-256 24cd67806d3bf9f51875745b4b45d65f4bceb64b0a8687b633fa69e7c1af8f97

See more details on using hashes here.

File details

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

File metadata

  • Download URL: taulu-3.0.0-cp313-cp313t-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl
  • Upload date:
  • Size: 491.1 kB
  • Tags: CPython 3.13t, manylinux: glibc 2.17+ ppc64le
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.11.9 {"installer":{"name":"uv","version":"0.11.9","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for taulu-3.0.0-cp313-cp313t-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl
Algorithm Hash digest
SHA256 e6b3b024ff4db4f3d9f7dad25748fad697644d88895bc7456e62be780a7f0aa1
MD5 3eb16a591e52e263773c6a9ccfcdc680
BLAKE2b-256 8568ff82a4ddfb2708df1d39e6ea48262b8e973d47c6b719f4bfe96771f66c24

See more details on using hashes here.

File details

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

File metadata

  • Download URL: taulu-3.0.0-cp313-cp313t-manylinux_2_17_armv7l.manylinux2014_armv7l.whl
  • Upload date:
  • Size: 442.5 kB
  • Tags: CPython 3.13t, manylinux: glibc 2.17+ ARMv7l
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.11.9 {"installer":{"name":"uv","version":"0.11.9","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for taulu-3.0.0-cp313-cp313t-manylinux_2_17_armv7l.manylinux2014_armv7l.whl
Algorithm Hash digest
SHA256 ceb72c7941faadccefac93dbc348a479ecda518ed65ecd31bafaf99c1294318b
MD5 bd7bae8990e279ef66c24637f5b1e044
BLAKE2b-256 9d30b97d547379ca6a2b5e1bd3545a4d63fbb5f1281636990374e631f1d05da9

See more details on using hashes here.

File details

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

File metadata

  • Download URL: taulu-3.0.0-cp313-cp313t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
  • Upload date:
  • Size: 429.7 kB
  • Tags: CPython 3.13t, manylinux: glibc 2.17+ ARM64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.11.9 {"installer":{"name":"uv","version":"0.11.9","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for taulu-3.0.0-cp313-cp313t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 57d38c7945401c9f6a9a7f0d3941068623e96a22d7d2687e4947efa1412af9ee
MD5 b73526ba62f6a4026649ca7cc6809ef7
BLAKE2b-256 b22dd2053943c6e34e25b413ab66995d9ec2f34f91e24f6db30c9845f01a9fec

See more details on using hashes here.

File details

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

File metadata

  • Download URL: taulu-3.0.0-cp313-cp313t-manylinux_2_12_i686.manylinux2010_i686.whl
  • Upload date:
  • Size: 467.7 kB
  • Tags: CPython 3.13t, manylinux: glibc 2.12+ i686
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.11.9 {"installer":{"name":"uv","version":"0.11.9","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for taulu-3.0.0-cp313-cp313t-manylinux_2_12_i686.manylinux2010_i686.whl
Algorithm Hash digest
SHA256 c36c8d263209df7ba2f8ce75fc45def73307659fffe9835c81f3116737dec790
MD5 d22400f0496e17de9541379398bf8c47
BLAKE2b-256 844849d90e23986a89805d14891f10b20c52e42889672d17462969fe70f50df0

See more details on using hashes here.

File details

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

File metadata

  • Download URL: taulu-3.0.0-cp313-cp313t-macosx_11_0_arm64.whl
  • Upload date:
  • Size: 392.3 kB
  • Tags: CPython 3.13t, macOS 11.0+ ARM64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.11.9 {"installer":{"name":"uv","version":"0.11.9","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for taulu-3.0.0-cp313-cp313t-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 6300386000acb152edede9e58ad4cdd369f9abdc8e354b969bb9beba6af03596
MD5 96032c24d70b83e91fe7de9d4026ed11
BLAKE2b-256 620b3dbd1d5c92ef75d004f288eef589a95ab64b5bac16f2fa0daeb27badec08

See more details on using hashes here.

File details

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

File metadata

  • Download URL: taulu-3.0.0-cp39-abi3-win_amd64.whl
  • Upload date:
  • Size: 318.0 kB
  • Tags: CPython 3.9+, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.11.9 {"installer":{"name":"uv","version":"0.11.9","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for taulu-3.0.0-cp39-abi3-win_amd64.whl
Algorithm Hash digest
SHA256 e3a015158f475e780e03aac8848164945c9de4f891f885b8605492a812e0b9b5
MD5 6a6eee4db4e48963c1a1c466bb465239
BLAKE2b-256 cbc1a01fb671558c59bd815163bf64f4533c34abf8c43045f2615be1703861ca

See more details on using hashes here.

File details

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

File metadata

  • Download URL: taulu-3.0.0-cp39-abi3-win32.whl
  • Upload date:
  • Size: 306.9 kB
  • Tags: CPython 3.9+, Windows x86
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.11.9 {"installer":{"name":"uv","version":"0.11.9","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for taulu-3.0.0-cp39-abi3-win32.whl
Algorithm Hash digest
SHA256 fa2e5a00d671f2a41e4dda97a5f6378db7fa5007ef672649c05be722ede74177
MD5 e68e4ccfb219b861e3e66138faa737ec
BLAKE2b-256 60166eea1ab8eda2becb1d68d556ed9d301df25a61d1cdbb9d7bcca067435941

See more details on using hashes here.

File details

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

File metadata

  • Download URL: taulu-3.0.0-cp39-abi3-musllinux_1_2_x86_64.whl
  • Upload date:
  • Size: 668.1 kB
  • Tags: CPython 3.9+, musllinux: musl 1.2+ x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.11.9 {"installer":{"name":"uv","version":"0.11.9","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for taulu-3.0.0-cp39-abi3-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 7d47d182b00a416671e0c4f1fd0a4e44dac5698179d7dc0b9325f208caa82ee8
MD5 3a353dc8e0e23d415aad1c3139e55f72
BLAKE2b-256 8db0dc59c30d867de8cbcba174fc5d1682dc4c6ae0017becee4de5b1e8f17fc7

See more details on using hashes here.

File details

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

File metadata

  • Download URL: taulu-3.0.0-cp39-abi3-musllinux_1_2_i686.whl
  • Upload date:
  • Size: 691.4 kB
  • Tags: CPython 3.9+, musllinux: musl 1.2+ i686
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.11.9 {"installer":{"name":"uv","version":"0.11.9","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for taulu-3.0.0-cp39-abi3-musllinux_1_2_i686.whl
Algorithm Hash digest
SHA256 74c8542b0179ac4ae205b3694995d5c1b15656f12b031f11311b06f28ef74afd
MD5 3cd07db1d777509132d2e48598d3983d
BLAKE2b-256 ea10387eff5c2d49f30e6261be64b197af3386abe6138d0b621801feb2a9e8b7

See more details on using hashes here.

File details

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

File metadata

  • Download URL: taulu-3.0.0-cp39-abi3-musllinux_1_2_armv7l.whl
  • Upload date:
  • Size: 724.1 kB
  • Tags: CPython 3.9+, musllinux: musl 1.2+ ARMv7l
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.11.9 {"installer":{"name":"uv","version":"0.11.9","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for taulu-3.0.0-cp39-abi3-musllinux_1_2_armv7l.whl
Algorithm Hash digest
SHA256 cd085718f4b9b4fd1f9f87e913a66a38558b774008fe8cbc54de0626e9acf578
MD5 6f91a767faf7a8311170101f09d29738
BLAKE2b-256 3aef61d4fa2ff6ca7f88a0cedb813f10093c1bebffb03b563b4c40229114c66f

See more details on using hashes here.

File details

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

File metadata

  • Download URL: taulu-3.0.0-cp39-abi3-musllinux_1_2_aarch64.whl
  • Upload date:
  • Size: 612.3 kB
  • Tags: CPython 3.9+, musllinux: musl 1.2+ ARM64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.11.9 {"installer":{"name":"uv","version":"0.11.9","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for taulu-3.0.0-cp39-abi3-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 9a674eccebfa0236e471aba5802142d747aaed25eaef4c523dd22c5d94ca1b3b
MD5 e4dbb76ca82456db11a5795130941370
BLAKE2b-256 a70a96e7c6b6fe99cdce6d9f61d41241471f0a6e7a419f8183e996194cc7745e

See more details on using hashes here.

File details

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

File metadata

  • Download URL: taulu-3.0.0-cp39-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
  • Upload date:
  • Size: 455.6 kB
  • Tags: CPython 3.9+, manylinux: glibc 2.17+ x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.11.9 {"installer":{"name":"uv","version":"0.11.9","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for taulu-3.0.0-cp39-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 9f59bd2e40e3d4e537b6ac2dce754a6f9575f766c8382c8ee2bd9fcd2e7dad18
MD5 20b9dd540c08e9b163030319c45e918a
BLAKE2b-256 2f4b0f4109eca2d5564cc221eb6edb060cdaaab1b666688fe4b0da8e9b03cbd2

See more details on using hashes here.

File details

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

File metadata

  • Download URL: taulu-3.0.0-cp39-abi3-manylinux_2_17_s390x.manylinux2014_s390x.whl
  • Upload date:
  • Size: 500.1 kB
  • Tags: CPython 3.9+, manylinux: glibc 2.17+ s390x
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.11.9 {"installer":{"name":"uv","version":"0.11.9","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for taulu-3.0.0-cp39-abi3-manylinux_2_17_s390x.manylinux2014_s390x.whl
Algorithm Hash digest
SHA256 b3a66f3243c468adbec5b84b383274f8acd98e02bd5cd07530e9a87f68e2d051
MD5 33d27895e55138b358db459eabc684fa
BLAKE2b-256 a06943f800915cb36fc47db0813edb8a2002f84edacb0c6de60753a344f4125c

See more details on using hashes here.

File details

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

File metadata

  • Download URL: taulu-3.0.0-cp39-abi3-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl
  • Upload date:
  • Size: 499.7 kB
  • Tags: CPython 3.9+, manylinux: glibc 2.17+ ppc64le
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.11.9 {"installer":{"name":"uv","version":"0.11.9","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for taulu-3.0.0-cp39-abi3-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl
Algorithm Hash digest
SHA256 48f7ad9f461206cb633caa99e4323b04868c0775db43ff3acf9bfa58ba7f62f3
MD5 0033979c2aa3173f6f10bde3b7eb01bb
BLAKE2b-256 016749c0fca940e1634eddc2c13ef79e39ad3227ab7ea31d972e4b9157d53bec

See more details on using hashes here.

File details

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

File metadata

  • Download URL: taulu-3.0.0-cp39-abi3-manylinux_2_17_armv7l.manylinux2014_armv7l.whl
  • Upload date:
  • Size: 448.8 kB
  • Tags: CPython 3.9+, manylinux: glibc 2.17+ ARMv7l
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.11.9 {"installer":{"name":"uv","version":"0.11.9","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for taulu-3.0.0-cp39-abi3-manylinux_2_17_armv7l.manylinux2014_armv7l.whl
Algorithm Hash digest
SHA256 07d576c08760e9966bf7f5ee5125f2c7f54c1232d7597e09996b68df952071c4
MD5 3d85316a199bd9ba38739d454980ef4b
BLAKE2b-256 e33f9004b2a7a09c2b9bc9945ad97a408eab8ee649eba9a0c72c1047f3819239

See more details on using hashes here.

File details

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

File metadata

  • Download URL: taulu-3.0.0-cp39-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
  • Upload date:
  • Size: 436.5 kB
  • Tags: CPython 3.9+, manylinux: glibc 2.17+ ARM64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.11.9 {"installer":{"name":"uv","version":"0.11.9","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for taulu-3.0.0-cp39-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 cd180153524e9d129b1da4f80dbfcea35955a6bab5ee2c902faf4711ca392d3b
MD5 88bee0d803cb1a35819140adcc858938
BLAKE2b-256 efab342d54b431fb269c177183a54521201f6e444e88992cec8afc0749548ea7

See more details on using hashes here.

File details

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

File metadata

  • Download URL: taulu-3.0.0-cp39-abi3-manylinux_2_12_i686.manylinux2010_i686.whl
  • Upload date:
  • Size: 473.9 kB
  • Tags: CPython 3.9+, manylinux: glibc 2.12+ i686
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.11.9 {"installer":{"name":"uv","version":"0.11.9","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for taulu-3.0.0-cp39-abi3-manylinux_2_12_i686.manylinux2010_i686.whl
Algorithm Hash digest
SHA256 b11e0a063334f9904270858fd7f2b74fda0a52d6dd542f3a0d2ec02a78b92a3a
MD5 ed6e20ba0d4bd9bcc6be52d092d6c426
BLAKE2b-256 84400907cafe1bf4133211e50a806e16c6ecce5b4997bdca4e35a75f102607f7

See more details on using hashes here.

File details

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

File metadata

  • Download URL: taulu-3.0.0-cp39-abi3-macosx_11_0_arm64.whl
  • Upload date:
  • Size: 396.5 kB
  • Tags: CPython 3.9+, macOS 11.0+ ARM64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.11.9 {"installer":{"name":"uv","version":"0.11.9","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for taulu-3.0.0-cp39-abi3-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 91ae93ed284f8c1d72e0a578db228997b9dfc7c0286e89e64785072f42b8ce5b
MD5 e1090265c9599c94b9d5e3d33bbbff83
BLAKE2b-256 1508f28c4faa3903c2a4ca03fbef2fdf0e1de94c4fb94acaf6d6345bdd0f28c5

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