semvec/pypi-packages huggingface dataset:
obspec 0.1.0
Object storage interface definitions for Python.
Requires Python: >=3.9

# obspec

A Python protocol for interfacing with object storage.

[Read the release post.](https://developmentseed.org/obspec/latest/blog/2025/06/25/introducing-obspec-a-python-protocol-for-interfacing-with-object-storage/)

It's designed to abstract away the complexities of different object storage providers while acknowledging that object storage is _not a filesystem_. The Python protocols present more similarities to HTTP requests than Python file objects.

## Implementations

The primary implementation that implements obspec is [obstore](https://developmentseed.org/obstore/latest/), and the obspec protocol was designed around the obstore API.

## Utilities

There are planned to be utilities that build on top of obspec. Potentially:

- globbing: an implementation of `glob()` similar to [`fsspec.glob`](https://filesystem-spec.readthedocs.io/en/latest/api.html#fsspec.spec.AbstractFileSystem.glob) that uses `obspec` primitives.
- Caching: wrappers around `Get`/`GetRange`/`GetRanges` that store a cache of bytes.

By having these utilities operate on generic obspec protocols, it means that they can instantly be used with any future obspec backend.
nanofinderparser 0.4.1
Parse and process Raman and photoluminescence (PL) data files generated by Nanofinder instruments.
Requires Python: <3.14,>=3.12
Keywords: nanofinderparser

# NanofinderParser

----


[![Documentation Status](<https://readthedocs.org/projects/nanofinderparser/badge/?version=stable> 'Documentation Status')](<https://nanofinderparser.readthedocs.io/en/stable/>)
[![PyPI - Version](<https://img.shields.io/pypi/v/nanofinderparser.svg?logo=pypi&label=PyPI&logoColor=gold>)](<https://pypi.python.org/pypi/nanofinderparser>)
[![License - BSD-3-Clause](<https://img.shields.io/pypi/l/nanofinderparser.svg>)](<https://spdx.org/licenses/BSD-3-Clause.html>)

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

## Features

- Parse SMD (Scanned Measurement Data) files produced by NanoFinder instruments
- Convert spectral data between different units (nm, cm<sup>-1</sup>, eV, Raman shift)
- Export parsed data to CSV files or pandas DataFrames

## Installation

You can install NanofinderParser using pip:

```bash
pip install nanofinderparser
```

Or using uv to add it to a project:

```bash
uv add nanofinderparser
```

## Quick Start

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

```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")
```

You can also use NanofinderParser from the command line:

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

# Display information about an SMD file
nanofinderparser info path/to/your/smd/file.smd
```

For more detailed usage instructions, please refer to the [documentation](https://nanofinderparser.readthedocs.io/).

## Credits

This package was created with [Cookiecutter] / [Cruft] and the [Cookiecutter PyPackage uv] project template.

[Cookiecutter]: https://github.com/audreyr/cookiecutter
[Cruft]: https://github.com/cruft/cruft
[Cookiecutter PyPackage uv]: https://github.com/psolsfer/cookiecutter-pypackage-uv