Skip to main content

CI Tests Documentation Status PyPI Conda Astropy JOSS

PySM 3

PySM generates full-sky simulations of Galactic emissions in intensity and polarization relevant to CMB experiments. It is a large refactor of PySM 2 focused on reducing memory usage, improving performance and run in parallel with MPI.

See the documentation at https://pysm3.readthedocs.io

Contributor guidelines, coding standards, and testing expectations are documented in AGENTS.md (Repository Guidelines).

See changes in CHANGES.rst in the repository.

Install

See the documentation

  • Install with pip install . or with pip install .[test] to also install the requirements for running tests

  • Optionally, if you have an MPI environment available and you would like to test the MPI capabilities of PySM, install mpi4py and libsharp, check the documentation link above for more details.

  • This repository uses Git LFS for Jupyter notebook files (*.ipynb). Ensure Git LFS is installed and run git lfs pull after cloning to fetch large files.

  • Check code style with uv run flake8 src/pysm3 --count --max-line-length=100

  • Test with uv run pytest -v

  • Building docs requires pandoc, not the python package, the actual pandoc command line tool, install it with conda or your package manager

  • Build docs locally with uv run --extra docs sphinx-build -W -b html docs docs/_build/html

Support

For any question or issue with the software open an issue.

Release

  1. Review CHANGES.rst and move the entries you want to ship out of the Unreleased section into a dated <version> (<YYYY-MM-DD>) heading. Commit the changelog update (and any other release-related changes).

  2. Ensure the working tree is clean and up to date with git status and git pull.

  3. Create or refresh a local environment using uv:

    uv venv .venv
    uv pip install --python .venv/bin/python pip hatch
    uv pip install --python .venv/bin/python -e .[test]

    Activate it for the remaining steps with source .venv/bin/activate.

  4. Run the test suite (at least pytest) to verify the release build.

  5. Create the annotated release tag, e.g. git tag -a 3.4.3 -m "Release 3.4.3".

  6. Confirm Hatch picks up the tagged version:

    hatch version

    The output should match the tag (no .dev suffix).

  7. Build the distribution artifacts:

    hatch build
  8. Publish to PyPI using your API token. Hatch reads credentials from ~/.pypirc (username __token__). Alternatively export HATCH_INDEX_USER=__token__ and HATCH_INDEX_AUTH=<pypi-token> before running:

    hatch publish --no-prompt
  9. Update the conda-forge/pysm3-feedstock recipe for the new release (or merge the bot PR if it already exists) so the conda package is published as well.

  10. Push the tag (and any commits) to GitHub:

    git push --tags
  11. Draft the GitHub release notes referencing the matching CHANGES.rst entry and announce the release as needed.

Metadata

Release files for pysm3 3.4.6

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

Source distribution (sdist)

Source distribution for pysm3 3.4.6
File Size Uploaded
pysm3-3.4.6.tar.gz 58.3 kB Details

Built distribution (wheel)

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

Total release size: 133.5 kB

Release files / pysm3-3.4.6.tar.gz

Download URL pysm3-3.4.6.tar.gz
Size 58.3 kB
Tags Source
SHA-256 checksum
How to use checksums
e491922ed3cc3de98f8ba273f6b1cfdfd5fadad8a359e8939a39cf0cd29c2397
BLAKE2b-256 checksum
How to use checksums
56bb1bcd5cc127334308204362ec0c27540cacb4935b0d0e9b992f4fe406cdf5
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via Hatch/1.16.5 cpython/3.13.6 HTTPX/0.28.1

Release files / pysm3-3.4.6-py3-none-any.whl

Download URL pysm3-3.4.6-py3-none-any.whl
Size 75.2 kB
Tags Python 3
SHA-256 checksum
How to use checksums
4183006ffc16e4a5a95026bfe99f30ec1e00bc06ca742a86ee0e4f554d6331db
BLAKE2b-256 checksum
How to use checksums
242fe8ea08536efc62ba7347c8ca7a1ec3f32846bfe71dd55061faa4db7fb313
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via Hatch/1.16.5 cpython/3.13.6 HTTPX/0.28.1
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