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.
Files changed (129) hide show
  1. {geant4_python_application-0.1.0 → geant4_python_application-0.1.2}/.github/workflows/build-test.yaml +32 -45
  2. {geant4_python_application-0.1.0 → geant4_python_application-0.1.2}/INSTALLATION.md +24 -0
  3. {geant4_python_application-0.1.0 → geant4_python_application-0.1.2}/PKG-INFO +63 -21
  4. {geant4_python_application-0.1.0 → geant4_python_application-0.1.2}/README.md +56 -20
  5. geant4_python_application-0.1.2/binder/requirements.txt +2 -0
  6. geant4_python_application-0.1.2/binder/runtime.txt +1 -0
  7. {geant4_python_application-0.1.0 → geant4_python_application-0.1.2}/pyproject.toml +14 -1
  8. {geant4_python_application-0.1.0 → geant4_python_application-0.1.2}/src/geant4_python_application/_version.py +3 -3
  9. {geant4_python_application-0.1.0 → geant4_python_application-0.1.2}/.clang-format +0 -0
  10. {geant4_python_application-0.1.0 → geant4_python_application-0.1.2}/.cmake-format.yaml +0 -0
  11. {geant4_python_application-0.1.0 → geant4_python_application-0.1.2}/.dockerignore +0 -0
  12. {geant4_python_application-0.1.0 → geant4_python_application-0.1.2}/.github/CODEOWNERS +0 -0
  13. {geant4_python_application-0.1.0 → geant4_python_application-0.1.2}/.github/dependabot.yaml +0 -0
  14. {geant4_python_application-0.1.0 → geant4_python_application-0.1.2}/.github/workflows/wheels.yaml +0 -0
  15. {geant4_python_application-0.1.0 → geant4_python_application-0.1.2}/.gitignore +0 -0
  16. {geant4_python_application-0.1.0 → geant4_python_application-0.1.2}/.pre-commit-config.yaml +0 -0
  17. {geant4_python_application-0.1.0 → geant4_python_application-0.1.2}/CMakeLists.txt +0 -0
  18. {geant4_python_application-0.1.0 → geant4_python_application-0.1.2}/Dockerfile +0 -0
  19. {geant4_python_application-0.1.0 → geant4_python_application-0.1.2}/LICENSE +0 -0
  20. {geant4_python_application-0.1.0 → geant4_python_application-0.1.2}/NOTICE +0 -0
  21. {geant4_python_application-0.1.0 → geant4_python_application-0.1.2}/PYTHON_DEVELOPER_GUIDE.md +0 -0
  22. {geant4_python_application-0.1.0 → geant4_python_application-0.1.2}/docs/FEATURE_SUPPORT.md +0 -0
  23. {geant4_python_application-0.1.0 → geant4_python_application-0.1.2}/examples/attenuation.ipynb +0 -0
  24. {geant4_python_application-0.1.0 → geant4_python_application-0.1.2}/examples/geant4-examples/00_qt_viewer_smoke.py +0 -0
  25. {geant4_python_application-0.1.0 → geant4_python_application-0.1.2}/examples/geant4-examples/01_reference_physics_lists.py +0 -0
  26. {geant4_python_application-0.1.0 → geant4_python_application-0.1.2}/examples/geant4-examples/02_gps_sources.py +0 -0
  27. {geant4_python_application-0.1.0 → geant4_python_application-0.1.2}/examples/geant4-examples/03_scoring_meshes_hits.py +0 -0
  28. {geant4_python_application-0.1.0 → geant4_python_application-0.1.2}/examples/geant4-examples/04_magnetic_electric_fields.py +0 -0
  29. {geant4_python_application-0.1.0 → geant4_python_application-0.1.2}/examples/geant4-examples/05_optical_scintillation.py +0 -0
  30. {geant4_python_application-0.1.0 → geant4_python_application-0.1.2}/examples/geant4-examples/06_callbacks.py +0 -0
  31. {geant4_python_application-0.1.0 → geant4_python_application-0.1.2}/examples/geant4-examples/07_custom_physics.py +0 -0
  32. {geant4_python_application-0.1.0 → geant4_python_application-0.1.2}/examples/geant4-examples/08_dna_medical.py +0 -0
  33. {geant4_python_application-0.1.0 → geant4_python_application-0.1.2}/examples/geant4-examples/09_cad_vtk_root_generators.py +0 -0
  34. {geant4_python_application-0.1.0 → geant4_python_application-0.1.2}/examples/geant4-examples/10_mpi_distributed.py +0 -0
  35. {geant4_python_application-0.1.0 → geant4_python_application-0.1.2}/examples/geant4-examples/11_native_scoring_mesh.py +0 -0
  36. {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
  37. {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
  38. {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
  39. {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
  40. {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
  41. {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
  42. {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
  43. {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
  44. {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
  45. {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
  46. {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
  47. {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
  48. {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
  49. {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
  50. {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
  51. {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
  52. {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
  53. {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
  54. {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
  55. {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
  56. {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
  57. {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
  58. {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
  59. {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
  60. {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
  61. {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
  62. {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
  63. {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
  64. {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
  65. {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
  66. {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
  67. {geant4_python_application-0.1.0 → geant4_python_application-0.1.2}/examples/qt_viewer.py +0 -0
  68. {geant4_python_application-0.1.0 → geant4_python_application-0.1.2}/licenses/CLHEP-COPYING +0 -0
  69. {geant4_python_application-0.1.0 → geant4_python_application-0.1.2}/licenses/CLHEP-COPYING.LESSER +0 -0
  70. {geant4_python_application-0.1.0 → geant4_python_application-0.1.2}/licenses/Expat-COPYING +0 -0
  71. {geant4_python_application-0.1.0 → geant4_python_application-0.1.2}/licenses/Geant4-LICENSE +0 -0
  72. {geant4_python_application-0.1.0 → geant4_python_application-0.1.2}/licenses/PTL-LICENSE +0 -0
  73. {geant4_python_application-0.1.0 → geant4_python_application-0.1.2}/licenses/Xerces-C-LICENSE +0 -0
  74. {geant4_python_application-0.1.0 → geant4_python_application-0.1.2}/licenses/Xerces-C-NOTICE +0 -0
  75. {geant4_python_application-0.1.0 → geant4_python_application-0.1.2}/licenses/zlib-LICENSE +0 -0
  76. {geant4_python_application-0.1.0 → geant4_python_application-0.1.2}/src/geant4_application/include/geant4_application/ActionInitialization.h +0 -0
  77. {geant4_python_application-0.1.0 → geant4_python_application-0.1.2}/src/geant4_application/include/geant4_application/Application.h +0 -0
  78. {geant4_python_application-0.1.0 → geant4_python_application-0.1.2}/src/geant4_application/include/geant4_application/DataModel.h +0 -0
  79. {geant4_python_application-0.1.0 → geant4_python_application-0.1.2}/src/geant4_application/include/geant4_application/DetectorConstruction.h +0 -0
  80. {geant4_python_application-0.1.0 → geant4_python_application-0.1.2}/src/geant4_application/include/geant4_application/EventAction.h +0 -0
  81. {geant4_python_application-0.1.0 → geant4_python_application-0.1.2}/src/geant4_application/include/geant4_application/PhysicsList.h +0 -0
  82. {geant4_python_application-0.1.0 → geant4_python_application-0.1.2}/src/geant4_application/include/geant4_application/PrimaryGeneratorAction.h +0 -0
  83. {geant4_python_application-0.1.0 → geant4_python_application-0.1.2}/src/geant4_application/include/geant4_application/RunAction.h +0 -0
  84. {geant4_python_application-0.1.0 → geant4_python_application-0.1.2}/src/geant4_application/include/geant4_application/SensitiveDetector.h +0 -0
  85. {geant4_python_application-0.1.0 → geant4_python_application-0.1.2}/src/geant4_application/include/geant4_application/StackingAction.h +0 -0
  86. {geant4_python_application-0.1.0 → geant4_python_application-0.1.2}/src/geant4_application/include/geant4_application/SteppingAction.h +0 -0
  87. {geant4_python_application-0.1.0 → geant4_python_application-0.1.2}/src/geant4_application/include/geant4_application/SteppingVerbose.h +0 -0
  88. {geant4_python_application-0.1.0 → geant4_python_application-0.1.2}/src/geant4_application/include/geant4_application/TrackingAction.h +0 -0
  89. {geant4_python_application-0.1.0 → geant4_python_application-0.1.2}/src/geant4_application/src/ActionInitialization.cpp +0 -0
  90. {geant4_python_application-0.1.0 → geant4_python_application-0.1.2}/src/geant4_application/src/Application.cpp +0 -0
  91. {geant4_python_application-0.1.0 → geant4_python_application-0.1.2}/src/geant4_application/src/DataModel.cpp +0 -0
  92. {geant4_python_application-0.1.0 → geant4_python_application-0.1.2}/src/geant4_application/src/DetectorConstruction.cpp +0 -0
  93. {geant4_python_application-0.1.0 → geant4_python_application-0.1.2}/src/geant4_application/src/EventAction.cpp +0 -0
  94. {geant4_python_application-0.1.0 → geant4_python_application-0.1.2}/src/geant4_application/src/PhysicsList.cpp +0 -0
  95. {geant4_python_application-0.1.0 → geant4_python_application-0.1.2}/src/geant4_application/src/PrimaryGeneratorAction.cpp +0 -0
  96. {geant4_python_application-0.1.0 → geant4_python_application-0.1.2}/src/geant4_application/src/RunAction.cpp +0 -0
  97. {geant4_python_application-0.1.0 → geant4_python_application-0.1.2}/src/geant4_application/src/SensitiveDetector.cpp +0 -0
  98. {geant4_python_application-0.1.0 → geant4_python_application-0.1.2}/src/geant4_application/src/StackingAction.cpp +0 -0
  99. {geant4_python_application-0.1.0 → geant4_python_application-0.1.2}/src/geant4_application/src/SteppingAction.cpp +0 -0
  100. {geant4_python_application-0.1.0 → geant4_python_application-0.1.2}/src/geant4_application/src/SteppingVerbose.cpp +0 -0
  101. {geant4_python_application-0.1.0 → geant4_python_application-0.1.2}/src/geant4_application/src/TrackingAction.cpp +0 -0
  102. {geant4_python_application-0.1.0 → geant4_python_application-0.1.2}/src/geant4_python_application/__init__.py +0 -0
  103. {geant4_python_application-0.1.0 → geant4_python_application-0.1.2}/src/geant4_python_application/application.py +0 -0
  104. {geant4_python_application-0.1.0 → geant4_python_application-0.1.2}/src/geant4_python_application/cad.py +0 -0
  105. {geant4_python_application-0.1.0 → geant4_python_application-0.1.2}/src/geant4_python_application/detector.py +0 -0
  106. {geant4_python_application-0.1.0 → geant4_python_application-0.1.2}/src/geant4_python_application/distributed.py +0 -0
  107. {geant4_python_application-0.1.0 → geant4_python_application-0.1.2}/src/geant4_python_application/events.py +0 -0
  108. {geant4_python_application-0.1.0 → geant4_python_application-0.1.2}/src/geant4_python_application/files/__init__.py +0 -0
  109. {geant4_python_application-0.1.0 → geant4_python_application-0.1.2}/src/geant4_python_application/files/datasets.py +0 -0
  110. {geant4_python_application-0.1.0 → geant4_python_application-0.1.2}/src/geant4_python_application/files/directories.py +0 -0
  111. {geant4_python_application-0.1.0 → geant4_python_application-0.1.2}/src/geant4_python_application/gdml.py +0 -0
  112. {geant4_python_application-0.1.0 → geant4_python_application-0.1.2}/src/geant4_python_application/generator.py +0 -0
  113. {geant4_python_application-0.1.0 → geant4_python_application-0.1.2}/src/geant4_python_application/geometry.py +0 -0
  114. {geant4_python_application-0.1.0 → geant4_python_application-0.1.2}/src/geant4_python_application/io.py +0 -0
  115. {geant4_python_application-0.1.0 → geant4_python_application-0.1.2}/src/geant4_python_application/optical.py +0 -0
  116. {geant4_python_application-0.1.0 → geant4_python_application-0.1.2}/src/geant4_python_application/scoring.py +0 -0
  117. {geant4_python_application-0.1.0 → geant4_python_application-0.1.2}/src/python/module.cpp +0 -0
  118. {geant4_python_application-0.1.0 → geant4_python_application-0.1.2}/src/vis/module.cpp +0 -0
  119. {geant4_python_application-0.1.0 → geant4_python_application-0.1.2}/tests/__init__.py +0 -0
  120. {geant4_python_application-0.1.0 → geant4_python_application-0.1.2}/tests/conftest.py +0 -0
  121. {geant4_python_application-0.1.0 → geant4_python_application-0.1.2}/tests/test_analysis.py +0 -0
  122. {geant4_python_application-0.1.0 → geant4_python_application-0.1.2}/tests/test_application.py +0 -0
  123. {geant4_python_application-0.1.0 → geant4_python_application-0.1.2}/tests/test_capabilities.py +0 -0
  124. {geant4_python_application-0.1.0 → geant4_python_application-0.1.2}/tests/test_module.py +0 -0
  125. {geant4_python_application-0.1.0 → geant4_python_application-0.1.2}/tests/test_run.py +0 -0
  126. {geant4_python_application-0.1.0 → geant4_python_application-0.1.2}/tools/audit_examples.py +0 -0
  127. {geant4_python_application-0.1.0 → geant4_python_application-0.1.2}/tools/build_macos_self_contained.sh +0 -0
  128. {geant4_python_application-0.1.0 → geant4_python_application-0.1.2}/tools/relink_qt_wheel.py +0 -0
  129. {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 windows TODO: update this when it is
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
- conda install -c conda-forge clang_osx-64
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, windows-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: xerces-v${{ env.XERCES_VERSION }}-cpp${{ env.CPP_STANDARD }}
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 ${{ matrix.os == 'windows-latest' && '-DCMAKE_MSVC_RUNTIME_LIBRARY=MultiThreaded -DCMAKE_CXX_FLAGS_RELEASE="/MT"' || '-G Ninja -DCMAKE_CXX_FLAGS=-fPIC -DCMAKE_C_FLAGS=-fPIC -Dnetwork-accessor=socket -Dtranscoder=iconv' }}
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: geant4-v${{ env.GEANT4_VERSION }}-cpp${{ env.CPP_STANDARD }}
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
- cmake -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 ${{ matrix.os == 'windows-latest' && '-DCMAKE_MSVC_RUNTIME_LIBRARY=MultiThreaded -DCMAKE_CXX_FLAGS_RELEASE="/MT"' || '-G Ninja -DCMAKE_CXX_FLAGS=-fPIC -DCMAKE_C_FLAGS=-fPIC -DGEANT4_USE_SYSTEM_EXPAT=OFF' }}
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, windows-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: geant4-v${{ env.GEANT4_VERSION }}-cpp${{ env.CPP_STANDARD }}
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 (Ubuntu/MacOS)
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, windows-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: xerces-v${{ env.XERCES_VERSION }}-cpp${{ env.CPP_STANDARD }}
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: geant4-v${{ env.GEANT4_VERSION }}-cpp${{ env.CPP_STANDARD }}
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 (Ubuntu/MacOS)
246
- if: matrix.python-version != '3.11' && matrix.os != 'windows-latest'
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.0
3
+ Version: 0.1.2
4
4
  Summary: Geant4 Python Application
5
- Author-Email: Luis Antonio Obis Aparicio <luis.antonio.obis@gmail.com>
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
- [![Binder](https://mybinder.org/badge_logo.svg)](https://mybinder.org/v2/gh/lobis/geant4-python-application/HEAD?labpath=attenuation.ipynb)
53
- [![Binder](https://binderhub.ssl-hep.org/badge_logo.svg)](https://binderhub.ssl-hep.org/v2/gh/lobis/geant4-python-application/HEAD?labpath=attenuation.ipynb)
58
+ [![Binder](https://mybinder.org/badge_logo.svg)](https://mybinder.org/v2/gh/lobis/geant4-python-application/HEAD?labpath=examples%2Fattenuation.ipynb)
59
+ [![Binder](https://binderhub.ssl-hep.org/badge_logo.svg)](https://binderhub.ssl-hep.org/v2/gh/lobis/geant4-python-application/HEAD?labpath=examples%2Fattenuation.ipynb)
54
60
 
61
+ [![PyPI](https://img.shields.io/pypi/v/geant4-python-application)](https://pypi.org/project/geant4-python-application/)
62
+ [![Python](https://img.shields.io/pypi/pyversions/geant4-python-application)](https://pypi.org/project/geant4-python-application/)
63
+ [![Downloads](https://static.pepy.tech/badge/geant4-python-application)](https://pepy.tech/projects/geant4-python-application)
64
+ [![Downloads/month](https://static.pepy.tech/badge/geant4-python-application/month)](https://pepy.tech/projects/geant4-python-application)
65
+ [![Views](https://hits.sh/github.com/lobis/geant4-python-application.svg?label=views)](https://hits.sh/github.com/lobis/geant4-python-application/)
55
66
  [![Wheels](https://github.com/lobis/geant4-python-application/actions/workflows/wheels.yaml/badge.svg)](https://github.com/lobis/geant4-python-application/actions/workflows/wheels.yaml)
56
- [![Build and Test](https://github.com/lobis/geant4-python-application/actions/workflows/build-test.yaml/badge.svg)](https://github.com/lobis/geant4-python-application/actions/workflows/test.yaml)
67
+ [![Build and Test](https://github.com/lobis/geant4-python-application/actions/workflows/build-test.yaml/badge.svg)](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
- Prebuilt wheels for macOS (Apple Silicon and Intel) and Linux x86_64, Python 3.8
88
- – 3.13, bundle Geant4 — no separate Geant4 (C++) installation is needed:
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
- The `gui` extra adds the interactive Qt viewer; leave it out for a physics-only
95
- install.
111
+ With conda, create a new environment instead of using `base`:
96
112
 
97
- Geant4's physics data files download automatically on first use, so you can run
98
- an example straight away:
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 [INSTALLATION.md](INSTALLATION.md). Then open Geant4's
210
- interactive Qt viewer. The call returns when the window is closed, and commands
211
- can be entered in the viewer's command panel:
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
- [![Binder](https://mybinder.org/badge_logo.svg)](https://mybinder.org/v2/gh/lobis/geant4-python-application/HEAD?labpath=attenuation.ipynb)
4
- [![Binder](https://binderhub.ssl-hep.org/badge_logo.svg)](https://binderhub.ssl-hep.org/v2/gh/lobis/geant4-python-application/HEAD?labpath=attenuation.ipynb)
5
-
3
+ [![Binder](https://mybinder.org/badge_logo.svg)](https://mybinder.org/v2/gh/lobis/geant4-python-application/HEAD?labpath=examples%2Fattenuation.ipynb)
4
+ [![Binder](https://binderhub.ssl-hep.org/badge_logo.svg)](https://binderhub.ssl-hep.org/v2/gh/lobis/geant4-python-application/HEAD?labpath=examples%2Fattenuation.ipynb)
5
+
6
+ [![PyPI](https://img.shields.io/pypi/v/geant4-python-application)](https://pypi.org/project/geant4-python-application/)
7
+ [![Python](https://img.shields.io/pypi/pyversions/geant4-python-application)](https://pypi.org/project/geant4-python-application/)
8
+ [![Downloads](https://static.pepy.tech/badge/geant4-python-application)](https://pepy.tech/projects/geant4-python-application)
9
+ [![Downloads/month](https://static.pepy.tech/badge/geant4-python-application/month)](https://pepy.tech/projects/geant4-python-application)
10
+ [![Views](https://hits.sh/github.com/lobis/geant4-python-application.svg?label=views)](https://hits.sh/github.com/lobis/geant4-python-application/)
6
11
  [![Wheels](https://github.com/lobis/geant4-python-application/actions/workflows/wheels.yaml/badge.svg)](https://github.com/lobis/geant4-python-application/actions/workflows/wheels.yaml)
7
- [![Build and Test](https://github.com/lobis/geant4-python-application/actions/workflows/build-test.yaml/badge.svg)](https://github.com/lobis/geant4-python-application/actions/workflows/test.yaml)
12
+ [![Build and Test](https://github.com/lobis/geant4-python-application/actions/workflows/build-test.yaml/badge.svg)](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
- Prebuilt wheels for macOS (Apple Silicon and Intel) and Linux x86_64, Python 3.8
39
- – 3.13, bundle Geant4 — no separate Geant4 (C++) installation is needed:
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
- The `gui` extra adds the interactive Qt viewer; leave it out for a physics-only
46
- install.
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
- Geant4's physics data files download automatically on first use, so you can run
49
- an example straight away:
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 [INSTALLATION.md](INSTALLATION.md). Then open Geant4's
161
- interactive Qt viewer. The call returns when the window is closed, and commands
162
- can be entered in the viewer's command panel:
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,2 @@
1
+ geant4-python-application
2
+ matplotlib
@@ -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", email = "luis.antonio.obis@gmail.com" }
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.0'
22
- __version_tuple__ = version_tuple = (0, 1, 0)
21
+ __version__ = version = '0.1.2'
22
+ __version_tuple__ = version_tuple = (0, 1, 2)
23
23
 
24
- __commit_id__ = commit_id = 'ga2353b5b4'
24
+ __commit_id__ = commit_id = 'g31a259733'