Skip to main content

LibLathe Python package codecov PyPI Python versions

LibLathe is an opensource standalone python library for generating turning paths and gcode for use with cnc lathes.

| ⚠️ WARNING: LibLathe is currently experimental / Proof of concept and only suitable for testing. |

Installation

Installing liblathe from PYPI

pip install liblathe

Local install for testing

pip install .

⚠️ Some systems require that packages are system installed. Liblathe can be installed for development purposes. Note: This may break your system

pip install . --break-system-packages
pip uninstall liblathe --break-system-packages

Build

Liblathe is a python library with a C++ core. Liblathe core can be compiled and tested inplace using the following steps:

Native C++ types live in the liblathe namespace, for example liblathe::Point. Python module and class names are unchanged. Rebuild all five native extensions together when updating the native headers.

cd Liblathe
cmake .
make

Local testing

python3 ./examples/defeature_example.py

Tests

After building, run the Python suite with pytest --ignore=extern, as used by the test workflows. These tests exercise the compiled C++ core through Python.

The native memory driver is an optional diagnostic for investigating C++ memory issues, not a required test or CI step. Its header contains the manual build and sanitizer instructions.

Design

Part profiles are lines and arcs in X (radius) and Z (axis). LibLathe plans cuts in two geometry steps:

  1. Defeature: the tool is moved along the part and only the area it can actually reach is kept, removing features that can't be turned, such as undercuts.
  2. Offset: a signed distance field (SDF) gives the distance from any point to the profile. A quadtree samples it, refining only near the target distance. Points at that distance are collected, ordered and simplified with the Ramer-Douglas-Peucker (RDP) algorithm into the offset path.

The operations (face, rough, profile and part-off) combine these steps into toolpaths and gcode. The geometry core is C++ exposed to Python with pybind11.

Defeature retains the complete line/arc insert footprint and checks containment as well as edge crossings. Returned points are tool origins, not contact points. Connecting moves and simplified chords must pass an adaptive full-footprint sweep check against the original part. Unsafe direct connectors use a verified axis-aligned route; geometry that cannot be certified within coordinate precision or the subdivision limit raises an error instead of returning an unchecked move. This checks the defeature envelope only, not subsequent offsets, operation paths, or stock clearance on entry and retract moves.

G-code entry and retract routing uses the complete rotated insert bounds to keep rapid moves outside the original stock envelope. The clearance parameter must be finite and non-negative; routing applies a minimum clearance of 0.01 model units. Approaches and escapes use feed moves at hfeed, so these moves may remove stock. Profile and roughing operations certify the added feeds against the original part with SegmentGroup.validateToolSweep; an uncertifiable approach or escape raises an error instead of publishing partial commands for that group. Facing and parting use the same stock-clear rapid routing but may intentionally cut the original part region. Rebuild the native extensions for the new sweep validation binding before using the updated Python routing code.

This conservative routing does not track previously cleared stock. It checks the first rapid destination, not travel from an unknown initial machine position, and does not certify holders, fixtures, all original cutting moves, or machining safety. Reference-equivalent final stock remains a separate validation requirement.

SegmentGroup.getRadialContactPoint() derives a cutting-edge datum from the native outline, including arc extrema and the axial midpoint of a flat innermost edge. Roughing uses it to express physical stock limits in tool-origin coordinates and anchors its pass grid to the stock, rather than a sampled offset endpoint. Profile uses the same datum for its lead-in plane. These changes require rebuilt native bindings; they do not establish reference-equivalent Profile final stock.

The SDF uses the profile closed back to X = 0: sign and distance include the same boundary. Artificial closing edges do not generate offset candidates; faces explicitly included in the profile remain eligible. The existing start-Z clip is retained. In LibLathe's plotted view, Z is horizontal and X increases downward from the centreline.

Offset extraction retains nearest-neighbour ordering when it passes the contour certificate. If that ordering fails, the same candidate points are reordered along the original profile, including corner arcs, and checked again against the unchanged 0.05 model-unit accuracy limit. Uncertifiable or collapsed contours still raise an error; chord failures report their endpoints and midpoint error.

See ARCHITECTURE.md for the trade-offs and alternative approaches.

Spindle Side

Tool.side requires a ToolSide enumeration member from liblathe.tool.tool: ToolSide.NEAR (default, positive X) or ToolSide.FAR (negative X). Strings are rejected. This development API requires an updated build; an older package reporting 0.0.8 may lack the enum. Supply the tool outline in its actual physical orientation. For Far, supply negative-X part and stock geometry too; positive-X stock or part inputs are rejected. BaseOP.getGCode() plans on reflected copies of all three inputs, then returns physical signed commands, tool_paths and clearing_paths. Reflection reverses segment bulges, G2/G3 and I offsets, including rapid and retract X positions. Original inputs are not modified, and near-side behavior is unchanged.

