Preferred way to develop pysjef is within a conda environment, without any external libraries. This makes it easier to than distribute the package on conda-forge.
The main pysjef repository is hosted on gitlab https://gitlab.com/molpro/pysjef. Developers should fork their own copy and add their contribution through a merge request.
git clone https://gitlab.com/molpro/pysjef.git cd pysjef
Run a script to create a conda environment for developing pysjef:
bash create_conda_env.sh pysjef-dev conda activate pysjef-dev
Run a script to build the project and install it into conda:
It will build
sjef c++ library in
cmake-build/ and compile
a cython wrapper of sjef.project
For testing, pytest and mocker will need to be installed:
pip install pytest pytest-mock
Tests are automatically run in CI.
Test files are kept in
test/. Any data files required for tests
are kept in
To build the documentation, Sphinx will need to be installed:
pip install sphinx sphinx_rtd_theme
Then to generate the documentation itself, run Sphinx from
make clean && make html
Documentation is primarily generated from docstrings in the source code using sphinx-autodoc. For that, pysjef module must be importable.