Installation and reproducibility#
Installation#
Install the base package for radius samplers, RSA, Metropolis Monte Carlo, and Percus–Yevick calculations:
$ pip install packlab
The optional scattering workflow requires PyMieSim:
$ pip install "packlab[scattering]"
When using the PackLab Conda channel, install the compiled package with its dependencies from conda-forge:
$ conda install -c martinpdes -c conda-forge packlab
Verify the installation and record the version used for a calculation:
$ python -c "import PackLab; print(PackLab.__version__)"
What to report#
For a reproducible packing, correlation, or scattering calculation, report:
PackLab version and installation method;
Python version, operating system, and—for native builds—the compiler;
radii or radius-distribution parameters, number fractions, and volume fraction;
domain dimensions and whether periodic boundaries were used;
random seeds and RSA or Metropolis stopping and proposal settings;
wavenumber-grid settings for Percus–Yevick calculations; and
optical wavelength, refractive indices, angular grid, and PyMieSim version for scattering calculations.
Creating a release#
For maintainers, the release helper updates the version in pyproject.toml,
meta.yaml, .zenodo.json, and the generated package version file before
creating an annotated Git tag:
$ make tag v0.7.0
$ git push origin HEAD --tags
Run it from a clean worktree. The helper accepts only release tags in the form
vMAJOR.MINOR.PATCH.
Citing PackLab#
Cite the archived Zenodo release used in the study and retain its version
number in the methods section. Machine-readable release metadata is maintained
in .zenodo.json. The references page lists the underlying hard-sphere
literature and the release metadata.