Install
From a checkout
The packages are not on PyPI yet. Run vipyr from a checkout of the Viv repository: nothing needs installing,
because vipyr._packages finds every distribution under packages/ and
ports/ by itself.
$ git clone https://github.com/AdamZettel/viv && cd viv
$ cargo build --release -p viv
$ PYTHONPATH=python python3 -c "import vipyr as vp; print(vp.scf.run().e_tot)"
-74.96306312972935 By convention vipyr is imported as vp:
import vipyr as vp The distributions
vipyr is split into distributions, so that a domain's code and license travel together. The core,
vipyr, carries the viv compiler, the tools for your own .viv files, and
13 families: special functions, linear algebra, control, differential equations, fitting and optimization, language models, model files, statistics, option pricing, features on event tables, statistical mechanics, randomized linear algebra and power systems. The others each carry one domain. From a checkout all of them are importable at once. The pip commands
in the table are planned and do not work yet.
| Distribution | Families | License | Planned install |
|---|---|---|---|
vipyr | vp.special, vp.linalg, vp.control, vp.ode, vp.optimize, vp.gpt, vp.gguf, vp.stats, vp.finance, vp.features, vp.statmech, vp.randla, vp.power | MIT OR Apache-2.0 | pip install vipyr |
vipyr-chem | vp.scf, vp.dft | MIT OR Apache-2.0 | pip install "vipyr[chem]" |
vipyr-nuclear | vp.nuclear | MIT OR Apache-2.0 (the shell model follows BIGSTICK, MIT: NOTICE) | pip install "vipyr[nuclear]" |
vipyr-plasma | vp.plasma | MIT OR Apache-2.0 | pip install "vipyr[plasma]" |
vipyr-liquids | vp.liquids | CC0-1.0 (Allen and Tildesley's examples are CC0) | pip install vipyr-liquids |
Requirements
- Python 3.11, or 3.9 and 3.10 with
tomli. - NumPy. pandas for
vp.features. - A C compiler (
cc, or$CC): each program compiles once to a shared library and is cached. - The programs' sources, read from the checkout (
$VIV_ROOTpoints elsewhere).