Skip to main content

XYCut++ Python Wrapper (xycutppy)

PyPI version Publish xycutppy to PyPI Publish xycutppy-paper to PyPI License

This project provides a Python wrapper with two reading backends: paper (original GPL core) and datalab (native Rust port of Datalab's Apache-2.0 module). The wrapper lets you choose the backend at runtime.

✨ Features

  • High performance: The algorithm core is implemented in Rust for maximum efficiency.
  • Pythonic API: A clean, well-documented Python layer wrapping the Rust logic.
  • Configurable: Tune XYCut parameters through a dedicated configuration class.
  • Type-safe labels: Uses enums for semantic labels to avoid string-based errors.
  • Easy build and distribution: Uses maturin for seamless Rust/Python integration.
  • Backend selection: Choose paper or datalab per call or as a global default.
  • Multi-license structure: Code is split by module to simplify license compliance.

⚖️ Module licensing (Dual License)

This repository uses:

Apache-2.0 OR GPL-3.0-or-later

How this applies in practice:

  • Root pip package (xycutppy): distributed under Apache-2.0.
  • xycutppy-paper backend/package (code in src/paper/xycut_plus_plus): distributed under GPL-3.0-or-later.

Reference files:

  • LICENSE (root): formal dual-license declaration (Apache-2.0 OR GPL-3.0-or-later).
  • src/datalab/xycut_plus_plus_sorter/LICENSE: Apache-2.0 text.
  • src/paper/xycut_plus_plus/LICENSE: GPL-3.0 text.

📦 Installation

Once published to PyPI, the package can be installed with pip:

pip install xycutppy

🚀 Quickstart

Below is a basic example showing how to use the package to determine the reading order of a set of elements.

from xycutppy import compute_order, SemanticLabel, XYCutConfig, set_backend

# 1. Define the elements to sort.
# Each element is a dictionary with id, coordinates (x1, y1, x2, y2), and a label.
elements = [
    {'id': 0, 'x1': 10.0, 'y1': 10.0, 'x2': 200.0, 'y2': 30.0, 'label': SemanticLabel.HorizontalTitle},
    {'id': 1, 'x1': 10.0, 'y1': 50.0, 'x2': 400.0, 'y2': 100.0, 'label': SemanticLabel.Regular},
    {'id': 2, 'x1': 450.0, 'y1': 50.0, 'x2': 600.0, 'y2': 100.0, 'label': SemanticLabel.Regular},
    {'id': 3, 'x1': 10.0, 'y1': 120.0, 'x2': 600.0, 'y2': 200.0, 'label': SemanticLabel.Regular},
]

# 2. Define page bounds (x_min, y_min, x_max, y_max)
page_bounds = (0.0, 0.0, 800.0, 1200.0)

# 3. (Optional) Customize algorithm configuration.
custom_config = XYCutConfig(
    min_cut_threshold=10.0,
    same_row_tolerance=5.0
)

# 4. Global backend selection (optional).
set_backend("paper")  # or "datalab"

# 5. Compute reading order.
# If `config` is not passed, defaults are used.
ordered_ids = compute_order(elements, page_bounds, config=custom_config)

# 6. Or explicit per-call backend selection.
ordered_ids_datalab = compute_order(elements, page_bounds, backend="datalab")

print(f"Reading order IDs: {ordered_ids}")
# Expected output: Reading order IDs:

🧪 Visual scenarios tests (tests/scenarios.py)

Run the visual scenario suite to generate annotated PNG outputs for every available backend:

cd tests
python scenarios.py

Generated images are saved in:

tests/output_examples/

For a gallery with all example outputs rendered inline, see:


🛠️ Developer Guide: Build the Wheel from Source

This section describes how to compile the Python package (.whl) from source code.

Prerequisites

Make sure you have the following installed:

  1. Python (version 3.8+).
  2. Rust: Rust toolchain (including rustc and cargo). Install from rustup.rs.
  3. Maturin: Tool to build and publish Rust-based Python packages.
    pip install maturin
    

Project structure

The project follows a backend/license-separated structure:

xycut_project/
├── pyproject.toml      # Project and maturin configuration
├── README.md
├── Cargo.toml
├── LICENSE             # Dual-license declaration: Apache-2.0 OR GPL-3.0-or-later
├── src/
│   ├── lib.rs          # Native Python module (PyO3)
│   ├── paper/xycut_plus_plus/  # GPL Rust core
│   └── datalab/
│       ├── LICENSE     # Apache-2.0
│       └── java/       # Original Java source kept as reference/license
└── xycutppy/           # Python package source code
    └── __init__.py

Steps to generate the wheel

  1. Clone the repository (if applicable) and move to the project root (xycut_project/).

  2. Create and activate a virtual environment (recommended):

    python -m venv venv
    source venv/bin/activate  # Linux/macOS
    # venv\Scripts\activate   # Windows
    
  3. Build the project and generate the wheel: Run the following maturin command from the project root. It compiles the Rust crate in release mode and packages it with the Python wrapper into a .whl file.

    maturin build --release
    

    The generated wheel is stored in target/wheels/.

    Tip: During development, you can run maturin develop to build and install into the active virtual environment. It is faster because it skips packaging and lets you test changes immediately.

  4. Install the wheel locally for testing: Install the .whl you just created with pip:

    # Exact filename may vary by OS and Python version
    pip install target/wheels/xycutppy-0.0.2-*.whl
    

That's it. You now have a locally installed Python package ready for testing or distribution.

Metadata

Release files for xycutppy 0.1.2

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Built distributions (wheels)

Table of built distributions (wheels) for xycutppy 0.1.2
File
xycutppy-0.1.2-cp314-cp314-win_amd64.whl CPython 3.14 CPython 3.14 Windows x86-64 Details
xycutppy-0.1.2-cp314-cp314-win32.whl CPython 3.14 CPython 3.14 Windows x86-32 Details
xycutppy-0.1.2-cp314-cp314-manylinux_2_17_x86_64.manylinux2014_x86_64.whl CPython 3.14 CPython 3.14 Linux glibc 2.17+ x86-64 Details
xycutppy-0.1.2-cp314-cp314-manylinux_2_17_aarch64.manylinux2014_aarch64.whl CPython 3.14 CPython 3.14 Linux glibc 2.17+ ARM64 Details
xycutppy-0.1.2-cp314-cp314-macosx_11_0_arm64.whl CPython 3.14 CPython 3.14 macOS 11.0+ ARM64 Details
xycutppy-0.1.2-cp314-cp314-macosx_10_12_x86_64.whl CPython 3.14 CPython 3.14 macOS 10.12+ x86-64 Details
xycutppy-0.1.2-cp313-cp313-win_amd64.whl CPython 3.13 CPython 3.13 Windows x86-64 Details
xycutppy-0.1.2-cp313-cp313-win32.whl CPython 3.13 CPython 3.13 Windows x86-32 Details
xycutppy-0.1.2-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl CPython 3.13 CPython 3.13 Linux glibc 2.17+ x86-64 Details
xycutppy-0.1.2-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl CPython 3.13 CPython 3.13 Linux glibc 2.17+ ARM64 Details
xycutppy-0.1.2-cp313-cp313-macosx_11_0_arm64.whl CPython 3.13 CPython 3.13 macOS 11.0+ ARM64 Details
xycutppy-0.1.2-cp313-cp313-macosx_10_12_x86_64.whl CPython 3.13 CPython 3.13 macOS 10.12+ x86-64 Details
xycutppy-0.1.2-cp312-cp312-win_amd64.whl CPython 3.12 CPython 3.12 Windows x86-64 Details
xycutppy-0.1.2-cp312-cp312-win32.whl CPython 3.12 CPython 3.12 Windows x86-32 Details
xycutppy-0.1.2-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl CPython 3.12 CPython 3.12 Linux glibc 2.17+ x86-64 Details
xycutppy-0.1.2-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl CPython 3.12 CPython 3.12 Linux glibc 2.17+ ARM64 Details
xycutppy-0.1.2-cp312-cp312-macosx_11_0_arm64.whl CPython 3.12 CPython 3.12 macOS 11.0+ ARM64 Details
xycutppy-0.1.2-cp312-cp312-macosx_10_12_x86_64.whl CPython 3.12 CPython 3.12 macOS 10.12+ x86-64 Details
xycutppy-0.1.2-cp311-cp311-win_amd64.whl CPython 3.11 CPython 3.11 Windows x86-64 Details
xycutppy-0.1.2-cp311-cp311-win32.whl CPython 3.11 CPython 3.11 Windows x86-32 Details
xycutppy-0.1.2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl CPython 3.11 CPython 3.11 Linux glibc 2.17+ x86-64 Details
xycutppy-0.1.2-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl CPython 3.11 CPython 3.11 Linux glibc 2.17+ ARM64 Details
xycutppy-0.1.2-cp311-cp311-macosx_11_0_arm64.whl CPython 3.11 CPython 3.11 macOS 11.0+ ARM64 Details
xycutppy-0.1.2-cp311-cp311-macosx_10_12_x86_64.whl CPython 3.11 CPython 3.11 macOS 10.12+ x86-64 Details
xycutppy-0.1.2-cp310-cp310-win_amd64.whl CPython 3.10 CPython 3.10 Windows x86-64 Details
xycutppy-0.1.2-cp310-cp310-win32.whl CPython 3.10 CPython 3.10 Windows x86-32 Details
xycutppy-0.1.2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl CPython 3.10 CPython 3.10 Linux glibc 2.17+ x86-64 Details
xycutppy-0.1.2-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl CPython 3.10 CPython 3.10 Linux glibc 2.17+ ARM64 Details
xycutppy-0.1.2-cp310-cp310-macosx_11_0_arm64.whl CPython 3.10 CPython 3.10 macOS 11.0+ ARM64 Details
xycutppy-0.1.2-cp310-cp310-macosx_10_12_x86_64.whl CPython 3.10 CPython 3.10 macOS 10.12+ x86-64 Details

Total release size: 6.6 MB

Release files / xycutppy-0.1.2-cp314-cp314-win_amd64.whl

Download URL xycutppy-0.1.2-cp314-cp314-win_amd64.whl
Size 163.3 kB
Tags CPython 3.14 Windows x86-64
SHA-256 checksum
How to use checksums
e6c13c8e94aa9eaa61229f101fdb47db4e23ea837ccd24ea402deea6859677bd
BLAKE2b-256 checksum
How to use checksums
f28bd6d5519a38204eab7ec45f79d74369555078e48f42b3ab6d26548260ae72
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.12

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Jun 25, 2026.

Transparency log

Release files / xycutppy-0.1.2-cp314-cp314-win32.whl

Download URL xycutppy-0.1.2-cp314-cp314-win32.whl
Size 158.0 kB
Tags CPython 3.14 Windows x86-32
SHA-256 checksum
How to use checksums
4fc821a99140184c3f9dea122f8170262dfbe6268cef1069fc412785617850e1
BLAKE2b-256 checksum
How to use checksums
6c7be99eb7ca2a0a293c4dbd68f627706f866828ba2d2b2434a8783494444a61
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.12

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Jun 25, 2026.

Transparency log

Release files / xycutppy-0.1.2-cp314-cp314-manylinux_2_17_x86_64.manylinux2014_x86_64.whl

Download URL xycutppy-0.1.2-cp314-cp314-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Size 262.3 kB
Tags CPython 3.14 Linux glibc 2.17+ x86-64
SHA-256 checksum
How to use checksums
955fada10f47eeb5bb7db42f6a554b430d0f7655fcca0b1e449c58c30ed7d22c
BLAKE2b-256 checksum
How to use checksums
1c32ea77aeab8e1735279d39fc827ed1b35142a7a991c9b694e39efac32b1e48
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.12

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Jun 25, 2026.

Transparency log

Release files / xycutppy-0.1.2-cp314-cp314-manylinux_2_17_aarch64.manylinux2014_aarch64.whl

Download URL xycutppy-0.1.2-cp314-cp314-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Size 254.0 kB
Tags CPython 3.14 Linux glibc 2.17+ ARM64
SHA-256 checksum
How to use checksums
21438dbe68df8a5b409793d02b55fbe0420b9ec3ad4fa8245833051751b12bf5
BLAKE2b-256 checksum
How to use checksums
5c9e94d44e0c77adb67a8f3ade6d08281656da3cdfe4ce9ff6e60a093d72a1f4
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.12

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Jun 25, 2026.

Transparency log

Release files / xycutppy-0.1.2-cp314-cp314-macosx_11_0_arm64.whl

Download URL xycutppy-0.1.2-cp314-cp314-macosx_11_0_arm64.whl
Size 237.1 kB
Tags CPython 3.14 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
2b5b4836717ff9bef5f120afa703e9930daf321911bc1683218fed3ae69a5a9c
BLAKE2b-256 checksum
How to use checksums
24ab896f4442af0ed33fdec719b3398b033f7c4d1038f926b51de145327f440d
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.12

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Jun 25, 2026.

Transparency log

Release files / xycutppy-0.1.2-cp314-cp314-macosx_10_12_x86_64.whl

Download URL xycutppy-0.1.2-cp314-cp314-macosx_10_12_x86_64.whl
Size 249.3 kB
Tags CPython 3.14 macOS 10.12+ x86-64
SHA-256 checksum
How to use checksums
a442e1d55203a51999d007fe8adf90c16a1650d7b6740b0773f8c7307e258985
BLAKE2b-256 checksum
How to use checksums
3806c4758a3f4b7605d65779d92183260c0018a29f593b13450a9c321279ca6f
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.12

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Jun 25, 2026.

Transparency log

Release files / xycutppy-0.1.2-cp313-cp313-win_amd64.whl

Download URL xycutppy-0.1.2-cp313-cp313-win_amd64.whl
Size 166.2 kB
Tags CPython 3.13 Windows x86-64
SHA-256 checksum
How to use checksums
4b20e2dc595f21c63d63ddfffa57563b1e970ac25d2ade55391b206ac567e04f
BLAKE2b-256 checksum
How to use checksums
f1e764d41be7b98ad31631ccc8737d30b6e669e88321df1a89c9c480f67c97a8
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.12

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Jun 25, 2026.

Transparency log

Release files / xycutppy-0.1.2-cp313-cp313-win32.whl

Download URL xycutppy-0.1.2-cp313-cp313-win32.whl
Size 158.1 kB
Tags CPython 3.13 Windows x86-32
SHA-256 checksum
How to use checksums
45f3a89ae614061dbfc6d00a65965507389ca583ac9fc2d9a3c38796a9f407f1
BLAKE2b-256 checksum
How to use checksums
8638bba87e1a7753284bd52d375991a659c8a33455cf24da00314c5b9d103a32
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.12

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Jun 25, 2026.

Transparency log

Release files / xycutppy-0.1.2-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl

Download URL xycutppy-0.1.2-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Size 265.2 kB
Tags CPython 3.13 Linux glibc 2.17+ x86-64
SHA-256 checksum
How to use checksums
15c1c79c1e5420b85c6ae1d45a1c116a58cd54813460129011fa9b1610e55a58
BLAKE2b-256 checksum
How to use checksums
4f9ff4244fc4df107e6e9fb8531f14d142e82e2bd8d59dd0bfeb1613a663c185
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.12

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Jun 25, 2026.

Transparency log

Release files / xycutppy-0.1.2-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl

Download URL xycutppy-0.1.2-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Size 256.0 kB
Tags CPython 3.13 Linux glibc 2.17+ ARM64
SHA-256 checksum
How to use checksums
bb2d1ab37202aa3af42ee841508d6f4426df35c6b69ecdd4d739d65cc51c9adc
BLAKE2b-256 checksum
How to use checksums
dd1c872b46d6e6aa703a732db3c80e1ee271ec82c433ba9726a839c506f70e0d
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.12

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Jun 25, 2026.

Transparency log

Release files / xycutppy-0.1.2-cp313-cp313-macosx_11_0_arm64.whl

Download URL xycutppy-0.1.2-cp313-cp313-macosx_11_0_arm64.whl
Size 237.0 kB
Tags CPython 3.13 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
4623a04ac73a06e5d9cb3e55ee98105c3066f28bc58f9557982e9692e744d422
BLAKE2b-256 checksum
How to use checksums
b8af1466815f499cbe9e6c3f1234af0de7e036aedcb3542d9bfc106524557953
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.12

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Jun 25, 2026.

Transparency log

Release files / xycutppy-0.1.2-cp313-cp313-macosx_10_12_x86_64.whl

Download URL xycutppy-0.1.2-cp313-cp313-macosx_10_12_x86_64.whl
Size 249.4 kB
Tags CPython 3.13 macOS 10.12+ x86-64
SHA-256 checksum
How to use checksums
6b8d38a451b0eef1b4100d30f19cbe83ba6680d30f41d6463d9a29004916a014
BLAKE2b-256 checksum
How to use checksums
fb2a694e97264f137ab21a687afcf3f90cc848fb06a678ce1f7008375da1dadb
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.12

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Jun 25, 2026.

Transparency log

Release files / xycutppy-0.1.2-cp312-cp312-win_amd64.whl

Download URL xycutppy-0.1.2-cp312-cp312-win_amd64.whl
Size 165.9 kB
Tags CPython 3.12 Windows x86-64
SHA-256 checksum
How to use checksums
9502b0db79d5f1c09b36eb84bc4b6d743807841ba92489851fb07cfa08749699
BLAKE2b-256 checksum
How to use checksums
358c2ce598526e1e24f394357d79918b5678504615f13728fb3e29fa2d3a25fa
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.12

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Jun 25, 2026.

Transparency log

Release files / xycutppy-0.1.2-cp312-cp312-win32.whl

Download URL xycutppy-0.1.2-cp312-cp312-win32.whl
Size 158.0 kB
Tags CPython 3.12 Windows x86-32
SHA-256 checksum
How to use checksums
5fd37d84a0264018c0eb086b2bc7268f7e07b297ff12b05e6717d288ab6032fd
BLAKE2b-256 checksum
How to use checksums
baadd95cc3e663570d524b3dee976761ab079e47ce0ed2f70b19374505e36785
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.12

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Jun 25, 2026.

Transparency log

Release files / xycutppy-0.1.2-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl

Download URL xycutppy-0.1.2-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Size 264.8 kB
Tags CPython 3.12 Linux glibc 2.17+ x86-64
SHA-256 checksum
How to use checksums
8e1b87476386b504e61e5bcd7af159374e6e2d7d1a7daa3741b625ebfe764335
BLAKE2b-256 checksum
How to use checksums
3a205fffff71cca8ed34235a73aff8f45f74233e515b3f31d07f76a9455727be
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.12

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Jun 25, 2026.

Transparency log

Release files / xycutppy-0.1.2-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl

Download URL xycutppy-0.1.2-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Size 255.7 kB
Tags CPython 3.12 Linux glibc 2.17+ ARM64
SHA-256 checksum
How to use checksums
00b28afe6ceea21e846e8dccd840bf79b9c09735327ad3e6821ea890c61ba046
BLAKE2b-256 checksum
How to use checksums
0bd342348f11e372a541ceed4419cdf7541749ecfc1dd9585758b68d90f60a51
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.12

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Jun 25, 2026.

Transparency log

Release files / xycutppy-0.1.2-cp312-cp312-macosx_11_0_arm64.whl

Download URL xycutppy-0.1.2-cp312-cp312-macosx_11_0_arm64.whl
Size 236.7 kB
Tags CPython 3.12 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
b9595f1a54a9254c00ac9f7ffc0d8cd72ec788c0c7dfca9cbdc116e96630c877
BLAKE2b-256 checksum
How to use checksums
c6185298cfe9cb6a8a030ef6e2a73ebbfbf3b9396beb4ba9ecfe7c95bde79df9
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.12

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Jun 25, 2026.

Transparency log

Release files / xycutppy-0.1.2-cp312-cp312-macosx_10_12_x86_64.whl

Download URL xycutppy-0.1.2-cp312-cp312-macosx_10_12_x86_64.whl
Size 248.9 kB
Tags CPython 3.12 macOS 10.12+ x86-64
SHA-256 checksum
How to use checksums
1e382a150f58bf91f277908fd6c0cc0d8cb80484eebeecf9c45a62d9c6dc5f5d
BLAKE2b-256 checksum
How to use checksums
f6bae27c6a1e08cf66e95d4905a909a07b9a9041bdab706a477aa2a37cfaf393
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.12

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Jun 24, 2026.

Transparency log

Release files / xycutppy-0.1.2-cp311-cp311-win_amd64.whl

Download URL xycutppy-0.1.2-cp311-cp311-win_amd64.whl
Size 162.6 kB
Tags CPython 3.11 Windows x86-64
SHA-256 checksum
How to use checksums
b2b8ac78d739f1577bf0eddf8c8f77b9a0cd3f3e49c4554e20a5184eda7f1f4e
BLAKE2b-256 checksum
How to use checksums
5c107259d0a86b3af0b5be00b7553d5b1d7db05e37ff8e93dafb9c9ccbcd4391
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.12

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Jun 24, 2026.

Transparency log

Release files / xycutppy-0.1.2-cp311-cp311-win32.whl

Download URL xycutppy-0.1.2-cp311-cp311-win32.whl
Size 158.0 kB
Tags CPython 3.11 Windows x86-32
SHA-256 checksum
How to use checksums
ad8077509d6c05716dd2506de2b42affd2ba7b39f6ac02b164d1b4fe843c1d1d
BLAKE2b-256 checksum
How to use checksums
ac0e28c80b6355bc528ae8c27c658624abfb17503bd32fb114fa0961e17893eb
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.12

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Jun 24, 2026.

Transparency log

Release files / xycutppy-0.1.2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl

Download URL xycutppy-0.1.2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Size 261.2 kB
Tags CPython 3.11 Linux glibc 2.17+ x86-64
SHA-256 checksum
How to use checksums
1cbd768456cc66f88f34805f47649397668aa8ff5807c3c7026d2d86db43fe63
BLAKE2b-256 checksum
How to use checksums
a48ff55efb818e1717fa7e2419a458b258cc274ba554a5ff0334019e45d58472
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.12

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Jun 24, 2026.

Transparency log

Release files / xycutppy-0.1.2-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl

Download URL xycutppy-0.1.2-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Size 253.5 kB
Tags CPython 3.11 Linux glibc 2.17+ ARM64
SHA-256 checksum
How to use checksums
c480253f609872a20d984e3a626da46274a4c70376d569f9d331d55b703d3650
BLAKE2b-256 checksum
How to use checksums
c516e047a7d236206b5cb4d4202136a941878366d76b6879b2ff7e3a50751fec
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.12

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Jun 24, 2026.

Transparency log

Release files / xycutppy-0.1.2-cp311-cp311-macosx_11_0_arm64.whl

Download URL xycutppy-0.1.2-cp311-cp311-macosx_11_0_arm64.whl
Size 237.1 kB
Tags CPython 3.11 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
fc7937b320d2baa2a6a856b9a51ace22e01ca1ff1bdd219c271fa9e4d6d1c47c
BLAKE2b-256 checksum
How to use checksums
3ce5bfe6746708ec58ca47448e5064d27dc72acf56c56934ce5fc589dcd05003
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.12

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Jun 24, 2026.

Transparency log

Release files / xycutppy-0.1.2-cp311-cp311-macosx_10_12_x86_64.whl

Download URL xycutppy-0.1.2-cp311-cp311-macosx_10_12_x86_64.whl
Size 249.2 kB
Tags CPython 3.11 macOS 10.12+ x86-64
SHA-256 checksum
How to use checksums
1234be708d8aece2a1dc78201064a526e149edd633f20512f4d1162f9a04b85f
BLAKE2b-256 checksum
How to use checksums
bfa83d2a2bc97f0afa373d1c9b00e3c8f9bedfce4685bfb1938d4d30801b6c74
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.12

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Jun 24, 2026.

Transparency log

Release files / xycutppy-0.1.2-cp310-cp310-win_amd64.whl

Download URL xycutppy-0.1.2-cp310-cp310-win_amd64.whl
Size 162.6 kB
Tags CPython 3.10 Windows x86-64
SHA-256 checksum
How to use checksums
f93e0b9e8cd305c072c430045461cf040f456f3c00d583a0c2a9f6074c512367
BLAKE2b-256 checksum
How to use checksums
993deb3d46e61822b535c4d6832254d465c64dea00bfe45d7220e998d9f58f56
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.12

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Jun 24, 2026.

Transparency log

Release files / xycutppy-0.1.2-cp310-cp310-win32.whl

Download URL xycutppy-0.1.2-cp310-cp310-win32.whl
Size 158.3 kB
Tags CPython 3.10 Windows x86-32
SHA-256 checksum
How to use checksums
bac72090e49727feccd85a653f891e5525d1def366e5a85592a5274405cb5f74
BLAKE2b-256 checksum
How to use checksums
7b9bb776c8bfd60471b6de94ed460250643fc4312811b645e9de2af253c5665d
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.12

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Jun 24, 2026.

Transparency log

Release files / xycutppy-0.1.2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl

Download URL xycutppy-0.1.2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Size 261.3 kB
Tags CPython 3.10 Linux glibc 2.17+ x86-64
SHA-256 checksum
How to use checksums
49c552dee2833c07df52bd3b087abd0b0e0c97580ac2f1a76e45e12ae34469d9
BLAKE2b-256 checksum
How to use checksums
778e5a5cace4dba9be9ec61c48b729fab6c74174d24208d2cc3a0d3f63509f67
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.12

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Jun 24, 2026.

Transparency log

Release files / xycutppy-0.1.2-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl

Download URL xycutppy-0.1.2-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Size 253.8 kB
Tags CPython 3.10 Linux glibc 2.17+ ARM64
SHA-256 checksum
How to use checksums
d656d8ffb30469465cbc88e83a65480b28d88c5578e6da49ef605f7c4c184577
BLAKE2b-256 checksum
How to use checksums
a818487694f524f21cf3861848577aeca0fbd882a9db731ea447d45cf044db77
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.12

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Jun 24, 2026.

Transparency log

Release files / xycutppy-0.1.2-cp310-cp310-macosx_11_0_arm64.whl

Download URL xycutppy-0.1.2-cp310-cp310-macosx_11_0_arm64.whl
Size 237.3 kB
Tags CPython 3.10 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
837f3b62e50519c8689b86f998f1806824154c165deba1f2d6edbe63cf3d2e7d
BLAKE2b-256 checksum
How to use checksums
67e3507507712aa02815296ce2adf1456c31b712f4d58adee640964af9d8d931
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.12

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Jun 24, 2026.

Transparency log

Release files / xycutppy-0.1.2-cp310-cp310-macosx_10_12_x86_64.whl

Download URL xycutppy-0.1.2-cp310-cp310-macosx_10_12_x86_64.whl
Size 249.5 kB
Tags CPython 3.10 macOS 10.12+ x86-64
SHA-256 checksum
How to use checksums
3a5e1e419efc982bb0f292e4e0360ab8e86e444f5d4f3542b736ecf78408054e
BLAKE2b-256 checksum
How to use checksums
dd9a7da724fd307cfce93fd00fafd8773e8de700ee6b7f57dce4c0d6a9dc6262
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.12

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Jun 24, 2026.

Transparency log

Release history Release notifications | RSS feed

This release

0.1.2 This release

30 release files

0.1.1

5 release files

0.1.0

1 release file

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page