Skip to main content

Frontispiece and title page. Left: an engineering drawing of the pipe flange of examples/flange.py — a 120 mm plate with a 70 mm neck, bored 50 mm through, eight 10 mm bolt holes on a 95 mm circle — in section A–A, the view from the left and the plan in first-angle projection, dimensioned, with a title block that gives the volume smlibpy measures. Right: smlib·py, or, the Art of Modelling in Python — wherein the SMLib kernel is given to Python: to build exact parts from short scripts, to draw what it has built, and to prove the work in numbers. In four parts: the library, the renderer, the MCP server, the skill. MMXXVI.

smlibpy

A Python library for 3D modeling on the SMLib NURBS kernel with an API inspired by cadquery and build123d.

It comes with an MCP server, so your agent can build parts too.

from smlibpy import *

plate = Box(80, 60, 10)
plate = plate.fillet(plate.edges().parallel_to(Z), 8)
plate -= GridLocations(60, 40, 2, 2) * Cylinder(4, 10)
plate -= Rectangle(30, 20).on(plate.faces().top()).extrude(-4)

plate.export("plate.step")
show(plate)

Parts are B-reps with exact surfaces: planes, cylinders, cones, spheres, tori and NURBS. Volumes, areas and inertia are integrated over those surfaces, and STEP files keep them as they are. You combine shapes with +, - and &, and every feature returns a new part. Faces and edges are picked by their geometry, for example part.faces().top() or part.edges().parallel_to(Z).concave(). The plate above builds in about 40 ms.

Features

Modeling

  • Primitives: Box, Cylinder, Cone, Sphere, Torus, Wedge
  • Holes: Hole, CounterBoreHole, CounterSinkHole, placed with Locations, GridLocations, PolarLocations, HexLocations
  • Booleans: fuse, cut, intersect, which can also be written +, -, &
  • Operations: extrude (also tapered), revolve, loft, sweep (also along helices), shell, offset, thicken, draft, mirror, split, section
  • Fillets: circular, variable radius, and curvature-continuous (G2/G3); chamfers

Sheet metal

  • fold and flange with exact bends (radius and K-factor)
  • unfold, and flat_pattern with bend lines
  • bends(), bend_allowance, bend_deduction, developed_length

Deformation

  • twist, taper and bend work on finished parts. A tapered cylinder becomes an exact cone.
  • Free-form deformation with a Lattice

Simplifying: remove_fillets and remove_faces take out fillets, holes and bosses, also on imported parts. faces().fillets() finds the fillet faces.

Molding: draft tilts walls, pockets and holes by a draft angle about a neutral plane. draft_analysis sorts each face for a pull direction into positive, insufficient, vertical or undercut. parting_line finds the parting line.

2D

  • Profile is a pen: it draws lines and tangent arcs, turns, and adds fillets and chamfers at corners as it goes.
  • Shapes: Rectangle, RoundedRectangle, Circle, Ellipse, Polygon, RegularPolygon, Triangle, Trapezoid, Slot, ArcSlot, Hull, and Stroke (a band along a path). The polygon shapes take fillet= and chamfer=.
  • Exact 2D Booleans, offsets, and corner fillets and chamfers. Sketches can be extruded, revolved and swept.
  • Text with exact font outlines (the Lato font is included)

Curves and surfaces

  • Curves: Line, Polyline, PolarLine, CenterArc, ThreePointArc, RadiusArc, SagittaArc, TangentArc, EllipticalArc, Spline, Bezier, Helix, FilletPolyline
  • Surfaces: surface through a grid of points, ruled, stitch (faces into a solid), to_nurbs

Selection

  • By position (top(), bottom(), nearest(), …), by size (largest(), smallest()), and by geometry (lines(), circles(), planar(), cylinders(), parallel_to(), facing(), convex(), concave(), fillets(), …)
  • filter_by, sort_by, group_by, set operators between lists, and neighbors() of a face

Measuring and checks

  • volume, area, center and mass_properties (inertia, principal axes), computed from the exact surfaces to seven significant digits, with an error estimate
  • distance_to, closest_point, intersection_curves, silhouette, project, outline, edge radius and convexity
  • is_valid and heal(). Every kernel result is checked, and a fillet or shell that can't work raises an error that says what would fit.