The returned Far-side commands remain negative X. X positions and I arc-centre offsets are negated; G2/G3 are swapped. Z, K and feed values are unchanged. Side does not choose spindle speed, M3/M4, tool handedness or controller G41/G42. The machine integration must match this signed-X contract to its controller.

This selects the spindle side, not inside/outside machining. Internal boring requires separate operation support. Full operation-path safety and native-tool precision sensitivity remain unresolved; signed-side output is experimental and is not machining approval.

Native Tool Geometry

Tool.set_tool_from_segments() accepts the actual XZ insert outline, including rounded nose arcs. Outline coordinates are relative to the selected tool origin; returned paths position that origin, not a separately calculated contact point. The caller supplies the physical pose and datum. LibLathe does not have a Compensation selector or automatically recenter an imported insert.

Leave tool_rotation at zero for geometry that is already rotated. Its optional rotation acts around the supplied origin; it is not the add-on's absolute insert angle or a controller Q orientation. Changing side does not rotate the stored insert or select its active nose.

See the tooling manual for the API, coordinate conventions and side-planning details.

Examples

Facing:

Facing Example

Roughing:

Roughing Example

Profiling:

Profiling Example

Parting:

Parting Example

Metadata

Release files for liblathe 0.0.9

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

Source distribution (sdist)

Source distribution for liblathe 0.0.9
File Size Uploaded Provenance Actions
liblathe-0.0.9.tar.gz 50.3 kB With provenance Details for liblathe-0.0.9.tar.gz

Built distributions (wheels)

Table of built distributions (wheels) for liblathe 0.0.9
File Actions
liblathe-0.0.9-pp310-pypy310_pp73-win_amd64.whl PyPy 3.10 PyPy 3.10 7.3 Windows x86-64 Details for liblathe-0.0.9-pp310-pypy310_pp73-win_amd64.whl
liblathe-0.0.9-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl PyPy 3.10 PyPy 3.10 7.3 Linux glibc 2.17+ x86-64 Details for liblathe-0.0.9-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
liblathe-0.0.9-cp313-cp313-win_amd64.whl CPython 3.13 CPython 3.13 Windows x86-64 Details for liblathe-0.0.9-cp313-cp313-win_amd64.whl
liblathe-0.0.9-cp313-cp313-musllinux_1_2_x86_64.whl CPython 3.13 CPython 3.13 Linux musl 1.2+ x86-64 Details for liblathe-0.0.9-cp313-cp313-musllinux_1_2_x86_64.whl
liblathe-0.0.9-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl CPython 3.13 CPython 3.13 Linux glibc 2.17+ x86-64 Details for liblathe-0.0.9-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
liblathe-0.0.9-cp312-cp312-win_amd64.whl CPython 3.12 CPython 3.12 Windows x86-64 Details for liblathe-0.0.9-cp312-cp312-win_amd64.whl
liblathe-0.0.9-cp312-cp312-musllinux_1_2_x86_64.whl CPython 3.12 CPython 3.12 Linux musl 1.2+ x86-64 Details for liblathe-0.0.9-cp312-cp312-musllinux_1_2_x86_64.whl
liblathe-0.0.9-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl CPython 3.12 CPython 3.12 Linux glibc 2.17+ x86-64 Details for liblathe-0.0.9-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
liblathe-0.0.9-cp311-cp311-win_amd64.whl CPython 3.11 CPython 3.11 Windows x86-64 Details for liblathe-0.0.9-cp311-cp311-win_amd64.whl
liblathe-0.0.9-cp311-cp311-musllinux_1_2_x86_64.whl CPython 3.11 CPython 3.11 Linux musl 1.2+ x86-64 Details for liblathe-0.0.9-cp311-cp311-musllinux_1_2_x86_64.whl
liblathe-0.0.9-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl CPython 3.11 CPython 3.11 Linux glibc 2.17+ x86-64 Details for liblathe-0.0.9-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
liblathe-0.0.9-cp310-cp310-win_amd64.whl CPython 3.10 CPython 3.10 Windows x86-64 Details for liblathe-0.0.9-cp310-cp310-win_amd64.whl
liblathe-0.0.9-cp310-cp310-musllinux_1_2_x86_64.whl CPython 3.10 CPython 3.10 Linux musl 1.2+ x86-64 Details for liblathe-0.0.9-cp310-cp310-musllinux_1_2_x86_64.whl
liblathe-0.0.9-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl CPython 3.10 CPython 3.10 Linux glibc 2.17+ x86-64 Details for liblathe-0.0.9-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl

