Metadata-Version: 2.1
Name: urban-mapper-community
Version: 0.0.1
Summary: 🗺️ Spatial Join & Enrich any urban layer given any external urban dataset of interest, streamline your urban analysis with Scikit-Learn-Like pipelines, and share your insights with the urban research community!
Author-Email: Simon Provost <simon.gilbert.provost@gmail.com>
License: MIT
Classifier: Development Status :: 4 - Beta
Classifier: Intended Audience :: Developers
Classifier: Programming Language :: Python
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3 :: Only
Classifier: Programming Language :: Python :: 3.9
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: Programming Language :: Python :: 3.14
Classifier: Topic :: Documentation
Classifier: Topic :: Software Development
Classifier: Topic :: Utilities
Classifier: Typing :: Typed
Project-URL: Homepage, https://github.com/simonprovost/UrbanMapper-Community
Project-URL: Documentation, https://urbanmapper.readthedocs.io/en/latest/
Project-URL: Changelog, https://github.com/simonprovost/UrbanMapper-Community/blob/main/CHANGELOG.md
Project-URL: Repository, https://github.com/simonprovost/UrbanMapper-Community
Project-URL: Issues, https://github.com/simonprovost/UrbanMapper-Community/issues
Project-URL: Discussions, https://github.com/simonprovost/UrbanMapper-Community/discussions
Requires-Python: >=3.10
Requires-Dist: folium>=0.19.4
Requires-Dist: ipython>=8.18.1
Requires-Dist: ipywidgets>=8.1.5
Requires-Dist: matplotlib>=3.9.4
Requires-Dist: networkx>=3.2.1
Requires-Dist: scikit-learn>=1.6.1
Requires-Dist: beartype>=0.19.0
Requires-Dist: osmnx>=2.0.1
Requires-Dist: geopandas>=1.0.1
Requires-Dist: dependency-injector>=4.45.0
Requires-Dist: pyarrow>=19.0.1
Requires-Dist: loguru>=0.7.3
Requires-Dist: thefuzz>=0.22.1
Requires-Dist: dill<0.3.8
Requires-Dist: geopy>=2.4.1
Requires-Dist: alive-progress>=3.2.0
Requires-Dist: datasets>=3.5.0
Requires-Dist: mapclassify>=2.8.1
Requires-Dist: h3>=4.3.1
Requires-Dist: lonboard>=0.13.0
Provides-Extra: notebook
Requires-Dist: jupyter>=1.1.1; extra == "notebook"
Requires-Dist: notebook==6.4.12; extra == "notebook"
Requires-Dist: jupyter-server-ydoc>=1.1.0; extra == "notebook"
Requires-Dist: jupyter-contrib-nbextensions>=0.7.0; extra == "notebook"
Requires-Dist: jupyterlab-widgets>=3.0.13; extra == "notebook"
Requires-Dist: jupyter-resource-usage>=1.1.1; extra == "notebook"
Requires-Dist: nbstripout>=0.8.1; extra == "notebook"
Provides-Extra: interactive-table-vis
Requires-Dist: skrub>=0.5.1; extra == "interactive-table-vis"
Provides-Extra: auctus-mixins
Requires-Dist: auctus-search; extra == "auctus-mixins"
Provides-Extra: pipeline-generators
Requires-Dist: ell-ai[all]>=0.0.17; extra == "pipeline-generators"
Provides-Extra: jupytergis-mixins
Requires-Dist: jupytergis==0.4.4; extra == "jupytergis-mixins"
Requires-Dist: jupytergis-core>=0.2.1; extra == "jupytergis-mixins"
Requires-Dist: jupytergis-qgis>=0.2.1; extra == "jupytergis-mixins"
Provides-Extra: full
Requires-Dist: skrub>=0.5.1; extra == "full"
Requires-Dist: auctus-search; extra == "full"
Requires-Dist: ell-ai[all]>=0.0.17; extra == "full"
Requires-Dist: jupyter>=1.1.1; extra == "full"
Requires-Dist: notebook==6.4.12; extra == "full"
Requires-Dist: jupyter-server-ydoc>=1.1.0; extra == "full"
Requires-Dist: jupyter-contrib-nbextensions>=0.7.0; extra == "full"
Requires-Dist: jupyterlab-widgets>=3.0.13; extra == "full"
Requires-Dist: jupyter-resource-usage>=1.1.1; extra == "full"
Requires-Dist: nbstripout>=0.8.1; extra == "full"
Requires-Dist: jupytergis==0.4.4; extra == "full"
Requires-Dist: jupytergis-core>=0.2.1; extra == "full"
Requires-Dist: jupytergis-qgis>=0.2.1; extra == "full"
Description-Content-Type: text/markdown

