This site is version 0.0.1. Most of the code on this site is drafted by an agent and needs review. I apologize for the AI-speak, we are working on rewriting it!
viv-lang.org

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.

DistributionFamiliesLicensePlanned 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_ROOT points elsewhere).