Metadata-Version: 2.5
Name: ipyd3geo
Version: 0.1.0
Summary: An interactive map widget for Jupyter that uses D3 Geo as its renderer.
Project-URL: Repository, https://github.com/geojupyter/prototype-ipyd3geo
Project-URL: Issues, https://github.com/geojupyter/prototype-ipyd3geo/issues
Author-email: Benjamin Szeghy <benjamin.szeghy@berkeley.edu>
License-Expression: BSD-3-Clause
License-File: LICENSE
Classifier: Development Status :: 3 - Alpha
Classifier: Framework :: Jupyter
Classifier: Framework :: Jupyter :: JupyterLab
Classifier: Intended Audience :: Science/Research
Classifier: Programming Language :: Python :: 3
Classifier: Topic :: Scientific/Engineering :: GIS
Classifier: Topic :: Scientific/Engineering :: Visualization
Requires-Python: >=3.10
Requires-Dist: anywidget>=0.11.0
Description-Content-Type: text/markdown

# ipyd3geo

A Jupyter widget for D3-based geospatial visualization.

It is designed to work similarly to other map renderer widgets, but uses D3-Geo as its renderer.

Using D3-Geo over other map renderers has a number of key benefits:
- Renders directly to an SVG. This package acts as a bridge between Jupyter-based geospatial tools, and cartography in design software.
- Maps can be arbitrarily styled with CSS or D3
- Native vector output means no pixelation, so rendered maps are infinitely scalable.
- Native best in class projection support. There are few if any conventionally defined projections that D3-Geo does not support (including certain very obscure ones)

However, there are a few tradeoffs:
- Due to its lack of virtualization, it is far less performant with large datasets than alternatives.
- It is intentionally client-side only, so it does not have any tiling server functionality


</br></br>
> [!WARNING]
> For now this project is experimental. We cannot guarantee further development or ongoing maintenance.
>
> If you or your organization are interested in supporting this project's development, either financially or in kind, please email Benny@BennySzeghy.com

## Installation

```sh
pip install ipyd3geo
```
or 
```sh
uv add ipyd3geo
```

## Development

```sh
uv sync
pnpm install ## No build step is actually needed yet. This will be added in the future
```

See [examples/example.ipynb](examples/example.ipynb) for usage.
