Metadata-Version: 2.4
Name: nds-mapviewer
Version: 0.1.0
Summary: CLI to run the NDS MapViewer Docker container for visualizing map data (NDS.Live, GeoJSON, and more)
Author-email: NDS Association <support@nds-association.org>
License: Proprietary
Project-URL: Homepage, https://developer.nds.live/tools/mapviewer
Project-URL: Documentation, https://developer.nds.live/tools/mapviewer
Keywords: nds,ndslive,mapviewer,docker,maps
Classifier: Development Status :: 4 - Beta
Classifier: Environment :: Console
Classifier: Intended Audience :: Developers
Classifier: License :: Other/Proprietary License
Classifier: Operating System :: OS Independent
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Programming Language :: Python :: 3.13
Classifier: Topic :: Scientific/Engineering :: GIS
Requires-Python: >=3.10
Description-Content-Type: text/markdown
Requires-Dist: docker>=7.0.0
Requires-Dist: pyyaml>=6.0
Requires-Dist: rich>=13.0.0
Provides-Extra: browser
Requires-Dist: playwright>=1.40.0; extra == "browser"
Provides-Extra: dev
Requires-Dist: pytest>=8.0; extra == "dev"
Requires-Dist: pytest-cov>=4.0; extra == "dev"
Requires-Dist: pytest-mock>=3.12; extra == "dev"
Requires-Dist: pytest-order>=1.2; extra == "dev"

# NDS MapViewer

Visualize NDS.Live, NDS.Classic, and GeoJSON map data on a 3D Cesium globe
with live style editing, feature inspection, and layer management — all from
a single `mapviewer` command. No Docker knowledge required.

> **Beta** — This Python package is in early development. The CLI interface may
> change between releases. Feedback and bug reports are welcome via the
> [NDS developer portal](https://developer.nds.live/tools/mapviewer).

Full documentation: **https://developer.nds.live/tools/mapviewer**

## Features

- **3D globe visualization** powered by [Cesium](https://cesium.com/) via [erdblick](https://github.com/ndsev/erdblick)
- **Multiple data formats** — NDS.Live, GeoJSON, NDS.Classic (member edition)
- **Live style editing** — modify map styles in real time with YAML-based rules
- **Feature inspection** — click any map feature to explore its attributes and relations
- **Local and remote data** — view SmartLayer folders, FileStore files, or remote services
- **Guided setup** — interactive wizard handles Docker, registry login, and image download
- **Connection management** — save and reuse data source connections

## Installation

```bash
pip install nds-mapviewer
```

Requires Python 3.10+ and [Docker](https://docs.docker.com/get-docker/).

## Usage

```bash
mapviewer setup                   # First-time setup (Docker, registry, image)

mapviewer /path/to/data.ndslive   # View a local FileStore
mapviewer /path/to/folder         # View a local SmartLayer folder
mapviewer --demo                  # Try it with NDS Islands sample data

mapviewer connect                 # Pick a saved connection or create a new one
mapviewer connect mywork          # Reuse a saved connection by name

mapviewer update                  # Pull the latest MapViewer image
```

All `run` and `connect` commands accept `-e community|member` and `-v VERSION`.

## Editions

| Edition | Formats | Access |
|---------|---------|--------|
| **community** | NDS.Live, GeoJSON, open formats | Free — [nds.live](https://nds.live) |
| **member** | + NDS.Classic | [NDS membership](https://nds-association.org/#contact) |

## Open-Source Building Blocks

- **[mapget](https://github.com/ndsev/mapget)** — tile-based map data server with caching
- **[erdblick](https://github.com/ndsev/erdblick)** — Cesium web frontend with live style editing and inspection tools

## License

The MapViewer is a proprietary product of the NDS Association. License terms
and conditions are governed by the account type used to access the Docker
image — registering for a community or member account includes accepting the
applicable licensing terms for the MapViewer and its components.
