Skip to main content

Test Status Coverage Status Documentation Status DOI

pydmqmc

The pydmqmc package let’s you quickly assemble finite-temperature many-electron calculations. It serves as library with which your own scripts can be written and executed.

pydmqmc was inspired by the HANDE code.

Installation

The pydmqmc package is available via PyPI:

pip install pydmqmc

Any necessary dependencies will be installed automatically!

Development Version

First, clone this repository and set the branch:

git clone https://github.com/shepherd-group/pydmqmc.git
cd pydmqmc

Next, set up a Python environment. If you use Conda to manage your Python environments, you can set up a full development environment using the provided environment.yml:

conda env create -f environment.yml

If you prefer to build with pip, you can skip to building pydmqmc and all dependencies should be installed automatically.

The final step is to build the pydmqmc Python package. Since this project is in early development, it's advisable to build with the --editable or -e flag:

pip install -e .

You can test your installation is working by running the test suite:

pytest

Parallel Tests

Note that, by default, pytest is configured to skip tests for the parallel (MPI) infrastructure. This is because the way pytest prefers to natively run these tests (i.e., using forking) fails on some version of MPI, such as OpenMPI on Ubuntu (see the documentation for mpi-pytest for more details).

To run these parallel tests with OpenMPI, please run the following:

pytest  # serial tests
bash tests/run_parallel_tests.sh  # parallel tests

For all other versions of MPI, you may run:

pytest  # serial tests
pytest -m parallel  # parallel tests

Building the Documentation

The environment.yml file includes everything you need to build the documentation yourself. To do so, run the following:

cd docs
make html

The documentation will then be available in pydmqmc/docs/build/html. Open pydmqmc/docs/build/html/index.html to browse the documentation like a webpage!

Navigate to the Quickstart page to get started with pydmqmc!

Citing this software

Please cite this software using the following DOI: 10.5281/zenodo.19614801.

Depending on the methods used in your work, please also cite the following method papers (DOIs provided):

Developer Notes

Please be advised that pydmqmc is in a alpha release state and is still being actively developed. Some features may be missing and the API is subject to change. You are welcome to submit comments and requests to the lead developer (Claire Kopenhafer, kopenhaf@msu.edu), ideally as issues on the pydmqmc GitHub page (though Slack and email messages also work).

The following are notes from Claire about unfinished work, future planned work, and possible changes.

Unfinished Work

  • Functions random_bitarray_symspace() and generate_renorm_excitation() in the Integral class need unit tests.
  • Internal Integral methods _set_reference, _set_symmetry, and _symmetry_check still need verification.
  • The report_registry could have more functions available to it.

Future Work

  • Create a speed/scaling page that also compares with HANDE
  • Add more Methods from Will's original code.

Possible API Changes

  • The Method categories Iterative and Analytic represent a false dichotomy. Analytic may become Direct, or Iterative could become Stochastic. It depends on what other Method types get added to pydmqmc.

Metadata

Release files for pydmqmc 0.1.0.post1

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for pydmqmc 0.1.0.post1
File Size Uploaded
pydmqmc-0.1.0.post1.tar.gz 39.2 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for pydmqmc 0.1.0.post1
File Interpreter ABI Platform
pydmqmc-0.1.0.post1-py3-none-any.whl Python 3 none any Details

Total release size: 85.9 kB

Release files / pydmqmc-0.1.0.post1.tar.gz

Download URL pydmqmc-0.1.0.post1.tar.gz
Size 39.2 kB
Tags Source
SHA-256 checksum
How to use checksums
d88eb18fdd13b75b59345b17ce244ff314f250c8bcddb98f80dafc53971124dc
BLAKE2b-256 checksum
How to use checksums
6336f519d1b9b9892bb7bc82b885aa1bedc38a83daf7bbdbe31b84b3b7b1fc86
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.12

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Apr 21, 2026.

Transparency log

Release files / pydmqmc-0.1.0.post1-py3-none-any.whl

Download URL pydmqmc-0.1.0.post1-py3-none-any.whl
Size 46.7 kB
Tags Python 3
SHA-256 checksum
How to use checksums
7ec266ff3b57daaf020283cdebaeb51ae1449b955658a77c47c14af4ec0c443f
BLAKE2b-256 checksum
How to use checksums
bfa8689195fae78cffdb0d39ecb47c3e841c2187cdca7439e716f3de095d590f
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.12

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Apr 21, 2026.

Transparency log

Release history Release notifications | RSS feed

This release

0.1.0.post1 This release

2 release files

0.1.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page