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-paper 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-paper 0.1.2
File
xycutppy_paper-0.1.2-cp314-cp314-win_amd64.whl CPython 3.14 CPython 3.14 Windows x86-64 Details
xycutppy_paper-0.1.2-cp314-cp314-win32.whl CPython 3.14 CPython 3.14 Windows x86-32 Details
xycutppy_paper-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_paper-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_paper-0.1.2-cp314-cp314-macosx_11_0_arm64.whl CPython 3.14 CPython 3.14 macOS 11.0+ ARM64 Details
xycutppy_paper-0.1.2-cp314-cp314-macosx_10_12_x86_64.whl CPython 3.14 CPython 3.14 macOS 10.12+ x86-64 Details
xycutppy_paper-0.1.2-cp313-cp313-win_amd64.whl CPython 3.13 CPython 3.13 Windows x86-64 Details
xycutppy_paper-0.1.2-cp313-cp313-win32.whl CPython 3.13 CPython 3.13 Windows x86-32 Details
xycutppy_paper-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_paper-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_paper-0.1.2-cp313-cp313-macosx_11_0_arm64.whl CPython 3.13 CPython 3.13 macOS 11.0+ ARM64 Details
xycutppy_paper-0.1.2-cp313-cp313-macosx_10_12_x86_64.whl CPython 3.13 CPython 3.13 macOS 10.12+ x86-64 Details
xycutppy_paper-0.1.2-cp312-cp312-win_amd64.whl CPython 3.12 CPython 3.12 Windows x86-64 Details
xycutppy_paper-0.1.2-cp312-cp312-win32.whl CPython 3.12 CPython 3.12 Windows x86-32 Details
xycutppy_paper-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_paper-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_paper-0.1.2-cp312-cp312-macosx_11_0_arm64.whl CPython 3.12 CPython 3.12 macOS 11.0+ ARM64 Details
xycutppy_paper-0.1.2-cp312-cp312-macosx_10_12_x86_64.whl CPython 3.12 CPython 3.12 macOS 10.12+ x86-64 Details
xycutppy_paper-0.1.2-cp311-cp311-win_amd64.whl CPython 3.11 CPython 3.11 Windows x86-64 Details
xycutppy_paper-0.1.2-cp311-cp311-win32.whl CPython 3.11 CPython 3.11 Windows x86-32 Details
xycutppy_paper-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_paper-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_paper-0.1.2-cp311-cp311-macosx_11_0_arm64.whl CPython 3.11 CPython 3.11 macOS 11.0+ ARM64 Details
xycutppy_paper-0.1.2-cp311-cp311-macosx_10_12_x86_64.whl CPython 3.11 CPython 3.11 macOS 10.12+ x86-64 Details
xycutppy_paper-0.1.2-cp310-cp310-win_amd64.whl CPython 3.10 CPython 3.10 Windows x86-64 Details
xycutppy_paper-0.1.2-cp310-cp310-win32.whl CPython 3.10 CPython 3.10 Windows x86-32 Details
xycutppy_paper-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_paper-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_paper-0.1.2-cp310-cp310-macosx_11_0_arm64.whl CPython 3.10 CPython 3.10 macOS 11.0+ ARM64 Details
xycutppy_paper-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: 8.0 MB

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

Download URL xycutppy_paper-0.1.2-cp314-cp314-win_amd64.whl
Size 209.4 kB
Tags CPython 3.14 Windows x86-64
SHA-256 checksum
How to use checksums
e74c104effe3772b1ccf1aae0d62b3d987f78afe315da3ba7b1edc7c76a17334
BLAKE2b-256 checksum
How to use checksums
cdc86db2cfc9bd9767aae8037f7bd8d0a0f4a7e3414443aff8cc64814e372102
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_paper-0.1.2-cp314-cp314-win32.whl

Download URL xycutppy_paper-0.1.2-cp314-cp314-win32.whl
Size 205.4 kB
Tags CPython 3.14 Windows x86-32
SHA-256 checksum
How to use checksums
0417c40af7b26b660073e4d9f29793520bb21f0006883486be2caa7f06782ecd
BLAKE2b-256 checksum
How to use checksums
3e80ce05800c2f798fb1e58ec4202eb2164724dce7dc3c8b7546da09efb8d90a
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_paper-0.1.2-cp314-cp314-manylinux_2_17_x86_64.manylinux2014_x86_64.whl

Download URL xycutppy_paper-0.1.2-cp314-cp314-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Size 309.4 kB
Tags CPython 3.14 Linux glibc 2.17+ x86-64
SHA-256 checksum
How to use checksums
4a1b8b79d2e40d606688312f5a92c9f3a8f0f31654aa1843dbe8d4fbf3c1c075
BLAKE2b-256 checksum
How to use checksums
b5727e974af64cb9ccc43a0bc750fbc7132e583d6bdef4632098abf024beeb48
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_paper-0.1.2-cp314-cp314-manylinux_2_17_aarch64.manylinux2014_aarch64.whl