Total release size: 13.9 MB

Release files / liblathe-0.0.9.tar.gz

Download URL liblathe-0.0.9.tar.gz
Size 50.3 kB
Tags Source
SHA-256 checksum
How to use checksums
38ca9eac3a9994f188affd683dbdc99c0df9469f6e1aa34d07f0cea14ced6cbd
BLAKE2b-256 checksum
How to use checksums
612ec76d6d069bebc4fdda000ab065b3d79266d248e690d1c48c9b507afe2d55
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

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 Nov 6, 2026.

Transparency log

Release files / liblathe-0.0.9-pp310-pypy310_pp73-win_amd64.whl

Download URL liblathe-0.0.9-pp310-pypy310_pp73-win_amd64.whl
Size 572.1 kB
Tags PyPy 3.10 PyPy 3.10 7.3 Windows x86-64
SHA-256 checksum
How to use checksums
778046aee2cf6387f601ebada91adadad1c694bdfd1898d8951582bc144ac281
BLAKE2b-256 checksum
How to use checksums
c6ecc3a34d1fe9e17fe480d7c1bb9a8b13ba126f305ab8090091fcb91e3bfc15
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

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 Nov 6, 2026.

Transparency log

Release files / liblathe-0.0.9-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl

Download URL liblathe-0.0.9-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Size 777.1 kB
Tags Linux glibc 2.17+ x86-64 PyPy 3.10 PyPy 3.10 7.3
SHA-256 checksum
How to use checksums
5929c8eedd1bf14e990b6cf334c41faa6f7df7d1156b3c7e4e6a7221c820f9b5
BLAKE2b-256 checksum
How to use checksums
68e70fe5d9f0c21337e746f484ea12250bf5fafe9500e6d57a399f1b47f407ec
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

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 Nov 6, 2026.

Transparency log

Release files / liblathe-0.0.9-cp313-cp313-win_amd64.whl

Download URL liblathe-0.0.9-cp313-cp313-win_amd64.whl
Size 582.8 kB
Tags CPython 3.13 Windows x86-64
SHA-256 checksum
How to use checksums
f9baf6964d766375b6388ef0d478a40bc2d32ae72c72a9fd641a2ed32b7f4f86
BLAKE2b-256 checksum
How to use checksums
298236dfc37b0966551bf5dd92ed3843a75719afc76d05cbb05f9d983c5cb5e3
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

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 Nov 6, 2026.

Transparency log

Release files / liblathe-0.0.9-cp313-cp313-musllinux_1_2_x86_64.whl

Download URL liblathe-0.0.9-cp313-cp313-musllinux_1_2_x86_64.whl
Size 1.7 MB
Tags CPython 3.13 Linux musl 1.2+ x86-64
SHA-256 checksum
How to use checksums
ddf1ead55b8da4cbc520204e631ce76fa57e176f89fbb48c704ea3af835f872e
BLAKE2b-256 checksum
How to use checksums
43e54faaede3f7b73f93d23ed001612f78abeffa12f09ecb278cee4a19e49f5c
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

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 Nov 6, 2026.

Transparency log

Release files / liblathe-0.0.9-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl

Download URL liblathe-0.0.9-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Size 834.7 kB
Tags CPython 3.13 Linux glibc 2.17+ x86-64
SHA-256 checksum
How to use checksums
7a1ae0c8856ae52801d14b33ed11ce9e50d55d79eded1be7029930332527a0a8
BLAKE2b-256 checksum
How to use checksums
ea83fb0042261fe65e9140590c32336ea051b7d4966dea015e6ccadd7757ec92
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

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 Nov 6, 2026.

Transparency log

Release files / liblathe-0.0.9-cp312-cp312-win_amd64.whl

Download URL liblathe-0.0.9-cp312-cp312-win_amd64.whl
Size 582.6 kB
Tags CPython 3.12 Windows x86-64
SHA-256 checksum
How to use checksums
a032730e91acfb1cac3e5e169de31870e439f60b2b78631f658aa42d858613f0
BLAKE2b-256 checksum
How to use checksums
769147e10d26380af26b52a4114a7de4459f1ffc2e0e5f09d4e5b3d249309a45
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

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 Nov 6, 2026.

Transparency log

Release files / liblathe-0.0.9-cp312-cp312-musllinux_1_2_x86_64.whl

Download URL liblathe-0.0.9-cp312-cp312-musllinux_1_2_x86_64.whl
Size 1.7 MB
Tags CPython 3.12 Linux musl 1.2+ x86-64
SHA-256 checksum
How to use checksums
cc73a3a689dbad611c17e447476fa831a44d7d460d45ecd76a491b9cbfe9dc40
BLAKE2b-256 checksum
How to use checksums
3ff894c05ec7888a5c860813f2eef2dc6483ee82102c00df5ac1d4b9303812de
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

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 Nov 6, 2026.