Files

  • STEP in and out: exact geometry, assemblies, units, names and colors (named(), colored())
  • DXF in and out with exact arcs and splines; STL in and out; glTF/GLB and OBJ out
  • SMLib's own format (save, load)

Pictures

  • render() needs no GPU or browser:
    • shaded views, and sheets of 2 or 4 views
    • technical drawings in first-angle (ISO E) or third-angle (ISO A) projection, with dashed hidden lines and center lines
    • sections, x-ray, highlights, markers, a measurement overlay, zebra stripes and curvature maps
  • diff_images compares two renders.
  • show() opens a 3D viewer in the browser or a notebook.

Agents

  • The MCP server smlibpy-mcp has a live viewer, snapshots, function search and a tested guide for every function. People who want parametric apps that rebuild from sketches and features are sent to the ClassCAD MCP.
  • A Claude Code plugin, installed from this repository (see below)

Install

pip install smlibpy

There are wheels for Linux (x86_64, aarch64), macOS (arm64, x86_64) and Windows, for Python 3.10 to 3.14, with the kernel compiled in. They are 5 to 7 MB, and numpy is the only dependency. For agents, pip install "smlibpy[mcp]" adds the MCP server; see AI agents.

To build from source you need CMake and a C++17 compiler (about a minute on a laptop):

git clone --recursive https://github.com/awv-informatik/smlibpy
cd smlibpy
pip install .

For agents

The MCP server lets Claude and other agents model with smlibpy. In Claude Code:

claude plugin marketplace add awv-informatik/smlibpy
claude plugin install smlibpy@smlibpy

Other hosts start uvx --from "smlibpy[mcp]" smlibpy-mcp; see AI agents. The agent works in four steps:

  1. A skill tested on the real kernel: every function has a guide, written by agents that ran each call and wrote down what they found. The server hands the guides out, and its search knows CAD synonyms.
  2. One script per step: the agent writes a whole step as a Python script and runs it. The session keeps the model between scripts; a kernel crash costs a restart, and the session is rebuilt from the scripts that made it.
  3. A renderer to look with: snapshot draws the model in software, as technical drawings with hidden lines, sections, x-ray, highlighted selections, markers, zebra stripes or curvature maps.
  4. Loops until it is right: after every step the agent checks numbers and pictures, fixes what is off, compares before and after on a pinned frame, and goes back to a checkpoint when a step fails.

What the snapshot tool draws: an iso view, technical drawings in first- and third-angle projection, hidden lines, a hatched section and section views, a before and after difference, a four-view sheet, highlights and markers, a sketch over a part, size annotations, x-ray, one color per body, a mirrored pair of views, zebra stripes and curvature maps of a circular fillet against a curvature-continuous blend.

A short tour

Sketches

Sketches are 2D regions. Place them on a plane or a face, then extrude, revolve, loft or sweep them.

profile = Polygon((25, 0), (60, 0), (60, 12), (35, 12), (35, 40), (25, 40))
flange = profile.on(Plane.front).revolve(Z)
flange -= PolarLocations(47.5, 8) * Cylinder(5, 30)

Text

Lettering is a sketch with the exact outlines of a font; size is the height of the capitals.

tag = Box(60, 20, 3)
tag -= Text("SMLIB 01", 8).on(tag.faces().top()).extrude(-0.5)

Selecting edges and faces

Selectors chain and always return lists. A list with one element works wherever a single shape is expected.

flange = flange.fillet(flange.edges().concave(), 4)
flange = flange.chamfer(flange.faces().top().edges().circles(), 1)

Fillets

Fillets can be circular, vary in radius, or be curvature continuous.

box = Box(30, 20, 10)
soft = box.fillet(box.edges(), 3, continuity="G2")
ramp = box.fillet(box.edges().parallel_to(Z).first, (1, 4))

Surfaces

Open curves make surfaces. You can stitch them, thicken them, or start from a grid of points.

import math

grid = [[(x, y, 4 * math.sin(x / 15) * math.cos(y / 15)) for x in range(0, 60, 10)] for y in range(0, 50, 10)]
panel = surface(grid).thicken(2)

Measuring