Download URL xycutppy_paper-0.1.2-cp314-cp314-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Size 297.0 kB
Tags CPython 3.14 Linux glibc 2.17+ ARM64
SHA-256 checksum
How to use checksums
83fe5cfc41fb53655f3b4dbe67620d310973502167c396843857904efa50952d
BLAKE2b-256 checksum
How to use checksums
3996cacab7eda80bf72558508a29d5091defb22764801b2602b7df271137e246
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_paper-0.1.2-cp314-cp314-macosx_11_0_arm64.whl

Download URL xycutppy_paper-0.1.2-cp314-cp314-macosx_11_0_arm64.whl
Size 278.7 kB
Tags CPython 3.14 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
1f461893adc8983b35ead1acf35e03e55a924169929bb7bc5620421f8f49e269
BLAKE2b-256 checksum
How to use checksums
c049c25e45575250fe61dd62769b8a649602696625b2833a08e55203320680a2
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_paper-0.1.2-cp314-cp314-macosx_10_12_x86_64.whl

Download URL xycutppy_paper-0.1.2-cp314-cp314-macosx_10_12_x86_64.whl
Size 295.3 kB
Tags CPython 3.14 macOS 10.12+ x86-64
SHA-256 checksum
How to use checksums
203bdbc76d37c1ecff35642b7e7d89d241a51e2c6c4450185b42f692f2f99dc9
BLAKE2b-256 checksum
How to use checksums
ea14c3bdcd8ba1f940b15579127a108804c2c6f90739b223f5a792a79c52bed2
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_paper-0.1.2-cp313-cp313-win_amd64.whl

Download URL xycutppy_paper-0.1.2-cp313-cp313-win_amd64.whl
Size 212.7 kB
Tags CPython 3.13 Windows x86-64
SHA-256 checksum
How to use checksums
1e535dc8cc605bf6f09c3931d086f0e0f598e450c99a0cdb3622cf9e39149d32
BLAKE2b-256 checksum
How to use checksums
5c62382560e647c5ff3e8e0a8916489a12b9a29ee553f4ed7e4c018c37726c29
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_paper-0.1.2-cp313-cp313-win32.whl

Download URL xycutppy_paper-0.1.2-cp313-cp313-win32.whl
Size 205.4 kB
Tags CPython 3.13 Windows x86-32
SHA-256 checksum
How to use checksums
fdc77ec19da11b5ed0f6ff9b8eb7980a4074997c82ecaa70521b5932214eb9e9
BLAKE2b-256 checksum
How to use checksums
e2d70b97f0b68b3e28299fd0c299007140f7b3d2d003047193b4f191fd7583f5
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_paper-0.1.2-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl

Download URL xycutppy_paper-0.1.2-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Size 312.4 kB
Tags CPython 3.13 Linux glibc 2.17+ x86-64
SHA-256 checksum
How to use checksums
e9a748012dea5c38d88d94b741c04e21fe47b6eea26b116932a4283402ed2b8c
BLAKE2b-256 checksum
How to use checksums
5ef5c822533598d6d323ac52b17be34f9f41413aa499e6ff7e15d163b817db98
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_paper-0.1.2-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl

Download URL xycutppy_paper-0.1.2-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Size 298.9 kB
Tags CPython 3.13 Linux glibc 2.17+ ARM64
SHA-256 checksum
How to use checksums
6b507ba162a01002b3b6adef459ec77ff4bccaea3798dbfcca6ccc6c540badf4
BLAKE2b-256 checksum
How to use checksums
c2bfe28f6b7d4bfd7770d8a70a4507b72e5ecacfeeddcec430c9b939507a9d13
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_paper-0.1.2-cp313-cp313-macosx_11_0_arm64.whl

Download URL xycutppy_paper-0.1.2-cp313-cp313-macosx_11_0_arm64.whl
Size 278.7 kB
Tags CPython 3.13 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
a6dc62400c3b4b0343d5211a606b714947e99c09d2c82be18dbc6a56a8143b62
BLAKE2b-256 checksum
How to use checksums
5ad6dd8c3c61cd00ab4e8a9c4a0fd651680b1168bfc1d5d44000ab86e9a825f1
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_paper-0.1.2-cp313-cp313-macosx_10_12_x86_64.whl

Download URL xycutppy_paper-0.1.2-cp313-cp313-macosx_10_12_x86_64.whl
Size 295.5 kB
Tags CPython 3.13 macOS 10.12+ x86-64
SHA-256 checksum
How to use checksums
f7fd312622d8f7f3be2476a7902d984e84046f8af6b3aff67a77c753cda34712
BLAKE2b-256 checksum
How to use checksums
ab2e7631b80249d93d34c813c5c4fb8a7e66f496c3e5479788ac99d169bb75f1
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_paper-0.1.2-cp312-cp312-win_amd64.whl

