Metadata-Version: 2.4
Name: AppleMapDownloader
Version: 1.0.2
Summary: Apple-style frame preview, authorized raster downloading, and GeoTIFF/BigTIFF stitching
Author: Tarek Wasfy
License-Expression: MIT
Project-URL: Homepage, https://pypi.org/project/AppleMapDownloader/
Project-URL: Repository, https://pypi.org/project/AppleMapDownloader/
Keywords: maps,apple-maps,frame-map,geotiff,bigtiff,stitching,gis,raster,satellite
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3 :: Only
Classifier: Operating System :: OS Independent
Classifier: Topic :: Multimedia :: Graphics
Classifier: Topic :: Scientific/Engineering :: GIS
Classifier: Topic :: Scientific/Engineering :: Image Processing
Requires-Python: >=3.9
Description-Content-Type: text/markdown
License-File: LICENSE
Requires-Dist: requests>=2.31
Requires-Dist: Pillow>=10
Requires-Dist: numpy>=1.24
Requires-Dist: tifffile>=2024.0
Requires-Dist: PySide6>=6.5
Provides-Extra: stitching
Requires-Dist: opencv-python>=4.8; extra == "stitching"
Requires-Dist: stitching>=0.5; extra == "stitching"
Provides-Extra: all
Requires-Dist: opencv-python>=4.8; extra == "all"
Requires-Dist: stitching>=0.5; extra == "all"
Dynamic: license-file

# AppleMapDownloader

AppleMapDownloader is a desktop map-frame tool for previewing Apple-style center/span frames, downloading authorized raster/frame sources, capturing screenshot-based map grids, and exporting georeferenced GeoTIFF/BigTIFF files for GIS workflows.

Use it only with map, tile, or frame services for which you have permission. Many public map providers prohibit bulk downloading.

## Download

Install the latest PyPI release:

```powershell
python -m pip install --upgrade AppleMapDownloader
```

Install this exact update after upload:

```powershell
python -m pip install --upgrade AppleMapDownloader==1.0.2
```

Install with optional OpenCV/PyPI stitching support:

```powershell
python -m pip install --upgrade "AppleMapDownloader[stitching]==1.0.2"
```

Run the app:

```powershell
applemapdownloader
```

Alternative launch commands:

```powershell
AppleMapDownloader
frame-map-downloader
python -m applemapdownloader
```

## Main features

- Apple-style frame preview using center/span coordinate logic.
- Authorized custom frame-server and tile-server support.
- Screenshot grid capture through Qt WebEngine.
- Crop controls for left, right, top, and bottom UI margins.
- Web-Mercator coordinate math for preview, selection, tile stepping, and georeferencing.
- GeoTIFF/BigTIFF output with EPSG:3857 georeferencing tags plus sidecar world/prj files.
- Tile/grid TIFF export for debugging and recovery.
- Large-area streamed output designed to avoid loading the full raster into RAM.
- Optional PyPI `stitching`/OpenCV panorama merge for overlapping screenshot grids.
- Built-in safety checks for huge tile counts, output size, and disk space.

## Commands for normal users

Install or update from PyPI:

```powershell
python -m pip install --upgrade AppleMapDownloader
```

Install including optional stitching dependencies:

```powershell
python -m pip install --upgrade "AppleMapDownloader[stitching]"
```

Start the GUI:

```powershell
applemapdownloader
```

Start through Python module mode:

```powershell
python -m applemapdownloader
```

Show package location and version:

```powershell
python -c "import applemapdownloader, pathlib; print(applemapdownloader.__version__); print(pathlib.Path(applemapdownloader.__file__).parent)"
```

Uninstall:

```powershell
python -m pip uninstall AppleMapDownloader
```

## Wheel usage commands

Build a wheel from this folder:

```powershell
cd "$env:USERPROFILE\Desktop\AppleMapDownloader_PyPI_v1_0_2"
python -m pip install --upgrade pip build twine
python -m build
```

Install the locally built wheel:

```powershell
python -m pip install --force-reinstall .\dist\applemapdownloader-1.0.2-py3-none-any.whl
```

Install the local wheel with optional stitching extras:

```powershell
python -m pip install --force-reinstall ".\dist\applemapdownloader-1.0.2-py3-none-any.whl[stitching]"
```

Test that the wheel installed:

```powershell
python -c "import applemapdownloader; print(applemapdownloader.__version__)"
applemapdownloader
```

Remove old build outputs before rebuilding:

```powershell
Remove-Item -Recurse -Force .\dist, .\build, .\src\AppleMapDownloader.egg-info -ErrorAction SilentlyContinue
python -m build
```

## PyPI upload commands

Build and check the release:

```powershell
cd "$env:USERPROFILE\Desktop\AppleMapDownloader_PyPI_v1_0_2"
python -m pip install --upgrade pip build twine
Remove-Item -Recurse -Force .\dist, .\build, .\src\AppleMapDownloader.egg-info -ErrorAction SilentlyContinue
python -m build
python -m twine check dist\*
```

Optional TestPyPI upload:

```powershell
python -m twine upload --repository testpypi dist\* -u __token__ -p "pypi-DEIN_TESTPYPI_TOKEN_HIER"
```

Real PyPI upload:

```powershell
python -m twine upload dist\* -u __token__ -p "pypi-DEIN_PYPI_TOKEN_HIER"
```

After upload, install the new release:

```powershell
python -m pip install --upgrade AppleMapDownloader==1.0.2
applemapdownloader
```

## Desktop ZIP workflow

1. Extract the ZIP to your Desktop.
2. Open PowerShell in the extracted folder.
3. Run:

```powershell
.\tools\build_wheel.ps1
```

4. For PyPI upload, edit the token command or run:

```powershell
python -m twine upload dist\* -u __token__ -p "pypi-DEIN_PYPI_TOKEN_HIER"
```

## Notes

- The PyPI project name is `AppleMapDownloader`.
- The import package is `applemapdownloader`.
- The GUI entry points are `applemapdownloader`, `AppleMapDownloader`, and `frame-map-downloader`.
- Version `1.0.2` is intended as the update after `1.0.1`.
