Metadata-Version: 2.4
Name: mudm-tools
Version: 0.5.0
Summary: Processing pipelines, tiling engines, and format converters for muDM spatial data.
Author-email: Bengt Ljungquist <bengt.ljungquist@nih.gov>
License: MIT
Project-URL: Documentation, https://github.com/NovagenResearch/mudm-tools
Project-URL: Source, https://github.com/NovagenResearch/mudm-tools
Keywords: microscopy,mudm,tiling,spatial-data,vector-tiles
Classifier: License :: OSI Approved :: MIT License
Classifier: Programming Language :: Python
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Rust
Requires-Python: <3.14,>=3.11
Description-Content-Type: text/markdown
License-File: LICENSE
Requires-Dist: mudm>=0.5.0
Requires-Dist: pydantic>=2.3.0
Requires-Dist: geojson-pydantic>=1.2.0
Requires-Dist: geojson2vt>=1.0.1
Requires-Dist: protobuf>=5.29.3
Requires-Dist: geojson>=3.1.0
Requires-Dist: shapely>=2.0.6
Requires-Dist: mapbox-vector-tile>=2.1.0
Requires-Dist: pyarrow>=19.0.1
Requires-Dist: geopandas>=1.0.1
Requires-Dist: jsonschema>=4.23.0
Requires-Dist: pygltflib>=1.16
Requires-Dist: numpy>=1.26
Provides-Extra: draco
Requires-Dist: DracoPy>=1.4; extra == "draco"
Dynamic: license-file

# mudm-tools

Processing pipelines, tiling engines, and format converters for [muDM](https://github.com/NovagenResearch/mudm) spatial data. Includes optional Rust acceleration via prebuilt wheels.

## Install

```bash
pip install mudm-tools
```

On supported platforms (Linux x86_64, macOS x86_64/arm64, Windows x86_64), this automatically includes the Rust-accelerated tiling engine. On other platforms, a pure-Python fallback is used.

```python
import mudm_tools
print(mudm_tools.RUST_AVAILABLE)  # True with prebuilt wheel
```

## Features

- **2D tiling**: Rust-accelerated quadtree pipeline (StreamingTileGenerator2D) + legacy Python pipeline
- **3D tiling**: Octree-based mesh tiling with meshopt/Draco compression (StreamingTileGenerator)
- **Format converters**: Xenium spatial transcriptomics, OBJ meshes, GeoJSON
- **GeoParquet/Arrow**: Import and export via Apache Arrow
- **glTF/GLB export**: 3D mesh export with optional Draco compression
- **Neuroglancer**: Precomputed format for browser-based 3D visualization
- **Multiple output formats**: PBF (MVT), 3D Tiles (GLB), tiled Parquet (ZSTD), Neuroglancer precomputed

## Quick start

```python
from mudm import MuDM  # core data model (separate package)
from mudm_tools._rs import StreamingTileGenerator2D  # Rust-accelerated
from mudm_tools.tiling2d import generate_pbf

gen = StreamingTileGenerator2D(min_zoom=0, max_zoom=7, buffer=64/4096)
gen.add_geojson(open("data.json").read(), bounds)
generate_pbf(gen, "tiles/", bounds)
```

## License

MIT
