Metadata-Version: 2.4
Name: mapscii-py
Version: 0.1.0
Summary: A Python port of MapSCII's vector-tile terminal renderer
Author-email: Dávid Németh-Csóka <encse@csokavar.hu>
License: MIT License
        
        Copyright (c) 2017 Michael Straßburger
        Copyright (c) 2019 The MapSCII authors
        Copyright (c) 2026 David Nemeth-Csoka HA7NCS
        
        Permission is hereby granted, free of charge, to any person obtaining a copy
        of this software and associated documentation files (the "Software"), to deal
        in the Software without restriction, including without limitation the rights
        to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
        copies of the Software, and to permit persons to whom the Software is
        furnished to do so, subject to the following conditions:
        
        The above copyright notice and this permission notice shall be included in all
        copies or substantial portions of the Software.
        
        THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
        IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
        FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
        AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
        LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
        OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
        SOFTWARE.
        
Project-URL: Source, https://github.com/encse/adbs-tui/tree/main/mapscii
Project-URL: Issues, https://github.com/encse/adbs-tui/issues
Keywords: mapscii,terminal,map,vector-tiles,rich
Classifier: Development Status :: 3 - Alpha
Classifier: Environment :: Console
Classifier: License :: OSI Approved :: MIT License
Classifier: Operating System :: OS Independent
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3 :: Only
Classifier: Topic :: Terminals
Requires-Python: >=3.9
Description-Content-Type: text/markdown
License-File: LICENSE
Requires-Dist: mapbox-vector-tile<3,>=2.2
Requires-Dist: rich<15,>=13
Dynamic: license-file

# mapscii-py

A Python port of [MapSCII](https://github.com/rastapasta/mapscii) for rendering
OpenStreetMap vector tiles in terminals. It provides both an interactive CLI
and a Rich-compatible `MapView` renderable for embedding maps in terminal
applications.

## Installation

```sh
python3 -m pip install mapscii-py
```

The distribution name is `mapscii-py`; the Python import package is
`mapscii_py`.

## Command line

Start the interactive map:

```sh
mapscii
```

Arrow keys or `hjkl` move the map, `a` zooms in, `z` zooms out, and `q` exits.
Render one non-interactive frame with:

```sh
mapscii --once --width 80 --height 24
```

The module entry point is equivalent:

```sh
python3 -m mapscii_py --once
```

## Rich integration

`MapView` adapts its width to the surrounding Rich layout and keeps a fixed
number of terminal rows:

```python
from rich.console import Console

from mapscii_py import MapView

map_view = MapView(
    latitude=47.4979,
    longitude=19.0402,
    zoom=8,
    height=16,
)

Console().print(
    map_view.panel(title="Budapest airspace")
)
```

Markers can be overlaid without modifying the underlying map tiles:

```python
from mapscii_py import MapMarker

map_view.set_markers([
    MapMarker(
        latitude=47.4979,
        longitude=19.0402,
        label="Budapest",
        symbol="●",
    ),
])
```

## Development and publishing

Build and validate both the source distribution and wheel:

```sh
python3 -m pip install build twine
python3 -m build
python3 -m twine check dist/*
```

Upload a release to PyPI:

```sh
python3 -m twine upload dist/*
```

Increase the version in `pyproject.toml` and `mapscii_py/__init__.py` before
building a new release. PyPI does not allow an existing release file or
version to be replaced.

## Attribution and license

This implementation is derived from MapSCII, originally created by Michael
Straßburger and the MapSCII contributors. Map data is © OpenStreetMap
contributors.

The project is distributed under the MIT License; see `LICENSE`.
