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.10

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.10
File Size Uploaded Provenance Actions
smappy_smlm-0.5.10.tar.gz 3.1 MB With provenance Details for smappy_smlm-0.5.10.tar.gz

Built distributions (wheels)

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

Total release size: 43.1 MB

Release files / smappy_smlm-0.5.10.tar.gz

Download URL smappy_smlm-0.5.10.tar.gz
Size 3.1 MB
Tags Source
SHA-256 checksum
How to use checksums
b152a8b963369476deddd1054b8d80b80f780dc1adbb96b26ca113bf6121159a
BLAKE2b-256 checksum
How to use checksums
5f6ad361e83aa8278702c39cdd59507a5730ab8cd2490a95b96cddd1a1ab0376
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Nov 3, 2026.

Transparency log

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

Download URL smappy_smlm-0.5.10-cp314-cp314-win_amd64.whl
Size 3.5 MB
Tags CPython 3.14 Windows x86-64
SHA-256 checksum
How to use checksums
7c4706f64140398edf2249c9a1c08a02feeb5bf691ffac298eeb711d0d0f438f
BLAKE2b-256 checksum
How to use checksums
20aa89ec135f67901cf9b35f9fd0cfef7fc7d5c537fe35a8088428c83bf2950d
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Nov 3, 2026.

Transparency log

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

Download URL smappy_smlm-0.5.10-cp314-cp314-manylinux_2_34_x86_64.whl
Size 3.4 MB
Tags CPython 3.14 Linux glibc 2.34+ x86-64
SHA-256 checksum
How to use checksums
265ee070a02612b2c4257b4d7688003fa52ac7ceb04d05dbaff6aef8ae7bc493
BLAKE2b-256 checksum
How to use checksums
bf029392d42f3d96516355aa766eda9cfd32ee482daa215c4c7b0492dcd1a469
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Nov 3, 2026.

Transparency log

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

Download URL smappy_smlm-0.5.10-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
d82f42940bc2ec552155ed5c1eda93f36febbc7ebf2cc0aaa8ffb63eb2c706da
BLAKE2b-256 checksum
How to use checksums
69a4c25f77c0707b3b96c9cb7ac788db56af723e312e710945e92185fe03367a
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Nov 3, 2026.

Transparency log

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

Download URL smappy_smlm-0.5.10-cp314-cp314-macosx_10_15_x86_64.whl
Size 3.3 MB
Tags CPython 3.14 macOS 10.15+ x86-64
SHA-256 checksum
How to use checksums
2e3efe3d5b7b6feb52b6e3602998a052d0817681541ef3d7d42487dce2a00de8
BLAKE2b-256 checksum
How to use checksums
d0dc5d30f00561feeb2f15a35b9daf05a30cbda834e1718ee37b7636b222fcc4
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Nov 3, 2026.

Transparency log

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

Download URL smappy_smlm-0.5.10-cp313-cp313-win_amd64.whl
Size 3.5 MB
Tags CPython 3.13 Windows x86-64
SHA-256 checksum
How to use checksums
61d88482b4faf4df466d63cd143c697e22721ff087cae3d3735901f1beb9feb9
BLAKE2b-256 checksum
How to use checksums
0a5395ee9641031376f68c5805794b8b6c8a4d98a019da91b03ad70e2bfc7708
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Nov 3, 2026.

Transparency log

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

Download URL smappy_smlm-0.5.10-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Size 3.4 MB
Tags CPython 3.13 Linux glibc 2.27+ x86-64 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
ff5bfb3cc4306eb5cd26f220839a05617782b94d3f2f18ba297b02bf84d60629
BLAKE2b-256 checksum
How to use checksums
b8466885d2c70ab9deb6333f26734dbd93584eb995e6a0c6cc164398c8b7bf47
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Nov 3, 2026.

Transparency log

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

Download URL smappy_smlm-0.5.10-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
587242947b849926e3dd83e87b6d733f0c924dab6b1506b12b1204e19edd3d23
BLAKE2b-256 checksum
How to use checksums
b7f4d45da0917fb6bec5de6377fdd55aaf3a72c1dc0e028782b6d9c002699410
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Nov 3, 2026.

Transparency log

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

Download URL smappy_smlm-0.5.10-cp313-cp313-macosx_10_13_x86_64.whl
Size 3.3 MB
Tags CPython 3.13 macOS 10.13+ x86-64
SHA-256 checksum
How to use checksums
96193c1d2a193d4f42b3305849a75701d20516517f5e741dfaf22fa81dcb7edc
BLAKE2b-256 checksum
How to use checksums
aed7fe369b2bce9bc52a4901f522f68c8c6a0dab43d532cab06b24db92c8462f
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Nov 3, 2026.

Transparency log

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

Download URL smappy_smlm-0.5.10-cp312-cp312-win_amd64.whl
Size 3.5 MB
Tags CPython 3.12 Windows x86-64
SHA-256 checksum
How to use checksums
0c05d015f40147558d13218191baa13645e75bef353fd9c1dbeff8d9cc295864
BLAKE2b-256 checksum
How to use checksums
ddf23e69ebd9469835f363b7db6a6cd4e965eb89874cd7f329f4563c05f07bd8
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Nov 3, 2026.

Transparency log

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

Download URL smappy_smlm-0.5.10-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Size 3.4 MB
Tags CPython 3.12 Linux glibc 2.27+ x86-64 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
2b5ba096d0f2b5678f6bb102c368741c57f104ff3a4a883b712f23d949436345
BLAKE2b-256 checksum
How to use checksums
163f4c26f695110712162d290474be1bfb2255ab9b9a62ca92aa7ec73b9f31df
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Nov 3, 2026.

Transparency log

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

Download URL smappy_smlm-0.5.10-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
efd94a6091effddae40f48a232e908b330aa832f6b2d131bba786c1a6044452b
BLAKE2b-256 checksum
How to use checksums
96856ba23e5e199c36e8ad03f56e353e52268df81117656d031ae1caa2c37775
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Nov 3, 2026.

Transparency log

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

Download URL smappy_smlm-0.5.10-cp312-cp312-macosx_10_13_x86_64.whl
Size 3.3 MB
Tags CPython 3.12 macOS 10.13+ x86-64
SHA-256 checksum
How to use checksums
4b2b5217dc58593320b43157d61aa1a082aef0d00e38265fc52c37359c312ae0
BLAKE2b-256 checksum
How to use checksums
7a487e7cf1de75de000a892c8659930a8c48183536ec54f9785e50000d92fa8a
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Nov 3, 2026.

Transparency log

Security for smappy-smlm 0.5.10

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.10.tar.gz

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Nov 3, 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