Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion .github/workflows/alltests.yml
Original file line number Diff line number Diff line change
Expand Up @@ -248,7 +248,7 @@ jobs:
pip install --find-links ./.wheels -e '.[test,test_torch,test_gpytorch,test_botorch]'
- name: Install MPMC dependencies
run: |
python scripts/install_mpmc_pyg.py
qmcpy-install-mpmc
- name: Validate MPMC dependencies
run: |
python -c "import torch, pyg_lib, torch_geometric; print(f'torch={torch.__version__}'); print('MPMC dependencies ready')"
Expand Down
26 changes: 25 additions & 1 deletion CONTRIBUTING.md
Original file line number Diff line number Diff line change
Expand Up @@ -30,7 +30,15 @@ We periodically release the contents of `develop` to `master`. Contact the team

### Blogs

If you develop a new feature, please consider writing a blog for the [QMCPy documentation](https://qmcsoftware.github.io/QMCSoftware/) including a brief summary of the mathematical rationale, key evidence (tests, benchmarks, or references), and examples.
Blog prose is maintained in [`QMCSoftware/QMCSoftware.github.io`](https://github.com/QMCSoftware/QMCSoftware.github.io), not in this repository's MkDocs documentation site. Propose and publish blog posts there; published articles appear on the [QMCSoftware Blog](https://qmcsoftware.org/blogs/).

Runnable examples remain in this repository. For every article backed by a notebook:

1. Keep the executable notebook under `demos/` as the reproducible source and link the article to that exact repository path. Moving the article prose to the website is not a reason to delete its notebook.
2. Edit and execute the notebook in the QMCPy development environment, from its containing directory when it uses relative imports or helper files.
3. Add or update the matching `test/booktests/tb_*.py` test and run that focused test before updating the website article. See [`test/booktests/README.md`](https://github.com/QMCSoftware/QMCSoftware/blob/develop/test/booktests/README.md) for commands.
4. Update the website article separately, then verify that its source-notebook link still resolves.
5. If the article had a page on this repository's MkDocs site, do not just delete it: add a `redirect_maps` entry for its old path under the `redirects` plugin in `mkdocs.yml`, then confirm with `make check_removed_urls`.


## Installation
Expand All @@ -52,6 +60,22 @@ While `dev` contains the most complete set of install dependencies, a number of
pip install -e ".[dev]"
~~~

The `dev` extra includes QMCPy's PyPI-hosted MPMC dependencies. MPMC additionally
requires a platform-specific `pyg_lib` wheel that is not available from PyPI.
After installing `dev`, let the QMCPy installer select the wheel page matching
the installed PyTorch build:

~~~bash
qmcpy-install-mpmc
~~~

For an MPMC installation without the complete development environment, use:

~~~bash
pip install -e ".[mpmc]"
qmcpy-install-mpmc
~~~

## 📚 Using `qmcpy` In Courses (`class` Extra)

`qmcpy` provides a `class` optional dependency group that installs a complete teaching environment (JupyterLab, plotting, statistics, and utilities) in addition to `qmcpy` itself.
Expand Down
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
[![](https://img.shields.io/badge/qmcpy.org-15bfa9)](https://qmcpy.org/)
[![Docs](https://github.com/QMCSoftware/QMCSoftware/actions/workflows/docs.yml/badge.svg?branch=master)](https://qmcsoftware.github.io/QMCSoftware/)
[![DOI](https://joss.theoj.org/papers/10.21105/joss.09705/status.svg)](https://doi.org/10.21105/joss.09705)
[![DOI](https://zenodo.org/badge/DOI/10.5281/zenodo.3964489.svg)](https://doi.org/10.5281/zenodo.3964489)
[![DOI](https://img.shields.io/badge/DOI-10.5281%2Fzenodo.3964489-007ec6.svg)](https://doi.org/10.5281/zenodo.3964489)
[![](https://img.shields.io/badge/PyPI-fc7303)](https://pypi.org/project/qmcpy/)
[![GitHub stars](https://img.shields.io/github/stars/QMCSoftware/QMCSoftware?style=social)](https://github.com/QMCSoftware/QMCSoftware)
[![Tests](https://github.com/QMCSoftware/QMCSoftware/actions/workflows/alltests.yml/badge.svg)](https://github.com/QMCSoftware/QMCSoftware/actions/workflows/alltests.yml)
Expand Down
17 changes: 16 additions & 1 deletion demos/demo_resume_data/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,9 @@ This folder contains notebooks and helper scripts for demonstrating QMCPy's resu

- `accuracy_and_resume.ipynb`: Long-form walkthrough of the feature.

- `resume_examples.ipynb`: Compact how-to for the feature.
- `resume_examples.ipynb`: Compact, recipe-style walkthrough of the resume workflow.

- `Iteration_Log_Tolerance_Demo.ipynb`: Focused demonstration of tolerance changes and the iteration log.

- `check_resume.py`: Runs a cross-method comparison of:
- a loose run followed by resume with a tighter tolerance
Expand All @@ -23,6 +25,19 @@ This folder contains notebooks and helper scripts for demonstrating QMCPy's resu
- `resume_util.py`: Shared helpers for the resume demo scripts, including case execution, log formatting, and text-report generation.

- `output/`: Generated reports and checkpoint files created when you run the notebooks or `check_resume.py`. These artifacts are intentionally not tracked in git.

## Reproducing the Website Articles

The website articles on the [resume feature](https://qmcsoftware.org/blogs/resume-feature/) and [iteration logs](https://qmcsoftware.org/blogs/iteration-log/) summarize the material, while the three notebooks above are the executable sources. To check an update, execute all cells in the relevant notebook using the QMCPy development environment, then run its focused booktest from the repository root:

```bash
cd test/booktests
python -m pytest tb_accuracy_and_resume.py \
tb_resume_examples.py \
tb_Iteration_Log_Tolerance_Demo.py -v
```

Keep the notebook, any local helper files, and its `tb_*.py` booktest together when the corresponding website article changes. The article should link back to the notebook in this directory so readers can rerun the complete example.

## Generated Reports

Expand Down
3 changes: 1 addition & 2 deletions demos/scipywrapper_dependence_custom/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -31,8 +31,7 @@ From the top level of the QMCSoftware repo, the pieces for this project are:
- `demos/scipywrapper_dependence_custom/README.md`
This file.

- `docs/blogs/scipywrapper/index.md`
Blog describing the project at a higher level.
- [SciPyWrapper article on the QMCSoftware Blog](https://qmcsoftware.org/blogs/scipywrapper/) Blog describing the project at a higher level.

- `test/test_scipy_wrapper_custom.py`
Unit tests that:
Expand Down
9 changes: 6 additions & 3 deletions docs/api/discrete_distributions.md
Original file line number Diff line number Diff line change
Expand Up @@ -66,11 +66,14 @@ jupyter:
MPMC requires PyTorch and PyTorch Geometric. Install with:

```bash
pip install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cpu
pip install pyg_lib torch-geometric
python -m pip install "qmcpy[mpmc]"
qmcpy-install-mpmc
```

For GPU support or platform-specific wheels, see the [PyTorch installation guide](https://pytorch.org/get-started/locally/) and the [PyTorch Geometric installation guide](https://pytorch-geometric.readthedocs.io/en/latest/notes/installation.html).
The second command selects the `pyg_lib` wheel page matching the installed
PyTorch and accelerator builds. For GPU support or platform-specific wheels,
see the [PyTorch installation guide](https://pytorch.org/get-started/locally/)
and the [PyTorch Geometric installation guide](https://pytorch-geometric.readthedocs.io/en/latest/install/installation.html).

::: qmcpy.discrete_distribution.mpmc.mpmc.MPMC

Expand Down
2 changes: 1 addition & 1 deletion docs/assets/pep8-badge.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"schemaVersion": 1,
"label": "pylint",
"message": "9.03/10",
"message": "9.05/10",
"color": "brightgreen"
}
8 changes: 4 additions & 4 deletions docs/assets/pep8-badge.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file not shown.
148 changes: 0 additions & 148 deletions docs/blogs/a-qmcpy-quick-start/index.md

This file was deleted.

Binary file not shown.
Binary file not shown.
Loading
Loading