Home
UDOT Wrangler is a Python library for UDOT-related paramters and utilities with Network Wrangler.
System Requirements ¶
We recommend using Python 3.10 for UDOT Wrangler. If you have a different version of Python installed (e.g. from ArcGIS), PIP or a Python environment manager such as uv can take care of installing it for you in the Installation instructions below.
installing Python
UDOT Wrangler has been fully tested with 3.10. Using the latest version of Python 3.13 may have compatibility issues with any updated APIs or dependencies. If you use uv in Option 1 of the Installation instruction below, it will handle the installation of the correct Python version for you. If you would like to install Python 3.10 on your own, you can do so from the official Python release: https://www.python.org/downloads/. It should take care of installing pip for you.
installing conda?
For conda users, apologies that UDOT Wrangler has not yet been published to conda distribution channels. You will not be able to install via your common conda install ... command. But you could use pip install ....
Installation ¶
Step 1. Create and Activate Virtual Environment ¶
Create and/or activate the virtual environment where you want to install UDOT Wrangler.
Option 1 (RECOMMENDED). Use a modern Python manager such as UV
If you care about speed and dependency lock, UV is a better option than others. But first, you need to install UV, see detailed instructions here: https://docs.astral.sh/uv/getting-started/installation/.
# Run the installer. Please review the printed message after installation.
powershell -ExecutionPolicy ByPass -c "irm https://astral.sh/uv/install.ps1 | iex"
# Add uv to PATH
$env:PATH = "$env:USERPROFILE\.local\bin;$env:Path"
To verify that UV is installed correctly, open a new Command Prompt (not Anaconda Prompt) and run the following command.
Then you can create and activate a new Python environment with UV. In the Command Prompt, the following commands will create a new Python environment with Python 3.10.
Option 2 (Most Familiar to Python Users). Create a new Python virtual environment using Conda
Option 3 (For Users Who Prefer PIP). Create a new Python virtual environment using PIP
Step 2. Install UDOT Wrangler and its Dependencies ¶
UDOT Wrangler is available on PyPI.
From Latest Official Release on PyPI ¶
If users use uv in Step 1, they will install UDOT Wrangler via uv. In a Command Prompt:
# make sure you are in the directory that you created for your uv environment in Step 1
cd path\to\udot_wrangler_env
uv add udot-wrangler --prerelease=allow
# if `network-wrangler` is a prerelease
# uv add udot-wrangler --prerelease=allow
If users use Conda or PIP in Step 1, they can install UDOT Wrangler via the standard pip command. In the activated Python environment created in Step 1, type:
From GitHub ¶
If you wanted to install from a specific tag/version number or branch, replace @main with @<branchname> or @tag
From Local Clone ¶
If you are going to be working on UDOT 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 UDOT wrangler repository page.
Otherwise, you can use the command prompt to navigate to the directory that you would like to store your UDOT wrangler clone and then using a git command to clone it.
Then you should be able to install UDOT Wrangler in “develop” mode.
Step 3. Get Ready to Run Example Notebooks ¶
The 02 and 03 example notebooks requires the user to define paths to their local clones of udot_wrangler and cube_wrangler. To do that, users can run the following commands in Command Prompt to make sure they have udot_wrangler and cube_wrangler folders locally. If you have already cloned them in Step 2, you can skip this step.
cd path to where you want to put wrangler
git clone https://github.com/wsp-sag/udot_wrangler
git clone https://github.com/network-wrangler/cube_wrangler
Common Installation Issues ¶
TBD (please give us feedback on any installation issues you encounter so that we can document them here!)
Quickstart ¶
To get a feel for the API and using project cards, please refer to the prototype jupyter notebooks in .notebook.
To start the notebook, open a command line in the udot_wrangler top-level directory and type:
jupyter notebook
When launching jupyter notebook from conda, you may want to set the following:
conda install ipykernel
python -m ipykernel install --user --name=udot_wrangler_env --display-name "Python (udot_wrangler_env)"
Contributing ¶
Contributions are welcome. Please review contributing guidelines and instructions.
Companion Software ¶
The following software are key dependencies of UDOT Wrangler. They are installed as part of UDOT Wrangler installation so that you do not need to install them individually.
NetworkWrangler: Network Wrangler is a Python library for managing travel model network scenarios.
CubeWrangler: A Python package that contains utilities for working with Network Wrangler and CUBE. CUBE is a commercial travel modeling software package. CUBE Wrangler contains methods for carrying out the I/O to and from CUBE.
ProjectCard: Initially part of NetworkWrangler, the functionality for reading, writing and validating ProjectCard objects was pulled out into a separate project so that it could be used by other entities without necessitating NetworkWrangler.
Having an issue? ¶
🪲 UDOT Wrangler may contain bugs.
🤔 Also, since it has primarily been used by its developers, the documentation may contain some omissions or not be entirely clear.
But we’d love to make it better! Please report bugs or incorrect/unclear/missing documentation with a GitHub Issue - or fix them yourself with a pull request!
License ¶
Release History ¶
Changelog ¶
Notable changes and version history.
| Version | Date | Comment |
|---|---|---|
| 0.1.2 | 2025-07-20 | Prototyped with Cache County network |