Metadata-Version: 2.4
Name: urbansim_templates
Version: 0.3
Summary: UrbanSim extension for managing model steps
Author-email: "UrbanSim Inc." <info@urbansim.com>
License-Expression: BSD-3-Clause
Project-URL: Documentation, https://udst.github.io/urbansim_templates/
Project-URL: Repository, https://github.com/UDST/urbansim_templates
Project-URL: Issues, https://github.com/UDST/urbansim_templates/issues
Classifier: Intended Audience :: Science/Research
Classifier: Topic :: Scientific/Engineering :: Information Analysis
Classifier: Programming Language :: Python :: 3
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: Operating System :: OS Independent
Requires-Python: >=3.10
Description-Content-Type: text/markdown
License-File: LICENSE.txt
Requires-Dist: choicemodels>=0.3
Requires-Dist: numpy>=1.26
Requires-Dist: orca>=1.8
Requires-Dist: packaging>=21.3
Requires-Dist: pandas<4,>=2.2
Requires-Dist: patsy>=0.5.6
Requires-Dist: scipy>=1.10
Requires-Dist: statsmodels>=0.14
Requires-Dist: urbansim>=3.3
Provides-Extra: test
Requires-Dist: pytest>=8; extra == "test"
Requires-Dist: pytest-cov>=5; extra == "test"
Provides-Extra: docs
Requires-Dist: sphinx>=7.2; extra == "docs"
Requires-Dist: sphinx-rtd-theme>=2; extra == "docs"
Provides-Extra: dev
Requires-Dist: build>=1.2; extra == "dev"
Requires-Dist: ruff>=0.12; extra == "dev"
Requires-Dist: twine>=6; extra == "dev"
Dynamic: license-file

[![CI](https://github.com/UDST/urbansim_templates/actions/workflows/ci.yml/badge.svg)](https://github.com/UDST/urbansim_templates/actions/workflows/ci.yml)

# UrbanSim Templates

UrbanSim Templates is a Python library that provides building blocks for Orca-based simulation models. It's part of the [Urban Data Science Toolkit](https://docs.udst.org) (UDST).

The library contains templates for common types of model steps, plus a tool called ModelManager that runs as an extension to the [Orca](https://udst.github.io/orca) task orchestrator. ModelManager can register template-based model steps with the orchestrator, save them to disk, and automatically reload them for future sessions. The package was developed to make it easier to set up new simulation models — model step templates reduce the need for custom code and make settings more portable between models.

### Project scope

**Status:** Active

**Mission:** UrbanSim Templates provides reusable, configurable model-step
templates and the ModelManager registry for building Orca-based simulation
models from declarative settings rather than custom code.

**Architecture:** UrbanSim Templates is a portable Python layer over Orca,
UrbanSim, and ChoiceModels. Each template encapsulates the data preparation,
estimation, and simulation logic for one kind of model step, and persists its
settings in portable configuration files. The project's direction is for those
files, rather than pickled Python objects, to carry all estimated model state,
so that model steps can be reloaded, shared, and executed by other compatible
engines.

The project maintains and develops:

- templates for regression, binary logit, and multinomial logit model steps;
- templates for loading, saving, and deriving data tables and columns;
- the ModelManager registry for saving, reloading, and running model steps;
- shared utilities for data access, filtering, and output handling; and
- portable configuration formats for estimated model steps.

Development of new templates and configuration-format improvements is welcome
within this mission and architecture. Material changes to the project's
mission or execution architecture are considered through UDST's
organization-level governance process.

See the [UDST Project Directory](https://github.com/UDST/.github/blob/main/PROJECTS.md)
for organization-wide project status and policy.

### Installation
UrbanSim Templates requires Python 3.10 or later, and can be installed using the Pip or Conda package managers:

```
pip install urbansim_templates
```

```
conda install urbansim_templates --channel conda-forge
```

### Documentation

See the online documentation for much more: https://udst.github.io/urbansim_templates

Some additional documentation is available within the repo in `CHANGELOG.md`, `CONTRIBUTING.md`, `/docs/README.md`, and `/tests/README.md`.

There's discussion of current and planned features in the [pull requests](https://github.com/udst/urbansim_templates/pulls?utf8=✓&q=is%3Apr) and [issues](https://github.com/udst/urbansim_templates/issues?utf8=✓&q=is%3Aissue), both open and closed.