mp = flange.mass_properties(density=7.85e-3)   # steel, g/mm³
mp.mass, mp.center, mp.inertia

Files

STEP, DXF, STL, glTF/GLB, OBJ and SMLib's own exact format.

export_step([flange, panel.named("panel")], "parts.step")
export_glb(flange, "flange.glb")
export_dxf(flange.section(Plane.XZ), "flange-profile.dxf")

Documentation

Status

smlibpy is new (version 0.2). It covers solid and surface modeling, text, and reads and writes STEP and DXF with the exact geometry. Assemblies with product structure and dimensioned 2D drawings are not there yet.

License

smlibpy is MIT licensed. It builds and bundles the SMLib kernel from NVIDIA-Omniverse/usd-brep, © NVIDIA, under the Apache License 2.0; see NOTICE.

Metadata

Release files for smlibpy 0.2.1

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

Source distribution (sdist)

Source distribution for smlibpy 0.2.1
File Size Uploaded Provenance
smlibpy-0.2.1.tar.gz 11.8 MB With provenance Details

Built distributions (wheels)

Table of built distributions (wheels) for smlibpy 0.2.1
File
smlibpy-0.2.1-cp314-cp314-win_amd64.whl CPython 3.14 CPython 3.14 Windows x86-64 Details
smlibpy-0.2.1-cp314-cp314-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl CPython 3.14 CPython 3.14 Linux glibc 2.27+ x86-64, Linux glibc 2.28+ x86-64 Details
smlibpy-0.2.1-cp314-cp314-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl CPython 3.14 CPython 3.14 Linux glibc 2.28+ ARM64, Linux glibc 2.26+ ARM64 Details
smlibpy-0.2.1-cp314-cp314-macosx_11_0_x86_64.whl CPython 3.14 CPython 3.14 macOS 11.0+ x86-64 Details
smlibpy-0.2.1-cp314-cp314-macosx_11_0_arm64.whl CPython 3.14 CPython 3.14 macOS 11.0+ ARM64 Details
smlibpy-0.2.1-cp313-cp313-win_amd64.whl CPython 3.13 CPython 3.13 Windows x86-64 Details
smlibpy-0.2.1-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl CPython 3.13 CPython 3.13 Linux glibc 2.28+ x86-64, Linux glibc 2.27+ x86-64 Details
smlibpy-0.2.1-cp313-cp313-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl CPython 3.13 CPython 3.13 Linux glibc 2.28+ ARM64, Linux glibc 2.26+ ARM64 Details
smlibpy-0.2.1-cp313-cp313-macosx_11_0_x86_64.whl CPython 3.13 CPython 3.13 macOS 11.0+ x86-64 Details
smlibpy-0.2.1-cp313-cp313-macosx_11_0_arm64.whl CPython 3.13 CPython 3.13 macOS 11.0+ ARM64 Details
smlibpy-0.2.1-cp312-cp312-win_amd64.whl CPython 3.12 CPython 3.12 Windows x86-64 Details
smlibpy-0.2.1-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl CPython 3.12 CPython 3.12 Linux glibc 2.27+ x86-64, Linux glibc 2.28+ x86-64 Details
smlibpy-0.2.1-cp312-cp312-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl CPython 3.12 CPython 3.12 Linux glibc 2.28+ ARM64, Linux glibc 2.26+ ARM64 Details
smlibpy-0.2.1-cp312-cp312-macosx_11_0_x86_64.whl CPython 3.12 CPython 3.12 macOS 11.0+ x86-64 Details
smlibpy-0.2.1-cp312-cp312-macosx_11_0_arm64.whl CPython 3.12 CPython 3.12 macOS 11.0+ ARM64 Details
smlibpy-0.2.1-cp311-cp311-win_amd64.whl CPython 3.11 CPython 3.11 Windows x86-64 Details
smlibpy-0.2.1-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl CPython 3.11 CPython 3.11 Linux glibc 2.27+ x86-64, Linux glibc 2.28+ x86-64 Details
smlibpy-0.2.1-cp311-cp311-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl CPython 3.11 CPython 3.11 Linux glibc 2.28+ ARM64, Linux glibc 2.26+ ARM64 Details
smlibpy-0.2.1-cp311-cp311-macosx_11_0_x86_64.whl CPython 3.11 CPython 3.11 macOS 11.0+ x86-64 Details
smlibpy-0.2.1-cp311-cp311-macosx_11_0_arm64.whl CPython 3.11 CPython 3.11 macOS 11.0+ ARM64 Details
smlibpy-0.2.1-cp310-cp310-win_amd64.whl CPython 3.10 CPython 3.10 Windows x86-64 Details
smlibpy-0.2.1-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl CPython 3.10 CPython 3.10 Linux glibc 2.28+ x86-64, Linux glibc 2.27+ x86-64 Details
smlibpy-0.2.1-cp310-cp310-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl CPython 3.10 CPython 3.10 Linux glibc 2.28+ ARM64, Linux glibc 2.26+ ARM64 Details
smlibpy-0.2.1-cp310-cp310-macosx_11_0_x86_64.whl CPython 3.10 CPython 3.10 macOS 11.0+ x86-64 Details
smlibpy-0.2.1-cp310-cp310-macosx_11_0_arm64.whl CPython 3.10 CPython 3.10 macOS 11.0+ ARM64 Details