Transparency log

Release files / liblathe-0.0.9-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl

Download URL liblathe-0.0.9-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Size 834.3 kB
Tags CPython 3.12 Linux glibc 2.17+ x86-64
SHA-256 checksum
How to use checksums
ec43a0a64156cbb0d612f51fb42f29bf682739b9af1d20930a6d5a70774c6c51
BLAKE2b-256 checksum
How to use checksums
5346fe3fc66057de1c0c132d65b4a627cba1807d8241c7d01cb5065f98eb8fb2
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

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 Nov 6, 2026.

Transparency log

Release files / liblathe-0.0.9-cp311-cp311-win_amd64.whl

Download URL liblathe-0.0.9-cp311-cp311-win_amd64.whl
Size 574.0 kB
Tags CPython 3.11 Windows x86-64
SHA-256 checksum
How to use checksums
795f2838be79a55ab9d1d6a70c348fb57cbc7c02be93db9b1beff6cb840ad074
BLAKE2b-256 checksum
How to use checksums
260433f3c3fe1ca7017bf1312e069375a1c2961c6c0578d5b6aac69f6a924eab
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

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 Nov 6, 2026.

Transparency log

Release files / liblathe-0.0.9-cp311-cp311-musllinux_1_2_x86_64.whl

Download URL liblathe-0.0.9-cp311-cp311-musllinux_1_2_x86_64.whl
Size 1.7 MB
Tags CPython 3.11 Linux musl 1.2+ x86-64
SHA-256 checksum
How to use checksums
f7991e92ba7930d022fb50e8143cc2f5e41c6f6b771f353253e5364c010d0238
BLAKE2b-256 checksum
How to use checksums
c74e8a784a8f44f868410caec18cc36088be185a18ed0ede4b26494879694ef2
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

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 Nov 6, 2026.

Transparency log

Release files / liblathe-0.0.9-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl

Download URL liblathe-0.0.9-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Size 833.3 kB
Tags CPython 3.11 Linux glibc 2.17+ x86-64
SHA-256 checksum
How to use checksums
53b6310f22d2f2d42068a89b107f941b054a2ddb5fc8e44f16f3a0acdf295546
BLAKE2b-256 checksum
How to use checksums
179fb6b43de74c3bdc714058c654ab22b20a1a8b98930eef1a11365855a4b169
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

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 Nov 6, 2026.

Transparency log

Release files / liblathe-0.0.9-cp310-cp310-win_amd64.whl

Download URL liblathe-0.0.9-cp310-cp310-win_amd64.whl
Size 570.1 kB
Tags CPython 3.10 Windows x86-64
SHA-256 checksum
How to use checksums
9f1c969e791d91d70aa519c567e41b16c244875de3693eed8ca772bd11b86fc7
BLAKE2b-256 checksum
How to use checksums
0614a5a2f54dda89d02779cb4088743bde8a03080f6d19e7d71a467accdd6dfc
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

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 Nov 6, 2026.

Transparency log

Release files / liblathe-0.0.9-cp310-cp310-musllinux_1_2_x86_64.whl

Download URL liblathe-0.0.9-cp310-cp310-musllinux_1_2_x86_64.whl
Size 1.7 MB
Tags CPython 3.10 Linux musl 1.2+ x86-64
SHA-256 checksum
How to use checksums
f6f302dfcb240255880f21a82a9dd8d33960b3fab613e06dedffa4a3d57f5249
BLAKE2b-256 checksum
How to use checksums
12fc7380df3d2eafce6274fa002faf66119809372ac7b53e7105a44be301493f
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

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 Nov 6, 2026.

Transparency log

Release files / liblathe-0.0.9-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl

Download URL liblathe-0.0.9-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Size 826.0 kB
Tags CPython 3.10 Linux glibc 2.17+ x86-64
SHA-256 checksum
How to use checksums
ed71681d9c4b6af00a8381f8e222b578547a9d5fc0481d2a5bbbf0a4f75e4299
BLAKE2b-256 checksum
How to use checksums
e757d6c1d5d6a889cad4eef601f8f0f6d8b0c32b877f38f9e76e2cd8ca4dfe29
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

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 Nov 6, 2026.

Transparency log

Security for liblathe 0.0.9

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.

Full provenance

All 15 files in this release have been uploaded with provenance metadata.

Select from 15 files

Attestation for liblathe-0.0.9.tar.gz

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 Nov 6, 2026.

Transparency log

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

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