Skip to main content

SMAPpy

SMAPpy is software for single-molecule localization microscopy (SMLM) in Python. It takes raw camera frames to localizations and super-resolution images, with a graphical interface, command-line tools and a Python API. It is a Python port of SMAP.

Install

pip install smappy-smlm

The GUI is included. Binary wheels are available for Python 3.12-3.14 on macOS, Linux and Windows, so nothing needs to be compiled. The package is called smappy-smlm on PyPI; in Python you import smappy.

I need more help. Never used a terminal or pip? Installing SMAPpy, step by step walks through it on a Mac or Windows computer, from opening the terminal to starting the GUI, and says what to ask an AI assistant that can do it for you.

With uv you can install the GUI as a standalone tool, or run it without installing:

uv tool install smappy-smlm
uvx --from smappy-smlm smappy-gui

To install from a checkout, which builds the C++ extensions (pip 21.3 or newer):

git clone https://github.com/ries-lab/SMAPpy.git
cd SMAPpy
python -m venv .venv
.venv/bin/python -m pip install -e .

Update

Close SMAPpy first: on Windows, pip cannot replace the program files of a running SMAPpy. Then, in the same environment you installed it into:

pip install --upgrade smappy-smlm

pip show smappy-smlm tells you which version you have; the newest is on PyPI. If you installed it with uv, run uv tool upgrade smappy-smlm instead. In a checkout, run git pull, then .venv/bin/python -m pip install -e . again, which rebuilds the C++ extensions.

SMAPpy itself looks for a newer version once a day when it starts and, if there is one, says so at the bottom right of the control window. Help → Check for updates... asks at any time. Its Update and restart closes SMAPpy, installs the new version with pip (or uv) and starts SMAPpy again; Copy command gives the command for your installation instead, and a checkout is always updated by hand. The daily check is turned off in the General tab of Preferences....

Start

smappy-gui

or, to open a localization file directly:

smappy-gui FILE.hdf5

Files can also be dropped onto either window: a localization file opens as with File → Open; a short TIFF (50 frames or fewer) or a PNG is added as an image layer, as with File → Open image; and a longer stack (TIFF, an NDTiff folder, *.sim.yaml) becomes the file of the fitter on the Localize tab, ready to fit.

From a checkout, activate the venv first or run .venv/bin/smappy-gui.

Tutorials and documentation

Tutorials. ries-lab.github.io/SMAPpy has short guided tours on simulated data you can follow along with. Start with SMAPpy in three minutes. In the program, Help → Tutorials opens them in your browser.

Help pages. Every plugin and the main parts of the GUI have a help page. It explains the theoretical background and every control. Open it with the ? in a plugin's or a Render-tab section's title bar, with F1 in any panel or window, or from Help → Plugin documentation. The same pages are online at ries-lab.github.io/SMAPpy/help, and python -m smappy.docs -o DIR writes them as a static website.

Your own analysis. When no plugin measures what you need, make one: describe it to an AI assistant started in your plugin folder (Plugins → Show my plugin folder), or start from the example with Plugins → New plugin.... A file saved there appears under Plugins → User. The help page Your own plugins explains how.

An AI assistant. Your own assistant -- Claude Code, Codex or the Claude app -- is the help to ask when you know what you need but not how: tell it in plain words, and it explains how to do it in SMAPpy, suggests the plugin and its settings, or does it for you. Assistant → Start assistant starts it beside the picture, and what it would change waits for you to open or dismiss. The tutorial An AI assistant shows it, and the help page Assistant has the details.

For developers. GUI.md describes the architecture. docs/ holds design notes on the plugin system and individual algorithms. NOTES.md records design decisions and measurements.

License

SMAPpy is released under the BSD 3-Clause license; see LICENSE and THIRD_PARTY_NOTICES.md.

Metadata

Release files for smappy-smlm 0.5.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 smappy-smlm 0.5.9
File Size Uploaded Provenance Actions
smappy_smlm-0.5.9.tar.gz 3.0 MB With provenance Details for smappy_smlm-0.5.9.tar.gz

Built distributions (wheels)

