Metadata-Version: 2.4
Name: polaris-studio
Version: 2025.12.70
Summary: Transportation System Simulation Tool
Author-email: Pedro Camargo <pveigadecamargo@anl.gov>, Jamie Cook <james.cook@anl.gov>, Polaris Team <polaris@anl.gov>
License-Expression: LicenseRef-Polaris-Studio
Project-URL: Homepage, https://vms.taps.anl.gov/tools/polaris//
Project-URL: Documentation, https://polaris.taps.anl.gov
Project-URL: Issue tracker, https://git-out.gss.anl.gov/polaris/issues/-/issues
Project-URL: Release Notes, https://polaris.taps.anl.gov/polaris/releases/index.html
Classifier: Programming Language :: Python
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Programming Language :: Python :: 3.13
Requires-Python: >=3.9
Description-Content-Type: text/markdown
License-File: LICENSE.md
Requires-Dist: click
Requires-Dist: diskcache
Requires-Dist: numpy>=2.0.0
Requires-Dist: openmatrix
Requires-Dist: pandas<3.0
Requires-Dist: psutil
Requires-Dist: psycopg[binary,pool]
Requires-Dist: pyarrow
Requires-Dist: pydantic
Requires-Dist: pyyaml
Requires-Dist: retry2
Requires-Dist: scipy
Requires-Dist: sqlalchemy>=2
Requires-Dist: tables>=3.8
Requires-Dist: tzlocal
Requires-Dist: numexpr<=2.13.1
Provides-Extra: hpc
Requires-Dist: globus_sdk<4,>3.10; extra == "hpc"
Provides-Extra: builder
Requires-Dist: aequilibrae>=1.5.0; extra == "builder"
Requires-Dist: appdirs; extra == "builder"
Requires-Dist: census>=0.8.22; extra == "builder"
Requires-Dist: duckdb==1.3.0; extra == "builder"
Requires-Dist: geopandas>=1.1.1; extra == "builder"
Requires-Dist: gmnspy; extra == "builder"
Requires-Dist: matplotlib; extra == "builder"
Requires-Dist: networkx; extra == "builder"
Requires-Dist: partridge; extra == "builder"
Requires-Dist: psycopg2-binary; extra == "builder"
Requires-Dist: pygris>=0.2.0; extra == "builder"
Requires-Dist: pyproj; extra == "builder"
Requires-Dist: rapidfuzz; extra == "builder"
Requires-Dist: requests; extra == "builder"
Requires-Dist: rtree; extra == "builder"
Requires-Dist: scipy; extra == "builder"
Requires-Dist: seaborn; extra == "builder"
Requires-Dist: shapely>=2.0.1; extra == "builder"
Requires-Dist: scikit-learn; extra == "builder"
Requires-Dist: tqdm; extra == "builder"
Requires-Dist: us>=3.2.0; extra == "builder"
Provides-Extra: linting
Requires-Dist: types-tqdm; extra == "linting"
Requires-Dist: types-python-dateutil; extra == "linting"
Requires-Dist: types-PyYAML; extra == "linting"
Requires-Dist: types-requests; extra == "linting"
Requires-Dist: pandas-stubs<3.0; extra == "linting"
Requires-Dist: types-requests; extra == "linting"
Requires-Dist: types-tzlocal; extra == "linting"
Requires-Dist: sqlalchemy; extra == "linting"
Requires-Dist: numpy; extra == "linting"
Requires-Dist: ruff==0.14.9; extra == "linting"
Requires-Dist: black==25.12.0; extra == "linting"
Requires-Dist: ty==0.0.1-alpha.23; extra == "linting"
Requires-Dist: scipy-stubs; extra == "linting"
Requires-Dist: types-networkx; extra == "linting"
Requires-Dist: types-seaborn; extra == "linting"
Requires-Dist: pyproj; extra == "linting"
Requires-Dist: globus_sdk; extra == "linting"
Requires-Dist: matplotlib-stubs; extra == "linting"
Requires-Dist: duckdb; extra == "linting"
Provides-Extra: devtools
Requires-Dist: jupytext; extra == "devtools"
Requires-Dist: pytest; extra == "devtools"
Requires-Dist: pytest-cov; extra == "devtools"
Requires-Dist: pytest-order; extra == "devtools"
Requires-Dist: pytest-rerunfailures; extra == "devtools"
Requires-Dist: pytest-xdist; extra == "devtools"
Requires-Dist: pytest-random-order; extra == "devtools"
Requires-Dist: setuptools; extra == "devtools"
Requires-Dist: testing.postgresql; sys_platform == "linux" and extra == "devtools"
Requires-Dist: uv; extra == "devtools"
Requires-Dist: ipywidgets; extra == "devtools"
Requires-Dist: jupyter; extra == "devtools"
Requires-Dist: py7zr; extra == "devtools"
Requires-Dist: pygit2; extra == "devtools"
Provides-Extra: docs
Requires-Dist: autodoc_pydantic; extra == "docs"
Requires-Dist: pyaml; extra == "docs"
Requires-Dist: enum34>=1.1.6; extra == "docs"
Requires-Dist: Sphinx; extra == "docs"
Requires-Dist: jinja2; extra == "docs"
Requires-Dist: pydata-sphinx-theme; extra == "docs"
Requires-Dist: sphinx-book-theme; extra == "docs"
Requires-Dist: myst-parser; extra == "docs"
Requires-Dist: mapclassify; extra == "docs"
Requires-Dist: sphinx_autodoc_annotation; extra == "docs"
Requires-Dist: nbsphinx; extra == "docs"
Requires-Dist: pillow; extra == "docs"
Requires-Dist: matplotlib; extra == "docs"
Requires-Dist: folium; extra == "docs"
Requires-Dist: contextily; extra == "docs"
Requires-Dist: requests; extra == "docs"
Requires-Dist: sphinx-gallery>=0.17.0; extra == "docs"
Requires-Dist: sphinx-design; extra == "docs"
Requires-Dist: nbsphinx; extra == "docs"
Requires-Dist: ipython_genutils; extra == "docs"
Requires-Dist: sphinxcontrib-youtube; extra == "docs"
Requires-Dist: py7zr; extra == "docs"
Provides-Extra: dev
Requires-Dist: polaris-studio[builder,devtools,docs,hpc,linting]; extra == "dev"
Dynamic: license-file

