Skip to main content

smappy

Single-molecule localization microscopy in Python, with a Qt GUI: camera conversion, peak finding, maximum-likelihood fitting with a Gaussian or experimental (cubic-spline) PSF, rendering, grouping, drift correction and bead PSF calibration -- the SMAP workflow, ported. Reads SMAP _3Dcal.mat calibration files, Micro-Manager TIFF stacks and NDTiff datasets (pycro-manager).

Install

pip install smappy-smlm

That is the whole install: the GUI comes with it, and there are binary wheels for CPython 3.9-3.13 on macOS (Intel and Apple silicon), Linux x86_64 and Windows, so nothing is compiled. The distribution is smappy-smlm because smappy on PyPI is an unrelated package; the import name is smappy either way. uv installs the same wheels from the same index, several times faster, and can keep the GUI in an environment of its own:

uv tool install smappy-smlm        # `smappy-gui` on PATH, isolated
uvx --from smappy-smlm smappy-gui  # run it without installing at all

Qt costs about 400 MB, which a headless fitting machine pays for nothing -- though it imports nothing either, since Qt is loaded inside smappy-gui and not at import smappy. [gpu] adds wgpu for the 3D viewer's GPU engine.

From a checkout, which builds the C++ extensions:

/usr/bin/python3 -m venv .venv                 # native arm64 on Apple silicon
.venv/bin/python -m pip install -e .

Start the GUI

smappy-gui                      # or: smappy-gui FILE.hdf5

Equivalently, without the console script:

python -m smappy.gui.app FILE.hdf5

Two windows open: the render view, and a compact control window with four tabs.

  • Localize -- fit an acquisition, Gaussian 2D or spline 3D.
  • Render -- layers, and one field filtered at a time against its own histogram (drag the shaded range to the edge for "no bound"); contrast, gamma, LUT and colour-by are applied after rendering, so they change without re-rendering.
  • Analysis -- drift correction (COMET or RCC) and whatever else is registered.
  • ROI -- the regions drawn in the render window; they are saved inside the localization file.

File → Open / Add file / Save. View → 3D view (Ctrl+3), Reset view (Ctrl+0). Tools → ROI manager (Ctrl+R), bead calibration, dual-colour calibration. The render window's toolbar has Save (PNG as displayed, or a TIFF re-rendered at a chosen pixel size with the pixel size in its resolution tags) and ROI (left-click draws, right-click picks the kind, the line width, or clears).

Every plugin is callable without the GUI, and the GUI is generated from the plugin's declaration -- nothing in the plugin or session layer imports Qt. See GUI.md for that contract and the rest of the architecture, NOTES.md for the design decisions and measurements.

Command line

command what it does
smappy-gui [FILE.hdf5] the GUI
smappy-fit DATA OUT.h5 --camera camera.yaml --cal CAL_3dcal.mat fit an acquisition
smappy-live DATA OUT.h5 ... fit while the microscope writes
smappy-drift OUT.h5 drift-correct a saved file
smappy-calibrate /path/to/bead_acquisitions bead PSF calibration
smappy-view FILE.h5 the older matplotlib viewer

The camera is a YAML config (examples/camera_evolve512.yaml) or flags (--pixelsize 0.127 --conversion 6.7 --offset 400); either overrides what the image metadata says. A SMAP *_cameras.mat can be passed with --cameras, but nothing requires one.

Python

import smappy

locs = smappy.fit(data, out="OUT.h5",
                  camera={"conversion": 6.7, "offset": 400,
                          "pixelsize_um": 0.127},
                  calibration="..._3dcal.mat")
smappy.view("OUT.h5")

data is a path to an acquisition (a Micro-Manager TIFF series or an NDTiff directory -- which one it is follows from what is there), an image source, an array of frames, or any iterable of (first_frame, block), so images already in memory need no file. camera is a dict, a CameraMetadata or a YAML path; calibration is a _3dcal.mat, and without one the fit is Gaussian and there is no z. The table is returned whether or not it is also written; collect=False streams to the file alone, for an acquisition too long to hold in memory.

smappy.fit only assembles the stages, and each is available on its own:

from smappy.io.tiff import open_stack, camera_metadata
from smappy.io.calibration import load_spline_calibration
from smappy.detect import DoGFilter, DynamicCutoff, PeakFinder
from smappy.psf import SplinePSF
from smappy.pipeline import FitSettings, fit_stack