<div align="center">
   <h1>UrbanMapper Community</h1>
   <h3>Enrich Urban Layers Given Urban Datasets</h3>
   <p><i>with ease-of-use API and Sklearn-alike Shareable & Reproducible Urban Pipeline</i></p>
   <p>
      <img src="https://img.shields.io/pypi/v/urban-mapper-community?label=Version&style=for-the-badge" alt="PyPI Version">
      <img src="https://img.shields.io/static/v1?label=Beartype&message=compliant&color=4CAF50&style=for-the-badge&logo=https://avatars.githubusercontent.com/u/63089855?s=48&v=4&logoColor=white" alt="Beartype compliant">
      <img src="https://img.shields.io/static/v1?label=UV&message=compliant&color=2196F3&style=for-the-badge&logo=UV&logoColor=white" alt="UV compliant">
      <img src="https://img.shields.io/static/v1?label=RUFF&message=compliant&color=9C27B0&style=for-the-badge&logo=RUFF&logoColor=white" alt="RUFF compliant">
      <img src="https://img.shields.io/badge/Jupyter-F37626?style=for-the-badge&logo=jupyter&logoColor=white" alt="Jupyter">
      <img src="https://img.shields.io/static/v1?label=Python&message=3.10%2B&color=3776AB&style=for-the-badge&logo=python&logoColor=white" alt="Python 3.10+">
      <img src="https://img.shields.io/github/actions/workflow/status/simonprovost/UrbanMapper-Community/compile.yaml?style=for-the-badge&label=Compilation&logo=githubactions&logoColor=white" alt="Compilation Status">
   </p>
</div>



![UrbanMapper Cover](https://i.imgur.com/axoY0qm.jpeg)


___

## UrbanMapper & Urban Mapper Community, In a Nutshell

`UrbanMapper` lets you link your data to spatial features—matching, for example, traffic events to streets—to enrich
each location with meaningful, location-based information. Formally, it defines a spatial enrichment
function $f(X, Y) = X \bowtie Y$, where $X$ represents urban layers (e.g., `Streets`, `Sidewalks`, `Intersections` and
more)
and $Y$ is a user-provided dataset (e.g., `traffic events`, `sensor data`). The operator $\bowtie$ performs a spatial
join, enriching each feature in $X$ with relevant attributes from $Y$.

In short, `UrbanMapper` is a Python toolkit that enriches typically plain urban layers with datasets in a reproducible,
shareable, and easily updatable way using minimal code. For example, given `traffic accident` data and a `streets` layer
from [OpenStreetMap](https://www.openstreetmap.org), you can compute accidents per street with
a [Scikit-Learn](https://scikit-learn.org/stable/)–style pipeline called the `Urban Pipeline`—in under 15 lines of code.
As your data evolves or team members want new analyses, you can share and update the `Urban Pipeline` like a trained
model, enabling others to run or extend the same workflow without rewriting code.

**About the community-fork**: please scroll-down to the #Acknowledgments section below to learn more about the history of the project.

## Installation

Install `UrbanMapper-Community`:

 ```bash
 uv add urban-mapper-community
 # pip install works too!
 ```

Then launch Jupyter Lab to explore `UrbanMapper`:

```bash
uv run jupyter lab
```

# Getting Started with UrbanMapper

We highly recommend exploring the [UrbanMapper Documentation](https://urbanmapper.readthedocs.io/en/latest/), starting
with the homepage general information and then the [Getting Started](https://urbanmapper.readthedocs.io/en/latest/getting-started/)
section.

Once you have grasped the basics, we recommend exploring the [Interactive Examples](https://urbanmapper.readthedocs.io/en/latest/examples/)
or running yourself the notebooks through the `examples/` directory.

## Licence

`UrbanMapper` is released under the [MIT Licence](./LICENCE).

## Acknowledgments — Community-Led Continuation

We are grateful to **New York University** for supporting the early design and development of `UrbanMapper`, and for
providing an encouraging research environment—especially through the **OSCUR** funding support (https://oscur.org).

**UrbanMapper Community** builds on those initial foundations and continues the work as a community-led effort, with a
focus on transparent collaboration, reproducible workflows, and open participation as well as public roadmap.

This was unfortunately hardly the case through the first `UM` repository, questions were hardly answered, issues left,
and contributions difficult to make through.

<img src="https://vectorseek.com/wp-content/uploads/2023/08/NYU-Logo-Vector.svg-.png" width="200px" alt="New York University logo">
