Skip to main content

Geometry package for high energy physics (Geant4, Fluka)

Project description

pyg4ometry

Python code for rapid creation and conversion of radiation transport Monte Carlo (Geant4 and Fluka) geometries.

PyPI GitHub tag (latest by date) GitHub Workflow Status pre-commit Code style: black Codecov GitHub issues GitHub pull requests License DOI Read the Docs

Installing from PyPI

> pip install pyg4ometry

[!NOTE] Most dependencies are available from pip but you will need to install OpenCASCADE cgal, mpfr, gmp, ROOT. Find here installers for Ubuntu and MacOS.

Building

> git clone https://github.com/g4edge/pyg4ometry.git
> cd pyg4ometry
> pip install . # add --editable for a version which you can edit

[!NOTE] If you update your Git clone and the pybind11 C++ has changes you will need to reinstall and thus trigger a rebuild.

Manual

Online manual available at https://pyg4ometry.readthedocs.io

Developer commands (for detailed developer notes see readthedocs)

  • Building the manual
    • pip install '.[docs]' to install docs building dependencies
    • cd pyg4ometry/docs
    • make
    • <your browser> build/html/index.html to view the docs
  • Running tests
    • pip install '.[test]' to install test running dependencies
    • pytest
  • Git commit
    • pre-commit
      • pre-commit install to setup pre-commit in source dir (only once)
      • pre-commit run --all-files run pre-commit locally
      • pre-commit run --all-files black run only black
    • messages
      • Start commit message with submodule : (type of change) detailed notes
      • e.g pycgal : (extra functionality) more 2d mesh processing
  • Pull requests
    • PR messages should just explain the change in a concise way as they will form part of the change log
      • e.g FLUKA region viewer
    • Update the CHANGELOG.md file for generating the release notes

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distributions

No source distribution files available for this release.See tutorial on generating distribution archives.

Built Distributions

pyg4ometry-1.2.1-pp310-pypy310_pp73-macosx_11_0_arm64.whl (26.6 MB view hashes)

Uploaded PyPy macOS 11.0+ ARM64

pyg4ometry-1.2.1-pp39-pypy39_pp73-macosx_11_0_arm64.whl (26.6 MB view hashes)

Uploaded PyPy macOS 11.0+ ARM64

pyg4ometry-1.2.1-pp38-pypy38_pp73-macosx_11_0_arm64.whl (26.6 MB view hashes)

Uploaded PyPy macOS 11.0+ ARM64

pyg4ometry-1.2.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (32.4 MB view hashes)

Uploaded CPython 3.12 manylinux: glibc 2.17+ x86-64

pyg4ometry-1.2.1-cp312-cp312-macosx_11_0_arm64.whl (26.7 MB view hashes)

Uploaded CPython 3.12 macOS 11.0+ ARM64

pyg4ometry-1.2.1-cp312-cp312-macosx_10_9_x86_64.whl (29.6 MB view hashes)

Uploaded CPython 3.12 macOS 10.9+ x86-64

pyg4ometry-1.2.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (32.5 MB view hashes)

Uploaded CPython 3.11 manylinux: glibc 2.17+ x86-64

pyg4ometry-1.2.1-cp311-cp311-macosx_11_0_arm64.whl (26.7 MB view hashes)

Uploaded CPython 3.11 macOS 11.0+ ARM64

pyg4ometry-1.2.1-cp311-cp311-macosx_10_9_x86_64.whl (29.7 MB view hashes)

Uploaded CPython 3.11 macOS 10.9+ x86-64

pyg4ometry-1.2.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (32.4 MB view hashes)

Uploaded CPython 3.10 manylinux: glibc 2.17+ x86-64

pyg4ometry-1.2.1-cp310-cp310-macosx_11_0_arm64.whl (26.7 MB view hashes)

Uploaded CPython 3.10 macOS 11.0+ ARM64

pyg4ometry-1.2.1-cp310-cp310-macosx_10_9_x86_64.whl (29.6 MB view hashes)

Uploaded CPython 3.10 macOS 10.9+ x86-64

pyg4ometry-1.2.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (32.4 MB view hashes)

Uploaded CPython 3.9 manylinux: glibc 2.17+ x86-64

pyg4ometry-1.2.1-cp39-cp39-macosx_11_0_arm64.whl (26.7 MB view hashes)

Uploaded CPython 3.9 macOS 11.0+ ARM64

pyg4ometry-1.2.1-cp39-cp39-macosx_10_9_x86_64.whl (29.6 MB view hashes)

Uploaded CPython 3.9 macOS 10.9+ x86-64

pyg4ometry-1.2.1-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (32.4 MB view hashes)

Uploaded CPython 3.8 manylinux: glibc 2.17+ x86-64

pyg4ometry-1.2.1-cp38-cp38-macosx_11_0_arm64.whl (26.7 MB view hashes)

Uploaded CPython 3.8 macOS 11.0+ ARM64

pyg4ometry-1.2.1-cp38-cp38-macosx_10_9_x86_64.whl (29.6 MB view hashes)

Uploaded CPython 3.8 macOS 10.9+ x86-64

pyg4ometry-1.2.1-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (32.5 MB view hashes)

Uploaded CPython 3.7m manylinux: glibc 2.17+ x86-64

pyg4ometry-1.2.1-cp37-cp37m-macosx_10_9_x86_64.whl (29.5 MB view hashes)

Uploaded CPython 3.7m macOS 10.9+ x86-64

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page