Table of built distributions (wheels) for smappy-smlm 0.5.9
File Actions
smappy_smlm-0.5.9-cp314-cp314-win_amd64.whl CPython 3.14 CPython 3.14 Windows x86-64 Details for smappy_smlm-0.5.9-cp314-cp314-win_amd64.whl
smappy_smlm-0.5.9-cp314-cp314-manylinux_2_34_x86_64.whl CPython 3.14 CPython 3.14 Linux glibc 2.34+ x86-64 Details for smappy_smlm-0.5.9-cp314-cp314-manylinux_2_34_x86_64.whl
smappy_smlm-0.5.9-cp314-cp314-macosx_11_0_arm64.whl CPython 3.14 CPython 3.14 macOS 11.0+ ARM64 Details for smappy_smlm-0.5.9-cp314-cp314-macosx_11_0_arm64.whl
smappy_smlm-0.5.9-cp314-cp314-macosx_10_15_x86_64.whl CPython 3.14 CPython 3.14 macOS 10.15+ x86-64 Details for smappy_smlm-0.5.9-cp314-cp314-macosx_10_15_x86_64.whl
smappy_smlm-0.5.9-cp313-cp313-win_amd64.whl CPython 3.13 CPython 3.13 Windows x86-64 Details for smappy_smlm-0.5.9-cp313-cp313-win_amd64.whl
smappy_smlm-0.5.9-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 for smappy_smlm-0.5.9-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
smappy_smlm-0.5.9-cp313-cp313-macosx_11_0_arm64.whl CPython 3.13 CPython 3.13 macOS 11.0+ ARM64 Details for smappy_smlm-0.5.9-cp313-cp313-macosx_11_0_arm64.whl
smappy_smlm-0.5.9-cp313-cp313-macosx_10_13_x86_64.whl CPython 3.13 CPython 3.13 macOS 10.13+ x86-64 Details for smappy_smlm-0.5.9-cp313-cp313-macosx_10_13_x86_64.whl
smappy_smlm-0.5.9-cp312-cp312-win_amd64.whl CPython 3.12 CPython 3.12 Windows x86-64 Details for smappy_smlm-0.5.9-cp312-cp312-win_amd64.whl
smappy_smlm-0.5.9-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 for smappy_smlm-0.5.9-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
smappy_smlm-0.5.9-cp312-cp312-macosx_11_0_arm64.whl CPython 3.12 CPython 3.12 macOS 11.0+ ARM64 Details for smappy_smlm-0.5.9-cp312-cp312-macosx_11_0_arm64.whl
smappy_smlm-0.5.9-cp312-cp312-macosx_10_13_x86_64.whl CPython 3.12 CPython 3.12 macOS 10.13+ x86-64 Details for smappy_smlm-0.5.9-cp312-cp312-macosx_10_13_x86_64.whl

Total release size: 42.3 MB

Release files / smappy_smlm-0.5.9.tar.gz

Download URL smappy_smlm-0.5.9.tar.gz
Size 3.0 MB
Tags Source
SHA-256 checksum
How to use checksums
624ecc498525b5081ca84c49bfdd44e2738504beeb7f2cf7be8c454c3a5688b4
BLAKE2b-256 checksum
How to use checksums
e0eab94ab03f0f3d5a5402d74d22850c6666a34146625e218c9a1db0aeb6c694
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 Oct 29, 2026.

Transparency log

Release files / smappy_smlm-0.5.9-cp314-cp314-win_amd64.whl

Download URL smappy_smlm-0.5.9-cp314-cp314-win_amd64.whl
Size 3.4 MB
Tags CPython 3.14 Windows x86-64
SHA-256 checksum
How to use checksums
e233892176f794db275fadd897ba2029371444fd1cfc34299b8ca5cbe6b897e6
BLAKE2b-256 checksum
How to use checksums
77ee54d3759376f03e9df90715acce48cd17d954f81a241cb0e3ff6ac1089719
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 Oct 29, 2026.

Transparency log

Release files / smappy_smlm-0.5.9-cp314-cp314-manylinux_2_34_x86_64.whl

Download URL smappy_smlm-0.5.9-cp314-cp314-manylinux_2_34_x86_64.whl
Size 3.3 MB
Tags CPython 3.14 Linux glibc 2.34+ x86-64
SHA-256 checksum
How to use checksums
387266a8444c420ba57818d09f9410f3b71837fb7b8e6087988fd6e5dca92a48
BLAKE2b-256 checksum
How to use checksums
df6319a9497dcd7526826af09b6b98c377242d01da9c859e8db7baa17128f821
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 Oct 29, 2026.

Transparency log

Release files / smappy_smlm-0.5.9-cp314-cp314-macosx_11_0_arm64.whl

Download URL smappy_smlm-0.5.9-cp314-cp314-macosx_11_0_arm64.whl
Size 3.2 MB
Tags CPython 3.14 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
2e9cd271e729a32866b115e6090942310ed3275f01af060cd86847445c0cf8b1
BLAKE2b-256 checksum
How to use checksums
cf3934a19d148a36797485175c6dce88d87188af0f8cc5f91f7661d5137cabdd
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 Oct 29, 2026.

Transparency log

Release files / smappy_smlm-0.5.9-cp314-cp314-macosx_10_15_x86_64.whl