Download URL xycutppy_paper-0.1.2-cp312-cp312-win_amd64.whl
Size 212.2 kB
Tags CPython 3.12 Windows x86-64
SHA-256 checksum
How to use checksums
4e4f99c94e3506d6ac1fba472de6475abcc005a85e55d1dab21ad2325126b8af
BLAKE2b-256 checksum
How to use checksums
402d53b2c867102711155af886d83be89f0f273a2aa8229d5428489d2d31b5db
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_paper-0.1.2-cp312-cp312-win32.whl

Download URL xycutppy_paper-0.1.2-cp312-cp312-win32.whl
Size 205.3 kB
Tags CPython 3.12 Windows x86-32
SHA-256 checksum
How to use checksums
4bbbd4f2182e4cfae12a025553feaa3c4d63bfcf03cc8eecdd9b793d48ee5d8a
BLAKE2b-256 checksum
How to use checksums
dc54bedfef82ca5fd37ce66eac23b268097af2d024ebf4c418a008a3050e00d7
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_paper-0.1.2-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl

Download URL xycutppy_paper-0.1.2-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Size 312.0 kB
Tags CPython 3.12 Linux glibc 2.17+ x86-64
SHA-256 checksum
How to use checksums
ee340bb43958a6e3db62fd338a3aded80a43ca8e64b61df51fb98642a3fddec8
BLAKE2b-256 checksum
How to use checksums
ca993a221c85814f607c72753f26f6e6170b318e61bc2da9a2c5153b5f957d1b
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_paper-0.1.2-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl

Download URL xycutppy_paper-0.1.2-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Size 298.4 kB
Tags CPython 3.12 Linux glibc 2.17+ ARM64
SHA-256 checksum
How to use checksums
98fa767cadf34d0d3de01e7232e8945583f80c9226e97a1211b53e469c8e3aad
BLAKE2b-256 checksum
How to use checksums
035525670079d20bdc701939ef0b4cc80448dca87a21778f649746372facca59
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_paper-0.1.2-cp312-cp312-macosx_11_0_arm64.whl

Download URL xycutppy_paper-0.1.2-cp312-cp312-macosx_11_0_arm64.whl
Size 278.3 kB
Tags CPython 3.12 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
cc550f8e20692d196dd43ece55c287f25d4be00fdcb09650134dcf2891c4e1e2
BLAKE2b-256 checksum
How to use checksums
2949ed17ffff25bee7096f58335c59f0cfcbe3917e0bf44c6930afbc1d8b2138
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_paper-0.1.2-cp312-cp312-macosx_10_12_x86_64.whl

Download URL xycutppy_paper-0.1.2-cp312-cp312-macosx_10_12_x86_64.whl
Size 295.0 kB
Tags CPython 3.12 macOS 10.12+ x86-64
SHA-256 checksum
How to use checksums
2f46c3dd94938d6b02cc058e30f1b571659347cc718f1698d101c99201e250a9
BLAKE2b-256 checksum
How to use checksums
efa70575c96351e9fcabf7bbf9369c9399c76aa4ee58d2d99a7d8870cf7ec665
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_paper-0.1.2-cp311-cp311-win_amd64.whl

Download URL xycutppy_paper-0.1.2-cp311-cp311-win_amd64.whl
Size 208.5 kB
Tags CPython 3.11 Windows x86-64
SHA-256 checksum
How to use checksums
a6131df0245ba9b853b3f4c6a52b93d4261134ae4137da0f8421eaaf5aed7cdb
BLAKE2b-256 checksum
How to use checksums
8c08cebbfa800a273d3d8c8412f4d58344b59c18f195dcf0a6fb45e50eb98687
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_paper-0.1.2-cp311-cp311-win32.whl

Download URL xycutppy_paper-0.1.2-cp311-cp311-win32.whl
Size 205.2 kB
Tags CPython 3.11 Windows x86-32
SHA-256 checksum
How to use checksums
0901993754c3eb34cc8abff2ba0dca8aaa19677d84cd3ac40eb7d2387c5bada8
BLAKE2b-256 checksum
How to use checksums
754fa6ff5f0bba7a668380095520aa94f27f45e9cd4a9ab8b213a1b9ce72e367
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_paper-0.1.2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl

Download URL xycutppy_paper-0.1.2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Size 308.3 kB
Tags CPython 3.11 Linux glibc 2.17+ x86-64
SHA-256 checksum
How to use checksums
e0f887b60c49b972caa4e99ff554ad5a0b6d46cdc561369b9a62248a0c71933a
BLAKE2b-256 checksum
How to use checksums
b67b62907461c1028318a93a6ffcb34b2693259dbb1e49b85cb4c5533cb128a3
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_paper-0.1.2-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl

