pyrite-mc 0.13.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.
- pyrite_mc-0.13.2/.agents/hooks/sync_local_backend.sh +58 -0
- pyrite_mc-0.13.2/.agents/skills/caveman/SKILL.md +36 -0
- pyrite_mc-0.13.2/.agents/skills/caveman-commit/SKILL.md +23 -0
- pyrite_mc-0.13.2/.agents/skills/caveman-compress/SKILL.md +45 -0
- pyrite_mc-0.13.2/.agents/skills/caveman-compress/scripts/__init__.py +9 -0
- pyrite_mc-0.13.2/.agents/skills/caveman-compress/scripts/__main__.py +3 -0
- pyrite_mc-0.13.2/.agents/skills/caveman-compress/scripts/benchmark.py +81 -0
- pyrite_mc-0.13.2/.agents/skills/caveman-compress/scripts/cli.py +85 -0
- pyrite_mc-0.13.2/.agents/skills/caveman-compress/scripts/compress.py +347 -0
- pyrite_mc-0.13.2/.agents/skills/caveman-compress/scripts/detect.py +182 -0
- pyrite_mc-0.13.2/.agents/skills/caveman-compress/scripts/validate.py +213 -0
- pyrite_mc-0.13.2/.agents/skills/caveman-help/SKILL.md +22 -0
- pyrite_mc-0.13.2/.agents/skills/caveman-review/SKILL.md +17 -0
- pyrite_mc-0.13.2/.agents/skills/cli-ui-ux/SKILL.md +54 -0
- pyrite_mc-0.13.2/.agents/skills/cli-ui-ux/agents/openai.yaml +4 -0
- pyrite_mc-0.13.2/.agents/skills/dispatch-task/SKILL.md +89 -0
- pyrite_mc-0.13.2/.agents/skills/dispatch-task/agents/openai.yaml +4 -0
- pyrite_mc-0.13.2/.agents/skills/documentation-maintenance/SKILL.md +42 -0
- pyrite_mc-0.13.2/.agents/skills/documentation-maintenance/agents/openai.yaml +4 -0
- pyrite_mc-0.13.2/.agents/skills/implement-task/SKILL.md +52 -0
- pyrite_mc-0.13.2/.agents/skills/implement-task/agents/openai.yaml +4 -0
- pyrite_mc-0.13.2/.agents/skills/implement-task-lite/SKILL.md +37 -0
- pyrite_mc-0.13.2/.agents/skills/implement-task-lite/agents/openai.yaml +4 -0
- pyrite_mc-0.13.2/.agents/skills/issue-audit/SKILL.md +22 -0
- pyrite_mc-0.13.2/.agents/skills/lead-task/SKILL.md +64 -0
- pyrite_mc-0.13.2/.agents/skills/lead-task/agents/openai.yaml +4 -0
- pyrite_mc-0.13.2/.agents/skills/marimo-pair/SKILL.md +292 -0
- pyrite_mc-0.13.2/.agents/skills/marimo-pair/reference/execution-context.md +70 -0
- pyrite_mc-0.13.2/.agents/skills/marimo-pair/reference/finding-marimo.md +117 -0
- pyrite_mc-0.13.2/.agents/skills/marimo-pair/reference/gotchas.md +92 -0
- pyrite_mc-0.13.2/.agents/skills/marimo-pair/reference/notebook-improvements.md +124 -0
- pyrite_mc-0.13.2/.agents/skills/marimo-pair/reference/rich-representations.md +307 -0
- pyrite_mc-0.13.2/.agents/skills/marimo-pair/scripts/discover-servers.sh +320 -0
- pyrite_mc-0.13.2/.agents/skills/marimo-pair/scripts/execute-code.sh +247 -0
- pyrite_mc-0.13.2/.agents/skills/monte-carlo/SKILL.md +17 -0
- pyrite_mc-0.13.2/.agents/skills/notebook-workflow/SKILL.md +21 -0
- pyrite_mc-0.13.2/.agents/skills/performance/SKILL.md +19 -0
- pyrite_mc-0.13.2/.agents/skills/physics-review/SKILL.md +18 -0
- pyrite_mc-0.13.2/.agents/skills/physics-validation/SKILL.md +39 -0
- pyrite_mc-0.13.2/.agents/skills/regen-golden/SKILL.md +21 -0
- pyrite_mc-0.13.2/.agents/skills/regression-testing/SKILL.md +35 -0
- pyrite_mc-0.13.2/.agents/skills/release/SKILL.md +30 -0
- pyrite_mc-0.13.2/.agents/skills/remote-gpu-jobs/SKILL.md +19 -0
- pyrite_mc-0.13.2/.agents/skills/repo-cleanup/SKILL.md +44 -0
- pyrite_mc-0.13.2/.agents/skills/repo-orientation/SKILL.md +24 -0
- pyrite_mc-0.13.2/.agents/skills/run-pyrite/SKILL.md +31 -0
- pyrite_mc-0.13.2/.agents/skills/scientific-library/SKILL.md +18 -0
- pyrite_mc-0.13.2/.agents/skills/triage/SKILL.md +58 -0
- pyrite_mc-0.13.2/.agents/skills/triage/agents/openai.yaml +4 -0
- pyrite_mc-0.13.2/.claude/.gitignore +2 -0
- pyrite_mc-0.13.2/.claude/agents/physics-ledger-auditor.md +54 -0
- pyrite_mc-0.13.2/.claude/agents/physics-validator.md +19 -0
- pyrite_mc-0.13.2/.claude/commands/dev/benchmark.md +3 -0
- pyrite_mc-0.13.2/.claude/commands/dev/profile.md +3 -0
- pyrite_mc-0.13.2/.claude/commands/dev/regression-test.md +3 -0
- pyrite_mc-0.13.2/.claude/commands/docs/update-repo-map.md +6 -0
- pyrite_mc-0.13.2/.claude/commands/notebooks/cleanup.md +3 -0
- pyrite_mc-0.13.2/.claude/commands/notebooks/convert.md +4 -0
- pyrite_mc-0.13.2/.claude/commands/paper/reproduce.md +4 -0
- pyrite_mc-0.13.2/.claude/commands/physics/implement.md +4 -0
- pyrite_mc-0.13.2/.claude/commands/physics/review.md +4 -0
- pyrite_mc-0.13.2/.claude/commands/physics/validate.md +4 -0
- pyrite_mc-0.13.2/.claude/settings.json +63 -0
- pyrite_mc-0.13.2/.claude/skills/caveman/SKILL.md +36 -0
- pyrite_mc-0.13.2/.claude/skills/caveman-commit/SKILL.md +23 -0
- pyrite_mc-0.13.2/.claude/skills/caveman-compress/SKILL.md +45 -0
- pyrite_mc-0.13.2/.claude/skills/caveman-compress/scripts/__init__.py +9 -0
- pyrite_mc-0.13.2/.claude/skills/caveman-compress/scripts/__main__.py +3 -0
- pyrite_mc-0.13.2/.claude/skills/caveman-compress/scripts/benchmark.py +81 -0
- pyrite_mc-0.13.2/.claude/skills/caveman-compress/scripts/cli.py +85 -0
- pyrite_mc-0.13.2/.claude/skills/caveman-compress/scripts/compress.py +347 -0
- pyrite_mc-0.13.2/.claude/skills/caveman-compress/scripts/detect.py +182 -0
- pyrite_mc-0.13.2/.claude/skills/caveman-compress/scripts/validate.py +213 -0
- pyrite_mc-0.13.2/.claude/skills/caveman-help/SKILL.md +22 -0
- pyrite_mc-0.13.2/.claude/skills/caveman-review/SKILL.md +17 -0
- pyrite_mc-0.13.2/.claude/skills/cli-ui-ux/SKILL.md +54 -0
- pyrite_mc-0.13.2/.claude/skills/cli-ui-ux/agents/openai.yaml +4 -0
- pyrite_mc-0.13.2/.claude/skills/dispatch-task/SKILL.md +89 -0
- pyrite_mc-0.13.2/.claude/skills/dispatch-task/agents/openai.yaml +4 -0
- pyrite_mc-0.13.2/.claude/skills/documentation-maintenance/SKILL.md +42 -0
- pyrite_mc-0.13.2/.claude/skills/documentation-maintenance/agents/openai.yaml +4 -0
- pyrite_mc-0.13.2/.claude/skills/implement-task/SKILL.md +52 -0
- pyrite_mc-0.13.2/.claude/skills/implement-task/agents/openai.yaml +4 -0
- pyrite_mc-0.13.2/.claude/skills/implement-task-lite/SKILL.md +37 -0
- pyrite_mc-0.13.2/.claude/skills/implement-task-lite/agents/openai.yaml +4 -0
- pyrite_mc-0.13.2/.claude/skills/issue-audit/SKILL.md +22 -0
- pyrite_mc-0.13.2/.claude/skills/lead-task/SKILL.md +64 -0
- pyrite_mc-0.13.2/.claude/skills/lead-task/agents/openai.yaml +4 -0
- pyrite_mc-0.13.2/.claude/skills/marimo-pair/SKILL.md +292 -0
- pyrite_mc-0.13.2/.claude/skills/marimo-pair/reference/execution-context.md +70 -0
- pyrite_mc-0.13.2/.claude/skills/marimo-pair/reference/finding-marimo.md +117 -0
- pyrite_mc-0.13.2/.claude/skills/marimo-pair/reference/gotchas.md +92 -0
- pyrite_mc-0.13.2/.claude/skills/marimo-pair/reference/notebook-improvements.md +124 -0
- pyrite_mc-0.13.2/.claude/skills/marimo-pair/reference/rich-representations.md +307 -0
- pyrite_mc-0.13.2/.claude/skills/marimo-pair/scripts/discover-servers.sh +320 -0
- pyrite_mc-0.13.2/.claude/skills/marimo-pair/scripts/execute-code.sh +247 -0
- pyrite_mc-0.13.2/.claude/skills/monte-carlo/SKILL.md +17 -0
- pyrite_mc-0.13.2/.claude/skills/notebook-workflow/SKILL.md +21 -0
- pyrite_mc-0.13.2/.claude/skills/performance/SKILL.md +19 -0
- pyrite_mc-0.13.2/.claude/skills/physics-review/SKILL.md +18 -0
- pyrite_mc-0.13.2/.claude/skills/physics-validation/SKILL.md +39 -0
- pyrite_mc-0.13.2/.claude/skills/regen-golden/SKILL.md +21 -0
- pyrite_mc-0.13.2/.claude/skills/regression-testing/SKILL.md +35 -0
- pyrite_mc-0.13.2/.claude/skills/release/SKILL.md +30 -0
- pyrite_mc-0.13.2/.claude/skills/remote-gpu-jobs/SKILL.md +19 -0
- pyrite_mc-0.13.2/.claude/skills/repo-cleanup/SKILL.md +44 -0
- pyrite_mc-0.13.2/.claude/skills/repo-orientation/SKILL.md +24 -0
- pyrite_mc-0.13.2/.claude/skills/run-pyrite/SKILL.md +31 -0
- pyrite_mc-0.13.2/.claude/skills/scientific-library/SKILL.md +18 -0
- pyrite_mc-0.13.2/.claude/skills/triage/SKILL.md +58 -0
- pyrite_mc-0.13.2/.claude/skills/triage/agents/openai.yaml +4 -0
- pyrite_mc-0.13.2/.codex/config.toml +8 -0
- pyrite_mc-0.13.2/.codex/hooks.json +53 -0
- pyrite_mc-0.13.2/.editorconfig +12 -0
- pyrite_mc-0.13.2/.env.example +6 -0
- pyrite_mc-0.13.2/.gitattributes +9 -0
- pyrite_mc-0.13.2/.github/workflows/ci.yml +70 -0
- pyrite_mc-0.13.2/.github/workflows/docs.yml +42 -0
- pyrite_mc-0.13.2/.github/workflows/publish-pypi.yml +53 -0
- pyrite_mc-0.13.2/.github/workflows/release.yml +44 -0
- pyrite_mc-0.13.2/.gitignore +291 -0
- pyrite_mc-0.13.2/.pre-commit-config.yaml +33 -0
- pyrite_mc-0.13.2/.python-version +1 -0
- pyrite_mc-0.13.2/.readthedocs.yaml +18 -0
- pyrite_mc-0.13.2/.serena/.gitignore +2 -0
- pyrite_mc-0.13.2/.serena/memories/conventions.md +8 -0
- pyrite_mc-0.13.2/.serena/memories/core.md +9 -0
- pyrite_mc-0.13.2/.serena/memories/memory_maintenance.md +21 -0
- pyrite_mc-0.13.2/.serena/memories/remote_cluster_memory.md +5 -0
- pyrite_mc-0.13.2/.serena/memories/suggested_commands.md +8 -0
- pyrite_mc-0.13.2/.serena/memories/task_completion.md +7 -0
- pyrite_mc-0.13.2/.serena/memories/tech_stack.md +7 -0
- pyrite_mc-0.13.2/.serena/modes/pyrite-tools.yml +7 -0
- pyrite_mc-0.13.2/.serena/project.yml +188 -0
- pyrite_mc-0.13.2/.vscode/launch.json +110 -0
- pyrite_mc-0.13.2/.vscode/settings.json +16 -0
- pyrite_mc-0.13.2/.vscode/tasks.json +18 -0
- pyrite_mc-0.13.2/.worktreeinclude +3 -0
- pyrite_mc-0.13.2/AGENTS.md +113 -0
- pyrite_mc-0.13.2/CLAUDE.md +7 -0
- pyrite_mc-0.13.2/LICENSE.txt +29 -0
- pyrite_mc-0.13.2/PKG-INFO +399 -0
- pyrite_mc-0.13.2/README.md +330 -0
- pyrite_mc-0.13.2/THIRD-PARTY-NOTICES.md +208 -0
- pyrite_mc-0.13.2/agentdocs/README.md +40 -0
- pyrite_mc-0.13.2/agentdocs/archive/case-compare-tab-plan.md +194 -0
- pyrite_mc-0.13.2/agentdocs/archive/cli-deprecation-substrate-handoff.md +146 -0
- pyrite_mc-0.13.2/agentdocs/archive/gpu-perf-fixes-handoff.md +52 -0
- pyrite_mc-0.13.2/agentdocs/archive/issue-161-xsgen-subsystem.md +470 -0
- pyrite_mc-0.13.2/agentdocs/archive/scan-config-cli-plan.md +137 -0
- pyrite_mc-0.13.2/agentdocs/archive/superradiant-pxr.md +387 -0
- pyrite_mc-0.13.2/agentdocs/archive/viewer-camera-animation-plan.md +168 -0
- pyrite_mc-0.13.2/agentdocs/plans/README.md +14 -0
- pyrite_mc-0.13.2/agentdocs/plans/analysis-surface-review.md +421 -0
- pyrite_mc-0.13.2/agentdocs/plans/cli-redesign-implementation-plan.md +113 -0
- pyrite_mc-0.13.2/agentdocs/specs/2026-09-21-external-fortran-code-integration.md +615 -0
- pyrite_mc-0.13.2/agentdocs/tasks/33-clearer-user-control-of-calculation-numerics/README.md +163 -0
- pyrite_mc-0.13.2/agentdocs/tasks/49-custom-detector-tooling/README.md +145 -0
- pyrite_mc-0.13.2/agentdocs/tasks/53-cliprofile-support-for-filterplate-filters/README.md +144 -0
- pyrite_mc-0.13.2/agentdocs/tasks/57-settable-coherent-bunch-length/README.md +241 -0
- pyrite_mc-0.13.2/agentdocs/tasks/62-remove-inline-detector-geometry-flags-from-profile/README.md +66 -0
- pyrite_mc-0.13.2/agentdocs/tasks/65-decompose-mc-spectrum-into-testable-phases/README.md +155 -0
- pyrite_mc-0.13.2/agentdocs/tasks/66-collapse-the-four-cpu-transport-kernels-into-one-t/README.md +197 -0
- pyrite_mc-0.13.2/agentdocs/tasks/chore/physics-boundary-typing/README.md +133 -0
- pyrite_mc-0.13.2/agentdocs/tasks/chore/shim-lifecycle-enforcement/README.md +79 -0
- pyrite_mc-0.13.2/agentdocs/tasks/chore/transport-module-split/README.md +236 -0
- pyrite_mc-0.13.2/agentdocs/tasks/chore/verify-documented-code-blocks/README.md +205 -0
- pyrite_mc-0.13.2/agentdocs/tasks/docs/geometry-engine-evaluation/README.md +462 -0
- pyrite_mc-0.13.2/agentdocs/tasks/docs/readable-physics-validation-ledger/README.md +95 -0
- pyrite_mc-0.13.2/agentdocs/tasks/feature/cli-artifact-model/HANDOFF.md +233 -0
- pyrite_mc-0.13.2/agentdocs/tasks/feature/cli-artifact-model/README.md +93 -0
- pyrite_mc-0.13.2/agentdocs/tasks/feature/coherent-line-batching/README.md +81 -0
- pyrite_mc-0.13.2/agentdocs/tasks/feature/coherent-line-batching/VALIDATION-HANDOFF.md +18 -0
- pyrite_mc-0.13.2/agentdocs/tasks/feature/compute-performance-optimization/README.md +1154 -0
- pyrite_mc-0.13.2/agentdocs/tasks/feature/compute-performance-optimization/REMAINING.md +357 -0
- pyrite_mc-0.13.2/agentdocs/tasks/feature/energy-grid-semantics/README.md +54 -0
- pyrite_mc-0.13.2/agentdocs/tasks/feature/energy-grid-semantics/audit.md +113 -0
- pyrite_mc-0.13.2/agentdocs/tasks/feature/energy-loss-straggling/README.md +1368 -0
- pyrite_mc-0.13.2/agentdocs/tasks/feature/energy-loss-straggling/slice_a_regime_audit.py +814 -0
- pyrite_mc-0.13.2/agentdocs/tasks/feature/log-transport-lut/README.md +112 -0
- pyrite_mc-0.13.2/agentdocs/tasks/feature/positioned-photon-filters/README.md +435 -0
- pyrite_mc-0.13.2/agentdocs/tasks/feature/profile-observation-angle/README.md +20 -0
- pyrite_mc-0.13.2/agentdocs/tasks/feature/reference-elastic-scattering-data/AC_GATE_REPORT.md +156 -0
- pyrite_mc-0.13.2/agentdocs/tasks/feature/reference-elastic-scattering-data/ALTERNATIVE_SOURCE_REPORT.md +96 -0
- pyrite_mc-0.13.2/agentdocs/tasks/feature/reference-elastic-scattering-data/README.md +131 -0
- pyrite_mc-0.13.2/agentdocs/tasks/feature/reference-electron-stopping-data/README.md +230 -0
- pyrite_mc-0.13.2/agentdocs/tasks/feature/relativistic-bethe-stopping/README.md +636 -0
- pyrite_mc-0.13.2/agentdocs/tasks/feature/timepix-pixel-spectra/README.md +975 -0
- pyrite_mc-0.13.2/agentdocs/tasks/feature/timepix-pixel-spectra/evidence/oracle-report.broken-symmetry.json +818 -0
- pyrite_mc-0.13.2/agentdocs/tasks/feature/timepix-pixel-spectra/evidence/oracle-report.high-stat.json +818 -0
- pyrite_mc-0.13.2/agentdocs/tasks/feature/timepix-pixel-spectra/evidence/oracle-report.json +818 -0
- pyrite_mc-0.13.2/agentdocs/tasks/feature/timepix-pixel-spectra/evidence/oracle-report.near-normal.json +818 -0
- pyrite_mc-0.13.2/agentdocs/tasks/feature/timepix-pixel-spectra/evidence/oracle-report.repaired-summary.md +106 -0
- pyrite_mc-0.13.2/agentdocs/tasks/feature/timepix-pixel-spectra/evidence/oracle-report.repaired.baseline.json +10125 -0
- pyrite_mc-0.13.2/agentdocs/tasks/feature/timepix-pixel-spectra/evidence/oracle-report.repaired.broken-symmetry.json +9376 -0
- pyrite_mc-0.13.2/agentdocs/tasks/feature/timepix-pixel-spectra/evidence/oracle-report.repaired.detector-on-g.json +10914 -0
- pyrite_mc-0.13.2/agentdocs/tasks/feature/timepix-pixel-spectra/evidence/oracle-report.repaired.near-pole-not-g-aligned.json +10172 -0
- pyrite_mc-0.13.2/agentdocs/tasks/feature/timepix-pixel-spectra/evidence/physics-review-slice1-followup.md +379 -0
- pyrite_mc-0.13.2/agentdocs/tasks/feature/timepix-pixel-spectra/evidence/physics-review-slice1.md +566 -0
- pyrite_mc-0.13.2/agentdocs/tasks/fix/checkpoint-h5-suffix/README.md +57 -0
- pyrite_mc-0.13.2/agentdocs/tasks/fix/chunked-checkpoint-lifecycle/README.md +265 -0
- pyrite_mc-0.13.2/agentdocs/tasks/fix/groove-jit-test-coverage/README.md +108 -0
- pyrite_mc-0.13.2/agentdocs/tasks/fix/result-encoding-overhead/README.md +323 -0
- pyrite_mc-0.13.2/agentdocs/tasks/fix/run-cache-flags-auto-pull/README.md +164 -0
- pyrite_mc-0.13.2/agentdocs/tasks/issue-100-nonuniform-photon-continua/README.md +437 -0
- pyrite_mc-0.13.2/agentdocs/tasks/issue-101-line-windows/README.md +129 -0
- pyrite_mc-0.13.2/agentdocs/tasks/issue-117-coherent-line-grid-aliasing/README.md +104 -0
- pyrite_mc-0.13.2/agentdocs/tasks/issue-123-derive-line-coverage-channel/README.md +94 -0
- pyrite_mc-0.13.2/agentdocs/tasks/issue-124-per-material-line-grids/README.md +90 -0
- pyrite_mc-0.13.2/agentdocs/tasks/issue-153-nonuniform-grid-spelling/README.md +202 -0
- pyrite_mc-0.13.2/agentdocs/tasks/issue-181-pxr-segment-absorption/README.md +90 -0
- pyrite_mc-0.13.2/agentdocs/tasks/issue-182-full-track-validation/README.md +61 -0
- pyrite_mc-0.13.2/agentdocs/tasks/issue-192-high-energy-line-grid/README.md +657 -0
- pyrite_mc-0.13.2/agentdocs/tasks/issue-91-relaxation-cascade/README.md +249 -0
- pyrite_mc-0.13.2/agentdocs/tasks/issue-93-soft-hard-inelastic-transport/README.md +659 -0
- pyrite_mc-0.13.2/checks/README.md +87 -0
- pyrite_mc-0.13.2/checks/brem_angular_comparison.py +113 -0
- pyrite_mc-0.13.2/checks/brem_source_comparison.py +171 -0
- pyrite_mc-0.13.2/checks/coherent_flat_omission.py +305 -0
- pyrite_mc-0.13.2/checks/coherent_physical_population_remote.py +475 -0
- pyrite_mc-0.13.2/checks/coherent_transverse_coherence.py +227 -0
- pyrite_mc-0.13.2/checks/coherent_window_excluded_dispersion.py +139 -0
- pyrite_mc-0.13.2/checks/collision_statistics_refinement.py +233 -0
- pyrite_mc-0.13.2/checks/cross_reflection_coherence.py +214 -0
- pyrite_mc-0.13.2/checks/dans_diffraction_oracle.py +153 -0
- pyrite_mc-0.13.2/checks/detector_solid_angle_check.py +134 -0
- pyrite_mc-0.13.2/checks/elsepa_line_sensitivity.py +186 -0
- pyrite_mc-0.13.2/checks/energy_loss_straggling_observables.py +337 -0
- pyrite_mc-0.13.2/checks/energy_step_convergence_matrix.py +857 -0
- pyrite_mc-0.13.2/checks/feranchuk_analysis.ipynb +1198 -0
- pyrite_mc-0.13.2/checks/feranchuk_analysis.md +1066 -0
- pyrite_mc-0.13.2/checks/feranchuk_check_script.py +156 -0
- pyrite_mc-0.13.2/checks/feranchuk_vs_zhai_check.py +133 -0
- pyrite_mc-0.13.2/checks/full_track_bremslib/GEANT4_BUILD.md +47 -0
- pyrite_mc-0.13.2/checks/full_track_bremslib/README.md +344 -0
- pyrite_mc-0.13.2/checks/full_track_bremslib/compare_issue317.py +123 -0
- pyrite_mc-0.13.2/checks/full_track_bremslib/geant4-conda-explicit.txt +151 -0
- pyrite_mc-0.13.2/checks/full_track_bremslib/geant4-testem5-emission.patch +97 -0
- pyrite_mc-0.13.2/checks/full_track_bremslib/geant4-testem5.patch +22 -0
- pyrite_mc-0.13.2/checks/full_track_bremslib/issue317_tasks.txt +63 -0
- pyrite_mc-0.13.2/checks/full_track_bremslib/prod_bench.py +146 -0
- pyrite_mc-0.13.2/checks/full_track_bremslib/reference/si_300kev.log.gz +0 -0
- pyrite_mc-0.13.2/checks/full_track_bremslib/reference/si_300kev_emission.log.gz +0 -0
- pyrite_mc-0.13.2/checks/full_track_bremslib/reference/si_300kev_emission_h1_h63.csv +309 -0
- pyrite_mc-0.13.2/checks/full_track_bremslib/reference/si_300kev_h1_h3.csv +39 -0
- pyrite_mc-0.13.2/checks/full_track_bremslib/reference/si_300kev_h1_h62.csv +39 -0
- pyrite_mc-0.13.2/checks/full_track_bremslib/reference/si_300kev_ssdpwa.log.gz +0 -0
- pyrite_mc-0.13.2/checks/full_track_bremslib/reference/si_800kev.log.gz +0 -0
- pyrite_mc-0.13.2/checks/full_track_bremslib/reference/si_800kev_emission.log.gz +0 -0
- pyrite_mc-0.13.2/checks/full_track_bremslib/reference/si_800kev_emission_h1_h63.csv +809 -0
- pyrite_mc-0.13.2/checks/full_track_bremslib/reference/si_800kev_h1_h3.csv +89 -0
- pyrite_mc-0.13.2/checks/full_track_bremslib/reference/si_800kev_h1_h62.csv +89 -0
- pyrite_mc-0.13.2/checks/full_track_bremslib/reference/si_800kev_ssdpwa.log.gz +0 -0
- pyrite_mc-0.13.2/checks/full_track_bremslib/reference/w_300kev.log.gz +0 -0
- pyrite_mc-0.13.2/checks/full_track_bremslib/reference/w_300kev_emission.log.gz +0 -0
- pyrite_mc-0.13.2/checks/full_track_bremslib/reference/w_300kev_emission_h1_h63.csv +309 -0
- pyrite_mc-0.13.2/checks/full_track_bremslib/reference/w_300kev_h1_h3.csv +39 -0
- pyrite_mc-0.13.2/checks/full_track_bremslib/reference/w_300kev_h1_h62.csv +39 -0
- pyrite_mc-0.13.2/checks/full_track_bremslib/reference/w_300kev_ssdpwa.log.gz +0 -0
- pyrite_mc-0.13.2/checks/full_track_bremslib/reference/w_800kev.log.gz +0 -0
- pyrite_mc-0.13.2/checks/full_track_bremslib/reference/w_800kev_emission.log.gz +0 -0
- pyrite_mc-0.13.2/checks/full_track_bremslib/reference/w_800kev_emission_h1_h63.csv +809 -0
- pyrite_mc-0.13.2/checks/full_track_bremslib/reference/w_800kev_h1_h3.csv +89 -0
- pyrite_mc-0.13.2/checks/full_track_bremslib/reference/w_800kev_h1_h62.csv +89 -0
- pyrite_mc-0.13.2/checks/full_track_bremslib/reference/w_800kev_ssdpwa.log.gz +0 -0
- pyrite_mc-0.13.2/checks/full_track_bremslib/results/benchmark_800kev_117.log.gz +0 -0
- pyrite_mc-0.13.2/checks/full_track_bremslib/results/issue317_records.json.gz +0 -0
- pyrite_mc-0.13.2/checks/full_track_bremslib/results/issue317_summary.json +134 -0
- pyrite_mc-0.13.2/checks/full_track_bremslib/results/remote_cpu.log.gz +0 -0
- pyrite_mc-0.13.2/checks/full_track_bremslib/results/si_300kev_10000ev.json +1 -0
- pyrite_mc-0.13.2/checks/full_track_bremslib/results/si_300kev_10000ev_emission.json.gz +0 -0
- pyrite_mc-0.13.2/checks/full_track_bremslib/results/si_300kev_1000ev.json +1 -0
- pyrite_mc-0.13.2/checks/full_track_bremslib/results/si_300kev_1000ev_emission.json.gz +0 -0
- pyrite_mc-0.13.2/checks/full_track_bremslib/results/si_300kev_5000ev.json +1 -0
- pyrite_mc-0.13.2/checks/full_track_bremslib/results/si_300kev_5000ev_emission.json.gz +0 -0
- pyrite_mc-0.13.2/checks/full_track_bremslib/results/si_800kev_10000ev_emission.json.gz +0 -0
- pyrite_mc-0.13.2/checks/full_track_bremslib/results/si_800kev_1000ev.json +1 -0
- pyrite_mc-0.13.2/checks/full_track_bremslib/results/si_800kev_1000ev_emission.json.gz +0 -0
- pyrite_mc-0.13.2/checks/full_track_bremslib/results/si_800kev_5000ev_emission.json.gz +0 -0
- pyrite_mc-0.13.2/checks/full_track_bremslib/results/si_800kev_sr_1000ev.json +1 -0
- pyrite_mc-0.13.2/checks/full_track_bremslib/results/sr_control_88.log.gz +0 -0
- pyrite_mc-0.13.2/checks/full_track_bremslib/results/w_300kev_10000ev.json +1 -0
- pyrite_mc-0.13.2/checks/full_track_bremslib/results/w_300kev_10000ev_emission.json.gz +0 -0
- pyrite_mc-0.13.2/checks/full_track_bremslib/results/w_300kev_1000ev.json +1 -0
- pyrite_mc-0.13.2/checks/full_track_bremslib/results/w_300kev_1000ev_emission.json.gz +0 -0
- pyrite_mc-0.13.2/checks/full_track_bremslib/results/w_300kev_5000ev.json +1 -0
- pyrite_mc-0.13.2/checks/full_track_bremslib/results/w_300kev_5000ev_emission.json.gz +0 -0
- pyrite_mc-0.13.2/checks/full_track_bremslib/results/w_300kev_sr_1000ev.json +1 -0
- pyrite_mc-0.13.2/checks/full_track_bremslib/results/w_800kev_10000ev_emission.json.gz +0 -0
- pyrite_mc-0.13.2/checks/full_track_bremslib/results/w_800kev_1000ev.json +1 -0
- pyrite_mc-0.13.2/checks/full_track_bremslib/results/w_800kev_1000ev_emission.json.gz +0 -0
- pyrite_mc-0.13.2/checks/full_track_bremslib/results/w_800kev_5000ev_emission.json.gz +0 -0
- pyrite_mc-0.13.2/checks/full_track_bremslib/results/w_800kev_sr_1000ev.json +1 -0
- pyrite_mc-0.13.2/checks/full_track_bremslib/run_800kev.sbatch +28 -0
- pyrite_mc-0.13.2/checks/full_track_bremslib/run_cpu.sbatch +33 -0
- pyrite_mc-0.13.2/checks/full_track_bremslib/run_emission.sbatch +26 -0
- pyrite_mc-0.13.2/checks/full_track_bremslib/run_issue317.sbatch +21 -0
- pyrite_mc-0.13.2/checks/full_track_bremslib/run_sr_control.sbatch +20 -0
- pyrite_mc-0.13.2/checks/full_track_bremslib/run_ssdpwa.sbatch +23 -0
- pyrite_mc-0.13.2/checks/full_track_bremslib/si_300kev.mac +25 -0
- pyrite_mc-0.13.2/checks/full_track_bremslib/si_300kev_emission.mac +29 -0
- pyrite_mc-0.13.2/checks/full_track_bremslib/si_300kev_ssdpwa.mac +26 -0
- pyrite_mc-0.13.2/checks/full_track_bremslib/si_800kev.mac +25 -0
- pyrite_mc-0.13.2/checks/full_track_bremslib/si_800kev_emission.mac +29 -0
- pyrite_mc-0.13.2/checks/full_track_bremslib/si_800kev_ssdpwa.mac +26 -0
- pyrite_mc-0.13.2/checks/full_track_bremslib/test_benchmark.py +203 -0
- pyrite_mc-0.13.2/checks/full_track_bremslib/test_compare.py +143 -0
- pyrite_mc-0.13.2/checks/full_track_bremslib/test_compare_emission.py +281 -0
- pyrite_mc-0.13.2/checks/full_track_bremslib/w_300kev.mac +25 -0
- pyrite_mc-0.13.2/checks/full_track_bremslib/w_300kev_emission.mac +29 -0
- pyrite_mc-0.13.2/checks/full_track_bremslib/w_300kev_ssdpwa.mac +26 -0
- pyrite_mc-0.13.2/checks/full_track_bremslib/w_800kev.mac +25 -0
- pyrite_mc-0.13.2/checks/full_track_bremslib/w_800kev_emission.mac +29 -0
- pyrite_mc-0.13.2/checks/full_track_bremslib/w_800kev_ssdpwa.mac +26 -0
- pyrite_mc-0.13.2/checks/kinematic_validity_check.py +177 -0
- pyrite_mc-0.13.2/checks/line_window_backend_agreement.py +251 -0
- pyrite_mc-0.13.2/checks/mosaic_mc_check.py +209 -0
- pyrite_mc-0.13.2/checks/multilayer_check.py +158 -0
- pyrite_mc-0.13.2/checks/multilayer_slice3_check.py +208 -0
- pyrite_mc-0.13.2/checks/multilayer_validation_check.py +221 -0
- pyrite_mc-0.13.2/checks/pair_conversion_yield.py +146 -0
- pyrite_mc-0.13.2/checks/pair_production_geant4/README.md +84 -0
- pyrite_mc-0.13.2/checks/pair_production_geant4/compare.py +224 -0
- pyrite_mc-0.13.2/checks/pair_production_geant4/make_macros.py +31 -0
- pyrite_mc-0.13.2/checks/pair_production_geant4/patch_stepping.py +64 -0
- pyrite_mc-0.13.2/checks/pair_production_geant4/reference/c_2mev_empenelope.json +345 -0
- pyrite_mc-0.13.2/checks/pair_production_geant4/reference/c_2mev_emstandard_opt0.json +345 -0
- pyrite_mc-0.13.2/checks/pair_production_geant4/reference/c_2mev_emstandard_opt4.json +345 -0
- pyrite_mc-0.13.2/checks/pair_production_geant4/reference/c_5mev_empenelope.json +345 -0
- pyrite_mc-0.13.2/checks/pair_production_geant4/reference/c_5mev_emstandard_opt0.json +345 -0
- pyrite_mc-0.13.2/checks/pair_production_geant4/reference/c_5mev_emstandard_opt4.json +345 -0
- pyrite_mc-0.13.2/checks/pair_production_geant4/reference/pb_2mev_empenelope.json +345 -0
- pyrite_mc-0.13.2/checks/pair_production_geant4/reference/pb_2mev_emstandard_opt0.json +345 -0
- pyrite_mc-0.13.2/checks/pair_production_geant4/reference/pb_2mev_emstandard_opt4.json +345 -0
- pyrite_mc-0.13.2/checks/pair_production_geant4/reference/pb_5mev_empenelope.json +345 -0
- pyrite_mc-0.13.2/checks/pair_production_geant4/reference/pb_5mev_emstandard_opt0.json +345 -0
- pyrite_mc-0.13.2/checks/pair_production_geant4/reference/pb_5mev_emstandard_opt4.json +345 -0
- pyrite_mc-0.13.2/checks/pair_production_geant4/run_pairs.sbatch +17 -0
- pyrite_mc-0.13.2/checks/pixel_reconstruction_oracle.py +561 -0
- pyrite_mc-0.13.2/checks/positron_table_inventory.py +133 -0
- pyrite_mc-0.13.2/checks/radiation_error_estimator_calibration.py +134 -0
- pyrite_mc-0.13.2/checks/segment_escape_split_ladder.py +327 -0
- pyrite_mc-0.13.2/checks/shell_ionization_comparison.py +185 -0
- pyrite_mc-0.13.2/checks/shell_secondary_transport_observables.py +370 -0
- pyrite_mc-0.13.2/checks/shell_soft_hard_transport_observables.py +280 -0
- pyrite_mc-0.13.2/checks/sinc_bin_integration.py +321 -0
- pyrite_mc-0.13.2/checks/soft_deflection_line_sensitivity.py +273 -0
- pyrite_mc-0.13.2/checks/soft_inelastic_deflection.py +277 -0
- pyrite_mc-0.13.2/checks/substep_invariance.py +216 -0
- pyrite_mc-0.13.2/checks/trajectory_paraview_probe.py +65 -0
- pyrite_mc-0.13.2/checks/trajectory_trame_probe.py +98 -0
- pyrite_mc-0.13.2/checks/trajectory_viewer_benchmark.py +282 -0
- pyrite_mc-0.13.2/checks/trajectory_viewer_results.json +2349 -0
- pyrite_mc-0.13.2/checks/transport_core_goldens.py +177 -0
- pyrite_mc-0.13.2/checks/xraylib_cascade_oracle.py +207 -0
- pyrite_mc-0.13.2/checks/zhai_hbn_energy_trend.py +173 -0
- pyrite_mc-0.13.2/docs/_static/pyrite_200px.jpg +0 -0
- pyrite_mc-0.13.2/docs/_static/pyrite_full.jpg +0 -0
- pyrite_mc-0.13.2/docs/_templates/sidebar-sections.html +16 -0
- pyrite_mc-0.13.2/docs/_warning_baseline.py +103 -0
- pyrite_mc-0.13.2/docs/adr/0001-adopt-architecture-decision-records.md +19 -0
- pyrite_mc-0.13.2/docs/adr/0002-cli-surface-redesign.md +18 -0
- pyrite_mc-0.13.2/docs/adr/0003-content-addressed-artifact-model.md +19 -0
- pyrite_mc-0.13.2/docs/adr/0004-package-and-repository-structure.md +24 -0
- pyrite_mc-0.13.2/docs/adr/0005-energy-grid-schema-decisions.md +18 -0
- pyrite_mc-0.13.2/docs/adr/0006-consolidate-agent-work-records.md +21 -0
- pyrite_mc-0.13.2/docs/adr/0007-project-identity.md +26 -0
- pyrite_mc-0.13.2/docs/adr/0008-no-arbitrary-target-geometry.md +50 -0
- pyrite_mc-0.13.2/docs/adr/0009-result-persistence-format.md +66 -0
- pyrite_mc-0.13.2/docs/adr/0010-reduce-cli-noun-surface.md +33 -0
- pyrite_mc-0.13.2/docs/adr/0012-backlog-in-github-issues.md +32 -0
- pyrite_mc-0.13.2/docs/adr/0013-automatic-line-grids-by-default.md +24 -0
- pyrite_mc-0.13.2/docs/adr/0014-packaged-data-layout.md +261 -0
- pyrite_mc-0.13.2/docs/adr/0015-xraydb-atomic-scattering-data.md +42 -0
- pyrite_mc-0.13.2/docs/adr/index.md +68 -0
- pyrite_mc-0.13.2/docs/api.md +436 -0
- pyrite_mc-0.13.2/docs/computation/execution-and-acceleration.md +221 -0
- pyrite_mc-0.13.2/docs/computation/index.md +32 -0
- pyrite_mc-0.13.2/docs/computation/memory-and-scheduling.md +133 -0
- pyrite_mc-0.13.2/docs/computation/precision-and-tolerances.md +109 -0
- pyrite_mc-0.13.2/docs/computation/random-streams.md +186 -0
- pyrite_mc-0.13.2/docs/computation/statistical-methods.md +235 -0
- pyrite_mc-0.13.2/docs/conf.py +155 -0
- pyrite_mc-0.13.2/docs/guides/analysis-tutorial.md +37 -0
- pyrite_mc-0.13.2/docs/guides/configuration-cookbook.md +100 -0
- pyrite_mc-0.13.2/docs/guides/external-catalog.md +73 -0
- pyrite_mc-0.13.2/docs/guides/getting-started.md +48 -0
- pyrite_mc-0.13.2/docs/guides/gpt-gdf-beams.md +326 -0
- pyrite_mc-0.13.2/docs/guides/index.md +24 -0
- pyrite_mc-0.13.2/docs/guides/performance-profile-analysis.md +306 -0
- pyrite_mc-0.13.2/docs/guides/python-api-workflow.md +338 -0
- pyrite_mc-0.13.2/docs/guides/running-on-a-cluster.md +236 -0
- pyrite_mc-0.13.2/docs/guides/shell-completion.md +85 -0
- pyrite_mc-0.13.2/docs/guides/sweep-profiles.md +322 -0
- pyrite_mc-0.13.2/docs/guides/troubleshooting.md +58 -0
- pyrite_mc-0.13.2/docs/guides/working-with-results.md +229 -0
- pyrite_mc-0.13.2/docs/index.md +18 -0
- pyrite_mc-0.13.2/docs/physics/atomic-physics/atomic-data-sources.md +36 -0
- pyrite_mc-0.13.2/docs/physics/atomic-physics/atomic-form-factors.md +131 -0
- pyrite_mc-0.13.2/docs/physics/atomic-physics/elemental-transport-data.md +91 -0
- pyrite_mc-0.13.2/docs/physics/beam-transport/atomic-electron-deflection.md +102 -0
- pyrite_mc-0.13.2/docs/physics/beam-transport/beam-phase-space.md +142 -0
- pyrite_mc-0.13.2/docs/physics/beam-transport/elastic-scattering.md +205 -0
- pyrite_mc-0.13.2/docs/physics/beam-transport/electron-transport.md +164 -0
- pyrite_mc-0.13.2/docs/physics/beam-transport/inelastic-scattering-events.md +27 -0
- pyrite_mc-0.13.2/docs/physics/beam-transport/longitudinal-structure.md +141 -0
- pyrite_mc-0.13.2/docs/physics/beam-transport/positron-transport.md +124 -0
- pyrite_mc-0.13.2/docs/physics/beam-transport/shell-soft-hard-transport.md +101 -0
- pyrite_mc-0.13.2/docs/physics/beam-transport/stopping-power.md +86 -0
- pyrite_mc-0.13.2/docs/physics/beam-transport/transport-outputs.md +204 -0
- pyrite_mc-0.13.2/docs/physics/detectors/detector-response.md +98 -0
- pyrite_mc-0.13.2/docs/physics/detectors/detector-solid-angle.md +57 -0
- pyrite_mc-0.13.2/docs/physics/geometry/tilt-convention.md +48 -0
- pyrite_mc-0.13.2/docs/physics/geometry/transport-geometry.md +125 -0
- pyrite_mc-0.13.2/docs/physics/index.md +98 -0
- pyrite_mc-0.13.2/docs/physics/materials/crystal-mosaicity.md +92 -0
- pyrite_mc-0.13.2/docs/physics/materials/crystal-structure.md +140 -0
- pyrite_mc-0.13.2/docs/physics/materials/material-composition.md +69 -0
- pyrite_mc-0.13.2/docs/physics/materials/multilayer-materials.md +111 -0
- pyrite_mc-0.13.2/docs/physics/materials/reflection-selection.md +66 -0
- pyrite_mc-0.13.2/docs/physics/materials/structure-factor.md +81 -0
- pyrite_mc-0.13.2/docs/physics/radiation-physics/bremsstrahlung.md +158 -0
- pyrite_mc-0.13.2/docs/physics/radiation-physics/characteristic-radiation.md +133 -0
- pyrite_mc-0.13.2/docs/physics/radiation-physics/coherent-emission.md +90 -0
- pyrite_mc-0.13.2/docs/physics/radiation-physics/coherent-radiation.md +204 -0
- pyrite_mc-0.13.2/docs/physics/radiation-physics/energy-grid-semantics.md +229 -0
- pyrite_mc-0.13.2/docs/physics/radiation-physics/hard-bremsstrahlung-events.md +77 -0
- pyrite_mc-0.13.2/docs/physics/radiation-physics/photon-escape-and-dispersion.md +129 -0
- pyrite_mc-0.13.2/docs/physics/radiation-physics/spectral-observables.md +70 -0
- pyrite_mc-0.13.2/docs/physics/radiation-physics/temporal-intensity-profile.md +72 -0
- pyrite_mc-0.13.2/docs/project-readme.md +8 -0
- pyrite_mc-0.13.2/docs/references.bib +534 -0
- pyrite_mc-0.13.2/docs/references.md +15 -0
- pyrite_mc-0.13.2/docs/repo-design/cli/cli-deprecations.md +19 -0
- pyrite_mc-0.13.2/docs/repo-design/cli/cli-reference.md +3327 -0
- pyrite_mc-0.13.2/docs/repo-design/compute/coherent-streaming-rawkernel.md +94 -0
- pyrite_mc-0.13.2/docs/repo-design/compute/compute-performance-optimization.md +349 -0
- pyrite_mc-0.13.2/docs/repo-design/compute/data/phase-retention-2026-10-09.json +2900 -0
- pyrite_mc-0.13.2/docs/repo-design/compute/gpu-transport-rawkernel.md +235 -0
- pyrite_mc-0.13.2/docs/repo-design/compute/jit-spectrum-kernel-walkthrough.md +239 -0
- pyrite_mc-0.13.2/docs/repo-design/compute/phase-retention-benchmarks.md +178 -0
- pyrite_mc-0.13.2/docs/repo-design/compute/phase-retention.md +136 -0
- pyrite_mc-0.13.2/docs/repo-design/compute/startup-latency.md +119 -0
- pyrite_mc-0.13.2/docs/repo-design/compute/straggled-transport-integration.md +148 -0
- pyrite_mc-0.13.2/docs/repo-design/compute/transport-jit-kernel-walkthrough.md +347 -0
- pyrite_mc-0.13.2/docs/repo-design/configuration-resolution.md +175 -0
- pyrite_mc-0.13.2/docs/repo-design/core-architecture-rfc.md +555 -0
- pyrite_mc-0.13.2/docs/repo-design/data-distribution-and-repository-size.md +410 -0
- pyrite_mc-0.13.2/docs/repo-design/development-workspace.md +94 -0
- pyrite_mc-0.13.2/docs/repo-design/documentation.md +174 -0
- pyrite_mc-0.13.2/docs/repo-design/index.md +78 -0
- pyrite_mc-0.13.2/docs/repo-design/materials-catalog-schema.md +116 -0
- pyrite_mc-0.13.2/docs/repo-design/profile-settings.md +109 -0
- pyrite_mc-0.13.2/docs/repo-design/releasing.md +97 -0
- pyrite_mc-0.13.2/docs/repo-design/storage/checkpoint-case-store.md +53 -0
- pyrite_mc-0.13.2/docs/repo-design/storage/dataset-identity-and-storage.md +51 -0
- pyrite_mc-0.13.2/docs/repo-design/storage/result-schema.md +145 -0
- pyrite_mc-0.13.2/docs/repo-design/storage/trajectory-artifacts.md +67 -0
- pyrite_mc-0.13.2/docs/repo-design/storage/trajectory-scenes.md +94 -0
- pyrite_mc-0.13.2/docs/repo_map.md +669 -0
- pyrite_mc-0.13.2/docs/requirements.txt +4 -0
- pyrite_mc-0.13.2/docs/research/beam-transport/electron-transport-physics-recommendations.md +1012 -0
- pyrite_mc-0.13.2/docs/research/beam-transport/energy-grid-recommendations.md +86 -0
- pyrite_mc-0.13.2/docs/research/beam-transport/stochastic-sampling-recommendations.md +127 -0
- pyrite_mc-0.13.2/docs/research/index.md +40 -0
- pyrite_mc-0.13.2/docs/research/instrumentation/grazing-grating.md +85 -0
- pyrite_mc-0.13.2/docs/research/physics/channeling-radiation-physics.md +324 -0
- pyrite_mc-0.13.2/docs/research/physics/phase-retention.md +119 -0
- pyrite_mc-0.13.2/docs/research/physics/relativistic-electron-transport.md +187 -0
- pyrite_mc-0.13.2/docs/research/physics/relativistic-pxr-cbs.md +98 -0
- pyrite_mc-0.13.2/docs/research/physics/superradiant-pxr.md +79 -0
- pyrite_mc-0.13.2/docs/research/physics/transition-radiation-recommendations.md +79 -0
- pyrite_mc-0.13.2/docs/research/workflows/parameter-space-sampling.md +316 -0
- pyrite_mc-0.13.2/docs/validation/atomic-physics/atomic-form-factor.md +45 -0
- pyrite_mc-0.13.2/docs/validation/atomic-physics/crystals-cif-adapter.md +150 -0
- pyrite_mc-0.13.2/docs/validation/atomic-physics/structure-factor.md +241 -0
- pyrite_mc-0.13.2/docs/validation/beam-transport/adaptive-sample-size-stopping.md +189 -0
- pyrite_mc-0.13.2/docs/validation/beam-transport/beam-energy-spread-injection.md +126 -0
- pyrite_mc-0.13.2/docs/validation/beam-transport/beam-phase-space-injection.md +192 -0
- pyrite_mc-0.13.2/docs/validation/beam-transport/beam-phase-space-metrics.md +49 -0
- pyrite_mc-0.13.2/docs/validation/beam-transport/bhabha-close.md +181 -0
- pyrite_mc-0.13.2/docs/validation/beam-transport/coherent-flat-term-omission.md +328 -0
- pyrite_mc-0.13.2/docs/validation/beam-transport/coherent-line-grid-fringe-spacing.md +105 -0
- pyrite_mc-0.13.2/docs/validation/beam-transport/coherent-line-grid-windowed-resolution.md +4207 -0
- pyrite_mc-0.13.2/docs/validation/beam-transport/coherent-transverse-flat-omission.md +332 -0
- pyrite_mc-0.13.2/docs/validation/beam-transport/dielectric-bulk-loss.md +156 -0
- pyrite_mc-0.13.2/docs/validation/beam-transport/eedl-material-shell-rates.md +46 -0
- pyrite_mc-0.13.2/docs/validation/beam-transport/electron-transport.md +192 -0
- pyrite_mc-0.13.2/docs/validation/beam-transport/elsepa-elastic-sampling.md +168 -0
- pyrite_mc-0.13.2/docs/validation/beam-transport/elsepa-muffin-tin-inputs.md +102 -0
- pyrite_mc-0.13.2/docs/validation/beam-transport/elsepa-positron-elastic-sampling.md +54 -0
- pyrite_mc-0.13.2/docs/validation/beam-transport/energy-controlled-propagation.md +162 -0
- pyrite_mc-0.13.2/docs/validation/beam-transport/energy-loss-straggling.md +343 -0
- pyrite_mc-0.13.2/docs/validation/beam-transport/energy-step-convergence.md +298 -0
- pyrite_mc-0.13.2/docs/validation/beam-transport/gos-core-edge.md +55 -0
- pyrite_mc-0.13.2/docs/validation/beam-transport/gos-distant-response.md +65 -0
- pyrite_mc-0.13.2/docs/validation/beam-transport/gos-hard-recoil.md +71 -0
- pyrite_mc-0.13.2/docs/validation/beam-transport/gos-moller-close.md +49 -0
- pyrite_mc-0.13.2/docs/validation/beam-transport/gos-optical-quadrature.md +49 -0
- pyrite_mc-0.13.2/docs/validation/beam-transport/gos-soft-hard-partition.md +162 -0
- pyrite_mc-0.13.2/docs/validation/beam-transport/gpt-gdf-injection.md +318 -0
- pyrite_mc-0.13.2/docs/validation/beam-transport/heitler-annihilation.md +299 -0
- pyrite_mc-0.13.2/docs/validation/beam-transport/inelastic-angular-deflection.md +153 -0
- pyrite_mc-0.13.2/docs/validation/beam-transport/legacy-stopping-comparison.md +459 -0
- pyrite_mc-0.13.2/docs/validation/beam-transport/line-grid-resonance-bandwidth.md +96 -0
- pyrite_mc-0.13.2/docs/validation/beam-transport/line-grid-resonance-local-spacing.md +312 -0
- pyrite_mc-0.13.2/docs/validation/beam-transport/line-grid-sinc-convergence.md +657 -0
- pyrite_mc-0.13.2/docs/validation/beam-transport/line-spectrum-error-budget.md +324 -0
- pyrite_mc-0.13.2/docs/validation/beam-transport/line-window-seeding.md +246 -0
- pyrite_mc-0.13.2/docs/validation/beam-transport/linear-bunch-front-tilt.md +473 -0
- pyrite_mc-0.13.2/docs/validation/beam-transport/longitudinal-bunch-sampling.md +121 -0
- pyrite_mc-0.13.2/docs/validation/beam-transport/longitudinal-target-timing.md +114 -0
- pyrite_mc-0.13.2/docs/validation/beam-transport/penelope-shell-gos-moments-verification.md +496 -0
- pyrite_mc-0.13.2/docs/validation/beam-transport/penelope-shell-gos-moments.md +285 -0
- pyrite_mc-0.13.2/docs/validation/beam-transport/penelope-shell-hard-loss-sampling.md +64 -0
- pyrite_mc-0.13.2/docs/validation/beam-transport/penelope-shell-hard-recoil.md +59 -0
- pyrite_mc-0.13.2/docs/validation/beam-transport/penelope-shell-oscillators-verification.md +624 -0
- pyrite_mc-0.13.2/docs/validation/beam-transport/penelope-shell-oscillators.md +188 -0
- pyrite_mc-0.13.2/docs/validation/beam-transport/penelope-shell-rate-closure-verification.md +312 -0
- pyrite_mc-0.13.2/docs/validation/beam-transport/penelope-shell-rate-closure.md +388 -0
- pyrite_mc-0.13.2/docs/validation/beam-transport/penelope-shell-secondary-direction.md +76 -0
- pyrite_mc-0.13.2/docs/validation/beam-transport/penelope-shell-soft-hard-partition.md +300 -0
- pyrite_mc-0.13.2/docs/validation/beam-transport/positron-annihilation-at-rest.md +128 -0
- pyrite_mc-0.13.2/docs/validation/beam-transport/positron-brems-scaling.md +71 -0
- pyrite_mc-0.13.2/docs/validation/beam-transport/radiation-error-estimators.md +70 -0
- pyrite_mc-0.13.2/docs/validation/beam-transport/relativistic-bethe-stopping.md +149 -0
- pyrite_mc-0.13.2/docs/validation/beam-transport/sbethe-atomic-shell-inputs-verification.md +192 -0
- pyrite_mc-0.13.2/docs/validation/beam-transport/sbethe-atomic-shell-inputs.md +76 -0
- pyrite_mc-0.13.2/docs/validation/beam-transport/sbethe-corrected-stopping.md +61 -0
- pyrite_mc-0.13.2/docs/validation/beam-transport/sbethe-material-inputs.md +35 -0
- pyrite_mc-0.13.2/docs/validation/beam-transport/sbethe-positron-stopping.md +95 -0
- pyrite_mc-0.13.2/docs/validation/beam-transport/shell-secondary-transport-454d1d46.json +4812 -0
- pyrite_mc-0.13.2/docs/validation/beam-transport/shell-secondary-transport.md +181 -0
- pyrite_mc-0.13.2/docs/validation/beam-transport/shell-soft-hard-transport.md +355 -0
- pyrite_mc-0.13.2/docs/validation/beam-transport/substep-radiation-invariance.md +171 -0
- pyrite_mc-0.13.2/docs/validation/beam-transport/transport-midpoint-stopping.md +129 -0
- pyrite_mc-0.13.2/docs/validation/check-records/coherent-physical-population/charge30-reference32.json +300 -0
- pyrite_mc-0.13.2/docs/validation/check-records/coherent-physical-population/charge30.json +291 -0
- pyrite_mc-0.13.2/docs/validation/check-records/coherent-physical-population/charge60.json +291 -0
- pyrite_mc-0.13.2/docs/validation/check-records/coherent-physical-population/replay-preflight.json +22 -0
- pyrite_mc-0.13.2/docs/validation/check-records/coherent-physical-population/short-bunch-370.json +281 -0
- pyrite_mc-0.13.2/docs/validation/check-records/coherent-physical-population/short-bunch-diagnostics.json +289 -0
- pyrite_mc-0.13.2/docs/validation/check-records/coherent-physical-population/short-bunch.json +278 -0
- pyrite_mc-0.13.2/docs/validation/check-records/coherent_transverse_coherence.jsonl +1 -0
- pyrite_mc-0.13.2/docs/validation/check-records/collision_statistics_refinement.jsonl +1 -0
- pyrite_mc-0.13.2/docs/validation/check-records/cross_reflection_coherence.jsonl +1 -0
- pyrite_mc-0.13.2/docs/validation/check-records/dans_diffraction_oracle.jsonl +1 -0
- pyrite_mc-0.13.2/docs/validation/check-records/detector_solid_angle_check.jsonl +2 -0
- pyrite_mc-0.13.2/docs/validation/check-records/energy_loss_straggling_observables.jsonl +1 -0
- pyrite_mc-0.13.2/docs/validation/check-records/energy_step_convergence_matrix.jsonl +1 -0
- pyrite_mc-0.13.2/docs/validation/check-records/feranchuk_check_script.jsonl +3 -0
- pyrite_mc-0.13.2/docs/validation/check-records/feranchuk_vs_zhai_check.jsonl +2 -0
- pyrite_mc-0.13.2/docs/validation/check-records/kinematic_validity_check.jsonl +2 -0
- pyrite_mc-0.13.2/docs/validation/check-records/mosaic_mc_check.jsonl +2 -0
- pyrite_mc-0.13.2/docs/validation/check-records/multilayer_check.jsonl +2 -0
- pyrite_mc-0.13.2/docs/validation/check-records/multilayer_slice3_check.jsonl +2 -0
- pyrite_mc-0.13.2/docs/validation/check-records/multilayer_validation_check.jsonl +2 -0
- pyrite_mc-0.13.2/docs/validation/check-records/radiation_error_estimator_calibration.jsonl +1 -0
- pyrite_mc-0.13.2/docs/validation/check-records/shell_secondary_transport_observables.jsonl +1 -0
- pyrite_mc-0.13.2/docs/validation/check-records/substep_invariance.jsonl +1 -0
- pyrite_mc-0.13.2/docs/validation/check-records/xraylib_cascade_oracle.jsonl +1 -0
- pyrite_mc-0.13.2/docs/validation/check-records/zhai_hbn_energy_trend.json +1432 -0
- pyrite_mc-0.13.2/docs/validation/detectors/alexs-charge-diffusion.md +69 -0
- pyrite_mc-0.13.2/docs/validation/detectors/alexs-qe-absorption.md +87 -0
- pyrite_mc-0.13.2/docs/validation/detectors/detector-eaglexo.md +45 -0
- pyrite_mc-0.13.2/docs/validation/detectors/detector-line-broadening.md +25 -0
- pyrite_mc-0.13.2/docs/validation/detectors/detector-timepix.md +162 -0
- pyrite_mc-0.13.2/docs/validation/detectors/grazing-reflectivity.md +35 -0
- pyrite_mc-0.13.2/docs/validation/detectors/pixel-angular-interpolation.md +179 -0
- pyrite_mc-0.13.2/docs/validation/detectors/positioned-filter-attenuation.md +590 -0
- pyrite_mc-0.13.2/docs/validation/domain-inventories.md +227 -0
- pyrite_mc-0.13.2/docs/validation/formatting-style.md +84 -0
- pyrite_mc-0.13.2/docs/validation/geometry/blazed-groove-geometry.md +218 -0
- pyrite_mc-0.13.2/docs/validation/geometry/finite-beam-size.md +139 -0
- pyrite_mc-0.13.2/docs/validation/geometry/finite-transverse-crystal.md +80 -0
- pyrite_mc-0.13.2/docs/validation/geometry/grazing-beam-projection.md +119 -0
- pyrite_mc-0.13.2/docs/validation/geometry/surface-hkl-orientation.md +395 -0
- pyrite_mc-0.13.2/docs/validation/index.md +204 -0
- pyrite_mc-0.13.2/docs/validation/ledger-core-coherent-physics.md +468 -0
- pyrite_mc-0.13.2/docs/validation/ledger-crystal-structure-provenance.md +523 -0
- pyrite_mc-0.13.2/docs/validation/ledger-crystallography-atomic-data.md +173 -0
- pyrite_mc-0.13.2/docs/validation/ledger-detector-forward-models.md +63 -0
- pyrite_mc-0.13.2/docs/validation/ledger-grazing-grating-spectrometer.md +33 -0
- pyrite_mc-0.13.2/docs/validation/ledger-mosaicity-multilayer.md +33 -0
- pyrite_mc-0.13.2/docs/validation/ledger-transport-background.md +766 -0
- pyrite_mc-0.13.2/docs/validation/literature-ref/external-bremsstrahlung-comparison.md +32 -0
- pyrite_mc-0.13.2/docs/validation/literature-ref/zhai-supplementary.md +57 -0
- pyrite_mc-0.13.2/docs/validation/materials/2h-tas2-debye-waller-002.md +70 -0
- pyrite_mc-0.13.2/docs/validation/materials/2ha-niobium-dichalcogenides.md +21 -0
- pyrite_mc-0.13.2/docs/validation/materials/crystal-db-comparison.md +69 -0
- pyrite_mc-0.13.2/docs/validation/materials/debye-waller-audit.md +136 -0
- pyrite_mc-0.13.2/docs/validation/materials/hbn-structure.md +62 -0
- pyrite_mc-0.13.2/docs/validation/materials/hfs2-structure.md +88 -0
- pyrite_mc-0.13.2/docs/validation/materials/hopg-debye-waller-00l.md +75 -0
- pyrite_mc-0.13.2/docs/validation/materials/mos2-debye-waller-00l.md +77 -0
- pyrite_mc-0.13.2/docs/validation/materials/mosaic-analytic.md +52 -0
- pyrite_mc-0.13.2/docs/validation/materials/mosaic-mc.md +46 -0
- pyrite_mc-0.13.2/docs/validation/materials/multilayer-stack.md +111 -0
- pyrite_mc-0.13.2/docs/validation/materials/oriented-v2o5-tis2.md +19 -0
- pyrite_mc-0.13.2/docs/validation/materials/pdte2-debye-waller-001.md +70 -0
- pyrite_mc-0.13.2/docs/validation/materials/surface-hkl-orientation.md +136 -0
- pyrite_mc-0.13.2/docs/validation/methodology.md +119 -0
- pyrite_mc-0.13.2/docs/validation/physics-validation-ledger.md +37 -0
- pyrite_mc-0.13.2/docs/validation/radiation-physics/absorption-length.md +97 -0
- pyrite_mc-0.13.2/docs/validation/radiation-physics/brem-source-comparison.md +126 -0
- pyrite_mc-0.13.2/docs/validation/radiation-physics/brem-spectrum.md +309 -0
- pyrite_mc-0.13.2/docs/validation/radiation-physics/bremslib-angular-model.md +89 -0
- pyrite_mc-0.13.2/docs/validation/radiation-physics/bremslib-angular-schiff.md +45 -0
- pyrite_mc-0.13.2/docs/validation/radiation-physics/bremslib-coupled-expected-spectrum.md +159 -0
- pyrite_mc-0.13.2/docs/validation/radiation-physics/bremslib-radiative-event-spectrum.md +155 -0
- pyrite_mc-0.13.2/docs/validation/radiation-physics/bremslib-radiative-partition.md +112 -0
- pyrite_mc-0.13.2/docs/validation/radiation-physics/cbs-amplitude.md +429 -0
- pyrite_mc-0.13.2/docs/validation/radiation-physics/characteristic-radiation.md +434 -0
- pyrite_mc-0.13.2/docs/validation/radiation-physics/closed-form-flux.md +287 -0
- pyrite_mc-0.13.2/docs/validation/radiation-physics/coherent-emission.md +185 -0
- pyrite_mc-0.13.2/docs/validation/radiation-physics/coherent-formation-absorption.md +177 -0
- pyrite_mc-0.13.2/docs/validation/radiation-physics/coherent-inter-electron-decoherence.md +158 -0
- pyrite_mc-0.13.2/docs/validation/radiation-physics/coherent-line-spectrum.md +263 -0
- pyrite_mc-0.13.2/docs/validation/radiation-physics/coherent-physical-bunch-population.md +398 -0
- pyrite_mc-0.13.2/docs/validation/radiation-physics/coherent-segment-midpoint-time.md +64 -0
- pyrite_mc-0.13.2/docs/validation/radiation-physics/cross-reflection-coherence.md +61 -0
- pyrite_mc-0.13.2/docs/validation/radiation-physics/eedl-shell-ionization-comparison.md +87 -0
- pyrite_mc-0.13.2/docs/validation/radiation-physics/external-brem-subtraction.md +111 -0
- pyrite_mc-0.13.2/docs/validation/radiation-physics/finite-footprint-longitudinal-decoherence.md +153 -0
- pyrite_mc-0.13.2/docs/validation/radiation-physics/finite-time-lineshape.md +180 -0
- pyrite_mc-0.13.2/docs/validation/radiation-physics/kinematic-validity-envelope.md +235 -0
- pyrite_mc-0.13.2/docs/validation/radiation-physics/line-absorption-tabulation.md +206 -0
- pyrite_mc-0.13.2/docs/validation/radiation-physics/line-energy-dispersion.md +317 -0
- pyrite_mc-0.13.2/docs/validation/radiation-physics/narrow-beam-total-attenuation.md +190 -0
- pyrite_mc-0.13.2/docs/validation/radiation-physics/pair-production-sampling.md +260 -0
- pyrite_mc-0.13.2/docs/validation/radiation-physics/photon-pair-first-interaction.md +319 -0
- pyrite_mc-0.13.2/docs/validation/radiation-physics/pxr-amplitude.md +65 -0
- pyrite_mc-0.13.2/docs/validation/radiation-physics/segment-escape-average.md +205 -0
- pyrite_mc-0.13.2/docs/validation/radiation-physics/self-absorption.md +45 -0
- pyrite_mc-0.13.2/docs/validation/radiation-physics/sinc-bin-far-envelope.md +292 -0
- pyrite_mc-0.13.2/docs/validation/radiation-physics/sinc-bin-integration.md +214 -0
- pyrite_mc-0.13.2/docs/validation/radiation-physics/sinc-bin-near-far.md +95 -0
- pyrite_mc-0.13.2/docs/validation/radiation-physics/temporal-intensity-profile.md +129 -0
- pyrite_mc-0.13.2/docs/validation/radiation-physics/transverse-bunch-form-factor.md +241 -0
- pyrite_mc-0.13.2/docs/validation/radiation-physics/xray-chi-zero.md +122 -0
- pyrite_mc-0.13.2/docs/validation/radiation-physics/xray-in-medium-propagation-phase.md +160 -0
- pyrite_mc-0.13.2/docs/validation/radiation-physics/xray-in-medium-resonance.md +493 -0
- pyrite_mc-0.13.2/docs/validation/radiation-physics/xray-refractive-index.md +186 -0
- pyrite_mc-0.13.2/docs/validation/radiation-physics/zhai-hbn-921-detected.md +309 -0
- pyrite_mc-0.13.2/docs/validation/status-summary.md +30 -0
- pyrite_mc-0.13.2/pyproject.toml +519 -0
- pyrite_mc-0.13.2/scripts/README.md +21 -0
- pyrite_mc-0.13.2/scripts/__init__.py +1 -0
- pyrite_mc-0.13.2/scripts/cuda_test_profiler.py +50 -0
- pyrite_mc-0.13.2/scripts/freeze_cli_contract.py +194 -0
- pyrite_mc-0.13.2/scripts/generate_cli_deprecations.py +10 -0
- pyrite_mc-0.13.2/scripts/generate_cli_reference.py +10 -0
- pyrite_mc-0.13.2/scripts/hooks/sync-skills.sh +11 -0
- pyrite_mc-0.13.2/scripts/package_smoke.py +7 -0
- pyrite_mc-0.13.2/scripts/refresh_external_cif.py +80 -0
- pyrite_mc-0.13.2/scripts/release_bremslib_tables.py +75 -0
- pyrite_mc-0.13.2/scripts/release_elsepa_tables.py +73 -0
- pyrite_mc-0.13.2/scripts/release_epdl_table.py +222 -0
- pyrite_mc-0.13.2/scripts/release_sbethe_tables.py +80 -0
- pyrite_mc-0.13.2/scripts/smoke.py +7 -0
- pyrite_mc-0.13.2/scripts/testing.py +37 -0
- pyrite_mc-0.13.2/scripts/user_scripts/perf_runner_1_worker.sh +10 -0
- pyrite_mc-0.13.2/scripts/user_scripts/perf_runner_4_workers.sh +10 -0
- pyrite_mc-0.13.2/skills-lock.json +11 -0
- pyrite_mc-0.13.2/src/pyrite/__init__.py +230 -0
- pyrite_mc-0.13.2/src/pyrite/_acp.py +104 -0
- pyrite_mc-0.13.2/src/pyrite/_api_deprecations.py +138 -0
- pyrite_mc-0.13.2/src/pyrite/_app_defaults.py +53 -0
- pyrite_mc-0.13.2/src/pyrite/_backend.py +395 -0
- pyrite_mc-0.13.2/src/pyrite/_bremslib_table.py +222 -0
- pyrite_mc-0.13.2/src/pyrite/_catalog_keys.py +60 -0
- pyrite_mc-0.13.2/src/pyrite/_catalog_layout.py +451 -0
- pyrite_mc-0.13.2/src/pyrite/_cxr_grid_policy.py +990 -0
- pyrite_mc-0.13.2/src/pyrite/_cxr_vocabulary.py +100 -0
- pyrite_mc-0.13.2/src/pyrite/_cxr_windows.py +303 -0
- pyrite_mc-0.13.2/src/pyrite/_dev.py +9 -0
- pyrite_mc-0.13.2/src/pyrite/_energy_bins.py +62 -0
- pyrite_mc-0.13.2/src/pyrite/_energy_grid_artifacts.py +321 -0
- pyrite_mc-0.13.2/src/pyrite/_energy_grid_encoding.py +44 -0
- pyrite_mc-0.13.2/src/pyrite/_entry/__init__.py +7 -0
- pyrite_mc-0.13.2/src/pyrite/_entry/profile_module.py +32 -0
- pyrite_mc-0.13.2/src/pyrite/_entry/reproduce_zhai.py +67 -0
- pyrite_mc-0.13.2/src/pyrite/_entry/scan.py +43 -0
- pyrite_mc-0.13.2/src/pyrite/_env.py +28 -0
- pyrite_mc-0.13.2/src/pyrite/_formatting.py +9 -0
- pyrite_mc-0.13.2/src/pyrite/_grid_semantics.py +369 -0
- pyrite_mc-0.13.2/src/pyrite/_module_deprecations.py +113 -0
- pyrite_mc-0.13.2/src/pyrite/_numerics.py +585 -0
- pyrite_mc-0.13.2/src/pyrite/_photon_continuum_floor.py +152 -0
- pyrite_mc-0.13.2/src/pyrite/_planar_geometry.py +344 -0
- pyrite_mc-0.13.2/src/pyrite/_precision.py +228 -0
- pyrite_mc-0.13.2/src/pyrite/_progress.py +130 -0
- pyrite_mc-0.13.2/src/pyrite/_scene_geometry.py +235 -0
- pyrite_mc-0.13.2/src/pyrite/_spectral_components.py +96 -0
- pyrite_mc-0.13.2/src/pyrite/api.py +513 -0
- pyrite_mc-0.13.2/src/pyrite/apps/README.md +70 -0
- pyrite_mc-0.13.2/src/pyrite/apps/__init__.py +1 -0
- pyrite_mc-0.13.2/src/pyrite/apps/_compile_nb.py +42 -0
- pyrite_mc-0.13.2/src/pyrite/apps/_design.css +261 -0
- pyrite_mc-0.13.2/src/pyrite/apps/_design.py +502 -0
- pyrite_mc-0.13.2/src/pyrite/apps/_widgets.py +256 -0
- pyrite_mc-0.13.2/src/pyrite/apps/analysis_app.py +367 -0
- pyrite_mc-0.13.2/src/pyrite/apps/analysis_ui/__init__.py +18 -0
- pyrite_mc-0.13.2/src/pyrite/apps/analysis_ui/axes.py +18 -0
- pyrite_mc-0.13.2/src/pyrite/apps/analysis_ui/controls.py +192 -0
- pyrite_mc-0.13.2/src/pyrite/apps/analysis_ui/data.py +89 -0
- pyrite_mc-0.13.2/src/pyrite/apps/analysis_ui/interactive.py +39 -0
- pyrite_mc-0.13.2/src/pyrite/apps/analysis_ui/models.py +82 -0
- pyrite_mc-0.13.2/src/pyrite/apps/analysis_ui/navigation.py +18 -0
- pyrite_mc-0.13.2/src/pyrite/apps/analysis_ui/pickers.py +104 -0
- pyrite_mc-0.13.2/src/pyrite/apps/analysis_ui/pixels.py +184 -0
- pyrite_mc-0.13.2/src/pyrite/apps/analysis_ui/views/__init__.py +22 -0
- pyrite_mc-0.13.2/src/pyrite/apps/analysis_ui/views/cases.py +94 -0
- pyrite_mc-0.13.2/src/pyrite/apps/analysis_ui/views/common.py +22 -0
- pyrite_mc-0.13.2/src/pyrite/apps/analysis_ui/views/detectors.py +68 -0
- pyrite_mc-0.13.2/src/pyrite/apps/analysis_ui/views/map.py +142 -0
- pyrite_mc-0.13.2/src/pyrite/apps/analysis_ui/views/materials.py +103 -0
- pyrite_mc-0.13.2/src/pyrite/apps/analysis_ui/views/pixels.py +186 -0
- pyrite_mc-0.13.2/src/pyrite/apps/analysis_ui/views/sidebar.py +29 -0
- pyrite_mc-0.13.2/src/pyrite/apps/analysis_ui/views/spectra.py +152 -0
- pyrite_mc-0.13.2/src/pyrite/apps/analyze.py +378 -0
- pyrite_mc-0.13.2/src/pyrite/apps/check.py +173 -0
- pyrite_mc-0.13.2/src/pyrite/apps/compare_app.py +354 -0
- pyrite_mc-0.13.2/src/pyrite/apps/layouts/analysis_app.grid.json +134 -0
- pyrite_mc-0.13.2/src/pyrite/apps/layouts/analysis_app.slides.json +49 -0
- pyrite_mc-0.13.2/src/pyrite/apps/pixel_app.py +185 -0
- pyrite_mc-0.13.2/src/pyrite/apps/scan_app.py +353 -0
- pyrite_mc-0.13.2/src/pyrite/apps/trace_app.py +1248 -0
- pyrite_mc-0.13.2/src/pyrite/apps/validation_app.py +953 -0
- pyrite_mc-0.13.2/src/pyrite/apps/validation_defaults.json +3 -0
- pyrite_mc-0.13.2/src/pyrite/apps/viewer.py +47 -0
- pyrite_mc-0.13.2/src/pyrite/campaign/__init__.py +1 -0
- pyrite_mc-0.13.2/src/pyrite/campaign/beam.py +472 -0
- pyrite_mc-0.13.2/src/pyrite/campaign/beam_metrics.py +215 -0
- pyrite_mc-0.13.2/src/pyrite/campaign/bremsstrahlung_cases.py +89 -0
- pyrite_mc-0.13.2/src/pyrite/campaign/config.py +569 -0
- pyrite_mc-0.13.2/src/pyrite/campaign/cost.py +183 -0
- pyrite_mc-0.13.2/src/pyrite/campaign/front_matching.py +99 -0
- pyrite_mc-0.13.2/src/pyrite/campaign/geometry.py +897 -0
- pyrite_mc-0.13.2/src/pyrite/campaign/grid.py +20 -0
- pyrite_mc-0.13.2/src/pyrite/campaign/inelastic_cases.py +133 -0
- pyrite_mc-0.13.2/src/pyrite/campaign/kinematic_validity.py +227 -0
- pyrite_mc-0.13.2/src/pyrite/campaign/legacy.py +158 -0
- pyrite_mc-0.13.2/src/pyrite/campaign/longitudinal.py +227 -0
- pyrite_mc-0.13.2/src/pyrite/campaign/lowering.py +112 -0
- pyrite_mc-0.13.2/src/pyrite/campaign/model.py +480 -0
- pyrite_mc-0.13.2/src/pyrite/campaign/observation.py +151 -0
- pyrite_mc-0.13.2/src/pyrite/campaign/profile_edit.py +1140 -0
- pyrite_mc-0.13.2/src/pyrite/campaign/profiles.py +1247 -0
- pyrite_mc-0.13.2/src/pyrite/campaign/single_scene.py +173 -0
- pyrite_mc-0.13.2/src/pyrite/campaign/sweep.py +1131 -0
- pyrite_mc-0.13.2/src/pyrite/checkpoints/__init__.py +1 -0
- pyrite_mc-0.13.2/src/pyrite/checkpoints/_checkpoint_io.py +194 -0
- pyrite_mc-0.13.2/src/pyrite/checkpoints/_checkpoint_store.py +379 -0
- pyrite_mc-0.13.2/src/pyrite/checkpoints/_result_v2.py +779 -0
- pyrite_mc-0.13.2/src/pyrite/checkpoints/archive.py +354 -0
- pyrite_mc-0.13.2/src/pyrite/checkpoints/campaign_lock.py +127 -0
- pyrite_mc-0.13.2/src/pyrite/checkpoints/checkpoint_cleanup.py +412 -0
- pyrite_mc-0.13.2/src/pyrite/checkpoints/persistence.py +532 -0
- pyrite_mc-0.13.2/src/pyrite/checkpoints/recompute.py +855 -0
- pyrite_mc-0.13.2/src/pyrite/checkpoints/recompute_defaults.py +210 -0
- pyrite_mc-0.13.2/src/pyrite/checkpoints/slim.py +221 -0
- pyrite_mc-0.13.2/src/pyrite/checkpoints/trajectory_scoring.py +206 -0
- pyrite_mc-0.13.2/src/pyrite/cli/__init__.py +120 -0
- pyrite_mc-0.13.2/src/pyrite/cli/__main__.py +5 -0
- pyrite_mc-0.13.2/src/pyrite/cli/_catalog_io.py +202 -0
- pyrite_mc-0.13.2/src/pyrite/cli/_completion.py +415 -0
- pyrite_mc-0.13.2/src/pyrite/cli/_deprecations.py +396 -0
- pyrite_mc-0.13.2/src/pyrite/cli/_groups.py +79 -0
- pyrite_mc-0.13.2/src/pyrite/cli/_implicit_defaults.py +97 -0
- pyrite_mc-0.13.2/src/pyrite/cli/_options.py +35 -0
- pyrite_mc-0.13.2/src/pyrite/cli/commands/__init__.py +1 -0
- pyrite_mc-0.13.2/src/pyrite/cli/commands/_beam_shared.py +276 -0
- pyrite_mc-0.13.2/src/pyrite/cli/commands/_detector_shared.py +47 -0
- pyrite_mc-0.13.2/src/pyrite/cli/commands/_filter_shared.py +113 -0
- pyrite_mc-0.13.2/src/pyrite/cli/commands/_physical_detector.py +406 -0
- pyrite_mc-0.13.2/src/pyrite/cli/commands/_profile_cxr_grid.py +213 -0
- pyrite_mc-0.13.2/src/pyrite/cli/commands/_profile_filters.py +199 -0
- pyrite_mc-0.13.2/src/pyrite/cli/commands/_profile_members.py +27 -0
- pyrite_mc-0.13.2/src/pyrite/cli/commands/_profile_precision.py +420 -0
- pyrite_mc-0.13.2/src/pyrite/cli/commands/_profile_shared.py +47 -0
- pyrite_mc-0.13.2/src/pyrite/cli/commands/_profile_show.py +251 -0
- pyrite_mc-0.13.2/src/pyrite/cli/commands/_remote_actions.py +604 -0
- pyrite_mc-0.13.2/src/pyrite/cli/commands/_simulation.py +193 -0
- pyrite_mc-0.13.2/src/pyrite/cli/commands/app.py +174 -0
- pyrite_mc-0.13.2/src/pyrite/cli/commands/app_analysis.py +175 -0
- pyrite_mc-0.13.2/src/pyrite/cli/commands/app_validation.py +160 -0
- pyrite_mc-0.13.2/src/pyrite/cli/commands/app_viewer.py +199 -0
- pyrite_mc-0.13.2/src/pyrite/cli/commands/app_views.py +198 -0
- pyrite_mc-0.13.2/src/pyrite/cli/commands/archive.py +184 -0
- pyrite_mc-0.13.2/src/pyrite/cli/commands/backend_setup.py +252 -0
- pyrite_mc-0.13.2/src/pyrite/cli/commands/beam.py +494 -0
- pyrite_mc-0.13.2/src/pyrite/cli/commands/blaze.py +158 -0
- pyrite_mc-0.13.2/src/pyrite/cli/commands/check_config.py +51 -0
- pyrite_mc-0.13.2/src/pyrite/cli/commands/checkpoint.py +73 -0
- pyrite_mc-0.13.2/src/pyrite/cli/commands/cleanup.py +86 -0
- pyrite_mc-0.13.2/src/pyrite/cli/commands/completion.py +342 -0
- pyrite_mc-0.13.2/src/pyrite/cli/commands/config.py +176 -0
- pyrite_mc-0.13.2/src/pyrite/cli/commands/detector.py +349 -0
- pyrite_mc-0.13.2/src/pyrite/cli/commands/energy_grid.py +910 -0
- pyrite_mc-0.13.2/src/pyrite/cli/commands/energy_grid_surface.py +65 -0
- pyrite_mc-0.13.2/src/pyrite/cli/commands/export.py +74 -0
- pyrite_mc-0.13.2/src/pyrite/cli/commands/job.py +148 -0
- pyrite_mc-0.13.2/src/pyrite/cli/commands/material.py +171 -0
- pyrite_mc-0.13.2/src/pyrite/cli/commands/performance.py +164 -0
- pyrite_mc-0.13.2/src/pyrite/cli/commands/profile.py +1140 -0
- pyrite_mc-0.13.2/src/pyrite/cli/commands/recompute.py +556 -0
- pyrite_mc-0.13.2/src/pyrite/cli/commands/remote.py +1097 -0
- pyrite_mc-0.13.2/src/pyrite/cli/commands/remote_trajectories.py +210 -0
- pyrite_mc-0.13.2/src/pyrite/cli/commands/scan.py +861 -0
- pyrite_mc-0.13.2/src/pyrite/cli/commands/slim.py +79 -0
- pyrite_mc-0.13.2/src/pyrite/cli/commands/tables.py +911 -0
- pyrite_mc-0.13.2/src/pyrite/cli/commands/trajectories.py +578 -0
- pyrite_mc-0.13.2/src/pyrite/console/__init__.py +10 -0
- pyrite_mc-0.13.2/src/pyrite/console/config.py +260 -0
- pyrite_mc-0.13.2/src/pyrite/console/dashboard/__init__.py +51 -0
- pyrite_mc-0.13.2/src/pyrite/console/dashboard/poll.py +73 -0
- pyrite_mc-0.13.2/src/pyrite/console/dashboard/render.py +851 -0
- pyrite_mc-0.13.2/src/pyrite/console/dashboard/state.py +265 -0
- pyrite_mc-0.13.2/src/pyrite/console/json.py +576 -0
- pyrite_mc-0.13.2/src/pyrite/console/output.py +476 -0
- pyrite_mc-0.13.2/src/pyrite/console/outputs.py +212 -0
- pyrite_mc-0.13.2/src/pyrite/data/catalog/beams/1_atto.toml +6 -0
- pyrite_mc-0.13.2/src/pyrite/data/catalog/beams/coherent_demo.toml +11 -0
- pyrite_mc-0.13.2/src/pyrite/data/catalog/beams/default.toml +7 -0
- pyrite_mc-0.13.2/src/pyrite/data/catalog/beams/emittance_demo.toml +15 -0
- pyrite_mc-0.13.2/src/pyrite/data/catalog/beams/example.toml +7 -0
- pyrite_mc-0.13.2/src/pyrite/data/catalog/beams/gaussian_200fs.toml +8 -0
- pyrite_mc-0.13.2/src/pyrite/data/catalog/beams/trajectory_demo.toml +2 -0
- pyrite_mc-0.13.2/src/pyrite/data/catalog/catalog.toml +1 -0
- pyrite_mc-0.13.2/src/pyrite/data/catalog/crystals/2h_tas2.toml +13 -0
- pyrite_mc-0.13.2/src/pyrite/data/catalog/crystals/2h_tase2.toml +11 -0
- pyrite_mc-0.13.2/src/pyrite/data/catalog/crystals/4h_sic.toml +10 -0
- pyrite_mc-0.13.2/src/pyrite/data/catalog/crystals/6h_sic.toml +11 -0
- pyrite_mc-0.13.2/src/pyrite/data/catalog/crystals/black_phosphorus.toml +10 -0
- pyrite_mc-0.13.2/src/pyrite/data/catalog/crystals/diamond.toml +8 -0
- pyrite_mc-0.13.2/src/pyrite/data/catalog/crystals/fes2.toml +8 -0
- pyrite_mc-0.13.2/src/pyrite/data/catalog/crystals/fete.toml +11 -0
- pyrite_mc-0.13.2/src/pyrite/data/catalog/crystals/gep.toml +10 -0
- pyrite_mc-0.13.2/src/pyrite/data/catalog/crystals/ges.toml +10 -0
- pyrite_mc-0.13.2/src/pyrite/data/catalog/crystals/gese.toml +10 -0
- pyrite_mc-0.13.2/src/pyrite/data/catalog/crystals/gese2.toml +11 -0
- pyrite_mc-0.13.2/src/pyrite/data/catalog/crystals/hbn.toml +11 -0
- pyrite_mc-0.13.2/src/pyrite/data/catalog/crystals/hfs2.toml +8 -0
- pyrite_mc-0.13.2/src/pyrite/data/catalog/crystals/hfse2.toml +8 -0
- pyrite_mc-0.13.2/src/pyrite/data/catalog/crystals/hfte2.toml +11 -0
- pyrite_mc-0.13.2/src/pyrite/data/catalog/crystals/hopg.toml +16 -0
- pyrite_mc-0.13.2/src/pyrite/data/catalog/crystals/lif.toml +7 -0
- pyrite_mc-0.13.2/src/pyrite/data/catalog/crystals/mos2.toml +16 -0
- pyrite_mc-0.13.2/src/pyrite/data/catalog/crystals/mose2.toml +9 -0
- pyrite_mc-0.13.2/src/pyrite/data/catalog/crystals/mote2.toml +9 -0
- pyrite_mc-0.13.2/src/pyrite/data/catalog/crystals/mote2_product.toml +9 -0
- pyrite_mc-0.13.2/src/pyrite/data/catalog/crystals/nbs2.toml +8 -0
- pyrite_mc-0.13.2/src/pyrite/data/catalog/crystals/nbse2.toml +8 -0
- pyrite_mc-0.13.2/src/pyrite/data/catalog/crystals/nbte2.toml +11 -0
- pyrite_mc-0.13.2/src/pyrite/data/catalog/crystals/pds2.toml +10 -0
- pyrite_mc-0.13.2/src/pyrite/data/catalog/crystals/pdse2.toml +9 -0
- pyrite_mc-0.13.2/src/pyrite/data/catalog/crystals/pdte2.toml +13 -0
- pyrite_mc-0.13.2/src/pyrite/data/catalog/crystals/ptbi2.toml +10 -0
- pyrite_mc-0.13.2/src/pyrite/data/catalog/crystals/pts2.toml +12 -0
- pyrite_mc-0.13.2/src/pyrite/data/catalog/crystals/ptse2.toml +9 -0
- pyrite_mc-0.13.2/src/pyrite/data/catalog/crystals/ptte2.toml +11 -0
- pyrite_mc-0.13.2/src/pyrite/data/catalog/crystals/res2.toml +11 -0
- pyrite_mc-0.13.2/src/pyrite/data/catalog/crystals/rese2.toml +11 -0
- pyrite_mc-0.13.2/src/pyrite/data/catalog/crystals/sapphire.toml +8 -0
- pyrite_mc-0.13.2/src/pyrite/data/catalog/crystals/silicon.toml +8 -0
- pyrite_mc-0.13.2/src/pyrite/data/catalog/crystals/tate2.toml +11 -0
- pyrite_mc-0.13.2/src/pyrite/data/catalog/crystals/tis2.toml +11 -0
- pyrite_mc-0.13.2/src/pyrite/data/catalog/crystals/tise2.toml +11 -0
- pyrite_mc-0.13.2/src/pyrite/data/catalog/crystals/tite2.toml +11 -0
- pyrite_mc-0.13.2/src/pyrite/data/catalog/crystals/v2o5.toml +10 -0
- pyrite_mc-0.13.2/src/pyrite/data/catalog/crystals/vse2.toml +11 -0
- pyrite_mc-0.13.2/src/pyrite/data/catalog/crystals/vte2.toml +11 -0
- pyrite_mc-0.13.2/src/pyrite/data/catalog/crystals/ws2.toml +9 -0
- pyrite_mc-0.13.2/src/pyrite/data/catalog/crystals/wse2.toml +10 -0
- pyrite_mc-0.13.2/src/pyrite/data/catalog/crystals/wte2.toml +11 -0
- pyrite_mc-0.13.2/src/pyrite/data/catalog/crystals/zrse2.toml +8 -0
- pyrite_mc-0.13.2/src/pyrite/data/catalog/crystals/zrte3.toml +10 -0
- pyrite_mc-0.13.2/src/pyrite/data/catalog/crystals/zrte5.toml +9 -0
- pyrite_mc-0.13.2/src/pyrite/data/catalog/detectors/pixelated_reference.toml +24 -0
- pyrite_mc-0.13.2/src/pyrite/data/catalog/detectors/reference.toml +6 -0
- pyrite_mc-0.13.2/src/pyrite/data/catalog/detectors/reference_135.toml +6 -0
- pyrite_mc-0.13.2/src/pyrite/data/catalog/materials/2h_tas2.toml +1 -0
- pyrite_mc-0.13.2/src/pyrite/data/catalog/materials/2h_tase2.toml +1 -0
- pyrite_mc-0.13.2/src/pyrite/data/catalog/materials/4h_sic.toml +1 -0
- pyrite_mc-0.13.2/src/pyrite/data/catalog/materials/6h_sic.toml +1 -0
- pyrite_mc-0.13.2/src/pyrite/data/catalog/materials/black_phosphorus.toml +1 -0
- pyrite_mc-0.13.2/src/pyrite/data/catalog/materials/diamond.toml +1 -0
- pyrite_mc-0.13.2/src/pyrite/data/catalog/materials/fes2.toml +2 -0
- pyrite_mc-0.13.2/src/pyrite/data/catalog/materials/fete.toml +1 -0
- pyrite_mc-0.13.2/src/pyrite/data/catalog/materials/gep.toml +1 -0
- pyrite_mc-0.13.2/src/pyrite/data/catalog/materials/ges.toml +1 -0
- pyrite_mc-0.13.2/src/pyrite/data/catalog/materials/gese.toml +1 -0
- pyrite_mc-0.13.2/src/pyrite/data/catalog/materials/gese2.toml +1 -0
- pyrite_mc-0.13.2/src/pyrite/data/catalog/materials/hbn.toml +1 -0
- pyrite_mc-0.13.2/src/pyrite/data/catalog/materials/hfs2.toml +2 -0
- pyrite_mc-0.13.2/src/pyrite/data/catalog/materials/hfse2.toml +2 -0
- pyrite_mc-0.13.2/src/pyrite/data/catalog/materials/hfte2.toml +1 -0
- pyrite_mc-0.13.2/src/pyrite/data/catalog/materials/hopg.toml +1 -0
- pyrite_mc-0.13.2/src/pyrite/data/catalog/materials/mos2-on-sapphire.toml +3 -0
- pyrite_mc-0.13.2/src/pyrite/data/catalog/materials/mos2-on-sio2-si.toml +6 -0
- pyrite_mc-0.13.2/src/pyrite/data/catalog/materials/mos2.toml +1 -0
- pyrite_mc-0.13.2/src/pyrite/data/catalog/materials/mose2.toml +2 -0
- pyrite_mc-0.13.2/src/pyrite/data/catalog/materials/mote2.toml +1 -0
- pyrite_mc-0.13.2/src/pyrite/data/catalog/materials/mote2_product.toml +1 -0
- pyrite_mc-0.13.2/src/pyrite/data/catalog/materials/nbs2.toml +2 -0
- pyrite_mc-0.13.2/src/pyrite/data/catalog/materials/nbse2.toml +2 -0
- pyrite_mc-0.13.2/src/pyrite/data/catalog/materials/nbte2.toml +1 -0
- pyrite_mc-0.13.2/src/pyrite/data/catalog/materials/pds2.toml +1 -0
- pyrite_mc-0.13.2/src/pyrite/data/catalog/materials/pdse2.toml +1 -0
- pyrite_mc-0.13.2/src/pyrite/data/catalog/materials/pdte2.toml +1 -0
- pyrite_mc-0.13.2/src/pyrite/data/catalog/materials/ptbi2.toml +2 -0
- pyrite_mc-0.13.2/src/pyrite/data/catalog/materials/pts2.toml +1 -0
- pyrite_mc-0.13.2/src/pyrite/data/catalog/materials/ptse2.toml +1 -0
- pyrite_mc-0.13.2/src/pyrite/data/catalog/materials/ptte2.toml +1 -0
- pyrite_mc-0.13.2/src/pyrite/data/catalog/materials/res2.toml +2 -0
- pyrite_mc-0.13.2/src/pyrite/data/catalog/materials/rese2.toml +1 -0
- pyrite_mc-0.13.2/src/pyrite/data/catalog/materials/sapphire.toml +1 -0
- pyrite_mc-0.13.2/src/pyrite/data/catalog/materials/silicon.toml +1 -0
- pyrite_mc-0.13.2/src/pyrite/data/catalog/materials/tate2.toml +1 -0
- pyrite_mc-0.13.2/src/pyrite/data/catalog/materials/tis2.toml +1 -0
- pyrite_mc-0.13.2/src/pyrite/data/catalog/materials/tise2.toml +1 -0
- pyrite_mc-0.13.2/src/pyrite/data/catalog/materials/tite2.toml +1 -0
- pyrite_mc-0.13.2/src/pyrite/data/catalog/materials/v2o5.toml +1 -0
- pyrite_mc-0.13.2/src/pyrite/data/catalog/materials/vse2.toml +1 -0
- pyrite_mc-0.13.2/src/pyrite/data/catalog/materials/vte2.toml +1 -0
- pyrite_mc-0.13.2/src/pyrite/data/catalog/materials/ws2.toml +1 -0
- pyrite_mc-0.13.2/src/pyrite/data/catalog/materials/wse2.toml +1 -0
- pyrite_mc-0.13.2/src/pyrite/data/catalog/materials/wte2.toml +1 -0
- pyrite_mc-0.13.2/src/pyrite/data/catalog/materials/zrse2.toml +2 -0
- pyrite_mc-0.13.2/src/pyrite/data/catalog/materials/zrte3.toml +1 -0
- pyrite_mc-0.13.2/src/pyrite/data/catalog/materials/zrte5.toml +2 -0
- pyrite_mc-0.13.2/src/pyrite/data/catalog/media/sio2.toml +1 -0
- pyrite_mc-0.13.2/src/pyrite/data/catalog/profiles/coherent_demo.toml +21 -0
- pyrite_mc-0.13.2/src/pyrite/data/catalog/profiles/detector_demo.toml +46 -0
- pyrite_mc-0.13.2/src/pyrite/data/catalog/profiles/high_energy_demo.toml +19 -0
- pyrite_mc-0.13.2/src/pyrite/data/catalog/profiles/hopg_emittance_demo.toml +11 -0
- pyrite_mc-0.13.2/src/pyrite/data/catalog/profiles/pixelated_detector_demo.toml +14 -0
- pyrite_mc-0.13.2/src/pyrite/data/catalog/profiles/quickstart.toml +11 -0
- pyrite_mc-0.13.2/src/pyrite/data/catalog/profiles/standard.toml +19 -0
- pyrite_mc-0.13.2/src/pyrite/data/catalog/profiles/sweep_demo.toml +12 -0
- pyrite_mc-0.13.2/src/pyrite/data/catalog/profiles/trajectory_demo.toml +11 -0
- pyrite_mc-0.13.2/src/pyrite/data/catalog/profiles/two_detector_demo.toml +15 -0
- pyrite_mc-0.13.2/src/pyrite/data/characteristic_cross_sections/README.md +53 -0
- pyrite_mc-0.13.2/src/pyrite/data/cifs/2h_tas2.cif +32 -0
- pyrite_mc-0.13.2/src/pyrite/data/cifs/2h_tase2.cif +33 -0
- pyrite_mc-0.13.2/src/pyrite/data/cifs/4h_sic.cif +34 -0
- pyrite_mc-0.13.2/src/pyrite/data/cifs/6h_sic.cif +38 -0
- pyrite_mc-0.13.2/src/pyrite/data/cifs/black_phosphorus.cif +35 -0
- pyrite_mc-0.13.2/src/pyrite/data/cifs/diamond.cif +37 -0
- pyrite_mc-0.13.2/src/pyrite/data/cifs/fes2.cif +37 -0
- pyrite_mc-0.13.2/src/pyrite/data/cifs/fete.cif +31 -0
- pyrite_mc-0.13.2/src/pyrite/data/cifs/gep.cif +31 -0
- pyrite_mc-0.13.2/src/pyrite/data/cifs/ges.cif +26 -0
- pyrite_mc-0.13.2/src/pyrite/data/cifs/gese.cif +26 -0
- pyrite_mc-0.13.2/src/pyrite/data/cifs/gese2.cif +45 -0
- pyrite_mc-0.13.2/src/pyrite/data/cifs/hbn.cif +29 -0
- pyrite_mc-0.13.2/src/pyrite/data/cifs/hfs2.cif +30 -0
- pyrite_mc-0.13.2/src/pyrite/data/cifs/hfse2.cif +22 -0
- pyrite_mc-0.13.2/src/pyrite/data/cifs/hfte2.cif +29 -0
- pyrite_mc-0.13.2/src/pyrite/data/cifs/hopg.cif +29 -0
- pyrite_mc-0.13.2/src/pyrite/data/cifs/lif.cif +28 -0
- pyrite_mc-0.13.2/src/pyrite/data/cifs/mos2.cif +28 -0
- pyrite_mc-0.13.2/src/pyrite/data/cifs/mose2.cif +33 -0
- pyrite_mc-0.13.2/src/pyrite/data/cifs/mote2.cif +30 -0
- pyrite_mc-0.13.2/src/pyrite/data/cifs/mote2_product.cif +29 -0
- pyrite_mc-0.13.2/src/pyrite/data/cifs/nbs2.cif +32 -0
- pyrite_mc-0.13.2/src/pyrite/data/cifs/nbse2.cif +35 -0
- pyrite_mc-0.13.2/src/pyrite/data/cifs/nbte2.cif +41 -0
- pyrite_mc-0.13.2/src/pyrite/data/cifs/pds2.cif +37 -0
- pyrite_mc-0.13.2/src/pyrite/data/cifs/pdse2.cif +38 -0
- pyrite_mc-0.13.2/src/pyrite/data/cifs/pdte2.cif +29 -0
- pyrite_mc-0.13.2/src/pyrite/data/cifs/ptbi2.cif +38 -0
- pyrite_mc-0.13.2/src/pyrite/data/cifs/pts2.cif +27 -0
- pyrite_mc-0.13.2/src/pyrite/data/cifs/ptse2.cif +22 -0
- pyrite_mc-0.13.2/src/pyrite/data/cifs/ptte2.cif +28 -0
- pyrite_mc-0.13.2/src/pyrite/data/cifs/res2.cif +51 -0
- pyrite_mc-0.13.2/src/pyrite/data/cifs/rese2.cif +39 -0
- pyrite_mc-0.13.2/src/pyrite/data/cifs/sapphire.cif +55 -0
- pyrite_mc-0.13.2/src/pyrite/data/cifs/silicon.cif +27 -0
- pyrite_mc-0.13.2/src/pyrite/data/cifs/tate2.cif +43 -0
- pyrite_mc-0.13.2/src/pyrite/data/cifs/tis2.cif +33 -0
- pyrite_mc-0.13.2/src/pyrite/data/cifs/tise2.cif +28 -0
- pyrite_mc-0.13.2/src/pyrite/data/cifs/tite2.cif +26 -0
- pyrite_mc-0.13.2/src/pyrite/data/cifs/v2o5.cif +42 -0
- pyrite_mc-0.13.2/src/pyrite/data/cifs/vse2.cif +26 -0
- pyrite_mc-0.13.2/src/pyrite/data/cifs/vte2.cif +43 -0
- pyrite_mc-0.13.2/src/pyrite/data/cifs/ws2.cif +29 -0
- pyrite_mc-0.13.2/src/pyrite/data/cifs/wse2.cif +32 -0
- pyrite_mc-0.13.2/src/pyrite/data/cifs/wte2.cif +37 -0
- pyrite_mc-0.13.2/src/pyrite/data/cifs/zrse2.cif +22 -0
- pyrite_mc-0.13.2/src/pyrite/data/cifs/zrte3.cif +33 -0
- pyrite_mc-0.13.2/src/pyrite/data/cifs/zrte5.cif +50 -0
- pyrite_mc-0.13.2/src/pyrite/data/conduction_band.toml +118 -0
- pyrite_mc-0.13.2/src/pyrite/data/eaglexo_qe.csv +141 -0
- pyrite_mc-0.13.2/src/pyrite/data/line_grid_defaults.toml +8 -0
- pyrite_mc-0.13.2/src/pyrite/data/line_grid_provenance.toml +901 -0
- pyrite_mc-0.13.2/src/pyrite/data/paraview/pyrite_trajectories.py +204 -0
- pyrite_mc-0.13.2/src/pyrite/data/photon_cross_sections/README.md +55 -0
- pyrite_mc-0.13.2/src/pyrite/data/xsgen/bremslib-tables.json +135 -0
- pyrite_mc-0.13.2/src/pyrite/data/xsgen/elsepa-positron-tables.json +153 -0
- pyrite_mc-0.13.2/src/pyrite/data/xsgen/elsepa-tables.json +153 -0
- pyrite_mc-0.13.2/src/pyrite/data/xsgen/sbethe-positron-tables.json +258 -0
- pyrite_mc-0.13.2/src/pyrite/data/xsgen/sbethe-tables.json +258 -0
- pyrite_mc-0.13.2/src/pyrite/data/xsgen/source-digests.json +4 -0
- pyrite_mc-0.13.2/src/pyrite/datasets.py +359 -0
- pyrite_mc-0.13.2/src/pyrite/detectors/__init__.py +53 -0
- pyrite_mc-0.13.2/src/pyrite/detectors/_si_sensor.py +75 -0
- pyrite_mc-0.13.2/src/pyrite/detectors/eaglexo_response.py +420 -0
- pyrite_mc-0.13.2/src/pyrite/detectors/grating.py +638 -0
- pyrite_mc-0.13.2/src/pyrite/detectors/response.py +133 -0
- pyrite_mc-0.13.2/src/pyrite/detectors/spec.py +362 -0
- pyrite_mc-0.13.2/src/pyrite/detectors/timepix_response.py +611 -0
- pyrite_mc-0.13.2/src/pyrite/devtools/__init__.py +23 -0
- pyrite_mc-0.13.2/src/pyrite/devtools/cli_commands.py +73 -0
- pyrite_mc-0.13.2/src/pyrite/devtools/cli_deprecations.py +142 -0
- pyrite_mc-0.13.2/src/pyrite/devtools/cli_reference.py +184 -0
- pyrite_mc-0.13.2/src/pyrite/devtools/dev_cli.py +989 -0
- pyrite_mc-0.13.2/src/pyrite/devtools/doc_blocks.py +84 -0
- pyrite_mc-0.13.2/src/pyrite/devtools/doc_cli_check.py +247 -0
- pyrite_mc-0.13.2/src/pyrite/devtools/doc_toml_check.py +48 -0
- pyrite_mc-0.13.2/src/pyrite/devtools/docs_paths.py +63 -0
- pyrite_mc-0.13.2/src/pyrite/devtools/package_smoke.py +157 -0
- pyrite_mc-0.13.2/src/pyrite/devtools/release.py +251 -0
- pyrite_mc-0.13.2/src/pyrite/devtools/repo_map.py +149 -0
- pyrite_mc-0.13.2/src/pyrite/devtools/smoke.py +67 -0
- pyrite_mc-0.13.2/src/pyrite/devtools/startup.py +154 -0
- pyrite_mc-0.13.2/src/pyrite/devtools/validation_ledger.py +360 -0
- pyrite_mc-0.13.2/src/pyrite/energy_grid/__init__.py +12 -0
- pyrite_mc-0.13.2/src/pyrite/energy_grid/apply.py +1038 -0
- pyrite_mc-0.13.2/src/pyrite/energy_grid/bandwidth_check.py +824 -0
- pyrite_mc-0.13.2/src/pyrite/energy_grid/bounds.py +131 -0
- pyrite_mc-0.13.2/src/pyrite/energy_grid/convergence.py +627 -0
- pyrite_mc-0.13.2/src/pyrite/energy_grid/convergence_case.py +886 -0
- pyrite_mc-0.13.2/src/pyrite/energy_grid/convergence_job.py +674 -0
- pyrite_mc-0.13.2/src/pyrite/energy_grid/defaults.py +134 -0
- pyrite_mc-0.13.2/src/pyrite/energy_grid/derive.py +916 -0
- pyrite_mc-0.13.2/src/pyrite/energy_grid/encoding.py +5 -0
- pyrite_mc-0.13.2/src/pyrite/energy_grid/floor.py +84 -0
- pyrite_mc-0.13.2/src/pyrite/energy_grid/gc.py +467 -0
- pyrite_mc-0.13.2/src/pyrite/energy_grid/golden.py +248 -0
- pyrite_mc-0.13.2/src/pyrite/energy_grid/job.py +325 -0
- pyrite_mc-0.13.2/src/pyrite/energy_grid/precision_ladder.py +358 -0
- pyrite_mc-0.13.2/src/pyrite/energy_grid/provenance.py +157 -0
- pyrite_mc-0.13.2/src/pyrite/energy_grid/refine.py +406 -0
- pyrite_mc-0.13.2/src/pyrite/energy_grid/semantics.py +27 -0
- pyrite_mc-0.13.2/src/pyrite/instrument/__init__.py +54 -0
- pyrite_mc-0.13.2/src/pyrite/instrument/acquisition.py +368 -0
- pyrite_mc-0.13.2/src/pyrite/instrument/attenuation.py +86 -0
- pyrite_mc-0.13.2/src/pyrite/instrument/geometry.py +221 -0
- pyrite_mc-0.13.2/src/pyrite/instrument/model.py +355 -0
- pyrite_mc-0.13.2/src/pyrite/instrument/observation.py +396 -0
- pyrite_mc-0.13.2/src/pyrite/instrument/scene.py +67 -0
- pyrite_mc-0.13.2/src/pyrite/materials/__init__.py +62 -0
- pyrite_mc-0.13.2/src/pyrite/materials/_beam_detector_parse.py +792 -0
- pyrite_mc-0.13.2/src/pyrite/materials/_catalog_decode.py +236 -0
- pyrite_mc-0.13.2/src/pyrite/materials/_cif.py +158 -0
- pyrite_mc-0.13.2/src/pyrite/materials/_identity.py +180 -0
- pyrite_mc-0.13.2/src/pyrite/materials/_parse.py +1004 -0
- pyrite_mc-0.13.2/src/pyrite/materials/_schema.py +690 -0
- pyrite_mc-0.13.2/src/pyrite/materials/_transport_data.py +249 -0
- pyrite_mc-0.13.2/src/pyrite/materials/atomic.py +236 -0
- pyrite_mc-0.13.2/src/pyrite/materials/attenuation.py +338 -0
- pyrite_mc-0.13.2/src/pyrite/materials/catalog.py +314 -0
- pyrite_mc-0.13.2/src/pyrite/materials/crystal.py +896 -0
- pyrite_mc-0.13.2/src/pyrite/materials/emission.py +233 -0
- pyrite_mc-0.13.2/src/pyrite/materials/photon_cross_sections.py +214 -0
- pyrite_mc-0.13.2/src/pyrite/montecarlo/__init__.py +241 -0
- pyrite_mc-0.13.2/src/pyrite/montecarlo/_cupy_jit.py +29 -0
- pyrite_mc-0.13.2/src/pyrite/montecarlo/_resources.py +129 -0
- pyrite_mc-0.13.2/src/pyrite/montecarlo/bunch_front.py +97 -0
- pyrite_mc-0.13.2/src/pyrite/montecarlo/case.py +521 -0
- pyrite_mc-0.13.2/src/pyrite/montecarlo/detector.py +117 -0
- pyrite_mc-0.13.2/src/pyrite/montecarlo/eadl_relaxation.py +489 -0
- pyrite_mc-0.13.2/src/pyrite/montecarlo/eedl_ionization.py +289 -0
- pyrite_mc-0.13.2/src/pyrite/montecarlo/gdf.py +333 -0
- pyrite_mc-0.13.2/src/pyrite/montecarlo/geometry.py +628 -0
- pyrite_mc-0.13.2/src/pyrite/montecarlo/groove.py +367 -0
- pyrite_mc-0.13.2/src/pyrite/montecarlo/runner/__init__.py +1197 -0
- pyrite_mc-0.13.2/src/pyrite/montecarlo/runner/adaptive.py +617 -0
- pyrite_mc-0.13.2/src/pyrite/montecarlo/runner/artifacts.py +250 -0
- pyrite_mc-0.13.2/src/pyrite/montecarlo/runner/block_transport.py +282 -0
- pyrite_mc-0.13.2/src/pyrite/montecarlo/runner/case_tables.py +235 -0
- pyrite_mc-0.13.2/src/pyrite/montecarlo/runner/chunking.py +183 -0
- pyrite_mc-0.13.2/src/pyrite/montecarlo/runner/coherent_audit.py +162 -0
- pyrite_mc-0.13.2/src/pyrite/montecarlo/runner/cxr_grid.py +897 -0
- pyrite_mc-0.13.2/src/pyrite/montecarlo/runner/directions.py +98 -0
- pyrite_mc-0.13.2/src/pyrite/montecarlo/runner/electron_blocks.py +118 -0
- pyrite_mc-0.13.2/src/pyrite/montecarlo/runner/emission.py +294 -0
- pyrite_mc-0.13.2/src/pyrite/montecarlo/runner/host_cpus.py +60 -0
- pyrite_mc-0.13.2/src/pyrite/montecarlo/runner/oom.py +69 -0
- pyrite_mc-0.13.2/src/pyrite/montecarlo/runner/pool.py +153 -0
- pyrite_mc-0.13.2/src/pyrite/montecarlo/runner/scheduling.py +794 -0
- pyrite_mc-0.13.2/src/pyrite/montecarlo/runner/stage_chunks.py +94 -0
- pyrite_mc-0.13.2/src/pyrite/montecarlo/runner/step_budget.py +27 -0
- pyrite_mc-0.13.2/src/pyrite/montecarlo/runner/timing.py +177 -0
- pyrite_mc-0.13.2/src/pyrite/montecarlo/shell_configuration.py +187 -0
- pyrite_mc-0.13.2/src/pyrite/montecarlo/shell_ionization.py +101 -0
- pyrite_mc-0.13.2/src/pyrite/montecarlo/spectrum/__init__.py +93 -0
- pyrite_mc-0.13.2/src/pyrite/montecarlo/spectrum/brem.py +1244 -0
- pyrite_mc-0.13.2/src/pyrite/montecarlo/spectrum/brem_bremslib.py +252 -0
- pyrite_mc-0.13.2/src/pyrite/montecarlo/spectrum/brem_events.py +260 -0
- pyrite_mc-0.13.2/src/pyrite/montecarlo/spectrum/brem_jit_kernel.py +892 -0
- pyrite_mc-0.13.2/src/pyrite/montecarlo/spectrum/brem_unit_base.py +107 -0
- pyrite_mc-0.13.2/src/pyrite/montecarlo/spectrum/characteristic.py +899 -0
- pyrite_mc-0.13.2/src/pyrite/montecarlo/spectrum/coherent.py +31 -0
- pyrite_mc-0.13.2/src/pyrite/montecarlo/spectrum/coherent_band_audit.py +369 -0
- pyrite_mc-0.13.2/src/pyrite/montecarlo/spectrum/coherent_dispersion.py +370 -0
- pyrite_mc-0.13.2/src/pyrite/montecarlo/spectrum/coherent_form_factor.py +72 -0
- pyrite_mc-0.13.2/src/pyrite/montecarlo/spectrum/coherent_grouped_jit_kernel.py +322 -0
- pyrite_mc-0.13.2/src/pyrite/montecarlo/spectrum/coherent_jit_kernel.py +766 -0
- pyrite_mc-0.13.2/src/pyrite/montecarlo/spectrum/coherent_normalization.py +724 -0
- pyrite_mc-0.13.2/src/pyrite/montecarlo/spectrum/coherent_population.py +189 -0
- pyrite_mc-0.13.2/src/pyrite/montecarlo/spectrum/coherent_sample_certificates.py +624 -0
- pyrite_mc-0.13.2/src/pyrite/montecarlo/spectrum/coherent_spectrum_audit.py +510 -0
- pyrite_mc-0.13.2/src/pyrite/montecarlo/spectrum/coherent_stream_jit_kernel.py +1186 -0
- pyrite_mc-0.13.2/src/pyrite/montecarlo/spectrum/coherent_transverse.py +262 -0
- pyrite_mc-0.13.2/src/pyrite/montecarlo/spectrum/coherent_windows.py +1223 -0
- pyrite_mc-0.13.2/src/pyrite/montecarlo/spectrum/cxr/__init__.py +103 -0
- pyrite_mc-0.13.2/src/pyrite/montecarlo/spectrum/cxr/_attribution.py +112 -0
- pyrite_mc-0.13.2/src/pyrite/montecarlo/spectrum/cxr/_batched.py +1059 -0
- pyrite_mc-0.13.2/src/pyrite/montecarlo/spectrum/cxr/_batched_finalize.py +246 -0
- pyrite_mc-0.13.2/src/pyrite/montecarlo/spectrum/cxr/_bin_quadrature.py +684 -0
- pyrite_mc-0.13.2/src/pyrite/montecarlo/spectrum/cxr/_bin_tree.py +288 -0
- pyrite_mc-0.13.2/src/pyrite/montecarlo/spectrum/cxr/_formation.py +204 -0
- pyrite_mc-0.13.2/src/pyrite/montecarlo/spectrum/cxr/_kernels.py +1018 -0
- pyrite_mc-0.13.2/src/pyrite/montecarlo/spectrum/cxr/_per_hkl.py +1220 -0
- pyrite_mc-0.13.2/src/pyrite/montecarlo/spectrum/cxr/_policy.py +17 -0
- pyrite_mc-0.13.2/src/pyrite/montecarlo/spectrum/cxr/_setup.py +760 -0
- pyrite_mc-0.13.2/src/pyrite/montecarlo/spectrum/cxr/_spectrum.py +413 -0
- pyrite_mc-0.13.2/src/pyrite/montecarlo/spectrum/cxr/_temporal.py +459 -0
- pyrite_mc-0.13.2/src/pyrite/montecarlo/spectrum/cxr_jit_kernel.py +515 -0
- pyrite_mc-0.13.2/src/pyrite/montecarlo/spectrum/cxr_seeds.py +1182 -0
- pyrite_mc-0.13.2/src/pyrite/montecarlo/spectrum/diagnostics.py +645 -0
- pyrite_mc-0.13.2/src/pyrite/montecarlo/spectrum/phase_retention.py +130 -0
- pyrite_mc-0.13.2/src/pyrite/montecarlo/spectrum/reflection_rows.py +163 -0
- pyrite_mc-0.13.2/src/pyrite/montecarlo/spectrum/segment_escape.py +347 -0
- pyrite_mc-0.13.2/src/pyrite/montecarlo/trajectories.py +1134 -0
- pyrite_mc-0.13.2/src/pyrite/montecarlo/trajectory_export.py +343 -0
- pyrite_mc-0.13.2/src/pyrite/montecarlo/trajectory_inventory.py +245 -0
- pyrite_mc-0.13.2/src/pyrite/montecarlo/trajectory_scene.py +305 -0
- pyrite_mc-0.13.2/src/pyrite/montecarlo/trajectory_selection.py +330 -0
- pyrite_mc-0.13.2/src/pyrite/montecarlo/transport/__init__.py +192 -0
- pyrite_mc-0.13.2/src/pyrite/montecarlo/transport/_jit_annihilation.py +217 -0
- pyrite_mc-0.13.2/src/pyrite/montecarlo/transport/_jit_device.py +516 -0
- pyrite_mc-0.13.2/src/pyrite/montecarlo/transport/_jit_kernel.py +1106 -0
- pyrite_mc-0.13.2/src/pyrite/montecarlo/transport/_jit_launch.py +479 -0
- pyrite_mc-0.13.2/src/pyrite/montecarlo/transport/_jit_lut_kernel.py +542 -0
- pyrite_mc-0.13.2/src/pyrite/montecarlo/transport/_jit_radiative.py +208 -0
- pyrite_mc-0.13.2/src/pyrite/montecarlo/transport/_jit_radiative_device.py +289 -0
- pyrite_mc-0.13.2/src/pyrite/montecarlo/transport/_jit_shell_device.py +358 -0
- pyrite_mc-0.13.2/src/pyrite/montecarlo/transport/annihilation.py +439 -0
- pyrite_mc-0.13.2/src/pyrite/montecarlo/transport/api.py +1250 -0
- pyrite_mc-0.13.2/src/pyrite/montecarlo/transport/arguments.py +62 -0
- pyrite_mc-0.13.2/src/pyrite/montecarlo/transport/atomic_electrons.py +124 -0
- pyrite_mc-0.13.2/src/pyrite/montecarlo/transport/batching.py +858 -0
- pyrite_mc-0.13.2/src/pyrite/montecarlo/transport/beam_entry.py +284 -0
- pyrite_mc-0.13.2/src/pyrite/montecarlo/transport/core_geometry.py +86 -0
- pyrite_mc-0.13.2/src/pyrite/montecarlo/transport/cores.py +1237 -0
- pyrite_mc-0.13.2/src/pyrite/montecarlo/transport/dielectric.py +242 -0
- pyrite_mc-0.13.2/src/pyrite/montecarlo/transport/events.py +305 -0
- pyrite_mc-0.13.2/src/pyrite/montecarlo/transport/hard_inelastic.py +413 -0
- pyrite_mc-0.13.2/src/pyrite/montecarlo/transport/hard_radiative.py +510 -0
- pyrite_mc-0.13.2/src/pyrite/montecarlo/transport/inelastic.py +407 -0
- pyrite_mc-0.13.2/src/pyrite/montecarlo/transport/kinematics.py +270 -0
- pyrite_mc-0.13.2/src/pyrite/montecarlo/transport/layer_tables.py +154 -0
- pyrite_mc-0.13.2/src/pyrite/montecarlo/transport/lut.py +437 -0
- pyrite_mc-0.13.2/src/pyrite/montecarlo/transport/pair_production.py +504 -0
- pyrite_mc-0.13.2/src/pyrite/montecarlo/transport/scattering.py +558 -0
- pyrite_mc-0.13.2/src/pyrite/montecarlo/transport/secondaries.py +1051 -0
- pyrite_mc-0.13.2/src/pyrite/montecarlo/transport/shell_gos.py +363 -0
- pyrite_mc-0.13.2/src/pyrite/montecarlo/transport/shell_oscillators.py +211 -0
- pyrite_mc-0.13.2/src/pyrite/montecarlo/transport/shell_partition.py +155 -0
- pyrite_mc-0.13.2/src/pyrite/montecarlo/transport/shell_rates.py +321 -0
- pyrite_mc-0.13.2/src/pyrite/montecarlo/transport/shell_sampling.py +304 -0
- pyrite_mc-0.13.2/src/pyrite/montecarlo/transport/shell_transport.py +379 -0
- pyrite_mc-0.13.2/src/pyrite/montecarlo/transport/stopping.py +516 -0
- pyrite_mc-0.13.2/src/pyrite/montecarlo/transport/straggling.py +414 -0
- pyrite_mc-0.13.2/src/pyrite/montecarlo/transverse.py +225 -0
- pyrite_mc-0.13.2/src/pyrite/observations/__init__.py +34 -0
- pyrite_mc-0.13.2/src/pyrite/observations/inventory.py +180 -0
- pyrite_mc-0.13.2/src/pyrite/observations/plan.py +309 -0
- pyrite_mc-0.13.2/src/pyrite/observations/store.py +633 -0
- pyrite_mc-0.13.2/src/pyrite/paths.py +72 -0
- pyrite_mc-0.13.2/src/pyrite/perf/__init__.py +1 -0
- pyrite_mc-0.13.2/src/pyrite/perf/performance_analysis.py +665 -0
- pyrite_mc-0.13.2/src/pyrite/perf/performance_profile.py +285 -0
- pyrite_mc-0.13.2/src/pyrite/perf/py_spy.py +90 -0
- pyrite_mc-0.13.2/src/pyrite/plots/__init__.py +205 -0
- pyrite_mc-0.13.2/src/pyrite/plots/_common.py +228 -0
- pyrite_mc-0.13.2/src/pyrite/plots/_frames.py +522 -0
- pyrite_mc-0.13.2/src/pyrite/plots/_pixel_frames.py +241 -0
- pyrite_mc-0.13.2/src/pyrite/plots/_style.py +34 -0
- pyrite_mc-0.13.2/src/pyrite/plots/altair/__init__.py +1 -0
- pyrite_mc-0.13.2/src/pyrite/plots/altair/_typing.py +10 -0
- pyrite_mc-0.13.2/src/pyrite/plots/altair/detectors.py +575 -0
- pyrite_mc-0.13.2/src/pyrite/plots/altair/pixels.py +151 -0
- pyrite_mc-0.13.2/src/pyrite/plots/altair/spectra.py +976 -0
- pyrite_mc-0.13.2/src/pyrite/plots/altair/sweeps.py +381 -0
- pyrite_mc-0.13.2/src/pyrite/plots/altair/temporal.py +83 -0
- pyrite_mc-0.13.2/src/pyrite/plots/altair/trajectories.py +443 -0
- pyrite_mc-0.13.2/src/pyrite/plots/mpl/__init__.py +1 -0
- pyrite_mc-0.13.2/src/pyrite/plots/mpl/_common.py +28 -0
- pyrite_mc-0.13.2/src/pyrite/plots/mpl/detectors.py +575 -0
- pyrite_mc-0.13.2/src/pyrite/plots/mpl/interactive.py +377 -0
- pyrite_mc-0.13.2/src/pyrite/plots/mpl/spectra.py +634 -0
- pyrite_mc-0.13.2/src/pyrite/plots/mpl/sweeps.py +546 -0
- pyrite_mc-0.13.2/src/pyrite/plots/mpl/trajectories.py +490 -0
- pyrite_mc-0.13.2/src/pyrite/plots/plotly/__init__.py +1 -0
- pyrite_mc-0.13.2/src/pyrite/plots/plotly/camera.py +224 -0
- pyrite_mc-0.13.2/src/pyrite/plots/plotly/crystal_lattice.py +426 -0
- pyrite_mc-0.13.2/src/pyrite/plots/plotly/render.py +173 -0
- pyrite_mc-0.13.2/src/pyrite/plots/plotly/trajectories.py +865 -0
- pyrite_mc-0.13.2/src/pyrite/remote/__init__.py +187 -0
- pyrite_mc-0.13.2/src/pyrite/remote/_queue_scripts.py +1206 -0
- pyrite_mc-0.13.2/src/pyrite/remote/cleanup.py +369 -0
- pyrite_mc-0.13.2/src/pyrite/remote/config.py +484 -0
- pyrite_mc-0.13.2/src/pyrite/remote/jobs.py +212 -0
- pyrite_mc-0.13.2/src/pyrite/remote/lifecycle.py +50 -0
- pyrite_mc-0.13.2/src/pyrite/remote/performance.py +183 -0
- pyrite_mc-0.13.2/src/pyrite/remote/pull.py +435 -0
- pyrite_mc-0.13.2/src/pyrite/remote/queue.py +429 -0
- pyrite_mc-0.13.2/src/pyrite/remote/recompute.py +255 -0
- pyrite_mc-0.13.2/src/pyrite/remote/scripts.py +529 -0
- pyrite_mc-0.13.2/src/pyrite/remote/state.py +308 -0
- pyrite_mc-0.13.2/src/pyrite/remote/trajectories.py +293 -0
- pyrite_mc-0.13.2/src/pyrite/remote/transport.py +1161 -0
- pyrite_mc-0.13.2/src/pyrite/remote/viewer.py +588 -0
- pyrite_mc-0.13.2/src/pyrite/results/__init__.py +126 -0
- pyrite_mc-0.13.2/src/pyrite/results/metrics.py +295 -0
- pyrite_mc-0.13.2/src/pyrite/results/model.py +488 -0
- pyrite_mc-0.13.2/src/pyrite/results/provenance.py +146 -0
- pyrite_mc-0.13.2/src/pyrite/results/scoring.py +121 -0
- pyrite_mc-0.13.2/src/pyrite/results/selection.py +500 -0
- pyrite_mc-0.13.2/src/pyrite/results/spatial.py +679 -0
- pyrite_mc-0.13.2/src/pyrite/results/store.py +337 -0
- pyrite_mc-0.13.2/src/pyrite/results/tables.py +177 -0
- pyrite_mc-0.13.2/src/pyrite/runs/__init__.py +1 -0
- pyrite_mc-0.13.2/src/pyrite/runs/_trajectory_capture.py +75 -0
- pyrite_mc-0.13.2/src/pyrite/runs/blaze.py +261 -0
- pyrite_mc-0.13.2/src/pyrite/runs/observe.py +77 -0
- pyrite_mc-0.13.2/src/pyrite/runs/run.py +677 -0
- pyrite_mc-0.13.2/src/pyrite/runs/scan.py +1230 -0
- pyrite_mc-0.13.2/src/pyrite/validation/__init__.py +1 -0
- pyrite_mc-0.13.2/src/pyrite/validation/_anchor_conditions.py +524 -0
- pyrite_mc-0.13.2/src/pyrite/validation/_pinned.py +32 -0
- pyrite_mc-0.13.2/src/pyrite/validation/_zhai.py +31 -0
- pyrite_mc-0.13.2/src/pyrite/validation/anchor_figures.py +1165 -0
- pyrite_mc-0.13.2/src/pyrite/validation/brem_angular.py +90 -0
- pyrite_mc-0.13.2/src/pyrite/validation/brem_sources.py +225 -0
- pyrite_mc-0.13.2/src/pyrite/validation/check_records.py +260 -0
- pyrite_mc-0.13.2/src/pyrite/validation/feranchuk_spence.py +1069 -0
- pyrite_mc-0.13.2/src/pyrite/validation/reference_data/README.md +38 -0
- pyrite_mc-0.13.2/src/pyrite/validation/reference_data/external_brem/v1/README.md +32 -0
- pyrite_mc-0.13.2/src/pyrite/validation/reference_data/external_brem/v1/zhai_fig3b_25kev_1mm_brem.csv +86 -0
- pyrite_mc-0.13.2/src/pyrite/validation/reference_data/external_brem/v1/zhai_fig3b_25kev_1mm_experiment.csv +86 -0
- pyrite_mc-0.13.2/src/pyrite/validation/reference_data/zhai_fig1c.example.csv +17 -0
- pyrite_mc-0.13.2/src/pyrite/validation/shell_ionization.py +376 -0
- pyrite_mc-0.13.2/src/pyrite/validation/validation_background.py +166 -0
- pyrite_mc-0.13.2/src/pyrite/validation/validation_oracles.py +466 -0
- pyrite_mc-0.13.2/src/pyrite/xsgen/__init__.py +51 -0
- pyrite_mc-0.13.2/src/pyrite/xsgen/_errors.py +61 -0
- pyrite_mc-0.13.2/src/pyrite/xsgen/_run.py +281 -0
- pyrite_mc-0.13.2/src/pyrite/xsgen/_urls.py +36 -0
- pyrite_mc-0.13.2/src/pyrite/xsgen/bremslib/__init__.py +41 -0
- pyrite_mc-0.13.2/src/pyrite/xsgen/bremslib/convert.py +279 -0
- pyrite_mc-0.13.2/src/pyrite/xsgen/bremslib/generate.py +128 -0
- pyrite_mc-0.13.2/src/pyrite/xsgen/bremslib/read.py +435 -0
- pyrite_mc-0.13.2/src/pyrite/xsgen/bremslib/release.py +377 -0
- pyrite_mc-0.13.2/src/pyrite/xsgen/bremslib/tables.py +154 -0
- pyrite_mc-0.13.2/src/pyrite/xsgen/elsepa/__init__.py +24 -0
- pyrite_mc-0.13.2/src/pyrite/xsgen/elsepa/catalog.py +366 -0
- pyrite_mc-0.13.2/src/pyrite/xsgen/elsepa/deck.py +229 -0
- pyrite_mc-0.13.2/src/pyrite/xsgen/elsepa/generate.py +179 -0
- pyrite_mc-0.13.2/src/pyrite/xsgen/elsepa/parse.py +144 -0
- pyrite_mc-0.13.2/src/pyrite/xsgen/elsepa/release.py +259 -0
- pyrite_mc-0.13.2/src/pyrite/xsgen/fetch.py +597 -0
- pyrite_mc-0.13.2/src/pyrite/xsgen/install.py +118 -0
- pyrite_mc-0.13.2/src/pyrite/xsgen/sbethe/__init__.py +42 -0
- pyrite_mc-0.13.2/src/pyrite/xsgen/sbethe/catalog.py +171 -0
- pyrite_mc-0.13.2/src/pyrite/xsgen/sbethe/deck.py +168 -0
- pyrite_mc-0.13.2/src/pyrite/xsgen/sbethe/generate.py +170 -0
- pyrite_mc-0.13.2/src/pyrite/xsgen/sbethe/parse.py +198 -0
- pyrite_mc-0.13.2/src/pyrite/xsgen/sbethe/release.py +167 -0
- pyrite_mc-0.13.2/src/pyrite/xsgen/sources.py +489 -0
- pyrite_mc-0.13.2/src/pyrite/xsgen/store.py +690 -0
- pyrite_mc-0.13.2/src/pyrite/xsgen/toolchain.py +223 -0
- pyrite_mc-0.13.2/src/pyrite/xsgen/verify.py +155 -0
- pyrite_mc-0.13.2/tests/check/test_app.py +413 -0
- pyrite_mc-0.13.2/tests/check/test_config.py +83 -0
- pyrite_mc-0.13.2/tests/check/test_config_penetration_watchdog.py +182 -0
- pyrite_mc-0.13.2/tests/check/test_reproduce_zhai.py +65 -0
- pyrite_mc-0.13.2/tests/checkpoint/data/schema_v1.pkl +0 -0
- pyrite_mc-0.13.2/tests/checkpoint/test_archive.py +306 -0
- pyrite_mc-0.13.2/tests/checkpoint/test_campaign_lock.py +151 -0
- pyrite_mc-0.13.2/tests/checkpoint/test_cli.py +85 -0
- pyrite_mc-0.13.2/tests/checkpoint/test_gc.py +97 -0
- pyrite_mc-0.13.2/tests/checkpoint/test_io.py +405 -0
- pyrite_mc-0.13.2/tests/checkpoint/test_rm.py +138 -0
- pyrite_mc-0.13.2/tests/checkpoint/test_score_trajectories.py +203 -0
- pyrite_mc-0.13.2/tests/checkpoint/test_slim.py +459 -0
- pyrite_mc-0.13.2/tests/cli/test_app.py +191 -0
- pyrite_mc-0.13.2/tests/cli/test_backend_setup.py +319 -0
- pyrite_mc-0.13.2/tests/cli/test_beam.py +487 -0
- pyrite_mc-0.13.2/tests/cli/test_blaze.py +179 -0
- pyrite_mc-0.13.2/tests/cli/test_catalog_directory.py +64 -0
- pyrite_mc-0.13.2/tests/cli/test_colors.py +51 -0
- pyrite_mc-0.13.2/tests/cli/test_completion.py +413 -0
- pyrite_mc-0.13.2/tests/cli/test_completion_install.py +310 -0
- pyrite_mc-0.13.2/tests/cli/test_config_command.py +242 -0
- pyrite_mc-0.13.2/tests/cli/test_contract.py +253 -0
- pyrite_mc-0.13.2/tests/cli/test_core.py +185 -0
- pyrite_mc-0.13.2/tests/cli/test_deprecations.py +443 -0
- pyrite_mc-0.13.2/tests/cli/test_detector.py +174 -0
- pyrite_mc-0.13.2/tests/cli/test_detector_demos.py +54 -0
- pyrite_mc-0.13.2/tests/cli/test_dev_short_help.py +35 -0
- pyrite_mc-0.13.2/tests/cli/test_entry_shims.py +68 -0
- pyrite_mc-0.13.2/tests/cli/test_external_catalog.py +154 -0
- pyrite_mc-0.13.2/tests/cli/test_gdf.py +485 -0
- pyrite_mc-0.13.2/tests/cli/test_job.py +68 -0
- pyrite_mc-0.13.2/tests/cli/test_json.py +187 -0
- pyrite_mc-0.13.2/tests/cli/test_json_wiring.py +345 -0
- pyrite_mc-0.13.2/tests/cli/test_local_click_cli.py +488 -0
- pyrite_mc-0.13.2/tests/cli/test_material.py +671 -0
- pyrite_mc-0.13.2/tests/cli/test_physical_detector.py +282 -0
- pyrite_mc-0.13.2/tests/cli/test_profile.py +1878 -0
- pyrite_mc-0.13.2/tests/cli/test_profile_line_grid.py +254 -0
- pyrite_mc-0.13.2/tests/cli/test_profile_precision.py +399 -0
- pyrite_mc-0.13.2/tests/cli/test_profile_user_layer.py +89 -0
- pyrite_mc-0.13.2/tests/cli/test_reference.py +71 -0
- pyrite_mc-0.13.2/tests/cli/test_remote_modifier.py +410 -0
- pyrite_mc-0.13.2/tests/cli/test_retired_spellings.py +249 -0
- pyrite_mc-0.13.2/tests/cli/test_root.py +89 -0
- pyrite_mc-0.13.2/tests/cli/test_tables_command.py +1090 -0
- pyrite_mc-0.13.2/tests/cli/test_trajectories.py +208 -0
- pyrite_mc-0.13.2/tests/cli/test_trial_options.py +104 -0
- pyrite_mc-0.13.2/tests/conftest.py +164 -0
- pyrite_mc-0.13.2/tests/data/cli_contract.json +8134 -0
- pyrite_mc-0.13.2/tests/data/external_crystal_lattices.json +320 -0
- pyrite_mc-0.13.2/tests/data/lab_overlay/beams/compressed_microbunch.toml +11 -0
- pyrite_mc-0.13.2/tests/data/lab_overlay/beams/microtrain_200fs.toml +12 -0
- pyrite_mc-0.13.2/tests/data/lab_overlay/profiles/hopg_hbn_compressed_microbunch.toml +7 -0
- pyrite_mc-0.13.2/tests/data/lab_overlay/profiles/hopg_hbn_gaussian_200fs.toml +7 -0
- pyrite_mc-0.13.2/tests/data/lab_overlay/profiles/hopg_hbn_microtrain_200fs.toml +7 -0
- pyrite_mc-0.13.2/tests/data/lab_overlay/profiles/promising_low_ne.toml +10 -0
- pyrite_mc-0.13.2/tests/data/material_catalog_golden.json +11935 -0
- pyrite_mc-0.13.2/tests/data/mott_srd64_synthetic/DisplayCalcTCSTableForAl.csv +37 -0
- pyrite_mc-0.13.2/tests/data/mott_srd64_synthetic/DisplayCalcTCSTableForB.csv +37 -0
- pyrite_mc-0.13.2/tests/data/mott_srd64_synthetic/DisplayCalcTCSTableForBi.csv +37 -0
- pyrite_mc-0.13.2/tests/data/mott_srd64_synthetic/DisplayCalcTCSTableForC.csv +37 -0
- pyrite_mc-0.13.2/tests/data/mott_srd64_synthetic/DisplayCalcTCSTableForFe.csv +37 -0
- pyrite_mc-0.13.2/tests/data/mott_srd64_synthetic/DisplayCalcTCSTableForGe.csv +37 -0
- pyrite_mc-0.13.2/tests/data/mott_srd64_synthetic/DisplayCalcTCSTableForHf.csv +37 -0
- pyrite_mc-0.13.2/tests/data/mott_srd64_synthetic/DisplayCalcTCSTableForMo.csv +37 -0
- pyrite_mc-0.13.2/tests/data/mott_srd64_synthetic/DisplayCalcTCSTableForN.csv +37 -0
- pyrite_mc-0.13.2/tests/data/mott_srd64_synthetic/DisplayCalcTCSTableForNb.csv +37 -0
- pyrite_mc-0.13.2/tests/data/mott_srd64_synthetic/DisplayCalcTCSTableForO.csv +37 -0
- pyrite_mc-0.13.2/tests/data/mott_srd64_synthetic/DisplayCalcTCSTableForP.csv +37 -0
- pyrite_mc-0.13.2/tests/data/mott_srd64_synthetic/DisplayCalcTCSTableForPd.csv +37 -0
- pyrite_mc-0.13.2/tests/data/mott_srd64_synthetic/DisplayCalcTCSTableForPt.csv +37 -0
- pyrite_mc-0.13.2/tests/data/mott_srd64_synthetic/DisplayCalcTCSTableForRe.csv +37 -0
- pyrite_mc-0.13.2/tests/data/mott_srd64_synthetic/DisplayCalcTCSTableForS.csv +37 -0
- pyrite_mc-0.13.2/tests/data/mott_srd64_synthetic/DisplayCalcTCSTableForSe.csv +37 -0
- pyrite_mc-0.13.2/tests/data/mott_srd64_synthetic/DisplayCalcTCSTableForSi.csv +37 -0
- pyrite_mc-0.13.2/tests/data/mott_srd64_synthetic/DisplayCalcTCSTableForTa.csv +37 -0
- pyrite_mc-0.13.2/tests/data/mott_srd64_synthetic/DisplayCalcTCSTableForTe.csv +37 -0
- pyrite_mc-0.13.2/tests/data/mott_srd64_synthetic/DisplayCalcTCSTableForTi.csv +37 -0
- pyrite_mc-0.13.2/tests/data/mott_srd64_synthetic/DisplayCalcTCSTableForV.csv +37 -0
- pyrite_mc-0.13.2/tests/data/mott_srd64_synthetic/DisplayCalcTCSTableForW.csv +37 -0
- pyrite_mc-0.13.2/tests/data/mott_srd64_synthetic/DisplayCalcTCSTableForZr.csv +37 -0
- pyrite_mc-0.13.2/tests/data/trajectory_artifacts/schema2_hopg_lockstep.h5 +0 -0
- pyrite_mc-0.13.2/tests/data/user_catalog/profiles/coh_test.toml +9 -0
- pyrite_mc-0.13.2/tests/data/user_catalog/profiles/high_energy.toml +20 -0
- pyrite_mc-0.13.2/tests/data/user_catalog/profiles/hopg_hbn.toml +9 -0
- pyrite_mc-0.13.2/tests/data/user_catalog/profiles/hopg_short.toml +9 -0
- pyrite_mc-0.13.2/tests/data/user_catalog/profiles/sub_100keV.toml +7 -0
- pyrite_mc-0.13.2/tests/data/xcom/xcom_Al.txt +86 -0
- pyrite_mc-0.13.2/tests/data/xcom/xcom_C.txt +84 -0
- pyrite_mc-0.13.2/tests/data/xcom/xcom_N.txt +84 -0
- pyrite_mc-0.13.2/tests/data/xcom/xcom_Pb.txt +106 -0
- pyrite_mc-0.13.2/tests/data/xcom/xcom_Se.txt +94 -0
- pyrite_mc-0.13.2/tests/data/xcom/xcom_Si.txt +86 -0
- pyrite_mc-0.13.2/tests/data/xcom/xcom_W.txt +107 -0
- pyrite_mc-0.13.2/tests/data/xsgen/elsepa/test-run-output/dcs_1p000e03.dat +649 -0
- pyrite_mc-0.13.2/tests/detectors/test_eag_wide_scaling_and_mosaic_fwhm.py +68 -0
- pyrite_mc-0.13.2/tests/detectors/test_grating.py +402 -0
- pyrite_mc-0.13.2/tests/detectors/test_package.py +20 -0
- pyrite_mc-0.13.2/tests/detectors/test_pixel_reconstruction_oracle.py +127 -0
- pyrite_mc-0.13.2/tests/detectors/test_response.py +42 -0
- pyrite_mc-0.13.2/tests/detectors/test_solid_angle.py +112 -0
- pyrite_mc-0.13.2/tests/detectors/test_spec.py +97 -0
- pyrite_mc-0.13.2/tests/detectors/test_timepix_native_rebin.py +97 -0
- pyrite_mc-0.13.2/tests/dev/test_agent_tooling.py +159 -0
- pyrite_mc-0.13.2/tests/dev/test_coherent_remote_check.py +325 -0
- pyrite_mc-0.13.2/tests/dev/test_dev.py +11 -0
- pyrite_mc-0.13.2/tests/dev/test_dev_cli.py +536 -0
- pyrite_mc-0.13.2/tests/dev/test_doc_blocks.py +231 -0
- pyrite_mc-0.13.2/tests/dev/test_docs.py +119 -0
- pyrite_mc-0.13.2/tests/dev/test_release.py +179 -0
- pyrite_mc-0.13.2/tests/dev/test_repo_map.py +42 -0
- pyrite_mc-0.13.2/tests/dev/test_slow_marker.py +81 -0
- pyrite_mc-0.13.2/tests/dev/test_startup.py +117 -0
- pyrite_mc-0.13.2/tests/dev/test_validation_check_records.py +153 -0
- pyrite_mc-0.13.2/tests/dev/test_validation_ledger.py +351 -0
- pyrite_mc-0.13.2/tests/energy-grid/test_apply.py +363 -0
- pyrite_mc-0.13.2/tests/energy-grid/test_artifact_gc.py +166 -0
- pyrite_mc-0.13.2/tests/energy-grid/test_artifacts.py +145 -0
- pyrite_mc-0.13.2/tests/energy-grid/test_bounds.py +137 -0
- pyrite_mc-0.13.2/tests/energy-grid/test_cli.py +746 -0
- pyrite_mc-0.13.2/tests/energy-grid/test_coherent_band_audit.py +351 -0
- pyrite_mc-0.13.2/tests/energy-grid/test_coherent_curvature.py +180 -0
- pyrite_mc-0.13.2/tests/energy-grid/test_coherent_directed_bounds.py +165 -0
- pyrite_mc-0.13.2/tests/energy-grid/test_coherent_dispersion.py +99 -0
- pyrite_mc-0.13.2/tests/energy-grid/test_coherent_field_interpolation.py +225 -0
- pyrite_mc-0.13.2/tests/energy-grid/test_coherent_form_factor.py +104 -0
- pyrite_mc-0.13.2/tests/energy-grid/test_coherent_line_grid.py +117 -0
- pyrite_mc-0.13.2/tests/energy-grid/test_coherent_normalization.py +238 -0
- pyrite_mc-0.13.2/tests/energy-grid/test_coherent_sample_certificates.py +246 -0
- pyrite_mc-0.13.2/tests/energy-grid/test_coherent_spectrum_audit.py +528 -0
- pyrite_mc-0.13.2/tests/energy-grid/test_coherent_windowed_line_grid.py +1404 -0
- pyrite_mc-0.13.2/tests/energy-grid/test_continuum_floor.py +372 -0
- pyrite_mc-0.13.2/tests/energy-grid/test_continuum_refinement.py +256 -0
- pyrite_mc-0.13.2/tests/energy-grid/test_convergence.py +345 -0
- pyrite_mc-0.13.2/tests/energy-grid/test_convergence_case.py +197 -0
- pyrite_mc-0.13.2/tests/energy-grid/test_convergence_job.py +105 -0
- pyrite_mc-0.13.2/tests/energy-grid/test_convergence_windows.py +126 -0
- pyrite_mc-0.13.2/tests/energy-grid/test_defaults.py +61 -0
- pyrite_mc-0.13.2/tests/energy-grid/test_derive.py +554 -0
- pyrite_mc-0.13.2/tests/energy-grid/test_golden.py +116 -0
- pyrite_mc-0.13.2/tests/energy-grid/test_grid_semantics.py +256 -0
- pyrite_mc-0.13.2/tests/energy-grid/test_job.py +294 -0
- pyrite_mc-0.13.2/tests/energy-grid/test_line_grid_bandwidth.py +436 -0
- pyrite_mc-0.13.2/tests/energy-grid/test_line_grid_local_spacing.py +358 -0
- pyrite_mc-0.13.2/tests/energy-grid/test_line_grid_policy.py +436 -0
- pyrite_mc-0.13.2/tests/energy-grid/test_line_grid_quadrature.py +161 -0
- pyrite_mc-0.13.2/tests/energy-grid/test_line_grid_windows.py +363 -0
- pyrite_mc-0.13.2/tests/energy-grid/test_line_seeds.py +304 -0
- pyrite_mc-0.13.2/tests/energy-grid/test_line_windows.py +192 -0
- pyrite_mc-0.13.2/tests/energy-grid/test_nonuniform_grid_spelling.py +240 -0
- pyrite_mc-0.13.2/tests/energy-grid/test_precision_ladder.py +129 -0
- pyrite_mc-0.13.2/tests/energy-grid/test_provenance.py +57 -0
- pyrite_mc-0.13.2/tests/energy-grid/test_sinc_spacing.py +46 -0
- pyrite_mc-0.13.2/tests/helpers/__init__.py +60 -0
- pyrite_mc-0.13.2/tests/helpers/backend.py +118 -0
- pyrite_mc-0.13.2/tests/helpers/bremslib.py +60 -0
- pyrite_mc-0.13.2/tests/helpers/cli.py +36 -0
- pyrite_mc-0.13.2/tests/helpers/energy_grid_catalog.py +29 -0
- pyrite_mc-0.13.2/tests/helpers/external_db_fixtures.py +257 -0
- pyrite_mc-0.13.2/tests/helpers/mott_synthetic.py +74 -0
- pyrite_mc-0.13.2/tests/helpers/positron_tables.py +62 -0
- pyrite_mc-0.13.2/tests/helpers/runner.py +93 -0
- pyrite_mc-0.13.2/tests/helpers/segments.py +57 -0
- pyrite_mc-0.13.2/tests/helpers/slow_marker.py +65 -0
- pyrite_mc-0.13.2/tests/helpers/trajectory_schema.py +65 -0
- pyrite_mc-0.13.2/tests/helpers/user_catalog.py +22 -0
- pyrite_mc-0.13.2/tests/instrument/test_acquisition_core.py +191 -0
- pyrite_mc-0.13.2/tests/instrument/test_attenuation.py +94 -0
- pyrite_mc-0.13.2/tests/instrument/test_geometry.py +298 -0
- pyrite_mc-0.13.2/tests/instrument/test_model.py +369 -0
- pyrite_mc-0.13.2/tests/instrument/test_observation.py +218 -0
- pyrite_mc-0.13.2/tests/integration/test_backend_selection.py +653 -0
- pyrite_mc-0.13.2/tests/integration/test_intel_sycl_backend.py +0 -0
- pyrite_mc-0.13.2/tests/materials/test_attenuation.py +172 -0
- pyrite_mc-0.13.2/tests/materials/test_catalog_layout.py +126 -0
- pyrite_mc-0.13.2/tests/materials/test_catalog_startup_errors.py +85 -0
- pyrite_mc-0.13.2/tests/materials/test_crystal_external_db.py +151 -0
- pyrite_mc-0.13.2/tests/materials/test_crystal_lattice.py +125 -0
- pyrite_mc-0.13.2/tests/materials/test_crystallography.py +835 -0
- pyrite_mc-0.13.2/tests/materials/test_detector_demos.py +70 -0
- pyrite_mc-0.13.2/tests/materials/test_emission.py +327 -0
- pyrite_mc-0.13.2/tests/materials/test_external_catalog_identity.py +43 -0
- pyrite_mc-0.13.2/tests/materials/test_external_db_fixtures.py +142 -0
- pyrite_mc-0.13.2/tests/materials/test_fe_w_zr_crystals.py +199 -0
- pyrite_mc-0.13.2/tests/materials/test_form_factors.py +104 -0
- pyrite_mc-0.13.2/tests/materials/test_germanium_crystals.py +88 -0
- pyrite_mc-0.13.2/tests/materials/test_kinematic_validity.py +79 -0
- pyrite_mc-0.13.2/tests/materials/test_line_grid_isolation.py +208 -0
- pyrite_mc-0.13.2/tests/materials/test_material_catalog.py +2313 -0
- pyrite_mc-0.13.2/tests/materials/test_materials_package.py +118 -0
- pyrite_mc-0.13.2/tests/materials/test_nb_ti_v_crystals.py +80 -0
- pyrite_mc-0.13.2/tests/materials/test_pd_pt_crystals.py +159 -0
- pyrite_mc-0.13.2/tests/materials/test_photon_cross_sections.py +162 -0
- pyrite_mc-0.13.2/tests/materials/test_profiles.py +1128 -0
- pyrite_mc-0.13.2/tests/materials/test_re_ta_crystals.py +205 -0
- pyrite_mc-0.13.2/tests/materials/test_user_catalog_layer.py +103 -0
- pyrite_mc-0.13.2/tests/materials/test_validation_background.py +104 -0
- pyrite_mc-0.13.2/tests/materials/test_validation_oracles.py +176 -0
- pyrite_mc-0.13.2/tests/montecarlo/test_adaptive_stopping.py +525 -0
- pyrite_mc-0.13.2/tests/montecarlo/test_annihilation_cuda.py +220 -0
- pyrite_mc-0.13.2/tests/montecarlo/test_atomic_electron_deflection.py +294 -0
- pyrite_mc-0.13.2/tests/montecarlo/test_beam_energy_spread_grid.py +77 -0
- pyrite_mc-0.13.2/tests/montecarlo/test_beam_metrics.py +81 -0
- pyrite_mc-0.13.2/tests/montecarlo/test_block_transport.py +240 -0
- pyrite_mc-0.13.2/tests/montecarlo/test_brem_angular_comparison.py +63 -0
- pyrite_mc-0.13.2/tests/montecarlo/test_brem_events.py +347 -0
- pyrite_mc-0.13.2/tests/montecarlo/test_brem_source_comparison.py +165 -0
- pyrite_mc-0.13.2/tests/montecarlo/test_bremsstrahlung_bremslib.py +305 -0
- pyrite_mc-0.13.2/tests/montecarlo/test_bremsstrahlung_eedl.py +282 -0
- pyrite_mc-0.13.2/tests/montecarlo/test_bremsstrahlung_model_case.py +123 -0
- pyrite_mc-0.13.2/tests/montecarlo/test_bunch_front_tilt.py +235 -0
- pyrite_mc-0.13.2/tests/montecarlo/test_case.py +133 -0
- pyrite_mc-0.13.2/tests/montecarlo/test_characteristic.py +582 -0
- pyrite_mc-0.13.2/tests/montecarlo/test_chunk_invariance.py +218 -0
- pyrite_mc-0.13.2/tests/montecarlo/test_coherent_backend_parity_cuda.py +113 -0
- pyrite_mc-0.13.2/tests/montecarlo/test_coherent_emission.py +690 -0
- pyrite_mc-0.13.2/tests/montecarlo/test_coherent_flat_omission.py +681 -0
- pyrite_mc-0.13.2/tests/montecarlo/test_coherent_formation_absorption.py +186 -0
- pyrite_mc-0.13.2/tests/montecarlo/test_coherent_formation_absorption_cuda.py +337 -0
- pyrite_mc-0.13.2/tests/montecarlo/test_coherent_physical_population.py +444 -0
- pyrite_mc-0.13.2/tests/montecarlo/test_coherent_transverse_omission.py +272 -0
- pyrite_mc-0.13.2/tests/montecarlo/test_coherent_transverse_tilt.py +276 -0
- pyrite_mc-0.13.2/tests/montecarlo/test_coupled_radiative_runner.py +294 -0
- pyrite_mc-0.13.2/tests/montecarlo/test_dielectric_loss.py +228 -0
- pyrite_mc-0.13.2/tests/montecarlo/test_eadl_relaxation.py +171 -0
- pyrite_mc-0.13.2/tests/montecarlo/test_eedl_ionization_consistency.py +82 -0
- pyrite_mc-0.13.2/tests/montecarlo/test_elastic_model_case.py +123 -0
- pyrite_mc-0.13.2/tests/montecarlo/test_electron_blocks.py +190 -0
- pyrite_mc-0.13.2/tests/montecarlo/test_elsepa_elastic.py +283 -0
- pyrite_mc-0.13.2/tests/montecarlo/test_elsepa_positron_elastic.py +74 -0
- pyrite_mc-0.13.2/tests/montecarlo/test_energy_loss_straggling.py +472 -0
- pyrite_mc-0.13.2/tests/montecarlo/test_exports.py +220 -0
- pyrite_mc-0.13.2/tests/montecarlo/test_finite_transverse_geometry.py +135 -0
- pyrite_mc-0.13.2/tests/montecarlo/test_gdf.py +514 -0
- pyrite_mc-0.13.2/tests/montecarlo/test_gpu_oom_retry.py +555 -0
- pyrite_mc-0.13.2/tests/montecarlo/test_groove.py +972 -0
- pyrite_mc-0.13.2/tests/montecarlo/test_hard_radiative.py +189 -0
- pyrite_mc-0.13.2/tests/montecarlo/test_hard_radiative_cuda.py +141 -0
- pyrite_mc-0.13.2/tests/montecarlo/test_hard_radiative_transport.py +271 -0
- pyrite_mc-0.13.2/tests/montecarlo/test_imports.py +238 -0
- pyrite_mc-0.13.2/tests/montecarlo/test_inelastic_partition.py +277 -0
- pyrite_mc-0.13.2/tests/montecarlo/test_line_absorption_tabulation.py +172 -0
- pyrite_mc-0.13.2/tests/montecarlo/test_line_friedel_pairing.py +149 -0
- pyrite_mc-0.13.2/tests/montecarlo/test_line_segment_escape.py +166 -0
- pyrite_mc-0.13.2/tests/montecarlo/test_longitudinal_profiles.py +193 -0
- pyrite_mc-0.13.2/tests/montecarlo/test_montecarlo.py +973 -0
- pyrite_mc-0.13.2/tests/montecarlo/test_mosaic.py +163 -0
- pyrite_mc-0.13.2/tests/montecarlo/test_mosaic_mc.py +152 -0
- pyrite_mc-0.13.2/tests/montecarlo/test_mott_coverage.py +104 -0
- pyrite_mc-0.13.2/tests/montecarlo/test_multilayer.py +581 -0
- pyrite_mc-0.13.2/tests/montecarlo/test_output_noise.py +28 -0
- pyrite_mc-0.13.2/tests/montecarlo/test_pair_production.py +551 -0
- pyrite_mc-0.13.2/tests/montecarlo/test_pair_production_cuda.py +152 -0
- pyrite_mc-0.13.2/tests/montecarlo/test_pair_production_runner.py +135 -0
- pyrite_mc-0.13.2/tests/montecarlo/test_paraview_preset.py +53 -0
- pyrite_mc-0.13.2/tests/montecarlo/test_pool_cadence.py +39 -0
- pyrite_mc-0.13.2/tests/montecarlo/test_positron_annihilation.py +298 -0
- pyrite_mc-0.13.2/tests/montecarlo/test_positron_brems.py +87 -0
- pyrite_mc-0.13.2/tests/montecarlo/test_positron_cascade.py +112 -0
- pyrite_mc-0.13.2/tests/montecarlo/test_positron_cuda.py +184 -0
- pyrite_mc-0.13.2/tests/montecarlo/test_positron_runner.py +75 -0
- pyrite_mc-0.13.2/tests/montecarlo/test_positron_shell_transport.py +155 -0
- pyrite_mc-0.13.2/tests/montecarlo/test_radiation_error_estimators.py +235 -0
- pyrite_mc-0.13.2/tests/montecarlo/test_sbethe_cuda.py +40 -0
- pyrite_mc-0.13.2/tests/montecarlo/test_sbethe_positron_stopping.py +55 -0
- pyrite_mc-0.13.2/tests/montecarlo/test_segment_escape.py +220 -0
- pyrite_mc-0.13.2/tests/montecarlo/test_segment_events.py +338 -0
- pyrite_mc-0.13.2/tests/montecarlo/test_segment_staging.py +294 -0
- pyrite_mc-0.13.2/tests/montecarlo/test_shell_configuration.py +162 -0
- pyrite_mc-0.13.2/tests/montecarlo/test_shell_gos.py +290 -0
- pyrite_mc-0.13.2/tests/montecarlo/test_shell_gos_positron.py +98 -0
- pyrite_mc-0.13.2/tests/montecarlo/test_shell_ionization_comparison.py +70 -0
- pyrite_mc-0.13.2/tests/montecarlo/test_shell_oscillators.py +237 -0
- pyrite_mc-0.13.2/tests/montecarlo/test_shell_partition.py +464 -0
- pyrite_mc-0.13.2/tests/montecarlo/test_shell_rates.py +318 -0
- pyrite_mc-0.13.2/tests/montecarlo/test_shell_secondary_cuda.py +129 -0
- pyrite_mc-0.13.2/tests/montecarlo/test_shell_secondary_transport.py +463 -0
- pyrite_mc-0.13.2/tests/montecarlo/test_shell_soft_hard_config.py +183 -0
- pyrite_mc-0.13.2/tests/montecarlo/test_shell_soft_hard_cuda.py +138 -0
- pyrite_mc-0.13.2/tests/montecarlo/test_shell_soft_hard_transport.py +270 -0
- pyrite_mc-0.13.2/tests/montecarlo/test_sinc_bin_integration.py +347 -0
- pyrite_mc-0.13.2/tests/montecarlo/test_sinc_bin_integration_cuda.py +212 -0
- pyrite_mc-0.13.2/tests/montecarlo/test_sinc_bin_near_far.py +71 -0
- pyrite_mc-0.13.2/tests/montecarlo/test_spectrum_cheap_hoists.py +172 -0
- pyrite_mc-0.13.2/tests/montecarlo/test_spectrum_cuda_cheap_hoists.py +499 -0
- pyrite_mc-0.13.2/tests/montecarlo/test_spectrum_escape_helpers.py +192 -0
- pyrite_mc-0.13.2/tests/montecarlo/test_spectrum_phases.py +444 -0
- pyrite_mc-0.13.2/tests/montecarlo/test_stage_counters.py +42 -0
- pyrite_mc-0.13.2/tests/montecarlo/test_step_limit_retry.py +49 -0
- pyrite_mc-0.13.2/tests/montecarlo/test_stopping_berger_seltzer.py +541 -0
- pyrite_mc-0.13.2/tests/montecarlo/test_stopping_csda_range.py +117 -0
- pyrite_mc-0.13.2/tests/montecarlo/test_stopping_density_effect.py +110 -0
- pyrite_mc-0.13.2/tests/montecarlo/test_straggling_cuda.py +360 -0
- pyrite_mc-0.13.2/tests/montecarlo/test_straggling_remaining_cores.py +589 -0
- pyrite_mc-0.13.2/tests/montecarlo/test_straggling_rng_plumbing.py +357 -0
- pyrite_mc-0.13.2/tests/montecarlo/test_straggling_surface.py +91 -0
- pyrite_mc-0.13.2/tests/montecarlo/test_straggling_transport_integration.py +495 -0
- pyrite_mc-0.13.2/tests/montecarlo/test_substep_invariance.py +324 -0
- pyrite_mc-0.13.2/tests/montecarlo/test_surface_orientation.py +339 -0
- pyrite_mc-0.13.2/tests/montecarlo/test_temporal_profile.py +268 -0
- pyrite_mc-0.13.2/tests/montecarlo/test_tilt_convention.py +147 -0
- pyrite_mc-0.13.2/tests/montecarlo/test_trajectory_capture.py +1085 -0
- pyrite_mc-0.13.2/tests/montecarlo/test_trajectory_scene.py +334 -0
- pyrite_mc-0.13.2/tests/montecarlo/test_trajectory_selection.py +237 -0
- pyrite_mc-0.13.2/tests/montecarlo/test_transport_batch_progress.py +277 -0
- pyrite_mc-0.13.2/tests/montecarlo/test_transport_core_default.py +245 -0
- pyrite_mc-0.13.2/tests/montecarlo/test_transport_cutoff.py +257 -0
- pyrite_mc-0.13.2/tests/montecarlo/test_transport_diagnostics.py +70 -0
- pyrite_mc-0.13.2/tests/montecarlo/test_transport_energy_model.py +471 -0
- pyrite_mc-0.13.2/tests/montecarlo/test_transport_lut.py +416 -0
- pyrite_mc-0.13.2/tests/montecarlo/test_transport_per_electron.py +594 -0
- pyrite_mc-0.13.2/tests/montecarlo/test_transverse.py +298 -0
- pyrite_mc-0.13.2/tests/montecarlo/test_xray_dispersion.py +563 -0
- pyrite_mc-0.13.2/tests/montecarlo/test_xray_dispersion_cuda.py +995 -0
- pyrite_mc-0.13.2/tests/notebooks/altair/test_detectors.py +254 -0
- pyrite_mc-0.13.2/tests/notebooks/altair/test_material_comparison.py +107 -0
- pyrite_mc-0.13.2/tests/notebooks/altair/test_plots.py +439 -0
- pyrite_mc-0.13.2/tests/notebooks/altair/test_spectra_compare.py +475 -0
- pyrite_mc-0.13.2/tests/notebooks/altair/test_sweeps.py +216 -0
- pyrite_mc-0.13.2/tests/notebooks/altair/test_trajectories.py +281 -0
- pyrite_mc-0.13.2/tests/notebooks/analysis_app/test_analyze.py +650 -0
- pyrite_mc-0.13.2/tests/notebooks/analysis_app/test_app.py +433 -0
- pyrite_mc-0.13.2/tests/notebooks/analysis_app/test_export.py +28 -0
- pyrite_mc-0.13.2/tests/notebooks/analysis_app/test_pickers.py +172 -0
- pyrite_mc-0.13.2/tests/notebooks/test_acp.py +77 -0
- pyrite_mc-0.13.2/tests/notebooks/test_anchor_figures.py +883 -0
- pyrite_mc-0.13.2/tests/notebooks/test_design.py +193 -0
- pyrite_mc-0.13.2/tests/notebooks/test_pixel_app.py +148 -0
- pyrite_mc-0.13.2/tests/notebooks/test_scan_app.py +72 -0
- pyrite_mc-0.13.2/tests/notebooks/test_split_apps.py +92 -0
- pyrite_mc-0.13.2/tests/notebooks/test_trace_app.py +232 -0
- pyrite_mc-0.13.2/tests/notebooks/test_viewer.py +257 -0
- pyrite_mc-0.13.2/tests/observations/test_inventory.py +122 -0
- pyrite_mc-0.13.2/tests/observations/test_produce.py +146 -0
- pyrite_mc-0.13.2/tests/observations/test_store.py +390 -0
- pyrite_mc-0.13.2/tests/observations/test_sweep.py +280 -0
- pyrite_mc-0.13.2/tests/performance/test_analysis.py +241 -0
- pyrite_mc-0.13.2/tests/performance/test_cli.py +73 -0
- pyrite_mc-0.13.2/tests/performance/test_profile.py +188 -0
- pyrite_mc-0.13.2/tests/plots/test_camera.py +181 -0
- pyrite_mc-0.13.2/tests/plots/test_detectors.py +139 -0
- pyrite_mc-0.13.2/tests/plots/test_exports.py +190 -0
- pyrite_mc-0.13.2/tests/plots/test_faceting.py +109 -0
- pyrite_mc-0.13.2/tests/plots/test_imports.py +53 -0
- pyrite_mc-0.13.2/tests/plots/test_interactive.py +157 -0
- pyrite_mc-0.13.2/tests/plots/test_material_comparison.py +250 -0
- pyrite_mc-0.13.2/tests/plots/test_pixel_frames.py +99 -0
- pyrite_mc-0.13.2/tests/plots/test_plotly_trajectories.py +545 -0
- pyrite_mc-0.13.2/tests/plots/test_render_trajectories.py +98 -0
- pyrite_mc-0.13.2/tests/plots/test_sweep_metrics_reuse.py +122 -0
- pyrite_mc-0.13.2/tests/plots/test_trajectories.py +49 -0
- pyrite_mc-0.13.2/tests/plots/test_trajectory_builders.py +125 -0
- pyrite_mc-0.13.2/tests/plots/test_trajectory_phase_space.py +135 -0
- pyrite_mc-0.13.2/tests/remote/conftest.py +65 -0
- pyrite_mc-0.13.2/tests/remote/test_artifact_sync.py +85 -0
- pyrite_mc-0.13.2/tests/remote/test_click.py +703 -0
- pyrite_mc-0.13.2/tests/remote/test_emitted_cli_spellings.py +106 -0
- pyrite_mc-0.13.2/tests/remote/test_external_catalog.py +84 -0
- pyrite_mc-0.13.2/tests/remote/test_fidelity_removal.py +57 -0
- pyrite_mc-0.13.2/tests/remote/test_remote.py +6897 -0
- pyrite_mc-0.13.2/tests/remote/test_remote_stem_prediction.py +95 -0
- pyrite_mc-0.13.2/tests/remote/test_remote_trajectories.py +306 -0
- pyrite_mc-0.13.2/tests/remote/test_rsync_sync.py +430 -0
- pyrite_mc-0.13.2/tests/remote/test_start_flags.py +173 -0
- pyrite_mc-0.13.2/tests/remote/test_xsgen_sync.py +434 -0
- pyrite_mc-0.13.2/tests/results/test_cxr_api.py +204 -0
- pyrite_mc-0.13.2/tests/results/test_exports.py +133 -0
- pyrite_mc-0.13.2/tests/results/test_line_metrics_pinned.py +476 -0
- pyrite_mc-0.13.2/tests/results/test_result_views.py +86 -0
- pyrite_mc-0.13.2/tests/results/test_results.py +236 -0
- pyrite_mc-0.13.2/tests/results/test_select_thickness.py +76 -0
- pyrite_mc-0.13.2/tests/results/test_selection.py +239 -0
- pyrite_mc-0.13.2/tests/results/test_spatial_model.py +377 -0
- pyrite_mc-0.13.2/tests/results/test_spectral_components.py +63 -0
- pyrite_mc-0.13.2/tests/scan/test_adaptive_api.py +377 -0
- pyrite_mc-0.13.2/tests/scan/test_beam_objects.py +140 -0
- pyrite_mc-0.13.2/tests/scan/test_bunch_front_matching.py +145 -0
- pyrite_mc-0.13.2/tests/scan/test_bunch_front_tilt.py +129 -0
- pyrite_mc-0.13.2/tests/scan/test_default_precision.py +93 -0
- pyrite_mc-0.13.2/tests/scan/test_kinematic_validity.py +137 -0
- pyrite_mc-0.13.2/tests/scan/test_local_dashboard.py +122 -0
- pyrite_mc-0.13.2/tests/scan/test_physics_policy.py +472 -0
- pyrite_mc-0.13.2/tests/scan/test_public_api.py +167 -0
- pyrite_mc-0.13.2/tests/scan/test_run.py +2746 -0
- pyrite_mc-0.13.2/tests/scan/test_scan_beam_options.py +290 -0
- pyrite_mc-0.13.2/tests/scan/test_scan_budget.py +335 -0
- pyrite_mc-0.13.2/tests/scan/test_scan_coherent.py +233 -0
- pyrite_mc-0.13.2/tests/scan/test_scan_quick_energy.py +127 -0
- pyrite_mc-0.13.2/tests/scan/test_scene_model.py +144 -0
- pyrite_mc-0.13.2/tests/scan/test_source_content_key.py +130 -0
- pyrite_mc-0.13.2/tests/scan/test_stack_dump_signal.py +53 -0
- pyrite_mc-0.13.2/tests/scan/test_successful_imports.py +12 -0
- pyrite_mc-0.13.2/tests/scan/test_sweep.py +1365 -0
- pyrite_mc-0.13.2/tests/scan/test_target_geometry.py +405 -0
- pyrite_mc-0.13.2/tests/test_datasets.py +177 -0
- pyrite_mc-0.13.2/tests/test_deprecation_schedule.py +143 -0
- pyrite_mc-0.13.2/tests/test_module_deprecations.py +56 -0
- pyrite_mc-0.13.2/tests/test_outputs.py +269 -0
- pyrite_mc-0.13.2/tests/test_package_structure.py +90 -0
- pyrite_mc-0.13.2/tests/test_paths.py +96 -0
- pyrite_mc-0.13.2/tests/xsgen/conftest.py +66 -0
- pyrite_mc-0.13.2/tests/xsgen/test_bremslib.py +369 -0
- pyrite_mc-0.13.2/tests/xsgen/test_bremslib_release.py +276 -0
- pyrite_mc-0.13.2/tests/xsgen/test_bremslib_tables.py +164 -0
- pyrite_mc-0.13.2/tests/xsgen/test_elsepa.py +153 -0
- pyrite_mc-0.13.2/tests/xsgen/test_elsepa_catalog.py +182 -0
- pyrite_mc-0.13.2/tests/xsgen/test_elsepa_release.py +162 -0
- pyrite_mc-0.13.2/tests/xsgen/test_extern_codes.py +616 -0
- pyrite_mc-0.13.2/tests/xsgen/test_fetch.py +161 -0
- pyrite_mc-0.13.2/tests/xsgen/test_github_download.py +232 -0
- pyrite_mc-0.13.2/tests/xsgen/test_install.py +38 -0
- pyrite_mc-0.13.2/tests/xsgen/test_legacy_tier.py +98 -0
- pyrite_mc-0.13.2/tests/xsgen/test_positron_tables.py +222 -0
- pyrite_mc-0.13.2/tests/xsgen/test_run.py +194 -0
- pyrite_mc-0.13.2/tests/xsgen/test_run_identity.py +192 -0
- pyrite_mc-0.13.2/tests/xsgen/test_sbethe.py +426 -0
- pyrite_mc-0.13.2/tests/xsgen/test_sbethe_release.py +114 -0
- pyrite_mc-0.13.2/tests/xsgen/test_sources.py +229 -0
- pyrite_mc-0.13.2/tests/xsgen/test_store.py +290 -0
- pyrite_mc-0.13.2/tests/xsgen/test_toolchain.py +155 -0
- pyrite_mc-0.13.2/tests/xsgen/test_workspace_paths.py +20 -0
- pyrite_mc-0.13.2/uv.lock +5362 -0
- pyrite_mc-0.13.2/vendor/xsgen/elsepa/database/z_001.den +754 -0
- pyrite_mc-0.13.2/vendor/xsgen/elsepa/database/z_001.dfs +128 -0
- pyrite_mc-0.13.2/vendor/xsgen/elsepa/database/z_002.den +672 -0
- pyrite_mc-0.13.2/vendor/xsgen/elsepa/database/z_002.dfs +158 -0
- pyrite_mc-0.13.2/vendor/xsgen/elsepa/database/z_003.den +826 -0
- pyrite_mc-0.13.2/vendor/xsgen/elsepa/database/z_003.dfs +178 -0
- pyrite_mc-0.13.2/vendor/xsgen/elsepa/database/z_004.den +760 -0
- pyrite_mc-0.13.2/vendor/xsgen/elsepa/database/z_004.dfs +202 -0
- pyrite_mc-0.13.2/vendor/xsgen/elsepa/database/z_005.den +760 -0
- pyrite_mc-0.13.2/vendor/xsgen/elsepa/database/z_005.dfs +229 -0
- pyrite_mc-0.13.2/vendor/xsgen/elsepa/database/z_006.den +728 -0
- pyrite_mc-0.13.2/vendor/xsgen/elsepa/database/z_006.dfs +247 -0
- pyrite_mc-0.13.2/vendor/xsgen/elsepa/database/z_007.den +704 -0
- pyrite_mc-0.13.2/vendor/xsgen/elsepa/database/z_007.dfs +259 -0
- pyrite_mc-0.13.2/vendor/xsgen/elsepa/database/z_008.den +684 -0
- pyrite_mc-0.13.2/vendor/xsgen/elsepa/database/z_008.dfs +269 -0
- pyrite_mc-0.13.2/vendor/xsgen/elsepa/database/z_009.den +666 -0
- pyrite_mc-0.13.2/vendor/xsgen/elsepa/database/z_009.dfs +278 -0
- pyrite_mc-0.13.2/vendor/xsgen/elsepa/database/z_010.den +652 -0
- pyrite_mc-0.13.2/vendor/xsgen/elsepa/database/z_010.dfs +286 -0
- pyrite_mc-0.13.2/vendor/xsgen/elsepa/database/z_011.den +828 -0
- pyrite_mc-0.13.2/vendor/xsgen/elsepa/database/z_011.dfs +294 -0
- pyrite_mc-0.13.2/vendor/xsgen/elsepa/database/z_012.den +778 -0
- pyrite_mc-0.13.2/vendor/xsgen/elsepa/database/z_012.dfs +301 -0
- pyrite_mc-0.13.2/vendor/xsgen/elsepa/database/z_013.den +804 -0
- pyrite_mc-0.13.2/vendor/xsgen/elsepa/database/z_013.dfs +305 -0
- pyrite_mc-0.13.2/vendor/xsgen/elsepa/database/z_014.den +764 -0
- pyrite_mc-0.13.2/vendor/xsgen/elsepa/database/z_014.dfs +308 -0
- pyrite_mc-0.13.2/vendor/xsgen/elsepa/database/z_015.den +734 -0
- pyrite_mc-0.13.2/vendor/xsgen/elsepa/database/z_015.dfs +311 -0
- pyrite_mc-0.13.2/vendor/xsgen/elsepa/database/z_016.den +714 -0
- pyrite_mc-0.13.2/vendor/xsgen/elsepa/database/z_016.dfs +314 -0
- pyrite_mc-0.13.2/vendor/xsgen/elsepa/database/z_017.den +696 -0
- pyrite_mc-0.13.2/vendor/xsgen/elsepa/database/z_017.dfs +317 -0
- pyrite_mc-0.13.2/vendor/xsgen/elsepa/database/z_018.den +680 -0
- pyrite_mc-0.13.2/vendor/xsgen/elsepa/database/z_018.dfs +320 -0
- pyrite_mc-0.13.2/vendor/xsgen/elsepa/database/z_019.den +860 -0
- pyrite_mc-0.13.2/vendor/xsgen/elsepa/database/z_019.dfs +323 -0
- pyrite_mc-0.13.2/vendor/xsgen/elsepa/database/z_020.den +812 -0
- pyrite_mc-0.13.2/vendor/xsgen/elsepa/database/z_020.dfs +326 -0
- pyrite_mc-0.13.2/vendor/xsgen/elsepa/database/z_021.den +800 -0
- pyrite_mc-0.13.2/vendor/xsgen/elsepa/database/z_021.dfs +359 -0
- pyrite_mc-0.13.2/vendor/xsgen/elsepa/database/z_022.den +790 -0
- pyrite_mc-0.13.2/vendor/xsgen/elsepa/database/z_022.dfs +365 -0
- pyrite_mc-0.13.2/vendor/xsgen/elsepa/database/z_023.den +784 -0
- pyrite_mc-0.13.2/vendor/xsgen/elsepa/database/z_023.dfs +369 -0
- pyrite_mc-0.13.2/vendor/xsgen/elsepa/database/z_024.den +798 -0
- pyrite_mc-0.13.2/vendor/xsgen/elsepa/database/z_024.dfs +373 -0
- pyrite_mc-0.13.2/vendor/xsgen/elsepa/database/z_025.den +770 -0
- pyrite_mc-0.13.2/vendor/xsgen/elsepa/database/z_025.dfs +377 -0
- pyrite_mc-0.13.2/vendor/xsgen/elsepa/database/z_026.den +766 -0
- pyrite_mc-0.13.2/vendor/xsgen/elsepa/database/z_026.dfs +383 -0
- pyrite_mc-0.13.2/vendor/xsgen/elsepa/database/z_027.den +760 -0
- pyrite_mc-0.13.2/vendor/xsgen/elsepa/database/z_027.dfs +384 -0
- pyrite_mc-0.13.2/vendor/xsgen/elsepa/database/z_028.den +756 -0
- pyrite_mc-0.13.2/vendor/xsgen/elsepa/database/z_028.dfs +390 -0
- pyrite_mc-0.13.2/vendor/xsgen/elsepa/database/z_029.den +774 -0
- pyrite_mc-0.13.2/vendor/xsgen/elsepa/database/z_029.dfs +391 -0
- pyrite_mc-0.13.2/vendor/xsgen/elsepa/database/z_030.den +748 -0
- pyrite_mc-0.13.2/vendor/xsgen/elsepa/database/z_030.dfs +391 -0
- pyrite_mc-0.13.2/vendor/xsgen/elsepa/database/z_031.den +794 -0
- pyrite_mc-0.13.2/vendor/xsgen/elsepa/database/z_031.dfs +397 -0
- pyrite_mc-0.13.2/vendor/xsgen/elsepa/database/z_032.den +758 -0
- pyrite_mc-0.13.2/vendor/xsgen/elsepa/database/z_032.dfs +403 -0
- pyrite_mc-0.13.2/vendor/xsgen/elsepa/database/z_033.den +734 -0
- pyrite_mc-0.13.2/vendor/xsgen/elsepa/database/z_033.dfs +410 -0
- pyrite_mc-0.13.2/vendor/xsgen/elsepa/database/z_034.den +714 -0
- pyrite_mc-0.13.2/vendor/xsgen/elsepa/database/z_034.dfs +412 -0
- pyrite_mc-0.13.2/vendor/xsgen/elsepa/database/z_035.den +698 -0
- pyrite_mc-0.13.2/vendor/xsgen/elsepa/database/z_035.dfs +417 -0
- pyrite_mc-0.13.2/vendor/xsgen/elsepa/database/z_036.den +684 -0
- pyrite_mc-0.13.2/vendor/xsgen/elsepa/database/z_036.dfs +423 -0
- pyrite_mc-0.13.2/vendor/xsgen/elsepa/database/z_037.den +862 -0
- pyrite_mc-0.13.2/vendor/xsgen/elsepa/database/z_037.dfs +425 -0
- pyrite_mc-0.13.2/vendor/xsgen/elsepa/database/z_038.den +816 -0
- pyrite_mc-0.13.2/vendor/xsgen/elsepa/database/z_038.dfs +430 -0
- pyrite_mc-0.13.2/vendor/xsgen/elsepa/database/z_039.den +800 -0
- pyrite_mc-0.13.2/vendor/xsgen/elsepa/database/z_039.dfs +432 -0
- pyrite_mc-0.13.2/vendor/xsgen/elsepa/database/z_040.den +790 -0
- pyrite_mc-0.13.2/vendor/xsgen/elsepa/database/z_040.dfs +437 -0
- pyrite_mc-0.13.2/vendor/xsgen/elsepa/database/z_041.den +796 -0
- pyrite_mc-0.13.2/vendor/xsgen/elsepa/database/z_041.dfs +439 -0
- pyrite_mc-0.13.2/vendor/xsgen/elsepa/database/z_042.den +790 -0
- pyrite_mc-0.13.2/vendor/xsgen/elsepa/database/z_042.dfs +444 -0
- pyrite_mc-0.13.2/vendor/xsgen/elsepa/database/z_043.den +786 -0
- pyrite_mc-0.13.2/vendor/xsgen/elsepa/database/z_043.dfs +446 -0
- pyrite_mc-0.13.2/vendor/xsgen/elsepa/database/z_044.den +782 -0
- pyrite_mc-0.13.2/vendor/xsgen/elsepa/database/z_044.dfs +449 -0
- pyrite_mc-0.13.2/vendor/xsgen/elsepa/database/z_045.den +778 -0
- pyrite_mc-0.13.2/vendor/xsgen/elsepa/database/z_045.dfs +453 -0
- pyrite_mc-0.13.2/vendor/xsgen/elsepa/database/z_046.den +766 -0
- pyrite_mc-0.13.2/vendor/xsgen/elsepa/database/z_046.dfs +455 -0
- pyrite_mc-0.13.2/vendor/xsgen/elsepa/database/z_047.den +816 -0
- pyrite_mc-0.13.2/vendor/xsgen/elsepa/database/z_047.dfs +460 -0
- pyrite_mc-0.13.2/vendor/xsgen/elsepa/database/z_048.den +792 -0
- pyrite_mc-0.13.2/vendor/xsgen/elsepa/database/z_048.dfs +462 -0
- pyrite_mc-0.13.2/vendor/xsgen/elsepa/database/z_049.den +844 -0
- pyrite_mc-0.13.2/vendor/xsgen/elsepa/database/z_049.dfs +466 -0
- pyrite_mc-0.13.2/vendor/xsgen/elsepa/database/z_050.den +812 -0
- pyrite_mc-0.13.2/vendor/xsgen/elsepa/database/z_050.dfs +468 -0
- pyrite_mc-0.13.2/vendor/xsgen/elsepa/database/z_051.den +786 -0
- pyrite_mc-0.13.2/vendor/xsgen/elsepa/database/z_051.dfs +471 -0
- pyrite_mc-0.13.2/vendor/xsgen/elsepa/database/z_052.den +766 -0
- pyrite_mc-0.13.2/vendor/xsgen/elsepa/database/z_052.dfs +475 -0
- pyrite_mc-0.13.2/vendor/xsgen/elsepa/database/z_053.den +752 -0
- pyrite_mc-0.13.2/vendor/xsgen/elsepa/database/z_053.dfs +477 -0
- pyrite_mc-0.13.2/vendor/xsgen/elsepa/database/z_054.den +740 -0
- pyrite_mc-0.13.2/vendor/xsgen/elsepa/database/z_054.dfs +480 -0
- pyrite_mc-0.13.2/vendor/xsgen/elsepa/database/z_055.den +918 -0
- pyrite_mc-0.13.2/vendor/xsgen/elsepa/database/z_055.dfs +483 -0
- pyrite_mc-0.13.2/vendor/xsgen/elsepa/database/z_056.den +872 -0
- pyrite_mc-0.13.2/vendor/xsgen/elsepa/database/z_056.dfs +485 -0
- pyrite_mc-0.13.2/vendor/xsgen/elsepa/database/z_057.den +856 -0
- pyrite_mc-0.13.2/vendor/xsgen/elsepa/database/z_057.dfs +488 -0
- pyrite_mc-0.13.2/vendor/xsgen/elsepa/database/z_058.den +866 -0
- pyrite_mc-0.13.2/vendor/xsgen/elsepa/database/z_058.dfs +491 -0
- pyrite_mc-0.13.2/vendor/xsgen/elsepa/database/z_059.den +864 -0
- pyrite_mc-0.13.2/vendor/xsgen/elsepa/database/z_059.dfs +493 -0
- pyrite_mc-0.13.2/vendor/xsgen/elsepa/database/z_060.den +860 -0
- pyrite_mc-0.13.2/vendor/xsgen/elsepa/database/z_060.dfs +496 -0
- pyrite_mc-0.13.2/vendor/xsgen/elsepa/database/z_061.den +858 -0
- pyrite_mc-0.13.2/vendor/xsgen/elsepa/database/z_061.dfs +498 -0
- pyrite_mc-0.13.2/vendor/xsgen/elsepa/database/z_062.den +854 -0
- pyrite_mc-0.13.2/vendor/xsgen/elsepa/database/z_062.dfs +500 -0
- pyrite_mc-0.13.2/vendor/xsgen/elsepa/database/z_063.den +852 -0
- pyrite_mc-0.13.2/vendor/xsgen/elsepa/database/z_063.dfs +503 -0
- pyrite_mc-0.13.2/vendor/xsgen/elsepa/database/z_064.den +836 -0
- pyrite_mc-0.13.2/vendor/xsgen/elsepa/database/z_064.dfs +505 -0
- pyrite_mc-0.13.2/vendor/xsgen/elsepa/database/z_065.den +848 -0
- pyrite_mc-0.13.2/vendor/xsgen/elsepa/database/z_065.dfs +507 -0
- pyrite_mc-0.13.2/vendor/xsgen/elsepa/database/z_066.den +846 -0
- pyrite_mc-0.13.2/vendor/xsgen/elsepa/database/z_066.dfs +509 -0
- pyrite_mc-0.13.2/vendor/xsgen/elsepa/database/z_067.den +844 -0
- pyrite_mc-0.13.2/vendor/xsgen/elsepa/database/z_067.dfs +511 -0
- pyrite_mc-0.13.2/vendor/xsgen/elsepa/database/z_068.den +842 -0
- pyrite_mc-0.13.2/vendor/xsgen/elsepa/database/z_068.dfs +513 -0
- pyrite_mc-0.13.2/vendor/xsgen/elsepa/database/z_069.den +840 -0
- pyrite_mc-0.13.2/vendor/xsgen/elsepa/database/z_069.dfs +515 -0
- pyrite_mc-0.13.2/vendor/xsgen/elsepa/database/z_070.den +838 -0
- pyrite_mc-0.13.2/vendor/xsgen/elsepa/database/z_070.dfs +517 -0
- pyrite_mc-0.13.2/vendor/xsgen/elsepa/database/z_071.den +834 -0
- pyrite_mc-0.13.2/vendor/xsgen/elsepa/database/z_071.dfs +519 -0
- pyrite_mc-0.13.2/vendor/xsgen/elsepa/database/z_072.den +808 -0
- pyrite_mc-0.13.2/vendor/xsgen/elsepa/database/z_072.dfs +521 -0
- pyrite_mc-0.13.2/vendor/xsgen/elsepa/database/z_073.den +800 -0
- pyrite_mc-0.13.2/vendor/xsgen/elsepa/database/z_073.dfs +523 -0
- pyrite_mc-0.13.2/vendor/xsgen/elsepa/database/z_074.den +794 -0
- pyrite_mc-0.13.2/vendor/xsgen/elsepa/database/z_074.dfs +524 -0
- pyrite_mc-0.13.2/vendor/xsgen/elsepa/database/z_075.den +788 -0
- pyrite_mc-0.13.2/vendor/xsgen/elsepa/database/z_075.dfs +526 -0
- pyrite_mc-0.13.2/vendor/xsgen/elsepa/database/z_076.den +782 -0
- pyrite_mc-0.13.2/vendor/xsgen/elsepa/database/z_076.dfs +528 -0
- pyrite_mc-0.13.2/vendor/xsgen/elsepa/database/z_077.den +778 -0
- pyrite_mc-0.13.2/vendor/xsgen/elsepa/database/z_077.dfs +530 -0
- pyrite_mc-0.13.2/vendor/xsgen/elsepa/database/z_078.den +784 -0
- pyrite_mc-0.13.2/vendor/xsgen/elsepa/database/z_078.dfs +531 -0
- pyrite_mc-0.13.2/vendor/xsgen/elsepa/database/z_079.den +780 -0
- pyrite_mc-0.13.2/vendor/xsgen/elsepa/database/z_079.dfs +533 -0
- pyrite_mc-0.13.2/vendor/xsgen/elsepa/database/z_080.den +766 -0
- pyrite_mc-0.13.2/vendor/xsgen/elsepa/database/z_080.dfs +535 -0
- pyrite_mc-0.13.2/vendor/xsgen/elsepa/database/z_081.den +850 -0
- pyrite_mc-0.13.2/vendor/xsgen/elsepa/database/z_081.dfs +536 -0
- pyrite_mc-0.13.2/vendor/xsgen/elsepa/database/z_082.den +816 -0
- pyrite_mc-0.13.2/vendor/xsgen/elsepa/database/z_082.dfs +537 -0
- pyrite_mc-0.13.2/vendor/xsgen/elsepa/database/z_083.den +792 -0
- pyrite_mc-0.13.2/vendor/xsgen/elsepa/database/z_083.dfs +539 -0
- pyrite_mc-0.13.2/vendor/xsgen/elsepa/database/z_084.den +774 -0
- pyrite_mc-0.13.2/vendor/xsgen/elsepa/database/z_084.dfs +541 -0
- pyrite_mc-0.13.2/vendor/xsgen/elsepa/database/z_085.den +758 -0
- pyrite_mc-0.13.2/vendor/xsgen/elsepa/database/z_085.dfs +542 -0
- pyrite_mc-0.13.2/vendor/xsgen/elsepa/database/z_086.den +746 -0
- pyrite_mc-0.13.2/vendor/xsgen/elsepa/database/z_086.dfs +543 -0
- pyrite_mc-0.13.2/vendor/xsgen/elsepa/database/z_087.den +904 -0
- pyrite_mc-0.13.2/vendor/xsgen/elsepa/database/z_087.dfs +545 -0
- pyrite_mc-0.13.2/vendor/xsgen/elsepa/database/z_088.den +862 -0
- pyrite_mc-0.13.2/vendor/xsgen/elsepa/database/z_088.dfs +546 -0
- pyrite_mc-0.13.2/vendor/xsgen/elsepa/database/z_089.den +846 -0
- pyrite_mc-0.13.2/vendor/xsgen/elsepa/database/z_089.dfs +548 -0
- pyrite_mc-0.13.2/vendor/xsgen/elsepa/database/z_090.den +824 -0
- pyrite_mc-0.13.2/vendor/xsgen/elsepa/database/z_090.dfs +549 -0
- pyrite_mc-0.13.2/vendor/xsgen/elsepa/database/z_091.den +836 -0
- pyrite_mc-0.13.2/vendor/xsgen/elsepa/database/z_091.dfs +550 -0
- pyrite_mc-0.13.2/vendor/xsgen/elsepa/database/z_092.den +834 -0
- pyrite_mc-0.13.2/vendor/xsgen/elsepa/database/z_092.dfs +551 -0
- pyrite_mc-0.13.2/vendor/xsgen/elsepa/database/z_093.den +834 -0
- pyrite_mc-0.13.2/vendor/xsgen/elsepa/database/z_093.dfs +553 -0
- pyrite_mc-0.13.2/vendor/xsgen/elsepa/database/z_094.den +840 -0
- pyrite_mc-0.13.2/vendor/xsgen/elsepa/database/z_094.dfs +554 -0
- pyrite_mc-0.13.2/vendor/xsgen/elsepa/database/z_095.den +836 -0
- pyrite_mc-0.13.2/vendor/xsgen/elsepa/database/z_095.dfs +555 -0
- pyrite_mc-0.13.2/vendor/xsgen/elsepa/database/z_096.den +838 -0
- pyrite_mc-0.13.2/vendor/xsgen/elsepa/database/z_096.dfs +556 -0
- pyrite_mc-0.13.2/vendor/xsgen/elsepa/database/z_097.den +840 -0
- pyrite_mc-0.13.2/vendor/xsgen/elsepa/database/z_097.dfs +557 -0
- pyrite_mc-0.13.2/vendor/xsgen/elsepa/database/z_098.den +830 -0
- pyrite_mc-0.13.2/vendor/xsgen/elsepa/database/z_098.dfs +559 -0
- pyrite_mc-0.13.2/vendor/xsgen/elsepa/database/z_099.den +828 -0
- pyrite_mc-0.13.2/vendor/xsgen/elsepa/database/z_099.dfs +560 -0
- pyrite_mc-0.13.2/vendor/xsgen/elsepa/database/z_100.den +826 -0
- pyrite_mc-0.13.2/vendor/xsgen/elsepa/database/z_100.dfs +561 -0
- pyrite_mc-0.13.2/vendor/xsgen/elsepa/database/z_101.den +824 -0
- pyrite_mc-0.13.2/vendor/xsgen/elsepa/database/z_101.dfs +562 -0
- pyrite_mc-0.13.2/vendor/xsgen/elsepa/database/z_102.den +822 -0
- pyrite_mc-0.13.2/vendor/xsgen/elsepa/database/z_102.dfs +563 -0
- pyrite_mc-0.13.2/vendor/xsgen/elsepa/database/z_103.den +866 -0
- pyrite_mc-0.13.2/vendor/xsgen/elsepa/database/z_103.dfs +564 -0
- pyrite_mc-0.13.2/vendor/xsgen/elsepa/elscata.f +518 -0
- pyrite_mc-0.13.2/vendor/xsgen/elsepa/elscata.in +17 -0
- pyrite_mc-0.13.2/vendor/xsgen/elsepa/elsepa2020.f +5031 -0
- pyrite_mc-0.13.2/vendor/xsgen/elsepa/radial.f +7498 -0
- pyrite_mc-0.13.2/vendor/xsgen/sbethe/sbethe.f +4606 -0
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
#!/usr/bin/env bash
|
|
2
|
+
# Agent-agnostic SessionStart hook (Claude Code: .claude/settings.json; Codex:
|
|
3
|
+
# .codex/hooks.json). Top up the session's project venv with every dependency
|
|
4
|
+
# group plus this host's declared GPU backend extra. Backend comes from
|
|
5
|
+
# gitignored .env's
|
|
6
|
+
# PYRITE_MC_BACKEND, falling back to the primary checkout's .env when this
|
|
7
|
+
# worktree has none of its own (.env is gitignored, so a linked worktree
|
|
8
|
+
# created with plain `git worktree add` never inherits it), then to the
|
|
9
|
+
# ambient value. Unset/cpu/auto -> no vendor extra.
|
|
10
|
+
#
|
|
11
|
+
# Fail open and bounded: SessionStart must never hang or block a session.
|
|
12
|
+
# --inexact never uninstalls (so it cannot fight a concurrent `uv run` or drop
|
|
13
|
+
# another backend's packages), --locked never rewrites uv.lock, a short lock
|
|
14
|
+
# timeout gives up when another session is already syncing this venv, and the
|
|
15
|
+
# whole sync is capped by `timeout`. `tool.uv.default-groups = "all"` already
|
|
16
|
+
# makes every `uv run` install all groups; --all-groups also covers branches
|
|
17
|
+
# that predate that setting.
|
|
18
|
+
set -uo pipefail
|
|
19
|
+
root="${CLAUDE_PROJECT_DIR:-$(git rev-parse --show-toplevel 2>/dev/null || true)}"
|
|
20
|
+
[ -n "$root" ] || root=$(cd "$(dirname "${BASH_SOURCE[0]}")/../.." && pwd)
|
|
21
|
+
cd "$root" || exit 0
|
|
22
|
+
|
|
23
|
+
backend=""
|
|
24
|
+
if [ -f .env ]; then
|
|
25
|
+
backend=$(grep -E '^PYRITE_MC_BACKEND=' .env | tail -n1 | cut -d= -f2- || true)
|
|
26
|
+
fi
|
|
27
|
+
|
|
28
|
+
if [ -z "$backend" ]; then
|
|
29
|
+
common_dir=$(git rev-parse --path-format=absolute --git-common-dir 2>/dev/null || true)
|
|
30
|
+
if [ -n "$common_dir" ]; then
|
|
31
|
+
primary_root=$(dirname "$common_dir")
|
|
32
|
+
if [ -f "$primary_root/.env" ]; then
|
|
33
|
+
backend=$(grep -E '^PYRITE_MC_BACKEND=' "$primary_root/.env" | tail -n1 | cut -d= -f2- || true)
|
|
34
|
+
fi
|
|
35
|
+
fi
|
|
36
|
+
fi
|
|
37
|
+
|
|
38
|
+
[ -n "$backend" ] || backend="${PYRITE_MC_BACKEND:-}"
|
|
39
|
+
backend=$(printf '%s' "$backend" | tr -d '[:space:]' | tr '[:upper:]' '[:lower:]')
|
|
40
|
+
|
|
41
|
+
case "$backend" in
|
|
42
|
+
cuda) extra_args=(--extra nvidia) ;;
|
|
43
|
+
rocm) extra_args=(--extra amd) ;;
|
|
44
|
+
sycl) extra_args=(--extra intel) ;;
|
|
45
|
+
*) extra_args=() ;;
|
|
46
|
+
esac
|
|
47
|
+
|
|
48
|
+
log=$(mktemp "${TMPDIR:-/tmp}/pyrite-session-sync.XXXXXX") || exit 0
|
|
49
|
+
if UV_CACHE_DIR=/tmp/pyrite-uv-cache UV_LOCK_TIMEOUT=30 timeout 240 \
|
|
50
|
+
uv sync --all-groups --inexact --locked --quiet "${extra_args[@]}" \
|
|
51
|
+
</dev/null >"$log" 2>&1; then
|
|
52
|
+
rm -f "$log"
|
|
53
|
+
else
|
|
54
|
+
rc=$?
|
|
55
|
+
echo "pyrite: session dependency sync skipped (exit $rc); see $log." \
|
|
56
|
+
"Run \`uv sync --all-groups ${extra_args[*]}\` manually if imports fail."
|
|
57
|
+
fi
|
|
58
|
+
exit 0
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: caveman
|
|
3
|
+
description: Use when user requests caveman mode, terse/token-efficient replies, or `/caveman`; supports lite, full, ultra, and wenyan variants.
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Caveman
|
|
7
|
+
|
|
8
|
+
Reply tersely without losing technical substance.
|
|
9
|
+
|
|
10
|
+
## Control
|
|
11
|
+
|
|
12
|
+
- Default: `full`.
|
|
13
|
+
- Switch: `/caveman lite|full|ultra|wenyan-lite|wenyan-full|wenyan-ultra`.
|
|
14
|
+
- `/caveman wenyan` means `wenyan-full`.
|
|
15
|
+
- Stop: `stop caveman` or `normal mode`.
|
|
16
|
+
- Claim persistence only when host carries session state.
|
|
17
|
+
|
|
18
|
+
## Rules
|
|
19
|
+
|
|
20
|
+
- Obey higher-level instructions and required warnings, citations, evidence,
|
|
21
|
+
progress, and clarification.
|
|
22
|
+
- Drop filler, pleasantries, hedging, repetition, and decorative formatting.
|
|
23
|
+
- Keep technical terms, numbers, code, commands, API names, exact errors, and
|
|
24
|
+
user's language.
|
|
25
|
+
- Do not invent abbreviations or causal-arrow shorthand. Do not announce mode.
|
|
26
|
+
- Code, commits, PR text, quotations, and requested prose keep required format.
|
|
27
|
+
|
|
28
|
+
| Level | Style |
|
|
29
|
+
|---|---|
|
|
30
|
+
| `lite` | Tight full sentences |
|
|
31
|
+
| `full` | Articles optional; fragments allowed |
|
|
32
|
+
| `ultra` | Minimum unambiguous words; each fact once |
|
|
33
|
+
| `wenyan-*` | Matching compression in classical Chinese |
|
|
34
|
+
|
|
35
|
+
Use normal English for security warnings, irreversible confirmations,
|
|
36
|
+
multi-step ambiguity, or user confusion. Resume selected style afterward.
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: caveman-commit
|
|
3
|
+
description: Use when user requests a commit message, `/commit`, or `/caveman-commit`; produce terse Conventional Commits text without staging or committing.
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Caveman Commit
|
|
7
|
+
|
|
8
|
+
Return paste-ready commit message only.
|
|
9
|
+
|
|
10
|
+
## Contract
|
|
11
|
+
|
|
12
|
+
- Subject: `<type>(<scope>): <imperative summary>`; scope optional.
|
|
13
|
+
- Types: `feat`, `fix`, `refactor`, `perf`, `docs`, `test`, `chore`, `build`,
|
|
14
|
+
`ci`, `style`, `revert`.
|
|
15
|
+
- Prefer ≤50 characters; hard cap 72. No trailing period.
|
|
16
|
+
- Match repository capitalization convention.
|
|
17
|
+
- Add 72-column body only for non-obvious why, breakage, migration, security,
|
|
18
|
+
revert context, or issue links.
|
|
19
|
+
- Use `BREAKING CHANGE:` and `Closes #N`/`Refs #N` when applicable.
|
|
20
|
+
- Omit diff narration, filler, emoji, and AI attribution unless repository
|
|
21
|
+
policy requires a trailer.
|
|
22
|
+
|
|
23
|
+
Never stage, commit, or amend. `normal mode` disables terse commit style.
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: caveman-compress
|
|
3
|
+
description: Use when `/caveman-compress FILEPATH` or requests ask to compress natural-language memory/instruction files while preserving code, links, technical content, and Markdown structure.
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Caveman Compress
|
|
7
|
+
|
|
8
|
+
Compress prose; preserve substance and machine-sensitive regions.
|
|
9
|
+
|
|
10
|
+
## Run
|
|
11
|
+
|
|
12
|
+
Script sends file prose to configured Claude service. State that boundary and
|
|
13
|
+
obtain required approval before sending non-public or unverified repository
|
|
14
|
+
content.
|
|
15
|
+
|
|
16
|
+
From this skill directory:
|
|
17
|
+
|
|
18
|
+
```bash
|
|
19
|
+
python3 -m scripts <absolute_filepath>
|
|
20
|
+
```
|
|
21
|
+
|
|
22
|
+
CLI detects type, creates external backup under platform data directory,
|
|
23
|
+
compresses, validates structure/content, and attempts two targeted repairs.
|
|
24
|
+
Report failure without modifying source. If external execution is unavailable,
|
|
25
|
+
apply rules locally and disclose missing automated validation.
|
|
26
|
+
|
|
27
|
+
## Preserve exactly
|
|
28
|
+
|
|
29
|
+
- fenced/indented code and inline backticks
|
|
30
|
+
- URLs, links, paths, commands, environment variables
|
|
31
|
+
- technical terms, proper nouns, dates, versions, and numbers
|
|
32
|
+
- YAML frontmatter, headings, list/table hierarchy
|
|
33
|
+
|
|
34
|
+
## Compress
|
|
35
|
+
|
|
36
|
+
- Drop articles when clear, filler, pleasantries, hedging, and connective fluff.
|
|
37
|
+
- Use short words and fragments.
|
|
38
|
+
- Merge redundant prose; keep one equivalent example.
|
|
39
|
+
- Never edit uncertain code-like text.
|
|
40
|
+
|
|
41
|
+
## Scope
|
|
42
|
+
|
|
43
|
+
Allowed: `.md`, `.txt`, `.typ`, `.typst`, `.tex`, extensionless prose.
|
|
44
|
+
Forbidden: `.py`, `.js`, `.ts`, `.json`, `.yaml`, `.yml`, `.toml`, `.env`,
|
|
45
|
+
`.lock`, `.css`, `.html`, `.xml`, `.sql`, `.sh`, and `*.original.md`.
|
|
@@ -0,0 +1,81 @@
|
|
|
1
|
+
#!/usr/bin/env python3
|
|
2
|
+
import sys
|
|
3
|
+
from pathlib import Path
|
|
4
|
+
|
|
5
|
+
# Support both direct execution and module import
|
|
6
|
+
try:
|
|
7
|
+
from .validate import validate
|
|
8
|
+
except ImportError:
|
|
9
|
+
sys.path.insert(0, str(Path(__file__).parent))
|
|
10
|
+
from validate import validate
|
|
11
|
+
|
|
12
|
+
try:
|
|
13
|
+
import tiktoken
|
|
14
|
+
|
|
15
|
+
_enc = tiktoken.get_encoding("o200k_base")
|
|
16
|
+
except ImportError:
|
|
17
|
+
_enc = None
|
|
18
|
+
|
|
19
|
+
|
|
20
|
+
def count_tokens(text):
|
|
21
|
+
if _enc is None:
|
|
22
|
+
return len(text.split()) # fallback: word count
|
|
23
|
+
return len(_enc.encode(text))
|
|
24
|
+
|
|
25
|
+
|
|
26
|
+
def benchmark_pair(orig_path: Path, comp_path: Path):
|
|
27
|
+
orig_text = orig_path.read_text()
|
|
28
|
+
comp_text = comp_path.read_text()
|
|
29
|
+
|
|
30
|
+
orig_tokens = count_tokens(orig_text)
|
|
31
|
+
comp_tokens = count_tokens(comp_text)
|
|
32
|
+
saved = 100 * (orig_tokens - comp_tokens) / orig_tokens if orig_tokens > 0 else 0.0
|
|
33
|
+
result = validate(orig_path, comp_path)
|
|
34
|
+
|
|
35
|
+
return (comp_path.name, orig_tokens, comp_tokens, saved, result.is_valid)
|
|
36
|
+
|
|
37
|
+
|
|
38
|
+
def print_table(rows):
|
|
39
|
+
print("\n| File | Original | Compressed | Saved % | Valid |")
|
|
40
|
+
print("|------|----------|------------|---------|-------|")
|
|
41
|
+
for r in rows:
|
|
42
|
+
print(f"| {r[0]} | {r[1]} | {r[2]} | {r[3]:.1f}% | {'✅' if r[4] else '❌'} |")
|
|
43
|
+
|
|
44
|
+
|
|
45
|
+
def main():
|
|
46
|
+
# Direct file pair: python3 benchmark.py original.md compressed.md
|
|
47
|
+
if len(sys.argv) == 3:
|
|
48
|
+
orig = Path(sys.argv[1]).resolve()
|
|
49
|
+
comp = Path(sys.argv[2]).resolve()
|
|
50
|
+
if not orig.exists():
|
|
51
|
+
print(f"❌ Not found: {orig}")
|
|
52
|
+
sys.exit(1)
|
|
53
|
+
if not comp.exists():
|
|
54
|
+
print(f"❌ Not found: {comp}")
|
|
55
|
+
sys.exit(1)
|
|
56
|
+
print_table([benchmark_pair(orig, comp)])
|
|
57
|
+
return
|
|
58
|
+
|
|
59
|
+
# Glob mode: repo_root/tests/caveman-compress/
|
|
60
|
+
# __file__ lives at <repo_root>/skills/caveman-compress/scripts/benchmark.py
|
|
61
|
+
# Walk up four dirs: scripts → caveman-compress → skills → repo_root.
|
|
62
|
+
tests_dir = Path(__file__).resolve().parents[3] / "tests" / "caveman-compress"
|
|
63
|
+
if not tests_dir.exists():
|
|
64
|
+
print(f"❌ Tests dir not found: {tests_dir}")
|
|
65
|
+
sys.exit(1)
|
|
66
|
+
|
|
67
|
+
rows = []
|
|
68
|
+
for orig in sorted(tests_dir.glob("*.original.md")):
|
|
69
|
+
comp = orig.with_name(orig.stem.removesuffix(".original") + ".md")
|
|
70
|
+
if comp.exists():
|
|
71
|
+
rows.append(benchmark_pair(orig, comp))
|
|
72
|
+
|
|
73
|
+
if not rows:
|
|
74
|
+
print("No compressed file pairs found.")
|
|
75
|
+
return
|
|
76
|
+
|
|
77
|
+
print_table(rows)
|
|
78
|
+
|
|
79
|
+
|
|
80
|
+
if __name__ == "__main__":
|
|
81
|
+
main()
|
|
@@ -0,0 +1,85 @@
|
|
|
1
|
+
#!/usr/bin/env python3
|
|
2
|
+
"""
|
|
3
|
+
Caveman Compress CLI
|
|
4
|
+
|
|
5
|
+
Usage:
|
|
6
|
+
caveman <filepath>
|
|
7
|
+
"""
|
|
8
|
+
|
|
9
|
+
import sys
|
|
10
|
+
|
|
11
|
+
# Force UTF-8 on stdout/stderr before any code can print. Windows consoles
|
|
12
|
+
# default to cp1252 and crash on the ❌ glyphs in error/validation branches,
|
|
13
|
+
# masking the real error and leaving the user with a half-compressed file.
|
|
14
|
+
for _stream in (sys.stdout, sys.stderr):
|
|
15
|
+
reconfigure = getattr(_stream, "reconfigure", None)
|
|
16
|
+
if callable(reconfigure):
|
|
17
|
+
try:
|
|
18
|
+
reconfigure(encoding="utf-8", errors="replace")
|
|
19
|
+
except Exception:
|
|
20
|
+
pass
|
|
21
|
+
|
|
22
|
+
from pathlib import Path
|
|
23
|
+
|
|
24
|
+
from .compress import backup_dir_for, compress_file
|
|
25
|
+
from .detect import detect_file_type, should_compress
|
|
26
|
+
|
|
27
|
+
|
|
28
|
+
def print_usage():
|
|
29
|
+
print("Usage: caveman <filepath>")
|
|
30
|
+
|
|
31
|
+
|
|
32
|
+
def main():
|
|
33
|
+
if len(sys.argv) != 2:
|
|
34
|
+
print_usage()
|
|
35
|
+
sys.exit(1)
|
|
36
|
+
|
|
37
|
+
filepath = Path(sys.argv[1])
|
|
38
|
+
|
|
39
|
+
# Check file exists
|
|
40
|
+
if not filepath.exists():
|
|
41
|
+
print(f"❌ File not found: {filepath}")
|
|
42
|
+
sys.exit(1)
|
|
43
|
+
|
|
44
|
+
if not filepath.is_file():
|
|
45
|
+
print(f"❌ Not a file: {filepath}")
|
|
46
|
+
sys.exit(1)
|
|
47
|
+
|
|
48
|
+
filepath = filepath.resolve()
|
|
49
|
+
|
|
50
|
+
# Detect file type
|
|
51
|
+
file_type = detect_file_type(filepath)
|
|
52
|
+
|
|
53
|
+
print(f"Detected: {file_type}")
|
|
54
|
+
|
|
55
|
+
# Check if compressible
|
|
56
|
+
if not should_compress(filepath):
|
|
57
|
+
print("Skipping: file is not natural language (code/config)")
|
|
58
|
+
sys.exit(0)
|
|
59
|
+
|
|
60
|
+
print("Starting caveman compression...\n")
|
|
61
|
+
|
|
62
|
+
try:
|
|
63
|
+
success = compress_file(filepath)
|
|
64
|
+
|
|
65
|
+
if success:
|
|
66
|
+
print("\nCompression completed successfully")
|
|
67
|
+
backup_path = backup_dir_for(filepath) / (filepath.stem + ".original.md")
|
|
68
|
+
print(f"Compressed: {filepath}")
|
|
69
|
+
print(f"Original: {backup_path}")
|
|
70
|
+
sys.exit(0)
|
|
71
|
+
else:
|
|
72
|
+
print("\n❌ Compression failed after retries")
|
|
73
|
+
sys.exit(2)
|
|
74
|
+
|
|
75
|
+
except KeyboardInterrupt:
|
|
76
|
+
print("\nInterrupted by user")
|
|
77
|
+
sys.exit(130)
|
|
78
|
+
|
|
79
|
+
except Exception as e:
|
|
80
|
+
print(f"\n❌ Error: {e}")
|
|
81
|
+
sys.exit(1)
|
|
82
|
+
|
|
83
|
+
|
|
84
|
+
if __name__ == "__main__":
|
|
85
|
+
main()
|
|
@@ -0,0 +1,347 @@
|
|
|
1
|
+
#!/usr/bin/env python3
|
|
2
|
+
"""
|
|
3
|
+
Caveman Memory Compression Orchestrator
|
|
4
|
+
|
|
5
|
+
Usage:
|
|
6
|
+
python scripts/compress.py <filepath>
|
|
7
|
+
"""
|
|
8
|
+
|
|
9
|
+
import os
|
|
10
|
+
import re
|
|
11
|
+
import shutil
|
|
12
|
+
import subprocess
|
|
13
|
+
import sys
|
|
14
|
+
from pathlib import Path
|
|
15
|
+
|
|
16
|
+
OUTER_FENCE_REGEX = re.compile(r"\A\s*(`{3,}|~{3,})[^\n]*\n(.*)\n\1\s*\Z", re.DOTALL)
|
|
17
|
+
|
|
18
|
+
# YAML frontmatter: starts at file start with --- on its own line, ends with --- on its own line.
|
|
19
|
+
# Captures the entire block (including delimiters and trailing newline) and the body after.
|
|
20
|
+
FRONTMATTER_REGEX = re.compile(r"\A(---\r?\n.*?\r?\n---\r?\n)(.*)", re.DOTALL)
|
|
21
|
+
|
|
22
|
+
|
|
23
|
+
def split_frontmatter(text: str):
|
|
24
|
+
"""Split YAML frontmatter from body. Returns (frontmatter, body).
|
|
25
|
+
|
|
26
|
+
Memory files (and many other markdown docs) start with a YAML frontmatter
|
|
27
|
+
block delimited by `---` lines. The compression LLM has a habit of stripping
|
|
28
|
+
or rewriting these despite preserve-structure rules in the prompt — so we
|
|
29
|
+
surgically remove the frontmatter before compression and prepend it back
|
|
30
|
+
verbatim to the output. Files without frontmatter pass through unchanged.
|
|
31
|
+
"""
|
|
32
|
+
m = FRONTMATTER_REGEX.match(text)
|
|
33
|
+
if m:
|
|
34
|
+
return m.group(1), m.group(2)
|
|
35
|
+
return "", text
|
|
36
|
+
|
|
37
|
+
|
|
38
|
+
# Filenames and paths that almost certainly hold secrets or PII. Compressing
|
|
39
|
+
# them ships raw bytes to the Anthropic API — a third-party data boundary that
|
|
40
|
+
# developers on sensitive codebases cannot cross. detect.py already skips .env
|
|
41
|
+
# by extension, but credentials.md / secrets.txt / ~/.aws/credentials would
|
|
42
|
+
# slip through the natural-language filter. This is a hard refuse before read.
|
|
43
|
+
SENSITIVE_BASENAME_REGEX = re.compile(
|
|
44
|
+
r"(?ix)^("
|
|
45
|
+
r"\.env(\..+)?"
|
|
46
|
+
r"|\.netrc"
|
|
47
|
+
r"|credentials(\..+)?"
|
|
48
|
+
r"|secrets?(\..+)?"
|
|
49
|
+
r"|passwords?(\..+)?"
|
|
50
|
+
r"|id_(rsa|dsa|ecdsa|ed25519)(\.pub)?"
|
|
51
|
+
r"|authorized_keys"
|
|
52
|
+
r"|known_hosts"
|
|
53
|
+
r"|.*\.(pem|key|p12|pfx|crt|cer|jks|keystore|asc|gpg)"
|
|
54
|
+
r")$"
|
|
55
|
+
)
|
|
56
|
+
|
|
57
|
+
SENSITIVE_PATH_COMPONENTS = frozenset({".ssh", ".aws", ".gnupg", ".kube", ".docker"})
|
|
58
|
+
|
|
59
|
+
SENSITIVE_NAME_TOKENS = (
|
|
60
|
+
"secret",
|
|
61
|
+
"credential",
|
|
62
|
+
"password",
|
|
63
|
+
"passwd",
|
|
64
|
+
"apikey",
|
|
65
|
+
"accesskey",
|
|
66
|
+
"token",
|
|
67
|
+
"privatekey",
|
|
68
|
+
)
|
|
69
|
+
|
|
70
|
+
|
|
71
|
+
def backup_dir_for(filepath: Path) -> Path:
|
|
72
|
+
"""Resolve the out-of-tree backup directory for a given source file.
|
|
73
|
+
|
|
74
|
+
Backups must live OUTSIDE the source directory so skill auto-loaders
|
|
75
|
+
(Claude Code rules/, opencode instructions/, etc.) stop re-ingesting the
|
|
76
|
+
`.original.md` copies as live files. Base dir is platform-aware:
|
|
77
|
+
- Windows: %LOCALAPPDATA%\\caveman-compress\\backups
|
|
78
|
+
- else: $XDG_DATA_HOME/caveman-compress/backups if set,
|
|
79
|
+
else ~/.local/share/caveman-compress/backups
|
|
80
|
+
|
|
81
|
+
The source file's parent-dir name is mirrored under the base to reduce
|
|
82
|
+
cross-project collisions (e.g. two `task.md` files in different repos).
|
|
83
|
+
"""
|
|
84
|
+
if os.name == "nt" or sys.platform == "win32":
|
|
85
|
+
local_appdata = os.environ.get("LOCALAPPDATA")
|
|
86
|
+
base = Path(local_appdata) if local_appdata else Path.home() / "AppData" / "Local"
|
|
87
|
+
base = base / "caveman-compress" / "backups"
|
|
88
|
+
else:
|
|
89
|
+
xdg = os.environ.get("XDG_DATA_HOME")
|
|
90
|
+
base = Path(xdg) if xdg else Path.home() / ".local" / "share"
|
|
91
|
+
base = base / "caveman-compress" / "backups"
|
|
92
|
+
return base / filepath.parent.name
|
|
93
|
+
|
|
94
|
+
|
|
95
|
+
def is_sensitive_path(filepath: Path) -> bool:
|
|
96
|
+
"""Heuristic denylist for files that must never be shipped to a third-party API."""
|
|
97
|
+
name = filepath.name
|
|
98
|
+
if SENSITIVE_BASENAME_REGEX.match(name):
|
|
99
|
+
return True
|
|
100
|
+
lowered_parts = {p.lower() for p in filepath.parts}
|
|
101
|
+
if lowered_parts & SENSITIVE_PATH_COMPONENTS:
|
|
102
|
+
return True
|
|
103
|
+
# Normalize separators so "api-key" and "api_key" both match "apikey".
|
|
104
|
+
lower = re.sub(r"[_\-\s.]", "", name.lower())
|
|
105
|
+
return any(tok in lower for tok in SENSITIVE_NAME_TOKENS)
|
|
106
|
+
|
|
107
|
+
|
|
108
|
+
def strip_llm_wrapper(text: str) -> str:
|
|
109
|
+
"""Strip outer ```markdown ... ``` fence when it wraps the entire output."""
|
|
110
|
+
m = OUTER_FENCE_REGEX.match(text)
|
|
111
|
+
if m:
|
|
112
|
+
return m.group(2)
|
|
113
|
+
return text
|
|
114
|
+
|
|
115
|
+
|
|
116
|
+
from .detect import should_compress
|
|
117
|
+
from .validate import validate
|
|
118
|
+
|
|
119
|
+
MAX_RETRIES = 2
|
|
120
|
+
|
|
121
|
+
|
|
122
|
+
# ---------- Claude Calls ----------
|
|
123
|
+
|
|
124
|
+
|
|
125
|
+
def call_claude(prompt: str) -> str:
|
|
126
|
+
"""Send a prompt to Claude.
|
|
127
|
+
|
|
128
|
+
Prefers the Anthropic SDK when ANTHROPIC_API_KEY is set; otherwise falls
|
|
129
|
+
back to the ``claude --print`` CLI (which handles desktop auth).
|
|
130
|
+
|
|
131
|
+
On Windows the CLI subprocess decoding defaults to the system codepage
|
|
132
|
+
(cp1251 / cp1252) and crashes on UTF-8 output — see issue #152. Pinning
|
|
133
|
+
``encoding="utf-8"`` with ``errors="replace"`` matches the CLI's actual
|
|
134
|
+
native I/O and prevents the UnicodeDecodeError before validation can
|
|
135
|
+
report. Windows users with non-ASCII content can also set
|
|
136
|
+
``ANTHROPIC_API_KEY`` to route through the SDK and skip the subprocess.
|
|
137
|
+
"""
|
|
138
|
+
api_key = os.environ.get("ANTHROPIC_API_KEY")
|
|
139
|
+
if api_key:
|
|
140
|
+
try:
|
|
141
|
+
import anthropic
|
|
142
|
+
|
|
143
|
+
client = anthropic.Anthropic(api_key=api_key)
|
|
144
|
+
msg = client.messages.create(
|
|
145
|
+
model=os.environ.get("CAVEMAN_MODEL", "claude-sonnet-4-5"),
|
|
146
|
+
max_tokens=8192,
|
|
147
|
+
messages=[{"role": "user", "content": prompt}],
|
|
148
|
+
)
|
|
149
|
+
return strip_llm_wrapper(msg.content[0].text.strip())
|
|
150
|
+
except ImportError:
|
|
151
|
+
pass # anthropic not installed, fall back to CLI
|
|
152
|
+
# Fallback: use claude CLI (handles desktop auth).
|
|
153
|
+
# Resolve binary via shutil.which so Windows .cmd/.bat shims (e.g.
|
|
154
|
+
# %APPDATA%\npm\claude.CMD) work without shell=True. On POSIX,
|
|
155
|
+
# shutil.which returns the same absolute path as the implicit lookup,
|
|
156
|
+
# so this is a no-op there. Falls back to bare "claude" if not found
|
|
157
|
+
# on PATH so subprocess raises a clear FileNotFoundError.
|
|
158
|
+
claude_bin = shutil.which("claude") or "claude"
|
|
159
|
+
try:
|
|
160
|
+
result = subprocess.run(
|
|
161
|
+
[claude_bin, "--print"],
|
|
162
|
+
input=prompt,
|
|
163
|
+
text=True,
|
|
164
|
+
capture_output=True,
|
|
165
|
+
check=True,
|
|
166
|
+
encoding="utf-8",
|
|
167
|
+
errors="replace",
|
|
168
|
+
)
|
|
169
|
+
return strip_llm_wrapper(result.stdout.strip())
|
|
170
|
+
except subprocess.CalledProcessError as exc:
|
|
171
|
+
raise RuntimeError(f"Claude call failed:\n{exc.stderr}") from exc
|
|
172
|
+
|
|
173
|
+
|
|
174
|
+
def build_compress_prompt(original: str) -> str:
|
|
175
|
+
return f"""
|
|
176
|
+
Compress this markdown into caveman format.
|
|
177
|
+
|
|
178
|
+
STRICT RULES:
|
|
179
|
+
- Do NOT modify anything inside ``` code blocks
|
|
180
|
+
- Do NOT modify anything inside inline backticks
|
|
181
|
+
- Preserve ALL URLs exactly
|
|
182
|
+
- Preserve ALL headings exactly
|
|
183
|
+
- Preserve file paths and commands
|
|
184
|
+
- Return ONLY the compressed markdown body — do NOT wrap the entire output in a ```markdown fence or any other fence. Inner code blocks from the original stay as-is; do not add a new outer fence around the whole file.
|
|
185
|
+
|
|
186
|
+
Only compress natural language.
|
|
187
|
+
|
|
188
|
+
TEXT:
|
|
189
|
+
{original}
|
|
190
|
+
"""
|
|
191
|
+
|
|
192
|
+
|
|
193
|
+
def build_fix_prompt(original: str, compressed: str, errors: list[str]) -> str:
|
|
194
|
+
errors_str = "\n".join(f"- {e}" for e in errors)
|
|
195
|
+
return f"""You are fixing a caveman-compressed markdown file. Specific validation errors were found.
|
|
196
|
+
|
|
197
|
+
CRITICAL RULES:
|
|
198
|
+
- DO NOT recompress or rephrase the file
|
|
199
|
+
- ONLY fix the listed errors — leave everything else exactly as-is
|
|
200
|
+
- The ORIGINAL is provided as reference only (to restore missing content)
|
|
201
|
+
- Preserve caveman style in all untouched sections
|
|
202
|
+
|
|
203
|
+
ERRORS TO FIX:
|
|
204
|
+
{errors_str}
|
|
205
|
+
|
|
206
|
+
HOW TO FIX:
|
|
207
|
+
- Missing URL: find it in ORIGINAL, restore it exactly where it belongs in COMPRESSED
|
|
208
|
+
- Code block mismatch: find the exact code block in ORIGINAL, restore it in COMPRESSED
|
|
209
|
+
- Heading mismatch: restore the exact heading text from ORIGINAL into COMPRESSED
|
|
210
|
+
- Do not touch any section not mentioned in the errors
|
|
211
|
+
|
|
212
|
+
ORIGINAL (reference only):
|
|
213
|
+
{original}
|
|
214
|
+
|
|
215
|
+
COMPRESSED (fix this):
|
|
216
|
+
{compressed}
|
|
217
|
+
|
|
218
|
+
Return ONLY the fixed compressed file. No explanation.
|
|
219
|
+
"""
|
|
220
|
+
|
|
221
|
+
|
|
222
|
+
# ---------- Core Logic ----------
|
|
223
|
+
|
|
224
|
+
|
|
225
|
+
def compress_file(filepath: Path) -> bool:
|
|
226
|
+
# Resolve and validate path
|
|
227
|
+
filepath = filepath.resolve()
|
|
228
|
+
MAX_FILE_SIZE = 500_000 # 500KB
|
|
229
|
+
if not filepath.exists():
|
|
230
|
+
raise FileNotFoundError(f"File not found: {filepath}")
|
|
231
|
+
if filepath.stat().st_size > MAX_FILE_SIZE:
|
|
232
|
+
raise ValueError(f"File too large to compress safely (max 500KB): {filepath}")
|
|
233
|
+
|
|
234
|
+
# Refuse files that look like they contain secrets or PII. Compressing ships
|
|
235
|
+
# the raw bytes to the Anthropic API — a third-party boundary — so we fail
|
|
236
|
+
# loudly rather than silently exfiltrate credentials or keys. Override is
|
|
237
|
+
# intentional: the user must rename the file if the heuristic is wrong.
|
|
238
|
+
if is_sensitive_path(filepath):
|
|
239
|
+
raise ValueError(
|
|
240
|
+
f"Refusing to compress {filepath}: filename looks sensitive "
|
|
241
|
+
"(credentials, keys, secrets, or known private paths). "
|
|
242
|
+
"Compression sends file contents to the Anthropic API. "
|
|
243
|
+
"Rename the file if this is a false positive."
|
|
244
|
+
)
|
|
245
|
+
|
|
246
|
+
print(f"Processing: {filepath}")
|
|
247
|
+
|
|
248
|
+
if not should_compress(filepath):
|
|
249
|
+
print("Skipping (not natural language)")
|
|
250
|
+
return False
|
|
251
|
+
|
|
252
|
+
original_text = filepath.read_text(errors="ignore")
|
|
253
|
+
# Store backup outside the source directory so skill auto-loaders don't
|
|
254
|
+
# re-ingest the `.original.md` copy as a live file. Mirror the source's
|
|
255
|
+
# parent-dir name + stem under a platform-aware base to reduce collisions.
|
|
256
|
+
backup_dir = backup_dir_for(filepath)
|
|
257
|
+
backup_dir.mkdir(parents=True, exist_ok=True)
|
|
258
|
+
backup_path = backup_dir / (filepath.stem + ".original.md")
|
|
259
|
+
|
|
260
|
+
if not original_text.strip():
|
|
261
|
+
print("❌ Refusing to compress: file is empty or whitespace-only.")
|
|
262
|
+
return False
|
|
263
|
+
|
|
264
|
+
# Check if backup already exists to prevent accidental overwriting
|
|
265
|
+
if backup_path.exists():
|
|
266
|
+
print(f"⚠️ Backup file already exists: {backup_path}")
|
|
267
|
+
print("The original backup may contain important content.")
|
|
268
|
+
print(
|
|
269
|
+
"Aborting to prevent data loss. Please remove or rename the backup file if you want to proceed."
|
|
270
|
+
)
|
|
271
|
+
return False
|
|
272
|
+
|
|
273
|
+
# Split YAML frontmatter off before compression. Claude tends to strip or
|
|
274
|
+
# rewrite frontmatter despite preserve-structure rules; we keep it verbatim
|
|
275
|
+
# by removing it from the input and re-prepending it to the output.
|
|
276
|
+
frontmatter, body = split_frontmatter(original_text)
|
|
277
|
+
if frontmatter:
|
|
278
|
+
print(f"Detected YAML frontmatter ({len(frontmatter)} chars) — preserving verbatim")
|
|
279
|
+
|
|
280
|
+
if not body.strip():
|
|
281
|
+
print("❌ Refusing to compress: body is empty after frontmatter removal.")
|
|
282
|
+
return False
|
|
283
|
+
|
|
284
|
+
# Step 1: Compress (body only, frontmatter excluded)
|
|
285
|
+
print("Compressing with Claude...")
|
|
286
|
+
compressed_body = call_claude(build_compress_prompt(body))
|
|
287
|
+
|
|
288
|
+
if compressed_body is None or not compressed_body.strip():
|
|
289
|
+
print("❌ Compression aborted: Claude returned an empty response.")
|
|
290
|
+
print(" Original file is untouched (no backup created).")
|
|
291
|
+
return False
|
|
292
|
+
|
|
293
|
+
# Compare the BODY (not the whole file) — frontmatter is preserved verbatim
|
|
294
|
+
# and would never change, so identity must be judged on the compressible part.
|
|
295
|
+
if compressed_body.strip() == body.strip():
|
|
296
|
+
print("❌ Compression aborted: output is identical to input.")
|
|
297
|
+
print(" Likely causes: Claude refused, returned the prompt verbatim, or the file is")
|
|
298
|
+
print(" already in caveman form. Original file is untouched (no backup created).")
|
|
299
|
+
return False
|
|
300
|
+
|
|
301
|
+
# Reassemble: frontmatter (verbatim) + compressed body
|
|
302
|
+
compressed = frontmatter + compressed_body
|
|
303
|
+
|
|
304
|
+
# Save original as backup, then verify the backup readback before
|
|
305
|
+
# touching the input file. If the filesystem dropped bytes (encoding,
|
|
306
|
+
# antivirus, disk full), unlink the bad backup and abort instead of
|
|
307
|
+
# leaving the user with a corrupt backup + compressed primary.
|
|
308
|
+
backup_path.write_text(original_text)
|
|
309
|
+
backup_readback = backup_path.read_text(errors="ignore")
|
|
310
|
+
if backup_readback != original_text:
|
|
311
|
+
print(f"❌ Backup write verification failed: {backup_path}")
|
|
312
|
+
print(
|
|
313
|
+
" In-memory original differs from on-disk backup. Aborting before touching the input file."
|
|
314
|
+
)
|
|
315
|
+
try:
|
|
316
|
+
backup_path.unlink()
|
|
317
|
+
except OSError:
|
|
318
|
+
pass
|
|
319
|
+
return False
|
|
320
|
+
filepath.write_text(compressed)
|
|
321
|
+
|
|
322
|
+
# Step 2: Validate + Retry
|
|
323
|
+
for attempt in range(MAX_RETRIES):
|
|
324
|
+
print(f"\nValidation attempt {attempt + 1}")
|
|
325
|
+
|
|
326
|
+
result = validate(backup_path, filepath)
|
|
327
|
+
|
|
328
|
+
if result.is_valid:
|
|
329
|
+
print("Validation passed")
|
|
330
|
+
break
|
|
331
|
+
|
|
332
|
+
print("❌ Validation failed:")
|
|
333
|
+
for err in result.errors:
|
|
334
|
+
print(f" - {err}")
|
|
335
|
+
|
|
336
|
+
if attempt == MAX_RETRIES - 1:
|
|
337
|
+
# Restore original on failure
|
|
338
|
+
filepath.write_text(original_text)
|
|
339
|
+
backup_path.unlink(missing_ok=True)
|
|
340
|
+
print("❌ Failed after retries — original restored")
|
|
341
|
+
return False
|
|
342
|
+
|
|
343
|
+
print("Fixing with Claude...")
|
|
344
|
+
compressed = call_claude(build_fix_prompt(original_text, compressed, result.errors))
|
|
345
|
+
filepath.write_text(compressed)
|
|
346
|
+
|
|
347
|
+
return True
|