Skip to main content

NanofinderParser


Documentation Status License - BSD-3-Clause
PyPI - Version PyPI - Downloads PyPI - Python Version
GitHub commit activity GitHub commits since latest release GitHub last commit GitHub Release Date
CI - Tests CD - Publish GitHub stars GitHub forks GitHub issues
Linting - Ruff Formatter - Ruff Types - Mypy

GitHub · PyPI · Docs · Issues

Parse and process Raman and photoluminescence (PL) data files generated by Nanofinder instruments.



Features

  • Parse SMD (Scanned Measurement Data) mapping files produced by NanoFinder instruments
  • Parse MDT files, which hold individual spectra and 2-D maps rather than a mapping
  • Convert spectral data between different units (nm, cm-1, eV, Raman shift)
  • Export parsed data to CSV files or pandas DataFrames

Installation

From PyPI

pip install nanofinderparser

or

uv add nanofinderparser

From Source

git clone https://github.com/psolsfer/nanofinderparser.git
cd nanofinderparser
uv sync

Usage

Quick Start

Here's a simple example of how to use NanofinderParser in python:

from pathlib import Path
from nanofinderparser import load_smd

# Load an SMD file
file_path = Path("path/to/your/smd/file.smd")
mapping_data = load_smd(file_path)

# Access basic information
print(f"Laser wavelength: {mapping_data.laser_wavelength} nm")
print(f"Map size: {mapping_data.map_size}")

# Export data to CSV
mapping_data.to_csv(path=Path("output"), spectral_units="raman_shift")

Individual spectra are saved by NanoFinder as MDT files, which are loaded with load_mdt:

from pathlib import Path
from nanofinderparser import load_mdt

spectra = load_mdt(Path("path/to/your/mdt/file.mdt"))

for spectrum in spectra:
    print(spectrum.title, spectrum.get_spectral_axis("raman_shift"), spectrum.data)

You can also use NanofinderParser from the command line:

# Convert an SMD file to CSV
nanofinderparser convert path/to/your/smd/file.smd output_folder --units nm

# Convert an MDT file of individual spectra to CSV
nanofinderparser convert-mdt path/to/your/mdt/file.mdt output_folder --units nm

# Display information about a file
nanofinderparser info path/to/your/smd/file.smd
nanofinderparser info-mdt path/to/your/mdt/file.mdt

For more detailed usage instructions, please refer to the documentation.

Command Line Interface

nanofinderparser --help

Python API

import nanofinderparser

# TODO: Add usage examples

Development

Setup

git clone https://github.com/psolsfer/nanofinderparser.git
cd nanofinderparser
uv sync

Install the prek git hook

uv run prek install

Running Tests

uv run pytest

Code Quality

uv run ruff check .
uv run ruff format .
uv run mypy src/nanofinderparser

Contributing

Contributions are welcome! Please feel free to submit a Pull Request.

Credits

This package was created with Copier and the Copier PyPackage uv project template.

Release files for nanofinderparser 0.6.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 nanofinderparser 0.6.0
File Size Uploaded
nanofinderparser-0.6.0.tar.gz 33.0 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for nanofinderparser 0.6.0
File Interpreter ABI Platform
nanofinderparser-0.6.0-py3-none-any.whl Python 3 none any Details

Total release size: 69.3 kB

Release files / nanofinderparser-0.6.0.tar.gz

Download URL nanofinderparser-0.6.0.tar.gz
Size 33.0 kB
Tags Source
SHA-256 checksum
How to use checksums
31adc23432c49fe9a4e5f36ab10451dfee34cac50d2de924dfa2b8f39b05c11f
BLAKE2b-256 checksum
How to use checksums
5927a0977b505ab207506c42f83c81608a5234964c65db3e57b234ce157e8516
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 Aug 21, 2026.

Transparency log

Release files / nanofinderparser-0.6.0-py3-none-any.whl

Download URL nanofinderparser-0.6.0-py3-none-any.whl
Size 36.3 kB
Tags Python 3
SHA-256 checksum
How to use checksums
22a474c1786802ee6853a6472e1ed16f2e457bf15059e67f43f4becb819a920c
BLAKE2b-256 checksum
How to use checksums
2c7ef39661de43cc8171aafad7e0911b5ab8a9ce245aa31422c353fc43e033c4
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 Aug 21, 2026.

Transparency log

Release history Release notifications | RSS feed

0.7.0

2 release files

This release

0.6.0 This release

2 release files

0.5.1

2 release files

0.4.1

2 release files

0.4.0

2 release files

0.3.7

2 release files

0.3.6

2 release files

0.3.5

2 release files

0.3.4

2 release files

0.3.3

2 release files

0.3.2

2 release files

0.3.1

2 release files

0.3.0

2 release files

0.2.2

2 release files

0.2.1

2 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