# polaris-studio

The polaris-studio package is th Python gateway for all things Polaris. The package is
divided in several submodules varying from data preparation to result analysis and is
the source of truth for the data model required by Polaris.

For the package's full description and documentation, see: https://polaris.taps.anl.gov/polaris/index.html

For release notes, see: https://polaris.taps.anl.gov/polaris/releases/index.html

The standard installation of Polaris-Studio brings a minimum set of dependencies, which are those required
for running a simulation. For a full installation, please install

    pip install polaris-studio[builder]

We recommend using virtual environments to prevent dependency clashes. In the root folder of the repo you will find 
a script called `setup_venv.sh` (linux) or `setup_venv.bat` (windows) which will create a virtual environment 
into a sub-directory `venv` of the repo and install that as a kernel (named "polaris-studio") which can be used 
with any jupyter notebooks you are running.

```bash
./setup_venv.sh
```

## Documentation

Polaris-studio is also responsible for building the documentation website (https://polaris.taps.anl.gov). The
steps for building are outlined in the `ci/documentation_ci.yml` gitlab CI definition file and require the 
cloning of the `polaris-linux` and `QPolaris` repositories. This can be achieved in a local environment by running 

```bash
./docs/build_all_locally.sh
```

There are a number of example notebooks in the documentation that require additional datafiles to run, these can be
downloaded and run locally using the following command

```bash
./docs/build_consolidated_docs.sh grab
./docs/build_consolidated_docs.sh run_notebooks [optional_pattern]
```

The optional pattern can be used to only run one notebook if you are adding a new one or debugging one that has 
developed a problem.