Total release size: 176.7 MB

Release files / smlibpy-0.2.1.tar.gz

Download URL smlibpy-0.2.1.tar.gz
Size 11.8 MB
Tags Source
SHA-256 checksum
How to use checksums
9c8fd7b58867f0f01924bdb8426546b3f5429270b8f14d86416041378a45721d
BLAKE2b-256 checksum
How to use checksums
4f8e39b6ee46676df3d6ff376f2baa6a60fab78c49b57686a57f19f6dfe797d1
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

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 Oct 13, 2026.

Transparency log

Release files / smlibpy-0.2.1-cp314-cp314-win_amd64.whl

Download URL smlibpy-0.2.1-cp314-cp314-win_amd64.whl
Size 6.6 MB
Tags CPython 3.14 Windows x86-64
SHA-256 checksum
How to use checksums
0265955d017f961bd55471e812ce034c274e507dd3cf4627d80695a723484355
BLAKE2b-256 checksum
How to use checksums
110fd2f61fa1e3ae9b3dc0d44853452eb47556fc0d6baa31a86ea3098b2d0a83
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

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 Oct 13, 2026.

Transparency log

Release files / smlibpy-0.2.1-cp314-cp314-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl

Download URL smlibpy-0.2.1-cp314-cp314-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Size 7.7 MB
Tags CPython 3.14 Linux glibc 2.27+ x86-64 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
705bfba67e59c5a121ce8869bf515626f1e7128c431b4558cf78f6753b76ea22
BLAKE2b-256 checksum
How to use checksums
c0b3b53cef18f1b7cd8a1109308c913b11b4bb9d78e80aec2aa3a778e8116593
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

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 Oct 13, 2026.

Transparency log

Release files / smlibpy-0.2.1-cp314-cp314-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl

Download URL smlibpy-0.2.1-cp314-cp314-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl
Size 7.0 MB
Tags CPython 3.14 Linux glibc 2.26+ ARM64 Linux glibc 2.28+ ARM64
SHA-256 checksum
How to use checksums
3ad819268ebb0fcea3179dda8866d1a3c0aba0dec0dec7f6a437e3c46f31da3b
BLAKE2b-256 checksum
How to use checksums
37c67ec85215f477d5d1ff3a9193ed3481cf83792152d79f142d717387840688
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

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 Oct 13, 2026.

Transparency log

Release files / smlibpy-0.2.1-cp314-cp314-macosx_11_0_x86_64.whl

Download URL smlibpy-0.2.1-cp314-cp314-macosx_11_0_x86_64.whl
Size 6.2 MB
Tags CPython 3.14 macOS 11.0+ x86-64
SHA-256 checksum
How to use checksums
ceff67a349c2309e7833f404ea5d416c9a8b9502e5862a53657e3e279c9c3600
BLAKE2b-256 checksum
How to use checksums
cf92745a7df16a5ba0acb00eaff0fdbd67ba54a710433b1d0299bcae7ca05e8d
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

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 Oct 13, 2026.

Transparency log

Release files / smlibpy-0.2.1-cp314-cp314-macosx_11_0_arm64.whl