Download URL smappy_smlm-0.5.9-cp314-cp314-macosx_10_15_x86_64.whl
Size 3.2 MB
Tags CPython 3.14 macOS 10.15+ x86-64
SHA-256 checksum
How to use checksums
4cdec901f5d71fcdc13b5baad285f3732aacc165bc1e69e429baa96306cddfab
BLAKE2b-256 checksum
How to use checksums
31a6c044697538cc778b0dc9f758e1d8213e9c88ae04bab207e7ded6db00b0a6
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 Oct 29, 2026.

Transparency log

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

Download URL smappy_smlm-0.5.9-cp313-cp313-win_amd64.whl
Size 3.4 MB
Tags CPython 3.13 Windows x86-64
SHA-256 checksum
How to use checksums
7de1a413888f0638940336e096d7646771b14c06f8ebef04426b962313b4f90a
BLAKE2b-256 checksum
How to use checksums
f78f92393d1f8417eda1c9462d0a8210d18413749b475663ad3564b3d897f9f7
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 Oct 29, 2026.

Transparency log

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

Download URL smappy_smlm-0.5.9-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Size 3.3 MB
Tags CPython 3.13 Linux glibc 2.27+ x86-64 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
36d78b15843e56dce2800ee2507f4e0fbc3ce0bc3266af8640d7ca321ff00059
BLAKE2b-256 checksum
How to use checksums
60a6fd4649fb4f96487d18c0b833cf64e81f0ede117b771edd87cd8933984ffd
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 Oct 29, 2026.

Transparency log

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

Download URL smappy_smlm-0.5.9-cp313-cp313-macosx_11_0_arm64.whl
Size 3.2 MB
Tags CPython 3.13 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
d6210b7eed5f4086e7906fd4a6df3deaa9d71e0286fad95108bb2279b166402b
BLAKE2b-256 checksum
How to use checksums
690245603c30de8905ed4467c56648b7f0667d8081eee06a13332a2f173a37a3
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 Oct 29, 2026.

Transparency log

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

Download URL smappy_smlm-0.5.9-cp313-cp313-macosx_10_13_x86_64.whl
Size 3.2 MB
Tags CPython 3.13 macOS 10.13+ x86-64
SHA-256 checksum
How to use checksums
37e1dd27d3944c3c873ebc2cc983d286633f44a12024e6a1a1690c2cad74699b
BLAKE2b-256 checksum
How to use checksums
8bfd8658fdde4d3cbd3c201f464871b0d687ee9303d7269430dfc6849704b92d
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 Oct 29, 2026.

Transparency log

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

Download URL smappy_smlm-0.5.9-cp312-cp312-win_amd64.whl
Size 3.4 MB
Tags CPython 3.12 Windows x86-64
SHA-256 checksum
How to use checksums
92a1fa3566c5614901d691c36ecc47ac36e5e4f89405e35b0da14416b3acf2c1
BLAKE2b-256 checksum
How to use checksums
208c2fe6f7a9a9bd9e08030e6f0e563f937eb9772883373de0b26affe8a8f7ce
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 Oct 29, 2026.

Transparency log

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

Download URL smappy_smlm-0.5.9-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Size 3.3 MB
Tags CPython 3.12 Linux glibc 2.27+ x86-64 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
447399a44b68f5111d0beb0f5186b90068363b2208a505257e227b008623a81a
BLAKE2b-256 checksum
How to use checksums
7ee42410f1b0dd9576c33de8e34e380914a8195779f45908a74296ef8f801a5b
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 Oct 29, 2026.

Transparency log

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

Download URL smappy_smlm-0.5.9-cp312-cp312-macosx_11_0_arm64.whl
Size 3.2 MB
Tags CPython 3.12 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
17d02c5594b71a09c4c8afe86d23690b50c52d4c8a510a40a028bb2859c629e3
BLAKE2b-256 checksum
How to use checksums
5ddb4b271c5ae566eea8e2212bab25f82bbd44f79790fa7ada756d1acb98b981
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 Oct 29, 2026.

Transparency log

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

Download URL smappy_smlm-0.5.9-cp312-cp312-macosx_10_13_x86_64.whl
Size 3.2 MB
Tags CPython 3.12 macOS 10.13+ x86-64
SHA-256 checksum
How to use checksums
1a7a00d6c29506e4be02a5d405469ce7b5c81629e3d1f8dd8a6749a3ba9bcb87
BLAKE2b-256 checksum
How to use checksums
11406811ec83644899e8fd6675011dfd65ccaa15621b8b18b06f1ac0682d493a
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 Oct 29, 2026.

Transparency log

Security for smappy-smlm 0.5.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 13 files in this release have been uploaded with provenance metadata.

Select from 13 files

Attestation for smappy_smlm-0.5.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 Oct 29, 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