Psience is a set of core scientific packages written by the McCoy group for the McCoy group to handle interesting scientific problems, like DVR, managing potential and dipole surfaces, VPT2, normal mode analysis, etc.
We're working on documenting the package, but writing good documentation takes more time than writing good code.
Psience is written in pure python and we've worked to try to avoid any major dependencies outside of what comes in Anaconda and our McUtils package.
The easiest way to install is via pip, as
pip install mccoygroup-psience
This should install all dependencies. The major requirement is that Python 3.8+ is required due to use of the types module. For safety, it is best to install this in a virtual environment, which we can make like
python3.8 -m pip venv mcenv
and activate like
. mcenv/bin/activate
or to use it in a container or conda environment or some other place where we can control the environment.
It is also possible to install from source like
git clone https://github.com/McCoyGroup/Psience.git
but in this case you will need to make sure the library is on the path yourself and all of the dependencies are installed.
If you'd like to help out with this, we'd love contributions. The easiest way to get started with it is to try it out. When you find bugs, please report them. If there are things you'd like added let us know, and we'll try to help you get the context you need to add them yourself. One of the biggest places where people can help out, though, is in improving the quality of the documentation. As you try things out, add them as examples, either to the main page or to a child page. You can also edit the docstrings in the code to add context, explanation, argument types, return types, etc.