Metadata-Version: 2.4
Name: movici-simulation-core
Version: 2.11.0
Summary: Core package for running Movici geospatial temporal simulations
Author-email: NGinfra Movici <movici@nginfra.nl>
Maintainer-email: NGinfra - Movici <movici@nginfra.nl>
License: Movici Public License
Project-URL: Homepage, https://github.com/nginfra/movici-simulation-core
Project-URL: Documentation, https://docs.movici.nl/en/latest/index.html
Project-URL: Repository, https://github.com/nginfra/movici-simulation-core
Project-URL: Issues, https://github.com/nginfra/movici-simulation-core/issues
Classifier: Development Status :: 4 - Beta
Classifier: Intended Audience :: Science/Research
Classifier: Intended Audience :: Developers
Classifier: License :: Free for non-commercial use
Classifier: License :: Other/Proprietary License
Classifier: Operating System :: Microsoft :: Windows
Classifier: Operating System :: POSIX :: Linux
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: Topic :: Scientific/Engineering
Classifier: Topic :: Scientific/Engineering :: GIS
Requires-Python: <3.14,>=3.10
Description-Content-Type: text/x-rst
License-File: LICENSE
Requires-Dist: numpy
Requires-Dist: numba>=0.55
Requires-Dist: python-dateutil>=2.8.0
Requires-Dist: pandas>=1.2.0
Requires-Dist: pydantic>=1.8.2
Requires-Dist: pydantic_settings
Requires-Dist: orjson>=3
Requires-Dist: pyzmq
Requires-Dist: msgpack
Requires-Dist: click
Requires-Dist: geopandas
Requires-Dist: jsonschema
Requires-Dist: pyproj
Requires-Dist: netCDF4
Requires-Dist: Fiona>=1.9
Provides-Extra: models
Requires-Dist: shapely>=1.7.1; extra == "models"
Requires-Dist: aequilibrae>=1; extra == "models"
Requires-Dist: pyproj>=3.0.1; extra == "models"
Requires-Dist: movici-geo-query>=1.1.1; extra == "models"
Requires-Dist: scipy; extra == "models"
Provides-Extra: sqlite
Requires-Dist: sqlalchemy<3.0,>=1.4; extra == "sqlite"
Provides-Extra: dev
Requires-Dist: pytest; extra == "dev"
Requires-Dist: pytest-cov; extra == "dev"
Requires-Dist: safety>=3.7.0; extra == "dev"
Requires-Dist: mypy; extra == "dev"
Requires-Dist: bump2version; extra == "dev"
Requires-Dist: taplo; extra == "dev"
Requires-Dist: ruff; extra == "dev"
Requires-Dist: sqlalchemy<3.0,>=1.4; extra == "dev"
Provides-Extra: docs
Requires-Dist: sphinx; extra == "docs"
Requires-Dist: furo; extra == "docs"
Requires-Dist: sphinxcontrib-mermaid; extra == "docs"
Requires-Dist: sphinxcontrib-plantuml; extra == "docs"
Provides-Extra: all
Requires-Dist: shapely>=1.7.1; extra == "all"
Requires-Dist: aequilibrae>=1; extra == "all"
Requires-Dist: pyproj>=3.0.1; extra == "all"
Requires-Dist: movici-geo-query>=1.1.1; extra == "all"
Requires-Dist: sqlalchemy<3.0,>=1.4; extra == "all"
Requires-Dist: scipy; extra == "all"
Requires-Dist: pytest; extra == "all"
Requires-Dist: pytest-cov; extra == "all"
Requires-Dist: safety>=3.7.0; extra == "all"
Requires-Dist: mypy; extra == "all"
Requires-Dist: bump2version; extra == "all"
Requires-Dist: taplo; extra == "all"
Requires-Dist: ruff; extra == "all"
Requires-Dist: sphinx; extra == "all"
Requires-Dist: furo; extra == "all"
Requires-Dist: sphinxcontrib-mermaid; extra == "all"
Requires-Dist: sphinxcontrib-plantuml; extra == "all"
Dynamic: license-file

Movici Simulation Core
======================

Copyright 2020ff NGinfra

Movici is a set of tools and software for performing simulations geospatial entities. 

Movici Simulation Core is the main package needed to run Movici simulations. It contains
  
* Simulation core for running simulations
* Pre-processing tools for preparing data to be used in simulations
* Post-processing tools for performing analyses on simulation results
* A number of (domain) models to quickly start setting up simulations


Installation
------------

.. code-block::

  pip install movici-simulation-core


Installing Models
-----------------

Some models require additional libraries to be installed. Most of these can be installed using the
``models`` extras (``pip install movici-simulation-core[models]``). However, there are some 
exceptions


traffic_assignment_calculation
##############################

The traffic assignment model uses ``aequilibrae`` to perform it's traffic assignment. This library
requires the ``mod_spatialite`` sqlite extension. On Debian based Linux (eg. Ubuntu) this can
be done using ``apt-get install libsqlite3-mod-spatialite``. On Windows, please follow the 
`official installation guide <https://faims2-documentation.readthedocs.io/en/latest/Installing+Spatialite+on+Windows/>`_


Development
-----------

Install this package in editable mode and include all depenencies:

.. code-block::

  pip install -e .[dev,models]

pre-commit
##########

To install the pre-commit hooks, please first install pre-commit using your favorite installer, eg: `pipx` or `uv tool`.

then install the precommit hooks by running 

.. code-block::

  pre-commit install

In order to get the `safety` pre-commit hook working, you must first create an account on 
`safety-cli.com <https://platform.safetycli.com/>`_. Then, login using the safety cli:

.. code-block::

  safety auth login

You have now succesfully setup the pre-commit hooks