Download URL smlibpy-0.2.1-cp314-cp314-macosx_11_0_arm64.whl
Size 5.6 MB
Tags CPython 3.14 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
80fbf42cecfa753a107d0d4ec7dc2e34ca38c92e01d03335a4b439764e7a3c8f
BLAKE2b-256 checksum
How to use checksums
fc4be671d952bfb863759146d34badaf5f6a43619493d98b92294ff231b800b4
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

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 Oct 13, 2026.

Transparency log

Release files / smlibpy-0.2.1-cp313-cp313-win_amd64.whl

Download URL smlibpy-0.2.1-cp313-cp313-win_amd64.whl
Size 6.4 MB
Tags CPython 3.13 Windows x86-64
SHA-256 checksum
How to use checksums
042ae00e54d35d9c9f4c6340fddede901f54441b03e6171e9164452372f21427
BLAKE2b-256 checksum
How to use checksums
c76133d75d605fa29373fad1b3758e3e4c040bc7f28b6afbd9986cd752d7d4b7
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

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 Oct 13, 2026.

Transparency log

Release files / smlibpy-0.2.1-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl

Download URL smlibpy-0.2.1-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Size 7.7 MB
Tags CPython 3.13 Linux glibc 2.27+ x86-64 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
711fce6d7b473c17d43cb9c999baddffc5a589ec1f8307a5640eccc3d27234a6
BLAKE2b-256 checksum
How to use checksums
87f61c7b18edc19402c7f9088daf31572b40f6a420e161a1b8910dc0eaf643a2
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

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 Oct 13, 2026.

Transparency log

Release files / smlibpy-0.2.1-cp313-cp313-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl

Download URL smlibpy-0.2.1-cp313-cp313-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl
Size 7.0 MB
Tags CPython 3.13 Linux glibc 2.26+ ARM64 Linux glibc 2.28+ ARM64
SHA-256 checksum
How to use checksums
145d96272244347aa18716192df952fbc2cb2a0b79d2e5fa6d8499245c24cf95
BLAKE2b-256 checksum
How to use checksums
7cc70df043fe374edbd852c571b5285b643014255bf281a6cd6694c2606241d0
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

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 Oct 13, 2026.

Transparency log

Release files / smlibpy-0.2.1-cp313-cp313-macosx_11_0_x86_64.whl

Download URL smlibpy-0.2.1-cp313-cp313-macosx_11_0_x86_64.whl
Size 6.2 MB
Tags CPython 3.13 macOS 11.0+ x86-64
SHA-256 checksum
How to use checksums
bc81c9c243bd1421b74f0dffa2171e9554d16a23aa6e7d9d085cd8b2c86d5941
BLAKE2b-256 checksum
How to use checksums
00817179ac91e8ed7bccb80aa1a0acc7ab58d60b955134eccc26cb7bb0163c7f
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

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 Oct 13, 2026.

Transparency log

Release files / smlibpy-0.2.1-cp313-cp313-macosx_11_0_arm64.whl

Download URL smlibpy-0.2.1-cp313-cp313-macosx_11_0_arm64.whl
Size 5.6 MB
Tags CPython 3.13 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
c6a1b5fc951302352dbcee3c6b810c2d8242e5f133c90999eb709ffaf1f42cb5
BLAKE2b-256 checksum
How to use checksums
6e4d6f661386a01224788ae46e3274efd229eb719b29999e75c9998456e8f9f4
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

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 Oct 13, 2026.

Transparency log

Release files / smlibpy-0.2.1-cp312-cp312-win_amd64.whl

Download URL smlibpy-0.2.1-cp312-cp312-win_amd64.whl
Size 6.4 MB
Tags CPython 3.12 Windows x86-64
SHA-256 checksum
How to use checksums
d3fad7265264a9e84c1ac6330dded79b2b050a8346671572b7abe59aafc8a480
BLAKE2b-256 checksum
How to use checksums
cf6d38d7c5544e5441442639be008dd311a3b4219e58e7d6c0f71074a755ce53
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

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 Oct 13, 2026.

Transparency log

Release files / smlibpy-0.2.1-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl

Download URL smlibpy-0.2.1-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Size 7.7 MB
Tags CPython 3.12 Linux glibc 2.27+ x86-64 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
6a5ba586b2d47e095f563ca3d832e53b3aeafa19877aa04c35d51b87daab88cd
BLAKE2b-256 checksum
How to use checksums
255953bd822b12b8478b4fb7b7c10b51155aeee34e1dc094c1066ff10c157e6c
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

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 Oct 13, 2026.

Transparency log

Release files / smlibpy-0.2.1-cp312-cp312-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl

Download URL smlibpy-0.2.1-cp312-cp312-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl
Size 7.0 MB
Tags CPython 3.12 Linux glibc 2.26+ ARM64 Linux glibc 2.28+ ARM64
SHA-256 checksum
How to use checksums
d94921196ea2e80fedf0599f648b0c4cad5d5d73a781bee126d86932c3da02b4
BLAKE2b-256 checksum
How to use checksums
503f54670d95682b1406307e55d06209f0a8ea62d41ebf7b0d8d10534c553fa4
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

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 Oct 13, 2026.

Transparency log

Release files / smlibpy-0.2.1-cp312-cp312-macosx_11_0_x86_64.whl

Download URL smlibpy-0.2.1-cp312-cp312-macosx_11_0_x86_64.whl
Size 6.2 MB
Tags CPython 3.12 macOS 11.0+ x86-64
SHA-256 checksum
How to use checksums
721a7de23ef20c988c40e34675cf8677528fc820b006c2b58bc9ceec65957ea9
BLAKE2b-256 checksum
How to use checksums
d3743381aada18350f12c00f754ed121d08f917aa75efa8c8a634305d5e3520f
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

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 Oct 13, 2026.

Transparency log

Release files / smlibpy-0.2.1-cp312-cp312-macosx_11_0_arm64.whl

Download URL smlibpy-0.2.1-cp312-cp312-macosx_11_0_arm64.whl
Size 5.6 MB
Tags CPython 3.12 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
ea07cac228059de03afb6c6bb91e047b26b04a7787d1e51b51ea25f3395527f0
BLAKE2b-256 checksum
How to use checksums
c6702ddeeac8bb1bf849b97260c850adb0346e94261d3fceedf3ac165b51e2ca
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

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 Oct 13, 2026.

Transparency log

Release files / smlibpy-0.2.1-cp311-cp311-win_amd64.whl

Download URL smlibpy-0.2.1-cp311-cp311-win_amd64.whl
Size 6.4 MB
Tags CPython 3.11 Windows x86-64
SHA-256 checksum
How to use checksums
c759e46233e9113ad916d770f42c4464c54688f69d8865e4c805733eaf296582
BLAKE2b-256 checksum
How to use checksums
15e15f922ddc13be8a858fbfc144f640b4a29ef032e4da813d72408a9fe45ac9
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

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 Oct 13, 2026.

Transparency log

Release files / smlibpy-0.2.1-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl

Download URL smlibpy-0.2.1-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Size 7.7 MB
Tags CPython 3.11 Linux glibc 2.27+ x86-64 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
5fa3323ff6068baaac9be08158b20a1ba276ec73c17053748c1eca80d29177cf
BLAKE2b-256 checksum
How to use checksums
0384b897eb588f6d98e23cfb9fd114e11f931fa99b139dec6832ccf8171e76fb
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

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 Oct 13, 2026.

Transparency log

Release files / smlibpy-0.2.1-cp311-cp311-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl

Download URL smlibpy-0.2.1-cp311-cp311-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl
Size 7.0 MB
Tags CPython 3.11 Linux glibc 2.26+ ARM64 Linux glibc 2.28+ ARM64
SHA-256 checksum
How to use checksums
bb160a3c1fd4a2e2c27f7e9497c76880c7160bc80b9e5d62852519ccd43a1ac7
BLAKE2b-256 checksum
How to use checksums
c17e036e0a27873ff6b9d0b668f016119e3193e4e40081a06a8759425b56c809
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

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 Oct 13, 2026.

Transparency log

Release files / smlibpy-0.2.1-cp311-cp311-macosx_11_0_x86_64.whl