Download URL xycutppy_paper-0.1.2-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Size 296.2 kB
Tags CPython 3.11 Linux glibc 2.17+ ARM64
SHA-256 checksum
How to use checksums
39cf19fb36849f14bf7cf1e9aac62c12bd2edc8f1013bb4ea8d40020c8233ef0
BLAKE2b-256 checksum
How to use checksums
3f241d07ad1dcda8f284f927fcf2a14df3065ea20384edeefb573828bdfe45d6
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_paper-0.1.2-cp311-cp311-macosx_11_0_arm64.whl

Download URL xycutppy_paper-0.1.2-cp311-cp311-macosx_11_0_arm64.whl
Size 278.7 kB
Tags CPython 3.11 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
3c189dc63ac6b5f30b156dc1e2eb3f42cee86b30185f68f9a0b95f56cef4e50e
BLAKE2b-256 checksum
How to use checksums
c7fe380af9908f1013461438a3b23fc1bb1824ce8f24197016b72f31e5c9da06
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_paper-0.1.2-cp311-cp311-macosx_10_12_x86_64.whl

Download URL xycutppy_paper-0.1.2-cp311-cp311-macosx_10_12_x86_64.whl
Size 295.2 kB
Tags CPython 3.11 macOS 10.12+ x86-64
SHA-256 checksum
How to use checksums
edb4eceeec585ddcd764a6849cd01ad4a60f15c8372ef97eaa1284e9a6166930
BLAKE2b-256 checksum
How to use checksums
d888242d909bacbfc27cf56303a776d7a0615fba269a3e65c6effc51dd027518
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_paper-0.1.2-cp310-cp310-win_amd64.whl

Download URL xycutppy_paper-0.1.2-cp310-cp310-win_amd64.whl
Size 208.6 kB
Tags CPython 3.10 Windows x86-64
SHA-256 checksum
How to use checksums
db0b9abf7a8b83d416b9968c82ad50415283691a739ebeee0fe8354d8b441cb8
BLAKE2b-256 checksum
How to use checksums
3da1fdf38d6f563fd065ce0ee4cb3cfab4ef1b3a1be7c0788cd023b0cab1b8c1
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_paper-0.1.2-cp310-cp310-win32.whl

Download URL xycutppy_paper-0.1.2-cp310-cp310-win32.whl
Size 205.4 kB
Tags CPython 3.10 Windows x86-32
SHA-256 checksum
How to use checksums
3705e09eaeff0363e2abe95ae89d38cfb3385c1f90550ae9c50a36c00096d74d
BLAKE2b-256 checksum
How to use checksums
5a0cf4324f5af515859f8756825a667680d0423cedd2087139daddc3c9de4839
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_paper-0.1.2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl

Download URL xycutppy_paper-0.1.2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Size 308.4 kB
Tags CPython 3.10 Linux glibc 2.17+ x86-64
SHA-256 checksum
How to use checksums
28d012b2391cad06838e5c7a05331bc36550cea95d437c3b7710c965841ea6ee
BLAKE2b-256 checksum
How to use checksums
d46af3474afc7bbb6ba840c5fd21e7267e74e51aeebf3fe324a083c0aba5317d
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_paper-0.1.2-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl

Download URL xycutppy_paper-0.1.2-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Size 296.6 kB
Tags CPython 3.10 Linux glibc 2.17+ ARM64
SHA-256 checksum
How to use checksums
2bc39bc9776ee8da5a231a271548fed90b9c154c6da78c649d7394f8c0edac0b
BLAKE2b-256 checksum
How to use checksums
f2e8646fadb9e41c64e106e2de87c654a180e2996299376e3f47fbc0c2ca25f9
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_paper-0.1.2-cp310-cp310-macosx_11_0_arm64.whl

Download URL xycutppy_paper-0.1.2-cp310-cp310-macosx_11_0_arm64.whl
Size 278.9 kB
Tags CPython 3.10 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
0bd3fbc50612d12d0acf86eba285f5321e9c4f54f671a234b30475b166519d90
BLAKE2b-256 checksum
How to use checksums
2e35589e9e817282b93db5586f17f415d6dc12120165e33ec9322a4b4c1fd280
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_paper-0.1.2-cp310-cp310-macosx_10_12_x86_64.whl

Download URL xycutppy_paper-0.1.2-cp310-cp310-macosx_10_12_x86_64.whl
Size 295.5 kB
Tags CPython 3.10 macOS 10.12+ x86-64
SHA-256 checksum
How to use checksums
1410358f5253b55b4c5a53f820259abc0b2b3942ef0b61fb9cc9f0943bb84681
BLAKE2b-256 checksum
How to use checksums
277a25f6aba772e69b1876c082db389302eadcb5e652b5deffd09372832e2bcc
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.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