Contributing
Thank you for your interest in contributing to the QMCPy package!
Please submit pull requests to the develop
branch and issues using a template from .github/ISSUE_TEMPLATE/
If you develop a new component please consider writing a blog for qmcpy.org
Join team communications by reaching out to us at qmc-software@googlegroups.com
Installation
In a git enabled terminal (e.g. bash for Windows) with miniconda installed and C compilers enabled (Windows users may need to install Microsoft C++ Build Tools), run
git clone https://github.com/QMCSoftware/QMCSoftware.git
cd QMCSoftware
git checkout develop
conda create --name qmcpy python=3.12
conda activate qmcpy
pip install -e .[dev]
While dev
contains the most complete set of install dependencies, a number of other install dependency groups can be found in our pyproject.toml
file. If running in the zsh
terminal you may need to use
Tests
Doctests and unittests take a few minute to run with
Optionally, you may install Docker and then run all tests with
Please see the targets in the makefile for more granular control over tests.
Documentation
To compile documentation, run
To download PDF documentation, go to the "Printable Docs" header in the documentation, press Ctrl-p to print, and then choose to save the PDF to your preferred location.
Demos
Demos are Jupyter notebooks which may be launched using the command
Other Developer Tools
The Developers Tools page on qmcpy.org documents additional tools we have found helpful for mathematical software development and presentation.
VSCode Tips
VSCode (Visual Studio Code) is the IDE of choice for many of our developers. Here we compile some helpful notes regarding additional setup for VSCode.
- Run
CMD
+p
then> Python: Select Interpreter
then select the('qmcpy')
choice from the dropdown to link the qmcpy environment into your workspace. Now when you open a terminal, your command line should read(qmcpy) username@...
which indicates the qmcpy environment has been automatically activated. Also, when debugging the qmcpy environment will be automatically used. - Go to
File
and clickSave Workspace as...
to save aqmcpy
workspace for future development.
Some VSCode extension we found useful include
- Python
- Jupyter
- Markdown Preview Enhanced
- eps-preview, which requires
- Postscript Language
- pdf2svg
- Git Graph
- Code Spell Checker