Download URL smlibpy-0.2.1-cp311-cp311-macosx_11_0_x86_64.whl
Size 6.2 MB
Tags CPython 3.11 macOS 11.0+ x86-64
SHA-256 checksum
How to use checksums
44c14b73ecf1e33ff34ecc24213e8d6ba3121670b95e7a9048efa35e6d68a594
BLAKE2b-256 checksum
How to use checksums
8273c99c069914b562ff64ab0df85cd4a982f7f620dc938455a9f2a36c6f0cef
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

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 Oct 13, 2026.

Transparency log

Release files / smlibpy-0.2.1-cp311-cp311-macosx_11_0_arm64.whl

Download URL smlibpy-0.2.1-cp311-cp311-macosx_11_0_arm64.whl
Size 5.6 MB
Tags CPython 3.11 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
a8ceec6f91ee190758296b502aa3fd9fdd5f8567c3943e4f841d6457879dbb42
BLAKE2b-256 checksum
How to use checksums
b14e9d1f4f3c098b7a3f487ec2bf5ad011dbb565bb991fddeb04202ea6cf7761
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

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 Oct 13, 2026.

Transparency log

Release files / smlibpy-0.2.1-cp310-cp310-win_amd64.whl

Download URL smlibpy-0.2.1-cp310-cp310-win_amd64.whl
Size 6.4 MB
Tags CPython 3.10 Windows x86-64
SHA-256 checksum
How to use checksums
198b9074c30e7501c170f2565ab4769216f49e55a1947598d9a158b9db523f79
BLAKE2b-256 checksum
How to use checksums
7674aaaba4bb84ac0226fae147a0b5dbe1a3385554c1168e9229b0a28e1d99b8
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

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 Oct 13, 2026.

Transparency log

Release files / smlibpy-0.2.1-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl

Download URL smlibpy-0.2.1-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Size 7.7 MB
Tags CPython 3.10 Linux glibc 2.27+ x86-64 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
a251d27a965c2602c867b9965ceb127446bf74a8af6e5894996f58293eaae880
BLAKE2b-256 checksum
How to use checksums
80b134edf78be06c99c83316b64060e6f55ec6ee979891c4162de237911b3045
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

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 Oct 13, 2026.

Transparency log

Release files / smlibpy-0.2.1-cp310-cp310-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl

Download URL smlibpy-0.2.1-cp310-cp310-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl
Size 7.0 MB
Tags CPython 3.10 Linux glibc 2.26+ ARM64 Linux glibc 2.28+ ARM64
SHA-256 checksum
How to use checksums
83689154001f36a8942e97d63f19113c119d6d4060fe8459186a788dd4f9c21d
BLAKE2b-256 checksum
How to use checksums
53b6545f2b7be5cf7e85133c9f832a53cfc5c0d34d67eb536c832b7393127925
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

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 Oct 13, 2026.

Transparency log

Release files / smlibpy-0.2.1-cp310-cp310-macosx_11_0_x86_64.whl

Download URL smlibpy-0.2.1-cp310-cp310-macosx_11_0_x86_64.whl
Size 6.2 MB
Tags CPython 3.10 macOS 11.0+ x86-64
SHA-256 checksum
How to use checksums
0fcb91d6fd8bb99e3ac7761cc1703028c852f47c3c91516f2444c888aa6484bf
BLAKE2b-256 checksum
How to use checksums
f739deacc128af24b7d5d52e27bab08db2caae234dd481b768bd69b900739cc8
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

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 Oct 13, 2026.

Transparency log

Release files / smlibpy-0.2.1-cp310-cp310-macosx_11_0_arm64.whl

Download URL smlibpy-0.2.1-cp310-cp310-macosx_11_0_arm64.whl
Size 5.6 MB
Tags CPython 3.10 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
48d706b4a181420b0b889682bf12fbcb8180c0dde58b163b1e57ab88e82f4f7b
BLAKE2b-256 checksum
How to use checksums
f8f1b5f669091895b3fd3f4247a60986638a537a85a964f150ed9be9d0471725
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

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 Oct 13, 2026.

Transparency log

Security for smlibpy 0.2.1

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 26 files in this release have been uploaded with provenance metadata.

Select from 26 files

Attestation for smlibpy-0.2.1.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 Oct 13, 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.

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