geant4-python-application 0.1.0__tar.gz → 0.1.2__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {geant4_python_application-0.1.0 → geant4_python_application-0.1.2}/.github/workflows/build-test.yaml +32 -45
- {geant4_python_application-0.1.0 → geant4_python_application-0.1.2}/INSTALLATION.md +24 -0
- {geant4_python_application-0.1.0 → geant4_python_application-0.1.2}/PKG-INFO +63 -21
- {geant4_python_application-0.1.0 → geant4_python_application-0.1.2}/README.md +56 -20
- geant4_python_application-0.1.2/binder/requirements.txt +2 -0
- geant4_python_application-0.1.2/binder/runtime.txt +1 -0
- {geant4_python_application-0.1.0 → geant4_python_application-0.1.2}/pyproject.toml +14 -1
- {geant4_python_application-0.1.0 → geant4_python_application-0.1.2}/src/geant4_python_application/_version.py +3 -3
- {geant4_python_application-0.1.0 → geant4_python_application-0.1.2}/.clang-format +0 -0
- {geant4_python_application-0.1.0 → geant4_python_application-0.1.2}/.cmake-format.yaml +0 -0
- {geant4_python_application-0.1.0 → geant4_python_application-0.1.2}/.dockerignore +0 -0
- {geant4_python_application-0.1.0 → geant4_python_application-0.1.2}/.github/CODEOWNERS +0 -0
- {geant4_python_application-0.1.0 → geant4_python_application-0.1.2}/.github/dependabot.yaml +0 -0
- {geant4_python_application-0.1.0 → geant4_python_application-0.1.2}/.github/workflows/wheels.yaml +0 -0
- {geant4_python_application-0.1.0 → geant4_python_application-0.1.2}/.gitignore +0 -0
- {geant4_python_application-0.1.0 → geant4_python_application-0.1.2}/.pre-commit-config.yaml +0 -0
- {geant4_python_application-0.1.0 → geant4_python_application-0.1.2}/CMakeLists.txt +0 -0
- {geant4_python_application-0.1.0 → geant4_python_application-0.1.2}/Dockerfile +0 -0
- {geant4_python_application-0.1.0 → geant4_python_application-0.1.2}/LICENSE +0 -0
- {geant4_python_application-0.1.0 → geant4_python_application-0.1.2}/NOTICE +0 -0
- {geant4_python_application-0.1.0 → geant4_python_application-0.1.2}/PYTHON_DEVELOPER_GUIDE.md +0 -0
- {geant4_python_application-0.1.0 → geant4_python_application-0.1.2}/docs/FEATURE_SUPPORT.md +0 -0
- {geant4_python_application-0.1.0 → geant4_python_application-0.1.2}/examples/attenuation.ipynb +0 -0
- {geant4_python_application-0.1.0 → geant4_python_application-0.1.2}/examples/geant4-examples/00_qt_viewer_smoke.py +0 -0
- {geant4_python_application-0.1.0 → geant4_python_application-0.1.2}/examples/geant4-examples/01_reference_physics_lists.py +0 -0
- {geant4_python_application-0.1.0 → geant4_python_application-0.1.2}/examples/geant4-examples/02_gps_sources.py +0 -0
- {geant4_python_application-0.1.0 → geant4_python_application-0.1.2}/examples/geant4-examples/03_scoring_meshes_hits.py +0 -0
- {geant4_python_application-0.1.0 → geant4_python_application-0.1.2}/examples/geant4-examples/04_magnetic_electric_fields.py +0 -0
- {geant4_python_application-0.1.0 → geant4_python_application-0.1.2}/examples/geant4-examples/05_optical_scintillation.py +0 -0
- {geant4_python_application-0.1.0 → geant4_python_application-0.1.2}/examples/geant4-examples/06_callbacks.py +0 -0
- {geant4_python_application-0.1.0 → geant4_python_application-0.1.2}/examples/geant4-examples/07_custom_physics.py +0 -0
- {geant4_python_application-0.1.0 → geant4_python_application-0.1.2}/examples/geant4-examples/08_dna_medical.py +0 -0
- {geant4_python_application-0.1.0 → geant4_python_application-0.1.2}/examples/geant4-examples/09_cad_vtk_root_generators.py +0 -0
- {geant4_python_application-0.1.0 → geant4_python_application-0.1.2}/examples/geant4-examples/10_mpi_distributed.py +0 -0
- {geant4_python_application-0.1.0 → geant4_python_application-0.1.2}/examples/geant4-examples/11_native_scoring_mesh.py +0 -0
- {geant4_python_application-0.1.0 → geant4_python_application-0.1.2}/examples/geant4-examples/Geant4-11.4.2-examples-python/AUDIT.md +0 -0
- {geant4_python_application-0.1.0 → geant4_python_application-0.1.2}/examples/geant4-examples/Geant4-11.4.2-examples-python/COMPATIBILITY.md +0 -0
- {geant4_python_application-0.1.0 → geant4_python_application-0.1.2}/examples/geant4-examples/Geant4-11.4.2-examples-python/README.md +0 -0
- {geant4_python_application-0.1.0 → geant4_python_application-0.1.2}/examples/geant4-examples/Geant4-11.4.2-examples-python/advanced/GoldFoilExperiment/gold_foil.py +0 -0
- {geant4_python_application-0.1.0 → geant4_python_application-0.1.2}/examples/geant4-examples/Geant4-11.4.2-examples-python/advanced/NanoparticleTherapy/brain_tumor.py +0 -0
- {geant4_python_application-0.1.0 → geant4_python_application-0.1.2}/examples/geant4-examples/Geant4-11.4.2-examples-python/advanced/NanoparticleTherapy/nano_therapy.py +0 -0
- {geant4_python_application-0.1.0 → geant4_python_application-0.1.2}/examples/geant4-examples/Geant4-11.4.2-examples-python/basic/B1/b1.py +0 -0
- {geant4_python_application-0.1.0 → geant4_python_application-0.1.2}/examples/geant4-examples/Geant4-11.4.2-examples-python/basic/B2/b2.py +0 -0
- {geant4_python_application-0.1.0 → geant4_python_application-0.1.2}/examples/geant4-examples/Geant4-11.4.2-examples-python/basic/B3/b3.py +0 -0
- {geant4_python_application-0.1.0 → geant4_python_application-0.1.2}/examples/geant4-examples/Geant4-11.4.2-examples-python/basic/B4/b4.py +0 -0
- {geant4_python_application-0.1.0 → geant4_python_application-0.1.2}/examples/geant4-examples/Geant4-11.4.2-examples-python/basic/B5/b5.py +0 -0
- {geant4_python_application-0.1.0 → geant4_python_application-0.1.2}/examples/geant4-examples/Geant4-11.4.2-examples-python/extended/analysis/AnaEx01/ana_ex01.py +0 -0
- {geant4_python_application-0.1.0 → geant4_python_application-0.1.2}/examples/geant4-examples/Geant4-11.4.2-examples-python/extended/analysis/AnaEx02/ana_ex02.py +0 -0
- {geant4_python_application-0.1.0 → geant4_python_application-0.1.2}/examples/geant4-examples/Geant4-11.4.2-examples-python/extended/analysis/AnaEx03/ana_ex03.py +0 -0
- {geant4_python_application-0.1.0 → geant4_python_application-0.1.2}/examples/geant4-examples/Geant4-11.4.2-examples-python/extended/electromagnetic/TestEm1/test_em1.py +0 -0
- {geant4_python_application-0.1.0 → geant4_python_application-0.1.2}/examples/geant4-examples/Geant4-11.4.2-examples-python/extended/eventgenerator/HepMC/hepmc.py +0 -0
- {geant4_python_application-0.1.0 → geant4_python_application-0.1.2}/examples/geant4-examples/Geant4-11.4.2-examples-python/extended/eventgenerator/exgps/exgps.py +0 -0
- {geant4_python_application-0.1.0 → geant4_python_application-0.1.2}/examples/geant4-examples/Geant4-11.4.2-examples-python/extended/eventgenerator/particleGun/particle_gun.py +0 -0
- {geant4_python_application-0.1.0 → geant4_python_application-0.1.2}/examples/geant4-examples/Geant4-11.4.2-examples-python/extended/field/field01/field01.py +0 -0
- {geant4_python_application-0.1.0 → geant4_python_application-0.1.2}/examples/geant4-examples/Geant4-11.4.2-examples-python/extended/field/field02/field02.py +0 -0
- {geant4_python_application-0.1.0 → geant4_python_application-0.1.2}/examples/geant4-examples/Geant4-11.4.2-examples-python/extended/hadronic/Hadr00/hadr00.py +0 -0
- {geant4_python_application-0.1.0 → geant4_python_application-0.1.2}/examples/geant4-examples/Geant4-11.4.2-examples-python/extended/medical/GammaTherapy/gamma_therapy.py +0 -0
- {geant4_python_application-0.1.0 → geant4_python_application-0.1.2}/examples/geant4-examples/Geant4-11.4.2-examples-python/extended/medical/electronScattering/electron_scattering.py +0 -0
- {geant4_python_application-0.1.0 → geant4_python_application-0.1.2}/examples/geant4-examples/Geant4-11.4.2-examples-python/extended/optical/LXe/lxe.py +0 -0
- {geant4_python_application-0.1.0 → geant4_python_application-0.1.2}/examples/geant4-examples/Geant4-11.4.2-examples-python/extended/optical/OpNovice/op_novice.py +0 -0
- {geant4_python_application-0.1.0 → geant4_python_application-0.1.2}/examples/geant4-examples/Geant4-11.4.2-examples-python/extended/optical/wls/wls.py +0 -0
- {geant4_python_application-0.1.0 → geant4_python_application-0.1.2}/examples/geant4-examples/Geant4-11.4.2-examples-python/extended/parameterisations/Par01/par01.py +0 -0
- {geant4_python_application-0.1.0 → geant4_python_application-0.1.2}/examples/geant4-examples/Geant4-11.4.2-examples-python/extended/physicslists/factory/factory.py +0 -0
- {geant4_python_application-0.1.0 → geant4_python_application-0.1.2}/examples/geant4-examples/Geant4-11.4.2-examples-python/extended/radioactivedecay/rdecay01/rdecay01.py +0 -0
- {geant4_python_application-0.1.0 → geant4_python_application-0.1.2}/examples/geant4-examples/Geant4-11.4.2-examples-python/extended/runAndEvent/RE01/re01.py +0 -0
- {geant4_python_application-0.1.0 → geant4_python_application-0.1.2}/examples/geant4-examples/Geant4-11.4.2-examples-python/run_gdml.py +0 -0
- {geant4_python_application-0.1.0 → geant4_python_application-0.1.2}/examples/qt_viewer.py +0 -0
- {geant4_python_application-0.1.0 → geant4_python_application-0.1.2}/licenses/CLHEP-COPYING +0 -0
- {geant4_python_application-0.1.0 → geant4_python_application-0.1.2}/licenses/CLHEP-COPYING.LESSER +0 -0
- {geant4_python_application-0.1.0 → geant4_python_application-0.1.2}/licenses/Expat-COPYING +0 -0
- {geant4_python_application-0.1.0 → geant4_python_application-0.1.2}/licenses/Geant4-LICENSE +0 -0
- {geant4_python_application-0.1.0 → geant4_python_application-0.1.2}/licenses/PTL-LICENSE +0 -0
- {geant4_python_application-0.1.0 → geant4_python_application-0.1.2}/licenses/Xerces-C-LICENSE +0 -0
- {geant4_python_application-0.1.0 → geant4_python_application-0.1.2}/licenses/Xerces-C-NOTICE +0 -0
- {geant4_python_application-0.1.0 → geant4_python_application-0.1.2}/licenses/zlib-LICENSE +0 -0
- {geant4_python_application-0.1.0 → geant4_python_application-0.1.2}/src/geant4_application/include/geant4_application/ActionInitialization.h +0 -0
- {geant4_python_application-0.1.0 → geant4_python_application-0.1.2}/src/geant4_application/include/geant4_application/Application.h +0 -0
- {geant4_python_application-0.1.0 → geant4_python_application-0.1.2}/src/geant4_application/include/geant4_application/DataModel.h +0 -0
- {geant4_python_application-0.1.0 → geant4_python_application-0.1.2}/src/geant4_application/include/geant4_application/DetectorConstruction.h +0 -0
- {geant4_python_application-0.1.0 → geant4_python_application-0.1.2}/src/geant4_application/include/geant4_application/EventAction.h +0 -0
- {geant4_python_application-0.1.0 → geant4_python_application-0.1.2}/src/geant4_application/include/geant4_application/PhysicsList.h +0 -0
- {geant4_python_application-0.1.0 → geant4_python_application-0.1.2}/src/geant4_application/include/geant4_application/PrimaryGeneratorAction.h +0 -0
- {geant4_python_application-0.1.0 → geant4_python_application-0.1.2}/src/geant4_application/include/geant4_application/RunAction.h +0 -0
- {geant4_python_application-0.1.0 → geant4_python_application-0.1.2}/src/geant4_application/include/geant4_application/SensitiveDetector.h +0 -0
- {geant4_python_application-0.1.0 → geant4_python_application-0.1.2}/src/geant4_application/include/geant4_application/StackingAction.h +0 -0
- {geant4_python_application-0.1.0 → geant4_python_application-0.1.2}/src/geant4_application/include/geant4_application/SteppingAction.h +0 -0
- {geant4_python_application-0.1.0 → geant4_python_application-0.1.2}/src/geant4_application/include/geant4_application/SteppingVerbose.h +0 -0
- {geant4_python_application-0.1.0 → geant4_python_application-0.1.2}/src/geant4_application/include/geant4_application/TrackingAction.h +0 -0
- {geant4_python_application-0.1.0 → geant4_python_application-0.1.2}/src/geant4_application/src/ActionInitialization.cpp +0 -0
- {geant4_python_application-0.1.0 → geant4_python_application-0.1.2}/src/geant4_application/src/Application.cpp +0 -0
- {geant4_python_application-0.1.0 → geant4_python_application-0.1.2}/src/geant4_application/src/DataModel.cpp +0 -0
- {geant4_python_application-0.1.0 → geant4_python_application-0.1.2}/src/geant4_application/src/DetectorConstruction.cpp +0 -0
- {geant4_python_application-0.1.0 → geant4_python_application-0.1.2}/src/geant4_application/src/EventAction.cpp +0 -0
- {geant4_python_application-0.1.0 → geant4_python_application-0.1.2}/src/geant4_application/src/PhysicsList.cpp +0 -0
- {geant4_python_application-0.1.0 → geant4_python_application-0.1.2}/src/geant4_application/src/PrimaryGeneratorAction.cpp +0 -0
- {geant4_python_application-0.1.0 → geant4_python_application-0.1.2}/src/geant4_application/src/RunAction.cpp +0 -0
- {geant4_python_application-0.1.0 → geant4_python_application-0.1.2}/src/geant4_application/src/SensitiveDetector.cpp +0 -0
- {geant4_python_application-0.1.0 → geant4_python_application-0.1.2}/src/geant4_application/src/StackingAction.cpp +0 -0
- {geant4_python_application-0.1.0 → geant4_python_application-0.1.2}/src/geant4_application/src/SteppingAction.cpp +0 -0
- {geant4_python_application-0.1.0 → geant4_python_application-0.1.2}/src/geant4_application/src/SteppingVerbose.cpp +0 -0
- {geant4_python_application-0.1.0 → geant4_python_application-0.1.2}/src/geant4_application/src/TrackingAction.cpp +0 -0
- {geant4_python_application-0.1.0 → geant4_python_application-0.1.2}/src/geant4_python_application/__init__.py +0 -0
- {geant4_python_application-0.1.0 → geant4_python_application-0.1.2}/src/geant4_python_application/application.py +0 -0
- {geant4_python_application-0.1.0 → geant4_python_application-0.1.2}/src/geant4_python_application/cad.py +0 -0
- {geant4_python_application-0.1.0 → geant4_python_application-0.1.2}/src/geant4_python_application/detector.py +0 -0
- {geant4_python_application-0.1.0 → geant4_python_application-0.1.2}/src/geant4_python_application/distributed.py +0 -0
- {geant4_python_application-0.1.0 → geant4_python_application-0.1.2}/src/geant4_python_application/events.py +0 -0
- {geant4_python_application-0.1.0 → geant4_python_application-0.1.2}/src/geant4_python_application/files/__init__.py +0 -0
- {geant4_python_application-0.1.0 → geant4_python_application-0.1.2}/src/geant4_python_application/files/datasets.py +0 -0
- {geant4_python_application-0.1.0 → geant4_python_application-0.1.2}/src/geant4_python_application/files/directories.py +0 -0
- {geant4_python_application-0.1.0 → geant4_python_application-0.1.2}/src/geant4_python_application/gdml.py +0 -0
- {geant4_python_application-0.1.0 → geant4_python_application-0.1.2}/src/geant4_python_application/generator.py +0 -0
- {geant4_python_application-0.1.0 → geant4_python_application-0.1.2}/src/geant4_python_application/geometry.py +0 -0
- {geant4_python_application-0.1.0 → geant4_python_application-0.1.2}/src/geant4_python_application/io.py +0 -0
- {geant4_python_application-0.1.0 → geant4_python_application-0.1.2}/src/geant4_python_application/optical.py +0 -0
- {geant4_python_application-0.1.0 → geant4_python_application-0.1.2}/src/geant4_python_application/scoring.py +0 -0
- {geant4_python_application-0.1.0 → geant4_python_application-0.1.2}/src/python/module.cpp +0 -0
- {geant4_python_application-0.1.0 → geant4_python_application-0.1.2}/src/vis/module.cpp +0 -0
- {geant4_python_application-0.1.0 → geant4_python_application-0.1.2}/tests/__init__.py +0 -0
- {geant4_python_application-0.1.0 → geant4_python_application-0.1.2}/tests/conftest.py +0 -0
- {geant4_python_application-0.1.0 → geant4_python_application-0.1.2}/tests/test_analysis.py +0 -0
- {geant4_python_application-0.1.0 → geant4_python_application-0.1.2}/tests/test_application.py +0 -0
- {geant4_python_application-0.1.0 → geant4_python_application-0.1.2}/tests/test_capabilities.py +0 -0
- {geant4_python_application-0.1.0 → geant4_python_application-0.1.2}/tests/test_module.py +0 -0
- {geant4_python_application-0.1.0 → geant4_python_application-0.1.2}/tests/test_run.py +0 -0
- {geant4_python_application-0.1.0 → geant4_python_application-0.1.2}/tools/audit_examples.py +0 -0
- {geant4_python_application-0.1.0 → geant4_python_application-0.1.2}/tools/build_macos_self_contained.sh +0 -0
- {geant4_python_application-0.1.0 → geant4_python_application-0.1.2}/tools/relink_qt_wheel.py +0 -0
- {geant4_python_application-0.1.0 → geant4_python_application-0.1.2}/tools/smoke_viewer.py +0 -0
|
@@ -26,7 +26,7 @@ jobs:
|
|
|
26
26
|
strategy:
|
|
27
27
|
fail-fast: false
|
|
28
28
|
matrix:
|
|
29
|
-
os: [ubuntu-latest, macos-latest] # Geant4 is not available on conda for
|
|
29
|
+
os: [ubuntu-latest, macos-latest] # Geant4 is not available on conda for Windows
|
|
30
30
|
defaults:
|
|
31
31
|
run:
|
|
32
32
|
shell: bash -l {0}
|
|
@@ -49,7 +49,9 @@ jobs:
|
|
|
49
49
|
- name: Install additional dependencies (MacOS)
|
|
50
50
|
if: matrix.os == 'macos-latest'
|
|
51
51
|
run: |
|
|
52
|
-
|
|
52
|
+
# macos-latest is Apple Silicon; clang_osx-64 would build an x86_64
|
|
53
|
+
# module that the arm64 Python cannot load.
|
|
54
|
+
conda install -c conda-forge clang_osx-arm64
|
|
53
55
|
|
|
54
56
|
- name: Print versions
|
|
55
57
|
run: |
|
|
@@ -89,7 +91,7 @@ jobs:
|
|
|
89
91
|
strategy:
|
|
90
92
|
fail-fast: false
|
|
91
93
|
matrix:
|
|
92
|
-
os: [ubuntu-latest, macos-latest
|
|
94
|
+
os: [ubuntu-latest, macos-latest]
|
|
93
95
|
|
|
94
96
|
steps:
|
|
95
97
|
- name: Setup CMake
|
|
@@ -100,14 +102,16 @@ jobs:
|
|
|
100
102
|
uses: actions/cache@v4
|
|
101
103
|
with:
|
|
102
104
|
path: ${{ github.workspace }}/xerces
|
|
103
|
-
key:
|
|
105
|
+
key:
|
|
106
|
+
xerces-v${{ env.XERCES_VERSION }}-cpp${{ env.CPP_STANDARD }}-${{
|
|
107
|
+
runner.os }}-${{ runner.arch }}
|
|
104
108
|
|
|
105
109
|
- name: Build and Install Xerces-C
|
|
106
110
|
if: steps.cache-xerces.outputs.cache-hit != 'true'
|
|
107
111
|
run: |
|
|
108
112
|
git clone https://github.com/apache/xerces-c.git xerces-source
|
|
109
113
|
git -C xerces-source checkout tags/v${{ env.XERCES_VERSION }}
|
|
110
|
-
cmake -B xerces-build -S xerces-source -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=${{ github.workspace }}/xerces -DCMAKE_CXX_STANDARD=${{ env.CPP_STANDARD }} -DBUILD_SHARED_LIBS=OFF
|
|
114
|
+
cmake -G Ninja -B xerces-build -S xerces-source -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=${{ github.workspace }}/xerces -DCMAKE_CXX_STANDARD=${{ env.CPP_STANDARD }} -DBUILD_SHARED_LIBS=OFF -DCMAKE_CXX_FLAGS=-fPIC -DCMAKE_C_FLAGS=-fPIC -Dnetwork-accessor=socket -Dtranscoder=iconv
|
|
111
115
|
cmake --build xerces-build --parallel $(nproc) --config Release --target install
|
|
112
116
|
|
|
113
117
|
- name: Cache Geant4 Installation
|
|
@@ -115,13 +119,18 @@ jobs:
|
|
|
115
119
|
uses: actions/cache@v4
|
|
116
120
|
with:
|
|
117
121
|
path: ${{ env.Geant4_DIR }}
|
|
118
|
-
key:
|
|
122
|
+
key:
|
|
123
|
+
geant4-v${{ env.GEANT4_VERSION }}-cpp${{ env.CPP_STANDARD }}-${{
|
|
124
|
+
runner.os }}-${{ runner.arch }}
|
|
119
125
|
|
|
120
126
|
- name: Build and Install Geant4 (without datasets)
|
|
121
127
|
if: steps.cache-geant4.outputs.cache-hit != 'true'
|
|
122
128
|
run: |
|
|
123
129
|
git clone https://github.com/Geant4/geant4.git ${{ github.workspace }}/geant4-source --depth 1 --branch v${{ env.GEANT4_VERSION }}
|
|
124
|
-
|
|
130
|
+
# Typo in Geant4 11.2.2's g4tools (fixed in later releases) that Xcode 16.3+ clang rejects.
|
|
131
|
+
sed -i.bak 's/a_from\.m_barnch/a_from.m_branch/' geant4-source/source/externals/g4tools/include/tools/wroot/columns.icc
|
|
132
|
+
# Geant4's bundled zlib does not compile against recent macOS SDKs; use the system one there.
|
|
133
|
+
cmake -G Ninja -B geant4-build -S geant4-source -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=${{ env.Geant4_DIR }} -DXERCESC_ROOT_DIR=${{ github.workspace }}/xerces -DCMAKE_CXX_STANDARD=${{ env.CPP_STANDARD }} -DGEANT4_USE_GDML=ON -DGEANT4_INSTALL_EXAMPLES=OFF -DGEANT4_INSTALL_DATA=OFF -DGEANT4_BUILD_TLS_MODEL=global-dynamic -DBUILD_STATIC_LIBS=ON -DBUILD_SHARED_LIBS=OFF -DCMAKE_CXX_FLAGS=-fPIC -DCMAKE_C_FLAGS=-fPIC -DGEANT4_USE_SYSTEM_EXPAT=OFF ${{ runner.os == 'macOS' && '-DGEANT4_USE_SYSTEM_ZLIB=ON' || '' }}
|
|
125
134
|
cmake --build geant4-build --parallel $(nproc) --config Release --target install
|
|
126
135
|
|
|
127
136
|
install-geant4-datasets:
|
|
@@ -132,7 +141,7 @@ jobs:
|
|
|
132
141
|
strategy:
|
|
133
142
|
fail-fast: false
|
|
134
143
|
matrix:
|
|
135
|
-
os: [ubuntu-latest, macos-latest
|
|
144
|
+
os: [ubuntu-latest, macos-latest]
|
|
136
145
|
|
|
137
146
|
steps:
|
|
138
147
|
- name: Cache Geant4 Installation
|
|
@@ -140,7 +149,9 @@ jobs:
|
|
|
140
149
|
uses: actions/cache@v4
|
|
141
150
|
with:
|
|
142
151
|
path: ${{ env.Geant4_DIR }}
|
|
143
|
-
key:
|
|
152
|
+
key:
|
|
153
|
+
geant4-v${{ env.GEANT4_VERSION }}-cpp${{ env.CPP_STANDARD }}-${{
|
|
154
|
+
runner.os }}-${{ runner.arch }}
|
|
144
155
|
fail-on-cache-miss: true
|
|
145
156
|
|
|
146
157
|
- name: Cache Geant4 Datasets
|
|
@@ -152,27 +163,14 @@ jobs:
|
|
|
152
163
|
enableCrossOsArchive: true
|
|
153
164
|
lookup-only: true
|
|
154
165
|
|
|
155
|
-
- name: Move Geant4 datasets
|
|
156
|
-
if:
|
|
157
|
-
steps.cache-geant4-data.outputs.cache-hit != 'true' && matrix.os !=
|
|
158
|
-
'windows-latest'
|
|
166
|
+
- name: Move Geant4 datasets
|
|
167
|
+
if: steps.cache-geant4-data.outputs.cache-hit != 'true'
|
|
159
168
|
shell: bash
|
|
160
169
|
run: |
|
|
161
170
|
bash ${{ env.Geant4_DIR }}/bin/geant4-config --install-datasets
|
|
162
171
|
bash ${{ env.Geant4_DIR }}/bin/geant4-config --check-datasets
|
|
163
172
|
mv ${{ env.Geant4_DIR }}/share/Geant4/data ${{ github.workspace }}/geant4-data
|
|
164
173
|
|
|
165
|
-
- name: Move Geant4 datasets (Windows)
|
|
166
|
-
if:
|
|
167
|
-
steps.cache-geant4-data.outputs.cache-hit != 'true' && matrix.os ==
|
|
168
|
-
'windows-latest'
|
|
169
|
-
shell: powershell
|
|
170
|
-
run: |
|
|
171
|
-
Get-ChildItem -Path ${{ env.Geant4_DIR }}\bin
|
|
172
|
-
cmd /c ${{ env.Geant4_DIR }}\bin\geant4-config.cmd --install-datasets
|
|
173
|
-
cmd /c ${{ env.Geant4_DIR }}\bin\geant4-config.cmd --check-datasets
|
|
174
|
-
Move-Item ${{ env.Geant4_DIR }}\share\Geant4\data ${{ github.workspace }}\geant4-data
|
|
175
|
-
|
|
176
174
|
build-test:
|
|
177
175
|
name:
|
|
178
176
|
Build and Test for ${{ matrix.os }} (Python ${{ matrix.python-version }})
|
|
@@ -182,13 +180,14 @@ jobs:
|
|
|
182
180
|
strategy:
|
|
183
181
|
fail-fast: false
|
|
184
182
|
matrix:
|
|
185
|
-
os: [ubuntu-latest, macos-latest
|
|
183
|
+
os: [ubuntu-latest, macos-latest]
|
|
186
184
|
python-version:
|
|
187
185
|
- "3.8"
|
|
188
186
|
- "3.9"
|
|
189
187
|
- "3.10"
|
|
190
188
|
- "3.11"
|
|
191
189
|
- "3.12"
|
|
190
|
+
- "3.13"
|
|
192
191
|
|
|
193
192
|
steps:
|
|
194
193
|
- name: Checkout
|
|
@@ -202,18 +201,14 @@ jobs:
|
|
|
202
201
|
- name: Setup CMake
|
|
203
202
|
uses: lukka/get-cmake@v3.30.3
|
|
204
203
|
|
|
205
|
-
- name: Setup Windows environment variables
|
|
206
|
-
if: matrix.os == 'windows-latest'
|
|
207
|
-
shell: bash
|
|
208
|
-
run: |
|
|
209
|
-
echo "CMAKE_ARGS=-DCMAKE_MSVC_RUNTIME_LIBRARY=MultiThreaded" >> $GITHUB_ENV
|
|
210
|
-
|
|
211
204
|
- name: Cache Xerces-C Installation
|
|
212
205
|
id: cache-xerces
|
|
213
206
|
uses: actions/cache@v4
|
|
214
207
|
with:
|
|
215
208
|
path: ${{ github.workspace }}/xerces
|
|
216
|
-
key:
|
|
209
|
+
key:
|
|
210
|
+
xerces-v${{ env.XERCES_VERSION }}-cpp${{ env.CPP_STANDARD }}-${{
|
|
211
|
+
runner.os }}-${{ runner.arch }}
|
|
217
212
|
fail-on-cache-miss: true
|
|
218
213
|
|
|
219
214
|
- name: Cache Geant4 Installation
|
|
@@ -221,7 +216,9 @@ jobs:
|
|
|
221
216
|
uses: actions/cache@v4
|
|
222
217
|
with:
|
|
223
218
|
path: ${{ env.Geant4_DIR }}
|
|
224
|
-
key:
|
|
219
|
+
key:
|
|
220
|
+
geant4-v${{ env.GEANT4_VERSION }}-cpp${{ env.CPP_STANDARD }}-${{
|
|
221
|
+
runner.os }}-${{ runner.arch }}
|
|
225
222
|
fail-on-cache-miss: true
|
|
226
223
|
|
|
227
224
|
- name: pip install the package
|
|
@@ -242,23 +239,13 @@ jobs:
|
|
|
242
239
|
fail-on-cache-miss: true
|
|
243
240
|
enableCrossOsArchive: true
|
|
244
241
|
|
|
245
|
-
- name: Move Geant4 datasets
|
|
246
|
-
if: matrix.python-version != '3.11'
|
|
242
|
+
- name: Move Geant4 datasets
|
|
243
|
+
if: matrix.python-version != '3.11'
|
|
247
244
|
run: |
|
|
248
245
|
GEANT4_DATA_DIR=$(python -c "import geant4_python_application; print(geant4_python_application.data_directory())")
|
|
249
246
|
mkdir -p ${{ github.workspace }}/geant4-data "$GEANT4_DATA_DIR"
|
|
250
247
|
mv ${{ github.workspace }}/geant4-data/* "$GEANT4_DATA_DIR"
|
|
251
248
|
|
|
252
|
-
# TODO: unify this with the above
|
|
253
|
-
- name: Move Geant4 datasets (Windows)
|
|
254
|
-
if: matrix.python-version != '3.11' && matrix.os == 'windows-latest'
|
|
255
|
-
shell: powershell
|
|
256
|
-
run: |
|
|
257
|
-
$env:GEANT4_DATA_DIR = python -c "import geant4_python_application; print(geant4_python_application.data_directory())"
|
|
258
|
-
New-Item -ItemType Directory -Path "${{ github.workspace }}\geant4-data" -Force
|
|
259
|
-
New-Item -ItemType Directory -Path $env:GEANT4_DATA_DIR -Force
|
|
260
|
-
Move-Item "${{ github.workspace }}\geant4-data\*" $env:GEANT4_DATA_DIR -Force
|
|
261
|
-
|
|
262
249
|
- name: Install datasets
|
|
263
250
|
uses: nick-fields/retry@v3
|
|
264
251
|
with:
|
|
@@ -13,6 +13,30 @@ requires a Geant4 installation.
|
|
|
13
13
|
|
|
14
14
|
## Install a prebuilt wheel
|
|
15
15
|
|
|
16
|
+
### Create a virtual environment first
|
|
17
|
+
|
|
18
|
+
Always install into a fresh virtual environment. Installing into the system
|
|
19
|
+
Python or conda's `base` environment mixes this package with whatever is already
|
|
20
|
+
there (other Qt/PyQt, numpy or Geant4 builds), which is the most common cause of
|
|
21
|
+
library mismatch errors. On recent Ubuntu/Debian, `pip install` outside a
|
|
22
|
+
virtual environment is refused with `externally-managed-environment`.
|
|
23
|
+
|
|
24
|
+
```bash
|
|
25
|
+
python3 -m venv g4-env
|
|
26
|
+
source g4-env/bin/activate
|
|
27
|
+
python -m pip install --upgrade pip
|
|
28
|
+
```
|
|
29
|
+
|
|
30
|
+
or with conda:
|
|
31
|
+
|
|
32
|
+
```bash
|
|
33
|
+
conda create -n g4 python=3.12 -y
|
|
34
|
+
conda activate g4
|
|
35
|
+
```
|
|
36
|
+
|
|
37
|
+
Activate the environment again in every new terminal. All commands below assume
|
|
38
|
+
it is active.
|
|
39
|
+
|
|
16
40
|
### From PyPI
|
|
17
41
|
|
|
18
42
|
```bash
|
|
@@ -1,8 +1,9 @@
|
|
|
1
1
|
Metadata-Version: 2.2
|
|
2
2
|
Name: geant4_python_application
|
|
3
|
-
Version: 0.1.
|
|
3
|
+
Version: 0.1.2
|
|
4
4
|
Summary: Geant4 Python Application
|
|
5
|
-
Author
|
|
5
|
+
Author: Luis Antonio Obis Aparicio, Kavya Wadhwa
|
|
6
|
+
Maintainer: Luis Antonio Obis Aparicio, Kavya Wadhwa
|
|
6
7
|
Classifier: Intended Audience :: Developers
|
|
7
8
|
Classifier: Intended Audience :: Information Technology
|
|
8
9
|
Classifier: Intended Audience :: Science/Research
|
|
@@ -24,6 +25,11 @@ Classifier: Topic :: Scientific/Engineering :: Mathematics
|
|
|
24
25
|
Classifier: Topic :: Scientific/Engineering :: Physics
|
|
25
26
|
Classifier: Topic :: Software Development
|
|
26
27
|
Classifier: Topic :: Utilities
|
|
28
|
+
Project-URL: Homepage, https://github.com/lobis/geant4-python-application
|
|
29
|
+
Project-URL: Source, https://github.com/lobis/geant4-python-application
|
|
30
|
+
Project-URL: Issues, https://github.com/lobis/geant4-python-application/issues
|
|
31
|
+
Project-URL: Documentation, https://github.com/lobis/geant4-python-application/blob/main/INSTALLATION.md
|
|
32
|
+
Project-URL: Changelog, https://github.com/lobis/geant4-python-application/releases
|
|
27
33
|
Requires-Python: >=3.8
|
|
28
34
|
Requires-Dist: awkward
|
|
29
35
|
Requires-Dist: vector
|
|
@@ -49,11 +55,16 @@ Description-Content-Type: text/markdown
|
|
|
49
55
|
|
|
50
56
|
# Geant4 Python Application
|
|
51
57
|
|
|
52
|
-
[](https://mybinder.org/v2/gh/lobis/geant4-python-application/HEAD?labpath=
|
|
53
|
-
[](https://binderhub.ssl-hep.org/v2/gh/lobis/geant4-python-application/HEAD?labpath=
|
|
58
|
+
[](https://mybinder.org/v2/gh/lobis/geant4-python-application/HEAD?labpath=examples%2Fattenuation.ipynb)
|
|
59
|
+
[](https://binderhub.ssl-hep.org/v2/gh/lobis/geant4-python-application/HEAD?labpath=examples%2Fattenuation.ipynb)
|
|
54
60
|
|
|
61
|
+
[](https://pypi.org/project/geant4-python-application/)
|
|
62
|
+
[](https://pypi.org/project/geant4-python-application/)
|
|
63
|
+
[](https://pepy.tech/projects/geant4-python-application)
|
|
64
|
+
[](https://pepy.tech/projects/geant4-python-application)
|
|
65
|
+
[](https://hits.sh/github.com/lobis/geant4-python-application/)
|
|
55
66
|
[](https://github.com/lobis/geant4-python-application/actions/workflows/wheels.yaml)
|
|
56
|
-
[](https://github.com/lobis/geant4-python-application/actions/workflows/test.yaml)
|
|
67
|
+
[](https://github.com/lobis/geant4-python-application/actions/workflows/build-test.yaml)
|
|
57
68
|
|
|
58
69
|
This is an experiment at providing a pythonic interface to Geant4.
|
|
59
70
|
|
|
@@ -73,7 +84,7 @@ looking at [geant4_pybind](https://github.com/HaarigerHarald/geant4_pybind).
|
|
|
73
84
|
[awkward array](https://github.com/scikit-hep/awkward)
|
|
74
85
|
|
|
75
86
|
New to Geant4 or this package? See the
|
|
76
|
-
[Python developer guide](PYTHON_DEVELOPER_GUIDE.md).
|
|
87
|
+
[Python developer guide](https://github.com/lobis/geant4-python-application/blob/main/PYTHON_DEVELOPER_GUIDE.md).
|
|
77
88
|
|
|
78
89
|
## Platform support
|
|
79
90
|
|
|
@@ -84,36 +95,66 @@ reach out to kavyavadhwa@gmail.com.
|
|
|
84
95
|
|
|
85
96
|
## Installation
|
|
86
97
|
|
|
87
|
-
|
|
88
|
-
|
|
98
|
+
The package is published on
|
|
99
|
+
[PyPI](https://pypi.org/project/geant4-python-application/). Install it into a
|
|
100
|
+
fresh virtual environment: mixing it with packages already in your system or
|
|
101
|
+
base conda Python (other Qt/PyQt, numpy or Geant4 builds) is the most common
|
|
102
|
+
cause of library mismatch errors.
|
|
89
103
|
|
|
90
104
|
```bash
|
|
105
|
+
python3 -m venv g4-env
|
|
106
|
+
source g4-env/bin/activate
|
|
107
|
+
python -m pip install --upgrade pip
|
|
91
108
|
pip install "geant4-python-application[gui]"
|
|
92
109
|
```
|
|
93
110
|
|
|
94
|
-
|
|
95
|
-
install.
|
|
111
|
+
With conda, create a new environment instead of using `base`:
|
|
96
112
|
|
|
97
|
-
|
|
98
|
-
|
|
113
|
+
```bash
|
|
114
|
+
conda create -n g4 python=3.12 -y
|
|
115
|
+
conda activate g4
|
|
116
|
+
pip install "geant4-python-application[gui]"
|
|
117
|
+
```
|
|
118
|
+
|
|
119
|
+
Activate the environment again (`source g4-env/bin/activate` or
|
|
120
|
+
`conda activate g4`) in every new terminal before using the package.
|
|
121
|
+
|
|
122
|
+
- Prebuilt wheels for macOS (Apple Silicon and Intel) and Linux x86_64, Python
|
|
123
|
+
3.8–3.13. Geant4 is bundled, so no separate Geant4 (C++) installation is
|
|
124
|
+
needed.
|
|
125
|
+
- `[gui]` adds the interactive Qt viewer (`app.visualize()`); leave it out for a
|
|
126
|
+
physics-only install.
|
|
127
|
+
- Check the installation:
|
|
128
|
+
|
|
129
|
+
```bash
|
|
130
|
+
python -c "import geant4_python_application as g4; print(g4.__version__)"
|
|
131
|
+
```
|
|
132
|
+
|
|
133
|
+
- The first simulation downloads Geant4's data files (~2 GB) once per user, to
|
|
134
|
+
`~/Library/Application Support/geant4_python_application` (macOS) or
|
|
135
|
+
`~/.local/share/geant4_python_application` (Linux). Set
|
|
136
|
+
`GEANT4_PYTHON_APPLICATION_DIR` to use another location.
|
|
137
|
+
- Windows, Linux aarch64, building from source and data file management are
|
|
138
|
+
covered in
|
|
139
|
+
[INSTALLATION.md](https://github.com/lobis/geant4-python-application/blob/main/INSTALLATION.md).
|
|
140
|
+
On Windows, WSL works with the Linux wheels.
|
|
141
|
+
|
|
142
|
+
The examples are not part of the package; run them from a clone of the
|
|
143
|
+
repository:
|
|
99
144
|
|
|
100
145
|
```bash
|
|
146
|
+
git clone https://github.com/lobis/geant4-python-application
|
|
147
|
+
cd geant4-python-application
|
|
101
148
|
python examples/geant4-examples/Geant4-11.4.2-examples-python/basic/B1/b1.py --batch -n 10
|
|
102
149
|
```
|
|
103
150
|
|
|
104
151
|
`--batch` runs headless; drop it to open the Qt viewer.
|
|
105
152
|
|
|
106
|
-
Building from source (other platforms, development), the Qt viewer, and data
|
|
107
|
-
file management are covered in [INSTALLATION.md](INSTALLATION.md).
|
|
108
|
-
|
|
109
153
|
## Usage
|
|
110
154
|
|
|
111
155
|
```python
|
|
112
156
|
import geant4_python_application as g4
|
|
113
157
|
|
|
114
|
-
# Use a temporary directory for the Geant4 data files (remove this line to use the default location)
|
|
115
|
-
g4.application_directory(temp=True)
|
|
116
|
-
|
|
117
158
|
with g4.Application(gdml=g4.basic_gdml, seed=137) as app:
|
|
118
159
|
events = app.run(100)
|
|
119
160
|
|
|
@@ -206,9 +247,10 @@ start, count = dist.split_count(1000, rank, size) # mpiexec -n 2 python run.py
|
|
|
206
247
|
### Interactive Qt visualization
|
|
207
248
|
|
|
208
249
|
Install with the `gui` extra (`pip install "geant4-python-application[gui]"`),
|
|
209
|
-
or for source builds see
|
|
210
|
-
|
|
211
|
-
|
|
250
|
+
or for source builds see
|
|
251
|
+
[INSTALLATION.md](https://github.com/lobis/geant4-python-application/blob/main/INSTALLATION.md).
|
|
252
|
+
Then open Geant4's interactive Qt viewer. The call returns when the window is
|
|
253
|
+
closed, and commands can be entered in the viewer's command panel:
|
|
212
254
|
|
|
213
255
|
```python
|
|
214
256
|
import geant4_python_application as g4
|
|
@@ -1,10 +1,15 @@
|
|
|
1
1
|
# Geant4 Python Application
|
|
2
2
|
|
|
3
|
-
[](https://mybinder.org/v2/gh/lobis/geant4-python-application/HEAD?labpath=
|
|
4
|
-
[](https://binderhub.ssl-hep.org/v2/gh/lobis/geant4-python-application/HEAD?labpath=
|
|
5
|
-
|
|
3
|
+
[](https://mybinder.org/v2/gh/lobis/geant4-python-application/HEAD?labpath=examples%2Fattenuation.ipynb)
|
|
4
|
+
[](https://binderhub.ssl-hep.org/v2/gh/lobis/geant4-python-application/HEAD?labpath=examples%2Fattenuation.ipynb)
|
|
5
|
+
|
|
6
|
+
[](https://pypi.org/project/geant4-python-application/)
|
|
7
|
+
[](https://pypi.org/project/geant4-python-application/)
|
|
8
|
+
[](https://pepy.tech/projects/geant4-python-application)
|
|
9
|
+
[](https://pepy.tech/projects/geant4-python-application)
|
|
10
|
+
[](https://hits.sh/github.com/lobis/geant4-python-application/)
|
|
6
11
|
[](https://github.com/lobis/geant4-python-application/actions/workflows/wheels.yaml)
|
|
7
|
-
[](https://github.com/lobis/geant4-python-application/actions/workflows/test.yaml)
|
|
12
|
+
[](https://github.com/lobis/geant4-python-application/actions/workflows/build-test.yaml)
|
|
8
13
|
|
|
9
14
|
This is an experiment at providing a pythonic interface to Geant4.
|
|
10
15
|
|
|
@@ -24,7 +29,7 @@ looking at [geant4_pybind](https://github.com/HaarigerHarald/geant4_pybind).
|
|
|
24
29
|
[awkward array](https://github.com/scikit-hep/awkward)
|
|
25
30
|
|
|
26
31
|
New to Geant4 or this package? See the
|
|
27
|
-
[Python developer guide](PYTHON_DEVELOPER_GUIDE.md).
|
|
32
|
+
[Python developer guide](https://github.com/lobis/geant4-python-application/blob/main/PYTHON_DEVELOPER_GUIDE.md).
|
|
28
33
|
|
|
29
34
|
## Platform support
|
|
30
35
|
|
|
@@ -35,36 +40,66 @@ reach out to kavyavadhwa@gmail.com.
|
|
|
35
40
|
|
|
36
41
|
## Installation
|
|
37
42
|
|
|
38
|
-
|
|
39
|
-
|
|
43
|
+
The package is published on
|
|
44
|
+
[PyPI](https://pypi.org/project/geant4-python-application/). Install it into a
|
|
45
|
+
fresh virtual environment: mixing it with packages already in your system or
|
|
46
|
+
base conda Python (other Qt/PyQt, numpy or Geant4 builds) is the most common
|
|
47
|
+
cause of library mismatch errors.
|
|
48
|
+
|
|
49
|
+
```bash
|
|
50
|
+
python3 -m venv g4-env
|
|
51
|
+
source g4-env/bin/activate
|
|
52
|
+
python -m pip install --upgrade pip
|
|
53
|
+
pip install "geant4-python-application[gui]"
|
|
54
|
+
```
|
|
55
|
+
|
|
56
|
+
With conda, create a new environment instead of using `base`:
|
|
40
57
|
|
|
41
58
|
```bash
|
|
59
|
+
conda create -n g4 python=3.12 -y
|
|
60
|
+
conda activate g4
|
|
42
61
|
pip install "geant4-python-application[gui]"
|
|
43
62
|
```
|
|
44
63
|
|
|
45
|
-
|
|
46
|
-
|
|
64
|
+
Activate the environment again (`source g4-env/bin/activate` or
|
|
65
|
+
`conda activate g4`) in every new terminal before using the package.
|
|
47
66
|
|
|
48
|
-
|
|
49
|
-
|
|
67
|
+
- Prebuilt wheels for macOS (Apple Silicon and Intel) and Linux x86_64, Python
|
|
68
|
+
3.8–3.13. Geant4 is bundled, so no separate Geant4 (C++) installation is
|
|
69
|
+
needed.
|
|
70
|
+
- `[gui]` adds the interactive Qt viewer (`app.visualize()`); leave it out for a
|
|
71
|
+
physics-only install.
|
|
72
|
+
- Check the installation:
|
|
73
|
+
|
|
74
|
+
```bash
|
|
75
|
+
python -c "import geant4_python_application as g4; print(g4.__version__)"
|
|
76
|
+
```
|
|
77
|
+
|
|
78
|
+
- The first simulation downloads Geant4's data files (~2 GB) once per user, to
|
|
79
|
+
`~/Library/Application Support/geant4_python_application` (macOS) or
|
|
80
|
+
`~/.local/share/geant4_python_application` (Linux). Set
|
|
81
|
+
`GEANT4_PYTHON_APPLICATION_DIR` to use another location.
|
|
82
|
+
- Windows, Linux aarch64, building from source and data file management are
|
|
83
|
+
covered in
|
|
84
|
+
[INSTALLATION.md](https://github.com/lobis/geant4-python-application/blob/main/INSTALLATION.md).
|
|
85
|
+
On Windows, WSL works with the Linux wheels.
|
|
86
|
+
|
|
87
|
+
The examples are not part of the package; run them from a clone of the
|
|
88
|
+
repository:
|
|
50
89
|
|
|
51
90
|
```bash
|
|
91
|
+
git clone https://github.com/lobis/geant4-python-application
|
|
92
|
+
cd geant4-python-application
|
|
52
93
|
python examples/geant4-examples/Geant4-11.4.2-examples-python/basic/B1/b1.py --batch -n 10
|
|
53
94
|
```
|
|
54
95
|
|
|
55
96
|
`--batch` runs headless; drop it to open the Qt viewer.
|
|
56
97
|
|
|
57
|
-
Building from source (other platforms, development), the Qt viewer, and data
|
|
58
|
-
file management are covered in [INSTALLATION.md](INSTALLATION.md).
|
|
59
|
-
|
|
60
98
|
## Usage
|
|
61
99
|
|
|
62
100
|
```python
|
|
63
101
|
import geant4_python_application as g4
|
|
64
102
|
|
|
65
|
-
# Use a temporary directory for the Geant4 data files (remove this line to use the default location)
|
|
66
|
-
g4.application_directory(temp=True)
|
|
67
|
-
|
|
68
103
|
with g4.Application(gdml=g4.basic_gdml, seed=137) as app:
|
|
69
104
|
events = app.run(100)
|
|
70
105
|
|
|
@@ -157,9 +192,10 @@ start, count = dist.split_count(1000, rank, size) # mpiexec -n 2 python run.py
|
|
|
157
192
|
### Interactive Qt visualization
|
|
158
193
|
|
|
159
194
|
Install with the `gui` extra (`pip install "geant4-python-application[gui]"`),
|
|
160
|
-
or for source builds see
|
|
161
|
-
|
|
162
|
-
|
|
195
|
+
or for source builds see
|
|
196
|
+
[INSTALLATION.md](https://github.com/lobis/geant4-python-application/blob/main/INSTALLATION.md).
|
|
197
|
+
Then open Geant4's interactive Qt viewer. The call returns when the window is
|
|
198
|
+
closed, and commands can be entered in the viewer's command panel:
|
|
163
199
|
|
|
164
200
|
```python
|
|
165
201
|
import geant4_python_application as g4
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
python-3.12
|
|
@@ -3,8 +3,14 @@ build-backend = "scikit_build_core.build"
|
|
|
3
3
|
requires = ["scikit-build-core>=0.3.3", "pybind11"]
|
|
4
4
|
|
|
5
5
|
[project]
|
|
6
|
+
# Names only: PyPI shows just the first person when authors carry emails.
|
|
6
7
|
authors = [
|
|
7
|
-
{ name = "Luis Antonio Obis Aparicio"
|
|
8
|
+
{ name = "Luis Antonio Obis Aparicio" },
|
|
9
|
+
{ name = "Kavya Wadhwa" },
|
|
10
|
+
]
|
|
11
|
+
maintainers = [
|
|
12
|
+
{ name = "Luis Antonio Obis Aparicio" },
|
|
13
|
+
{ name = "Kavya Wadhwa" },
|
|
8
14
|
]
|
|
9
15
|
classifiers = [
|
|
10
16
|
"Intended Audience :: Developers",
|
|
@@ -46,6 +52,13 @@ readme = "README.md"
|
|
|
46
52
|
requires-python = ">=3.8"
|
|
47
53
|
dynamic = ["version"]
|
|
48
54
|
|
|
55
|
+
[project.urls]
|
|
56
|
+
Homepage = "https://github.com/lobis/geant4-python-application"
|
|
57
|
+
Source = "https://github.com/lobis/geant4-python-application"
|
|
58
|
+
Issues = "https://github.com/lobis/geant4-python-application/issues"
|
|
59
|
+
Documentation = "https://github.com/lobis/geant4-python-application/blob/main/INSTALLATION.md"
|
|
60
|
+
Changelog = "https://github.com/lobis/geant4-python-application/releases"
|
|
61
|
+
|
|
49
62
|
[tool.scikit-build]
|
|
50
63
|
metadata.version.provider = "scikit_build_core.metadata.setuptools_scm"
|
|
51
64
|
sdist.include = ["src/geant4_python_application/_version.py"]
|
|
@@ -18,7 +18,7 @@ version_tuple: tuple[int | str, ...]
|
|
|
18
18
|
commit_id: str | None
|
|
19
19
|
__commit_id__: str | None
|
|
20
20
|
|
|
21
|
-
__version__ = version = '0.1.
|
|
22
|
-
__version_tuple__ = version_tuple = (0, 1,
|
|
21
|
+
__version__ = version = '0.1.2'
|
|
22
|
+
__version_tuple__ = version_tuple = (0, 1, 2)
|
|
23
23
|
|
|
24
|
-
__commit_id__ = commit_id = '
|
|
24
|
+
__commit_id__ = commit_id = 'g31a259733'
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{geant4_python_application-0.1.0 → geant4_python_application-0.1.2}/.github/workflows/wheels.yaml
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{geant4_python_application-0.1.0 → geant4_python_application-0.1.2}/PYTHON_DEVELOPER_GUIDE.md
RENAMED
|
File without changes
|
|
File without changes
|
{geant4_python_application-0.1.0 → geant4_python_application-0.1.2}/examples/attenuation.ipynb
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{geant4_python_application-0.1.0 → geant4_python_application-0.1.2}/licenses/CLHEP-COPYING.LESSER
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{geant4_python_application-0.1.0 → geant4_python_application-0.1.2}/licenses/Xerces-C-LICENSE
RENAMED
|
File without changes
|
{geant4_python_application-0.1.0 → geant4_python_application-0.1.2}/licenses/Xerces-C-NOTICE
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{geant4_python_application-0.1.0 → geant4_python_application-0.1.2}/tests/test_application.py
RENAMED
|
File without changes
|
{geant4_python_application-0.1.0 → geant4_python_application-0.1.2}/tests/test_capabilities.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{geant4_python_application-0.1.0 → geant4_python_application-0.1.2}/tools/relink_qt_wheel.py
RENAMED
|
File without changes
|
|
File without changes
|