Metadata-Version: 2.1
Name: polaris-studio
Version: 25.1.29
Summary: Transportation System Simulation Tool
Author-email: Pedro Camargo <pveigadecamargo@anl.gov>, Jamie Cook <james.cook@anl.gov>, Polaris Team <polaris@anl.gov>
License: Copyright (c) 2025, UChicago Argonne, LLC
        All Rights Reserved
         Software Name: Polaris Studio
        By: Argonne National Laboratory, Outer Loop Consulting
        BSD OPEN SOURCE LICENSE
        
        Redistribution and use in source and binary forms, with or without modification,
        are permitted provided that the following conditions are met:
        
        1. Redistributions of source code must retain the above copyright notice, this
           list of conditions and the following disclaimer.
        
        2. Redistributions in binary form must reproduce the above copyright notice, this
           list of conditions and the following disclaimer in the documentation and/or
           other materials provided with the distribution.
        
        3. Neither the name of the copyright holder nor the names of its contributors may
           be used to endorse or promote products derived from this software without
           specific prior written permission.
        
        
        ***************************************************************************************************
        DISCLAIMER
        
        THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
        IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND
        FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR
        CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
        DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
        DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER
        IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
        OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
        ***************************************************************************************************
        
Project-URL: Homepage, https://vms.taps.anl.gov/tools/polaris//
Project-URL: Issue tracker, https://git-out.gss.anl.gov/polaris/code/polaris-studio/-/issues
Classifier: Programming Language :: Python
Classifier: Programming Language :: Python :: 3.9
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Requires-Python: >=3.9
Description-Content-Type: text/markdown
License-File: LICENSE.md
Requires-Dist: click
Requires-Dist: diskcache
Requires-Dist: numpy<1.99
Requires-Dist: openmatrix
Requires-Dist: pandas>2.1
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
Provides-Extra: builder
Requires-Dist: aequilibrae>=1.1.4; extra == "builder"
Requires-Dist: census>=0.8.22; extra == "builder"
Requires-Dist: duckdb; extra == "builder"
Requires-Dist: geopandas>=1.0.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; extra == "builder"
Requires-Dist: pyproj; 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: dev
Requires-Dist: polaris-studio[builder,devtools,docs,hpc,linting]; extra == "dev"
Provides-Extra: devtools
Requires-Dist: jupytext; extra == "devtools"
Requires-Dist: pytest-xdist; extra == "devtools"
Requires-Dist: pytest; extra == "devtools"
Requires-Dist: pytest-cov; extra == "devtools"
Requires-Dist: setuptools; extra == "devtools"
Requires-Dist: uv; extra == "devtools"
Requires-Dist: testing.postgresql; sys_platform == "linux" and 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: 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: requests; extra == "docs"
Requires-Dist: sphinx-gallery>=0.17.0; extra == "docs"
Requires-Dist: sphinx-design; extra == "docs"
Requires-Dist: ipython-genutils; extra == "docs"
Requires-Dist: keplergl; extra == "docs"
Requires-Dist: sphinxcontrib-youtube; extra == "docs"
Provides-Extra: hpc
Requires-Dist: globus-sdk; extra == "hpc"
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; extra == "linting"
Requires-Dist: sqlalchemy; extra == "linting"
Requires-Dist: numpy; extra == "linting"
Requires-Dist: ruff==0.9.3; extra == "linting"
Requires-Dist: black==24.10.0; extra == "linting"
Requires-Dist: mypy==1.14.1; extra == "linting"
Requires-Dist: pyproj; extra == "linting"
Requires-Dist: globus-sdk; extra == "linting"
Requires-Dist: matplotlib-stubs; extra == "linting"
Requires-Dist: duckdb; extra == "linting"

# 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

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
```
