No project description provided
Project description
Network Wrangler is a Python library for managing travel model network scenarios.
System Requirements
Network Wrangler should be operating system agonistic and has been tested on Ubuntu and Mac OS.
Network Wrangler does require Python 3.7+. If you have a different version of Python installed (e.g. from ArcGIS), conda
or a similar virtual environment manager can care of installing it for you in the installation instructions below.
Installation
Requirements for basic network_wranglerare functionality as well as enhanced development/testing, visualization and documentation functionalities are stored in requirements*.txt
and pyproject.toml
but are automatically installed when using pip
.
Ready to install network wrangler?
Latest Official Version
pip install network-wrangler
From GitHub
pip install git+https://github.com/wsp-sag/network_wrangler.git@master#egg=network_wrangler
If you wanted to install from a specific tag/version number or branch, replace @master
with @<branchname>
or @tag
From Clone
If you are going to be working on Network Wrangler locally, you might want to clone it to your local machine and install it from the clone. The -e will install it in editable mode.
If you have GitHub desktop installed, you can either do this by using the GitHub user interface by clicking on the green button "clone or download" in the main network wrangler repository page.
Otherwise, you can use the command prompt to navigate to the directory that you would like to store your network wrangler clone and then using a git command to clone it.
cd path to where you want to put wrangler
git clone https://github.com/wsp-sag/network_wrangler
Then you should be able to install Network Wrangler in "develop" mode.
cd network_wrangler
pip install -e .
Quickstart
To get a feel for the API and using project cards, please refer to the "Wrangler Quickstart" jupyter notebook.
To start the notebook, open a command line in the network_wrangler top-level directory and type:
jupyter notebook
Documentation
Documentation can be built from the /docs
folder using the command: make html
Usage
import network_wrangler
##todo this is just an example for now
network_wrangler.setup_logging()
## Network Manipulation
my_network = network_wrangler.read_roadway_network(...) # returns
my_network.apply_project_card(...) # returns
my_network.write_roadway_network(...) # returns
## Scenario Building
my_scenario = network_wrangler.create_scenario(
base_scenario=my_base_scenario,
card_search_dir=project_card_directory,
tags = ["baseline-2050"]
)
my_scenario.apply_all_projects()
my_scenario.write("my_project/baseline", "baseline-2050")
my_scenario.summarize(outfile="scenario_summary_baseline.txt")
my_scenario.add_projects_from_files(list_of_build_project_card_files)
my_scenario.queued_projects
my_scenario.apply_all_projects()
my_scenario.write("my_project/build", "baseline")
Attribution
This project is built upon the ideas and concepts implemented in the network wrangler project by the San Francisco County Transportation Authority and expanded upon by the Metropolitan Transportation Commission.
While Network Wrangler as written here is based on these concepts, the code is distinct and builds upon other packages such as geopandas
and pydantic
which hadn't been implemented when networkwrangler 1.0 was developed.
Contributing
Pull requests are welcome. Please open an issue first to discuss what you would like to change. Please make sure to update tests as appropriate.
License
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
File details
Details for the file network_wrangler-1.0b2.tar.gz
.
File metadata
- Download URL: network_wrangler-1.0b2.tar.gz
- Upload date:
- Size: 6.7 MB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/5.1.1 CPython/3.12.7
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | db1a9178ed3cc62d23c6923300f71d1a5210d916667a736bf2b9c1478bf0e208 |
|
MD5 | 543b7f328d60259821e613a8c3912f71 |
|
BLAKE2b-256 | 4187c566b1fd0d6f67fddb876c9ccbcd60c52d60881303d78793083d2d3263a7 |
File details
Details for the file network_wrangler-1.0b2-py3-none-any.whl
.
File metadata
- Download URL: network_wrangler-1.0b2-py3-none-any.whl
- Upload date:
- Size: 243.9 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/5.1.1 CPython/3.12.7
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 23342855f49985834d7850da76b8ac5b1016bfaf1937e805583fe8a7f338af1d |
|
MD5 | 7db74dfd7d9d2541269eae83ea9355c2 |
|
BLAKE2b-256 | 4a832b8d4df5d542b0cf3d074efe6be3f7675ab187425666177d428b15311d7d |