Metadata-Version: 2.4
Name: growbikenet
Version: 0.5.2
Summary: Python package to grow urban bicycle networks from scratch, spin-off from the paper 'Growing urban bicycle networks'
Author: Manuel Knepper, Anastassia Vybornova, Michael Szell
Maintainer-email: Manuel Knepper <manuel.knepper@gmx.net>
License-Expression: AGPL-3.0-or-later
Project-URL: Repository, https://github.com/BikeNetKit/GrowBikeNet
Project-URL: Issues, https://github.com/BikeNetKit/GrowBikeNet/issues
Keywords: Bicycle network planning,Networks,OpenStreetMap,Urban Planning,Urban Mobility
Classifier: Intended Audience :: Developers
Classifier: Intended Audience :: Science/Research
Classifier: Operating System :: OS Independent
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3 :: Only
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Natural Language :: English
Requires-Python: >=3.10
Description-Content-Type: text/markdown
License-File: LICENSE
Requires-Dist: geopandas>=0.14
Requires-Dist: matplotlib
Requires-Dist: osmnx>=1.9.4
Requires-Dist: geojson
Requires-Dist: tqdm
Requires-Dist: pip
Requires-Dist: momepy
Requires-Dist: opencv-python
Provides-Extra: test
Requires-Dist: pytest; extra == "test"
Provides-Extra: doc
Requires-Dist: sphinx; extra == "doc"
Requires-Dist: momepy; extra == "doc"
Dynamic: license-file

# GrowBikeNet

[![Ruff](https://img.shields.io/endpoint?url=https://raw.githubusercontent.com/astral-sh/ruff/main/assets/badge/v2.json)](https://github.com/astral-sh/ruff)
[![code style: prettier](https://img.shields.io/badge/code_style-prettier-ff69b4.svg?style=flat-square)](https://github.com/prettier/prettier)
[![pre-commit](https://img.shields.io/badge/pre--commit-enabled-brightgreen?logo=pre-commit&logoColor=white)](https://github.com/pre-commit/pre-commit)
[![Docs](https://github.com/BikeNetKit/GrowBikeNet/actions/workflows/docs.yml/badge.svg)](https://github.com/BikeNetKit/GrowBikeNet/actions/workflows/docs.yml)
[![Test](https://github.com/BikeNetKit/GrowBikeNet/actions/workflows/test.yml/badge.svg?branch=main)](https://github.com/BikeNetKit/GrowBikeNet/actions/workflows/test.yml)

Source code for the project *GrowBikeNet*, building on [the code from the research paper](https://github.com/mszell/bikenwgrowth) *Growing Urban Bicycle Networks*.

## Installation
To install and use the code, you need to have installed [JupyterLab](https://pypi.org/project/jupyterlab/).

First clone the repository:

```
git clone https://github.com/BikeNetKit/GrowBikeNet.git
```

Go to the cloned folder and create a new virtual environment, see below. 

### Installation with pixi

Installation with [`pixi`](https://pixi.prefix.dev/latest/) is fastest and most stable. Setup a new virtual environment using the `environment.yml` file:

```
pixi init --import environment.yml
```

Now build the environment and run it:

```
pixi run jupyter lab
```

An instance of Jupyter lab is automatically going to open in your browser after the environment is built.

### Installation with pip/mamba/conda

Alternatively, use pip, or [`mamba`](https://mamba.readthedocs.io/en/latest/index.html) (or `conda`, which is slower).

<details><summary>Instructions</summary>

You can either create a new virtual environment then install the necessary dependencies with `pip` using the `requirements.txt` file:

```
pip install -r requirements.txt
```

Or create a new environment with the dependencies with `conda` or [`mamba`](https://mamba.readthedocs.io/en/latest/index.html) using the `environment.yml` file:

```
mamba env create -f environment.yml
```
Then, install the virtual environment's kernel in Jupyter:

```
mamba activate growbikenet
ipython kernel install --user --name=growbikenet
mamba deactivate
```

You can now run `jupyter lab` with kernel `growbikenet` (Kernel > Change Kernel > growbikenet).
</details>

## Repository structure

```
├── growbikenet             <- Packaged functions and visualizations
├── tests                   <- tests to execute to ensure functionality
├── .gitignore              <- Files and folders ignored by git
├── .pre-commit-config.yaml <- Pre-commit hooks used
├── README.md
├── environment.yml         <- Environment file to set up the environment using conda/mamba/pixi
```

## Credits

<!--Please cite as: 
>AUTHOR1, AUTHOR2, and AUTHOR3, PROJECTNAME, JOURNAL (YYYY), DOIURL  
-->

Development of GrowBikeNet was supported by the Danish Innovation Fund (Innovationsfonden).


