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.

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.

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.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.5.0
File Size Uploaded Provenance Actions
smappy_smlm-0.5.0.tar.gz 2.5 MB With provenance Details for smappy_smlm-0.5.0.tar.gz

Built distributions (wheels)

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

Total release size: 35.9 MB

Release files / smappy_smlm-0.5.0.tar.gz

Download URL smappy_smlm-0.5.0.tar.gz
Size 2.5 MB
Tags Source
SHA-256 checksum
How to use checksums
bf331d971bf9e61f55083b89fe15231f36e51c64bb4a80c31025debd166a1669
BLAKE2b-256 checksum
How to use checksums
70c0fdb88061582a1952ef94d0a37c196280e3249ce602728b3bd8eaeac257f0
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 23, 2026.

Transparency log

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

Download URL smappy_smlm-0.5.0-cp314-cp314-win_amd64.whl
Size 2.9 MB
Tags CPython 3.14 Windows x86-64
SHA-256 checksum
How to use checksums
e9f32cc1b299ecc18232a42fbc0b40250f99fcf1e2bb571f46d5b33e872cb8b2
BLAKE2b-256 checksum
How to use checksums
badb35b566d5ddf0401574c0dede6ea54cddfb6bb88292e0b4946129f8267bb3
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 23, 2026.

Transparency log

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

Download URL smappy_smlm-0.5.0-cp314-cp314-manylinux_2_34_x86_64.whl
Size 2.8 MB
Tags CPython 3.14 Linux glibc 2.34+ x86-64
SHA-256 checksum
How to use checksums
dcb5ea5bdefd81cba1f2c4fd97f7c1d7e803af51dfa751dd5c59cad87a1efe23
BLAKE2b-256 checksum
How to use checksums
20f484c90f520e73c2dfd7464674e7a622cacd3584b7954be068fbd018b1c3df
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 23, 2026.

Transparency log

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

Download URL smappy_smlm-0.5.0-cp314-cp314-macosx_11_0_arm64.whl
Size 2.7 MB
Tags CPython 3.14 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
5c4254070548eae25a88cd9c02563cf95c18225f73c86cc1d7c95c31712a8ce7
BLAKE2b-256 checksum
How to use checksums
a5eb8996d7fce3687bf29d9c586468d9d905aa4fc24f062820399a62e90107eb
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 23, 2026.

Transparency log

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

Download URL smappy_smlm-0.5.0-cp314-cp314-macosx_10_15_x86_64.whl
Size 2.7 MB
Tags CPython 3.14 macOS 10.15+ x86-64
SHA-256 checksum
How to use checksums
da7d3096c7326327862063d8b20468afe48df60555b1e9b0a1066a5609702208
BLAKE2b-256 checksum
How to use checksums
429c286bf83f343bbc3552ed85d9a322ad6123554dd50db2bca05a4949b59070
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 23, 2026.

Transparency log

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

Download URL smappy_smlm-0.5.0-cp313-cp313-win_amd64.whl
Size 2.9 MB
Tags CPython 3.13 Windows x86-64
SHA-256 checksum
How to use checksums
11439460237c2b2e90f907750322f4ab21e21c4a7aff9e42e9fe66e674ad42ea
BLAKE2b-256 checksum
How to use checksums
a77cd8ada9c6c8d30de4af4911b3597c231196ddf7f8d9943f7d3baef6c88983
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 23, 2026.

Transparency log

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

Download URL smappy_smlm-0.5.0-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Size 2.8 MB
Tags CPython 3.13 Linux glibc 2.27+ x86-64 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
c16b45bd065941eb7bd58139fe68270d315aa103332fe3751efeffa4857df35d
BLAKE2b-256 checksum
How to use checksums
62705633693355e702dc804bf9c930b507222a1ef95e2cbdb58a753612ebb75c
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 23, 2026.

Transparency log

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

Download URL smappy_smlm-0.5.0-cp313-cp313-macosx_11_0_arm64.whl
Size 2.7 MB
Tags CPython 3.13 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
8a95410c875d1211ab017a87109ffdb7e56d170d538407959d3fce67a33f452e
BLAKE2b-256 checksum
How to use checksums
ed05a81c97f9aabb17ea2393ab176122d70a63db15b25fa13213328b145659b7
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 23, 2026.

Transparency log

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

Download URL smappy_smlm-0.5.0-cp313-cp313-macosx_10_13_x86_64.whl
Size 2.7 MB
Tags CPython 3.13 macOS 10.13+ x86-64
SHA-256 checksum
How to use checksums
0bc8b8c8d9f17686ecbd4f36104d10813c4cf6e48c587add36f670803cf88600
BLAKE2b-256 checksum
How to use checksums
0aa9fe65232b3188c3dfe9eaaf1646c92eb679526bda59a37a920625658a5286
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 23, 2026.

Transparency log

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

Download URL smappy_smlm-0.5.0-cp312-cp312-win_amd64.whl
Size 2.9 MB
Tags CPython 3.12 Windows x86-64
SHA-256 checksum
How to use checksums
d261985d2a0685467a19877fa23a652330a0585576f611aa7c39935b7cf87e06
BLAKE2b-256 checksum
How to use checksums
9bacff066585549f6caa250325e8808125dfde1f51b9f47b8c12add1bae994b7
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 23, 2026.

Transparency log

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

Download URL smappy_smlm-0.5.0-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Size 2.8 MB
Tags CPython 3.12 Linux glibc 2.27+ x86-64 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
e26d43c01349c87e1bc1dd19e0e8dbec333f06ccb5fab86c9d72db19c6a5aafe
BLAKE2b-256 checksum
How to use checksums
e3962a44ac1cef8f9f4d87faa2f9b04ff1c880713f11fc8839ec76e248ef2756
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 23, 2026.

Transparency log

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

Download URL smappy_smlm-0.5.0-cp312-cp312-macosx_11_0_arm64.whl
Size 2.7 MB
Tags CPython 3.12 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
e1c8348d52a34acb82552b10f41a48518c1c01c7ff5d79d3fb05829cf99c8efa
BLAKE2b-256 checksum
How to use checksums
b3cedaaf772fb4153cceaa6f1aeac192a2db53af76a4016773088f2b19dcb4e4
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 23, 2026.

Transparency log

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

Download URL smappy_smlm-0.5.0-cp312-cp312-macosx_10_13_x86_64.whl
Size 2.7 MB
Tags CPython 3.12 macOS 10.13+ x86-64
SHA-256 checksum
How to use checksums
8268aee20e97fd2c30abd8d2d5f9b18dcf7dd54296ef80be388d13308fc07e75
BLAKE2b-256 checksum
How to use checksums
741c4b1f134c75af7db4827b88fbf06aafd5e67a8c01a48f1cecb1c506539038
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 23, 2026.

Transparency log

Security for smappy-smlm 0.5.0

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.0.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 23, 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