source = open_stack("...MMStack_Default.ome.tif")
camera = camera_metadata(source, overrides={"conversion": 6.7, "offset": 400,
                                            "pixelsize_um": 0.127})
model = SplinePSF(load_spline_calibration("..._3dcal.mat"))
finder = PeakFinder(DoGFilter(1.2), DynamicCutoff(1.7))

locs, engine = fit_stack(source.frames(chunk=200), camera, finder, model,
                         FitSettings(roisize=13, output_unit="nm"))

Rendering an image from a table, grouping localizations of the same emitter across consecutive frames, and writing a picture without opening a window:

from smappy.filter import LocFilter
from smappy.render import FieldOfView, RenderSettings, DisplaySettings, render_locs
from smappy.group import group, GroupSettings

keep = LocFilter(locs, loc_precision_nm=(None, 20), logl_rel=(-2, 0))
fov = FieldOfView.around(locs["x_nm"], locs["y_nm"], pixelsize=10.0)
image = render_locs(locs, fov, RenderSettings(mode="precision"), select=keep)
rgb = DisplaySettings(lut="hot", gamma=0.7).apply(image)

grouped, group_index = group(locs, GroupSettings(dx=50.0, dt=1))
smappy.save_image(locs, "image.png", pixelsize=10.0)      # needs Pillow

