Metadata-Version: 2.4
Name: vivarium-dependencies
Version: 1.2.0
Summary: vivarium-dependencies is a convenience package for managing common setup constraints and dependencies for vivarium projects.
Author-email: The vivarium developers <vivarium.dev@gmail.com>
License: BSD-3-Clause
Requires-Python: >=3.10
Description-Content-Type: text/x-rst
License-File: LICENSE
Provides-Extra: numpy
Requires-Dist: numpy; extra == "numpy"
Provides-Extra: numpy-lt-2
Requires-Dist: numpy<2.0.0; extra == "numpy-lt-2"
Provides-Extra: pandas
Requires-Dist: pandas<3.0.0; extra == "pandas"
Requires-Dist: pandas-stubs<=2.2.3.250308; extra == "pandas"
Provides-Extra: pyyaml
Requires-Dist: pyyaml>=5.1; extra == "pyyaml"
Requires-Dist: types-PyYAML; extra == "pyyaml"
Provides-Extra: scipy
Requires-Dist: scipy<1.17.0; extra == "scipy"
Provides-Extra: click
Requires-Dist: click; extra == "click"
Provides-Extra: tables
Requires-Dist: tables; extra == "tables"
Provides-Extra: loguru
Requires-Dist: loguru; extra == "loguru"
Provides-Extra: pyarrow
Requires-Dist: pyarrow; extra == "pyarrow"
Provides-Extra: networkx
Requires-Dist: networkx; extra == "networkx"
Requires-Dist: types-networkx; extra == "networkx"
Provides-Extra: requests
Requires-Dist: requests; extra == "requests"
Requires-Dist: types-requests; extra == "requests"
Provides-Extra: docutils
Requires-Dist: docutils; extra == "docutils"
Requires-Dist: types-docutils; extra == "docutils"
Provides-Extra: ipython
Requires-Dist: ipython; extra == "ipython"
Provides-Extra: jupyter
Requires-Dist: vivarium-dependencies[ipython]; extra == "jupyter"
Requires-Dist: jupyter; extra == "jupyter"
Requires-Dist: ipywidgets; extra == "jupyter"
Provides-Extra: matplotlib
Requires-Dist: matplotlib; extra == "matplotlib"
Provides-Extra: pytest
Requires-Dist: pytest; extra == "pytest"
Requires-Dist: pytest-cov; extra == "pytest"
Requires-Dist: pytest-mock; extra == "pytest"
Provides-Extra: black
Requires-Dist: black==22.3.0; extra == "black"
Provides-Extra: isort
Requires-Dist: isort==5.13.2; extra == "isort"
Provides-Extra: mypy
Requires-Dist: mypy; extra == "mypy"
Provides-Extra: sphinx
Requires-Dist: sphinx<9.0.0; extra == "sphinx"
Requires-Dist: sphinx-autodoc-typehints; extra == "sphinx"
Requires-Dist: sphinx-rtd-theme>=2.0.0; extra == "sphinx"
Provides-Extra: sphinx-click
Requires-Dist: sphinx-click; extra == "sphinx-click"
Provides-Extra: db-queries
Requires-Dist: db-queries<32.0.0,>=31.0.4; extra == "db-queries"
Provides-Extra: db-tools
Requires-Dist: db-tools<2.0.0,>=1.0.2; extra == "db-tools"
Provides-Extra: get-draws
Requires-Dist: get-draws<6.0.0,>=5.1.4; extra == "get-draws"
Provides-Extra: lint
Requires-Dist: vivarium-dependencies[black]; extra == "lint"
Requires-Dist: vivarium-dependencies[isort]; extra == "lint"
Requires-Dist: vivarium-dependencies[mypy]; extra == "lint"
Provides-Extra: interactive
Requires-Dist: vivarium-dependencies[jupyter,matplotlib,scipy]; extra == "interactive"
Requires-Dist: seaborn; extra == "interactive"
Provides-Extra: gbd
Requires-Dist: vivarium-dependencies[db_queries]; extra == "gbd"
Requires-Dist: vivarium-dependencies[db_tools]; extra == "gbd"
Requires-Dist: vivarium-dependencies[get_draws]; extra == "gbd"
Provides-Extra: test
Requires-Dist: vivarium-dependencies[pytest]; extra == "test"
Provides-Extra: ci-github
Requires-Dist: vivarium-dependencies[lint,test]; extra == "ci-github"
Provides-Extra: ci-jenkins
Requires-Dist: vivarium-dependencies[ci_github]; extra == "ci-jenkins"
Dynamic: license-file

=====================
Vivarium Dependencies
=====================

.. image:: https://badge.fury.io/py/vivarium-dependencies.svg
    :target: https://badge.fury.io/py/vivarium-dependencies

Vivarium Dependencies is a code-less convenience metapackage that defines
the dependency pins commonly shared across the Vivarium ecosystem.

Usage
=====

A downstream repository can pull in groups of pins by referencing one or
more extras of ``vivarium-dependencies`` in its pyproject.toml, e.g.:

.. code-block:: toml

   [project]
   dependencies = [
       "vivarium-dependencies[numpy,pandas,scipy]",
       ...
   ]

   [project.optional-dependencies]
   interactive = ["vivarium-dependencies[interactive]"]
   lint = ["vivarium-dependencies[lint]"]

The package itself ships no Python modules; ``pip install vivarium-dependencies``
is not useful on its own. The point is the extras.

Installation
============

You can install ``vivarium-dependencies`` from PyPI:

.. code-block:: bash

   pip install vivarium-dependencies

or build it from source by cloning the monorepo and installing this lib:

.. code-block:: bash

   git clone https://github.com/ihmeuw/vivarium-suite.git
   cd vivarium-suite
   pip install libs/dependencies

For broader monorepo development setup, see the monorepo README at
https://github.com/ihmeuw/vivarium-suite.