mode is "hist", "gauss" (one sigma for all) or "precision" (sigma from the localization precision, SMAP's default); color_field colours by z or any other column instead of by density. grouped carries the same columns, combined by SMAP's per-column rules, plus n_in_group.

Drift correction

Drift is estimated with COMET, which maximises the overlap of localizations between time windows -- no fiducials, no reference structure. COMET is somebody else's published method, MIT licensed; the parts smappy calls are vendored in src/smappy/_comet, including its cost function, which is compiled with smappy rather than with numba, so a plain install drift-corrects with nothing else added. Cite COMET if you publish work that used it.

smappy-drift OUT.h5 \
    --filter loc_precision_nm - 15 --filter logl_rel -2 - \
    --filter z_nm -300 300

The default is the best estimator measured so far: the drift is fitted as a cubic B-spline in time (no time windows, no interpolation afterwards) from grouped localizations, one per blink -- 4 s on a 410 k localization dataset against 2:33 for free per-window vectors, and 0.6-0.7 nm noise per axis against 1.9-5.2. --per-window and --ungrouped go back to either older behaviour; --knot-frames sets how finely the spline can bend. --rcc estimates by redundant cross-correlation instead, an independent second opinion that agrees to about its own noise. Filter before estimating, and include a z cut: without one the axial drift follows the out-of-focus tail.

The estimate uses only the localizations that pass --filter, and is then subtracted from all of them: a filter is a view, the correction is a coordinate change. The result is OUT_driftc.h5, an ordinary localization file with the drift curve in a /drift group. From Python, correct_drift(locs, DriftSettings(...), select=keep). See NOTES.md for the measurements, the noise floor they are judged against, and what did not help.

Bead PSF calibration

Tools → bead calibration in the GUI, or smappy-calibrate on its own: add files or directories, pool their stacks, review the automatically selected beads, exclude some and rebuild. The window is Qt (--tk still opens the old Tk one).

smappy-calibrate /path/to/bead_acquisitions
smappy-calibrate PATHS --out CAL.h5           # headless

The native calibration HDF5 loads through load_spline_calibration and smappy-fit --cal. Calibration uses pixels laterally and nanometres axially; no camera pixel size or mirroring is required. Split-frame dual-colour calibration builds a paired PSF model and a projective transformation, from the mode selector or --layout 'up-down mirrored' --main-channel lower. See bead calibration and dual-colour calibration.

ROI manager

Tools → ROI manager (Ctrl+R). Four quadrants: the file, a zoom and the ROI, with the files and the ROIs listed beside them. ROIs belong to files; circles and squares share a global size while polygons keep their own outline. The first analysis workflow finds cluster candidates, lets you include or exclude them, computes localization count, mean precision and mean photons, and shows histograms. What an ROI sees is what the image shows: the layer's filters and grouping. ROIs, their flags and their evaluation runs are saved inside the localization file. See the ROI manager guide.

Online: fit while the microscope writes

smappy-live DATA OUT.h5 --camera camera.yaml \
    --cal CAL_3dcal.mat --update 3 --timeout 30

DATA is the growing Micro-Manager TIFF or NDTiff directory; it does not have to exist yet. The window opens as soon as the first frames appear and takes in new localizations every --update seconds; the fit ends --timeout seconds after the last frame is written. Zoom, pan, the filter boxes, contrast and grouping all work while it runs, and an update changes none of them.

For frames that are never written to a file -- pycro-manager handing each one to a callback, a camera API returning them from a buffer -- smappy.queue_source() is the same ImageSource interface: the producer pushes, the pipeline reads. on_block(locs) is called with each finished block as it comes out, which is what a control loop needs (the localizations per frame measure the blinking density); chunk sets how often that happens. LiveFit is live_view without a window, for a front end of your own.

NDTiff

pycro-manager writes NDTiff: a directory with an NDTiff.index and one or more *NDTiffStack*.tif. The index gives, per image, the file and the byte offset of its pixels, so images are read by seeking and the TIFF page chain is never walked -- a 46 k-frame dataset is ready in 0.3 s rather than 5 s. The reader is a port of SMAP's MATLAB loader, including the parts that are in no specification; records describing images that were never written are dropped rather than read as noise, which is also what makes a growing dataset safe to follow.

Scripts

scripts/*.py run from a checkout without installing anything. The check_* ones exercise one stage against real data -- the stack metadata, the detection, the fit, a single-channel or dual-colour calibration; fit_dataset.py, view_locs.py, drift_correct.py and live_fit.py are the scripted forms of the commands above, and simulate_blinks.py makes test data.

Tests

SMAPPY_TEST_CAL=/path/to/_3dcal.mat PYTHONPATH=src .venv/bin/python -m pytest tests/

Metadata

Release files for smappy-smlm 0.2.0

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

Source distribution (sdist)

Source distribution for smappy-smlm 0.2.0
File Size Uploaded
smappy_smlm-0.2.0.tar.gz 465.2 kB Details

Built distributions (wheels)

Table of built distributions (wheels) for smappy-smlm 0.2.0
File
smappy_smlm-0.2.0-cp313-cp313-win_amd64.whl CPython 3.13 CPython 3.13 Windows x86-64 Details
smappy_smlm-0.2.0-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl CPython 3.13 CPython 3.13 Linux glibc 2.27+ x86-64, Linux glibc 2.28+ x86-64 Details
smappy_smlm-0.2.0-cp313-cp313-macosx_11_0_arm64.whl CPython 3.13 CPython 3.13 macOS 11.0+ ARM64 Details
smappy_smlm-0.2.0-cp313-cp313-macosx_10_13_x86_64.whl CPython 3.13 CPython 3.13 macOS 10.13+ x86-64 Details
smappy_smlm-0.2.0-cp312-cp312-win_amd64.whl CPython 3.12 CPython 3.12 Windows x86-64 Details
smappy_smlm-0.2.0-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl CPython 3.12 CPython 3.12 Linux glibc 2.28+ x86-64, Linux glibc 2.27+ x86-64 Details
smappy_smlm-0.2.0-cp312-cp312-macosx_11_0_arm64.whl CPython 3.12 CPython 3.12 macOS 11.0+ ARM64 Details
smappy_smlm-0.2.0-cp312-cp312-macosx_10_13_x86_64.whl CPython 3.12 CPython 3.12 macOS 10.13+ x86-64 Details
smappy_smlm-0.2.0-cp311-cp311-win_amd64.whl CPython 3.11 CPython 3.11 Windows x86-64 Details
smappy_smlm-0.2.0-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl CPython 3.11 CPython 3.11 Linux glibc 2.28+ x86-64, Linux glibc 2.27+ x86-64 Details
smappy_smlm-0.2.0-cp311-cp311-macosx_11_0_arm64.whl CPython 3.11 CPython 3.11 macOS 11.0+ ARM64 Details
smappy_smlm-0.2.0-cp311-cp311-macosx_10_9_x86_64.whl CPython 3.11 CPython 3.11 macOS 10.9+ x86-64 Details
smappy_smlm-0.2.0-cp310-cp310-win_amd64.whl CPython 3.10 CPython 3.10 Windows x86-64 Details
smappy_smlm-0.2.0-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
smappy_smlm-0.2.0-cp310-cp310-macosx_11_0_arm64.whl CPython 3.10 CPython 3.10 macOS 11.0+ ARM64 Details
smappy_smlm-0.2.0-cp310-cp310-macosx_10_9_x86_64.whl CPython 3.10 CPython 3.10 macOS 10.9+ x86-64 Details
smappy_smlm-0.2.0-cp39-cp39-win_amd64.whl CPython 3.9 CPython 3.9 Windows x86-64 Details
smappy_smlm-0.2.0-cp39-cp39-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl CPython 3.9 CPython 3.9 Linux glibc 2.27+ x86-64, Linux glibc 2.28+ x86-64 Details
smappy_smlm-0.2.0-cp39-cp39-macosx_11_0_arm64.whl CPython 3.9 CPython 3.9 macOS 11.0+ ARM64 Details
smappy_smlm-0.2.0-cp39-cp39-macosx_10_9_x86_64.whl CPython 3.9 CPython 3.9 macOS 10.9+ x86-64 Details

Total release size: 17.3 MB

Release files / smappy_smlm-0.2.0.tar.gz

Download URL smappy_smlm-0.2.0.tar.gz
Size 465.2 kB
Tags Source
SHA-256 checksum
How to use checksums
c6bd6502a688054c8e7e9c6d28db3b6fd69a1f2d6bdc76bf65d86d12b3289e42
BLAKE2b-256 checksum
How to use checksums
41e1f3b652962138b7be03440415e81cdbd865897c5fdbcf769d244a006e43c0
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 Sep 14, 2026.

Transparency log

Release files / smappy_smlm-0.2.0-cp313-cp313-win_amd64.whl

Download URL smappy_smlm-0.2.0-cp313-cp313-win_amd64.whl
Size 987.9 kB
Tags CPython 3.13 Windows x86-64
SHA-256 checksum
How to use checksums
a18810d06d6b5cc448f833dde05e77c6ecdf0e8c3866c46ed59c47e1ef4aec4e
BLAKE2b-256 checksum
How to use checksums
4ef7f9411ae96f2ea34083da680e3d511c0f0d61b752382d2bd2d0aec82a9d90
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 Sep 14, 2026.

Transparency log

Release files / smappy_smlm-0.2.0-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl

Download URL smappy_smlm-0.2.0-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Size 868.8 kB
Tags CPython 3.13 Linux glibc 2.27+ x86-64 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
4d3fe06b4381605a4375e3808ca8793b03e41ed57f84bd2511c322d3e7046dd2
BLAKE2b-256 checksum
How to use checksums
74072e6b5524e8accb4fbd0d9d827b1ff31d38b4f48fa7b92292236e26c0ce1b
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 Sep 14, 2026.

Transparency log

Release files / smappy_smlm-0.2.0-cp313-cp313-macosx_11_0_arm64.whl

Download URL smappy_smlm-0.2.0-cp313-cp313-macosx_11_0_arm64.whl
Size 763.1 kB
Tags CPython 3.13 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
0acbb952c1dc9b2b68dbcaa324ed7f97eab60417f2895eb7c647f0d5ad866d78
BLAKE2b-256 checksum
How to use checksums
dc4c3be1b0744d1e5ec25adb8e75ed8d148237adc2f62f06073394aba9e77130
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 Sep 14, 2026.

Transparency log

Release files / smappy_smlm-0.2.0-cp313-cp313-macosx_10_13_x86_64.whl

Download URL smappy_smlm-0.2.0-cp313-cp313-macosx_10_13_x86_64.whl
Size 783.5 kB
Tags CPython 3.13 macOS 10.13+ x86-64
SHA-256 checksum
How to use checksums
095618f4f104edef6811f4e24ba71b8826b8dd34415dc602a94348a33c7cf926
BLAKE2b-256 checksum
How to use checksums
d93bfad5d9e8fe8e67c1fd7f4e8bbede9735052bb896eafe89420b1df2e32577
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 Sep 14, 2026.

Transparency log

Release files / smappy_smlm-0.2.0-cp312-cp312-win_amd64.whl

Download URL smappy_smlm-0.2.0-cp312-cp312-win_amd64.whl
Size 987.8 kB
Tags CPython 3.12 Windows x86-64
SHA-256 checksum
How to use checksums
236e7a8613670a27da9f1ee71eb784380103bf43a2998454556609a9832cc10e
BLAKE2b-256 checksum
How to use checksums
d67cf8fa6541fd4eae363fdf62280b16f07c82b6900ff78b7c5d1371162682ce
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 Sep 14, 2026.

Transparency log

Release files / smappy_smlm-0.2.0-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl

Download URL smappy_smlm-0.2.0-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Size 868.6 kB
Tags CPython 3.12 Linux glibc 2.27+ x86-64 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
b8a486ab691b2186cd8ba8237f14d004bbacc9acedc8772a023bc122d2a0e1a6
BLAKE2b-256 checksum
How to use checksums
98549f1762f3d5dd5b93b3b0df843a94727fc4c091a70f28da87c995ee892564
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 Sep 14, 2026.

Transparency log

Release files / smappy_smlm-0.2.0-cp312-cp312-macosx_11_0_arm64.whl

Download URL smappy_smlm-0.2.0-cp312-cp312-macosx_11_0_arm64.whl
Size 763.0 kB
Tags CPython 3.12 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
254e440019fc0802af9541139cd122c95a7c2b884ddfc6d660d68dfac1375fc8
BLAKE2b-256 checksum
How to use checksums
3aec2e999ff0575fd1694f24770c4b4d68c06ea8c8b038fd2ea2c384eb30f6e1
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 Sep 14, 2026.

Transparency log

Release files / smappy_smlm-0.2.0-cp312-cp312-macosx_10_13_x86_64.whl

Download URL smappy_smlm-0.2.0-cp312-cp312-macosx_10_13_x86_64.whl
Size 783.3 kB
Tags CPython 3.12 macOS 10.13+ x86-64
SHA-256 checksum
How to use checksums
1cdf570139cf7b1efecaf3b135e9643ee2dd9d9db4f1ad2af0f3738911c3443b
BLAKE2b-256 checksum
How to use checksums
86afbde28c094257dbc385a34fb4ebb4c0ab061529157d2e891043f740ba014a
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 Sep 14, 2026.

Transparency log

Release files / smappy_smlm-0.2.0-cp311-cp311-win_amd64.whl

Download URL smappy_smlm-0.2.0-cp311-cp311-win_amd64.whl
Size 975.9 kB
Tags CPython 3.11 Windows x86-64
SHA-256 checksum
How to use checksums
45a05170eb9ffee70aad3e517c6da7c659a129ce552813c7d7ea7de5814886f8
BLAKE2b-256 checksum
How to use checksums
0a557d26e7b154cee8362ff7a9115b98b3166c543bef34595fd99a0a03286cd4
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 Sep 14, 2026.

Transparency log

Release files / smappy_smlm-0.2.0-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl

Download URL smappy_smlm-0.2.0-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Size 859.6 kB
Tags CPython 3.11 Linux glibc 2.27+ x86-64 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
1f158524425556ae286ed6dda766dcb00ec2715e792c51ad065d67fec858b977
BLAKE2b-256 checksum
How to use checksums
77ebfd32010613fb8265c2e3326a5568ee1eee70ab50bad6a5f8391abdb6fd36
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 Sep 14, 2026.

Transparency log

Release files / smappy_smlm-0.2.0-cp311-cp311-macosx_11_0_arm64.whl

Download URL smappy_smlm-0.2.0-cp311-cp311-macosx_11_0_arm64.whl
Size 757.1 kB
Tags CPython 3.11 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
322cf04469eb78e3fc7fa7a8f8c718b0c3b3228a0d6ccb5082bf7e1e062c7bdd
BLAKE2b-256 checksum
How to use checksums
36304a6d8f080ea668c3522631b0c7cc195c3b84d234f3ee2099d2319724f1dd
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 Sep 14, 2026.

Transparency log

Release files / smappy_smlm-0.2.0-cp311-cp311-macosx_10_9_x86_64.whl

Download URL smappy_smlm-0.2.0-cp311-cp311-macosx_10_9_x86_64.whl
Size 774.7 kB
Tags CPython 3.11 macOS 10.9+ x86-64
SHA-256 checksum
How to use checksums
2577cf2d9efa31141a8cd45acf5fcff22c2eeb9ebb8a1d3168de7e85d5182fd6
BLAKE2b-256 checksum
How to use checksums
d017b42199500f2f8a30a4646bbf9d28c3514776e1087b82322f69e8eed1688b
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 Sep 14, 2026.

Transparency log

Release files / smappy_smlm-0.2.0-cp310-cp310-win_amd64.whl

Download URL smappy_smlm-0.2.0-cp310-cp310-win_amd64.whl
Size 973.8 kB
Tags CPython 3.10 Windows x86-64
SHA-256 checksum
How to use checksums
ad43494006c4cd44c4ea58de3efb803f301c242a178aa11313d19e05da34ad46
BLAKE2b-256 checksum
How to use checksums
ae2d5022c1ab0f538d219660f4ed4b0a7114d897f0aab6f0e4e142c77adbf09a
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 Sep 14, 2026.

Transparency log

Release files / smappy_smlm-0.2.0-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl

Download URL smappy_smlm-0.2.0-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Size 855.9 kB
Tags CPython 3.10 Linux glibc 2.27+ x86-64 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
e295c885e438c1305c2ae3eafdd191c733242b78a005cfb54ee5bc8577f99f02
BLAKE2b-256 checksum
How to use checksums
c522bfe910a69ab8bdfb821382bfcfd7af6f7a65a85efcaad4e4c6e43e706c27
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 Sep 14, 2026.

Transparency log

Release files / smappy_smlm-0.2.0-cp310-cp310-macosx_11_0_arm64.whl

Download URL smappy_smlm-0.2.0-cp310-cp310-macosx_11_0_arm64.whl
Size 752.4 kB
Tags CPython 3.10 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
ec9cacfa8a69471b6a4bda243b97c402df63a624850d9950ee0939a5c0dd1615
BLAKE2b-256 checksum
How to use checksums
ffdeb5427627f4a3cec3daa96093511c423879c3f5190f8a3a3addc49a28775f
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 Sep 14, 2026.

Transparency log

Release files / smappy_smlm-0.2.0-cp310-cp310-macosx_10_9_x86_64.whl

Download URL smappy_smlm-0.2.0-cp310-cp310-macosx_10_9_x86_64.whl
Size 769.5 kB
Tags CPython 3.10 macOS 10.9+ x86-64
SHA-256 checksum
How to use checksums
69aa928a5fe3cac1ddb102e567d0716b653fd28fed9bbc3ed5486a9b5804ffe2
BLAKE2b-256 checksum
How to use checksums
10e32c8a8aa162eaaf704a72f076ee489b7f313cae170f8d513a59dc758a8361
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 Sep 14, 2026.

Transparency log

Release files / smappy_smlm-0.2.0-cp39-cp39-win_amd64.whl

Download URL smappy_smlm-0.2.0-cp39-cp39-win_amd64.whl
Size 975.2 kB
Tags CPython 3.9 Windows x86-64
SHA-256 checksum
How to use checksums
5380d8be7e288f63b515c739327f28f14f079a5dd06d49d8d7302b0e8a166f77
BLAKE2b-256 checksum
How to use checksums
2c3cad7190f7f024136e3bc6cb90fc18c819b14747fc87bbbff49ca36170e2f0
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 Sep 14, 2026.

Transparency log

Release files / smappy_smlm-0.2.0-cp39-cp39-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl

Download URL smappy_smlm-0.2.0-cp39-cp39-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Size 856.1 kB
Tags CPython 3.9 Linux glibc 2.27+ x86-64 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
a0e1dd3bb1cefb88d6c620d26afe50178ef780605086ba79e0891d328e2e2627
BLAKE2b-256 checksum
How to use checksums
959881f3a98ea05928f655b031b861df49d8ba98459f1b2bd18f3283025ddda1
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 Sep 14, 2026.

Transparency log

Release files / smappy_smlm-0.2.0-cp39-cp39-macosx_11_0_arm64.whl

Download URL smappy_smlm-0.2.0-cp39-cp39-macosx_11_0_arm64.whl
Size 752.9 kB
Tags CPython 3.9 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
246b81efdb5e0c588bd4629f5d54294ea5869bbe4d626b5f84f6bd42848b40de
BLAKE2b-256 checksum
How to use checksums
f2a215c86156c4ceefeb4cbe6e0dff453861b9f9293fdec42202eeeec14d8e7c
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 Sep 14, 2026.

Transparency log

Release files / smappy_smlm-0.2.0-cp39-cp39-macosx_10_9_x86_64.whl

Download URL smappy_smlm-0.2.0-cp39-cp39-macosx_10_9_x86_64.whl
Size 769.8 kB
Tags CPython 3.9 macOS 10.9+ x86-64
SHA-256 checksum
How to use checksums
c2ee13e298a5aa0a822e533fef399c732e2128cf097b16898ce9926a2c3bcf15
BLAKE2b-256 checksum
How to use checksums
44c843c36d162c72ad0947df7a72d6e544253a44e4583b6ff277000654ff1e4b
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 Sep 14, 2026.

Transparency log

Release history Release notifications | RSS feed

0.4.1

21 release files

0.4.0

21 release files

This release

0.2.0 This release

21 release files

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