Skip to content

restructured repository - #127

Merged
Jens (JensWehner) merged 9 commits into
mainfrom
restructure
Aug 27, 2026
Merged

restructured repository#127
Jens (JensWehner) merged 9 commits into
mainfrom
restructure

Conversation

@JensWehner

@JensWehner Jens (JensWehner) commented Aug 24, 2026

Copy link
Copy Markdown
Contributor

Restructure the repository around four clearly owned components while limiting published artifacts to the Skala runtime package:

  • skala: publishable ASE, PySCF, and GPU4PySCF runtime
  • model: trainable model definition and compiled-model examples
  • gauxc: GauXC integration, exporters, native examples, and documentation
  • benchmark for the creation of benchmarks
  • docs: documentation for the website.

also a few typing fixes, dispersion handling and usage of small gpu runners as enabled in #125

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Restructures the repository into separately owned runtime, model, GauXC, and documentation components while limiting published artifacts to the Skala runtime.

Changes:

  • Separates development tooling into skala_model, skala_gauxc, and skala_benchmark.
  • Updates packaging, release validation, CI, native examples, and documentation paths.
  • Adds runtime, model, integration, and benchmark tests and utilities.

Reviewed changes

Copilot reviewed 83 out of 333 changed files in this pull request and generated 2 comments.

Show a summary per file
File Description
tools/check_release_artifacts.py Validates release contents.
tools/build_release.py Builds component-aware releases.
src/skala/gauxc/__init__.py Removes old GauXC namespace.
skala/tests/test_xc_integrator.py Tests XC integration.
skala/tests/test_traditional.py Tests traditional functionals.
skala/tests/test_scf_retry.py Tests SCF retries.
skala/tests/test_model_chunking.py Tests model chunking.
skala/tests/test_memory_estimators.py Tests memory estimates.
skala/tests/test_hash_pinning.py Tests checkpoint hashes.
skala/tests/test_evaluation.py Tests evaluation policy.
skala/tests/test_enhancement_factor.py Tests spin symmetry.
skala/tests/test_download_model.py Updates example path.
skala/tests/test_backend.py Tests NumPy conversion.
skala/tests/test_ase.py Tests ASE integration.
skala/tests/ridders.py Adds finite-difference helpers.
skala/tests/__init__.py Defines test package.
skala/src/skala/utils/torch_allocator.py Integrates PyTorch/CuPy allocation.
skala/src/skala/utils/__init__.py Defines utility package.
skala/src/skala/typing.py Adds shared type aliases.
skala/src/skala/pyscf/utils.py Adds PySCF version check.
skala/src/skala/pyscf/grids.py Adds cached Skala grids.
skala/src/skala/pyscf/features.py Adds runtime feature generation.
skala/src/skala/pyscf/evaluation.py Defines evaluation requirements.
skala/src/skala/pyscf/backend.py Normalizes CPU/GPU backends.
skala/src/skala/py.typed Marks typed runtime package.
skala/src/skala/gpu4pyscf/grids.py Adds GPU grid caching.
skala/src/skala/functional/base.py Defines runtime functional base.
skala/src/skala/functional/_hashes.py Pins checkpoint hashes.
skala/src/skala/functional/__init__.py Removes trainable-model export.
skala/src/skala/features.py Defines runtime features.
skala/src/skala/dispersion.py Normalizes D3 backends.
skala/src/skala/ase/__init__.py Exposes ASE calculator.
skala/src/skala/__init__.py Defines runtime package metadata.
skala/pyproject.toml Configures runtime distribution.
skala/pixi.toml Configures runtime Pixi package.
skala/LICENSE.txt Adds runtime license.
skala/conftest.py Updates collection paths.
README.md Documents four components.
pyproject.toml Centralizes lint/type configuration.
model/tests/test_utils.py Updates model utility imports.
model/tests/test_traced_model_comparison.py Uses model namespace.
model/tests/test_model.py Uses model namespace.
model/src/skala_model/utils/symmetric_contraction.py Updates utility import.
model/src/skala_model/utils/pad_ragged.py Adds ragged tensor utilities.
model/src/skala_model/utils/irreps.py Updates namespace documentation.
model/src/skala_model/utils/cg.py Adds coefficient utilities.
model/src/skala_model/utils/__init__.py Defines utility package.
model/src/skala_model/model.py Moves trainable model.
model/src/skala_model/layers.py Moves neural layers.
model/src/skala_model/__init__.py Exposes trainable model.
model/examples/fortran/ftorch_integration/CMakeLists.txt Adds FTorch build.
model/examples/fortran/ftorch_integration/cmake/skala-ftorch.cmake Fetches FTorch.
model/examples/fortran/ftorch_integration/cmake/skala-dep-versions.cmake Pins FTorch.
model/examples/fortran/ftorch_integration/.gitignore Ignores generated assets.
model/examples/cpp/cpp_integration/README.md Updates build path.
model/examples/cpp/cpp_integration/prepare_inputs.py Uses model namespace.
model/examples/cpp/cpp_integration/download_model.py Downloads example models.
model/examples/cpp/cpp_integration/CMakeLists.txt Adds C++ build.
model/examples/cpp/cpp_integration/.gitignore Ignores generated assets.
model/conftest.py Adds model fixtures.
gauxc/UPSTREAM.md Documents upstream location.
gauxc/tests/test_gauxc_export.py Uses GauXC namespace.
gauxc/src/skala_gauxc/__init__.py Exposes exporter API.
gauxc/examples/fortran/gauxc_integration/CMakeLists.txt Adds Fortran example build.
gauxc/examples/fortran/gauxc_integration/cmake/skala-hdf5.cmake Finds Fortran HDF5.
gauxc/examples/fortran/gauxc_integration/cmake/skala-gauxc.cmake Configures GauXC.
gauxc/examples/fortran/gauxc_integration/cmake/skala-flap.cmake Configures FLAP.
gauxc/examples/fortran/gauxc_integration/cmake/skala-dep-versions.cmake Pins native dependencies.
gauxc/examples/fortran/gauxc_integration/.gitignore Ignores build outputs.
gauxc/examples/cpp/gauxc_integration/CMakeLists.txt Adds C++ GauXC build.
gauxc/examples/cpp/gauxc_integration/cmake/skala-sdftd3.cmake Configures s-dftd3.
gauxc/examples/cpp/gauxc_integration/cmake/skala-hdf5.cmake Configures HDF5.
gauxc/examples/cpp/gauxc_integration/cmake/skala-gauxc.cmake Configures GauXC.
gauxc/examples/cpp/gauxc_integration/cmake/skala-eigen3.cmake Configures Eigen.
gauxc/examples/cpp/gauxc_integration/cmake/skala-dep-versions.cmake Pins C++ dependencies.
gauxc/examples/cpp/gauxc_integration/cmake/skala-cli11.cmake Configures CLI11.
gauxc/examples/cpp/gauxc_integration/.gitignore Ignores build outputs.
gauxc/examples/c/gauxc_integration/CMakeLists.txt Adds C GauXC build.
gauxc/examples/c/gauxc_integration/cmake/skala-hdf5.cmake Configures C HDF5.
gauxc/examples/c/gauxc_integration/cmake/skala-gauxc.cmake Configures GauXC.
gauxc/examples/c/gauxc_integration/cmake/skala-dep-versions.cmake Pins C dependencies.
gauxc/examples/c/gauxc_integration/cmake/skala-argtable3.cmake Configures Argtable3.
gauxc/examples/c/gauxc_integration/.gitignore Ignores build outputs.
gauxc/docs/scripts/export-h5.py Uses exporter namespace.
gauxc/docs/index.rst Adds GauXC documentation index.
gauxc/docs/gauxc.bib Adds GauXC references.
gauxc/docs/conf.py Configures GauXC Sphinx site.
gauxc/docs/api/macros.rst Documents GauXC macros.
gauxc/docs/api/index.rst Adds API index.
gauxc/docs/api/exceptions.rst Documents error APIs.
gauxc/docs/api/cmake.rst Updates example includes.
gauxc/conftest.py Adds GauXC test fixture.
docs/site/pyscf/singlepoint.ipynb Adds PySCF tutorial.
docs/site/pyscf/scf_settings.ipynb Adds SCF settings tutorial.
docs/site/pyscf/gpu4pyscf.rst Documents GPU usage.
docs/site/model-card/skala-1.1.rst Updates license path.
docs/site/model-card/skala-1.0.rst Updates license path.
docs/site/model-card/index.rst Adds older-model index.
docs/site/installation.rst Adds installation guide.
docs/site/index.rst Links GauXC site.
docs/site/conf.py Updates documentation paths.
docs/site/benchmarks.rst Updates benchmark commands.
docs/site/_ext/benchmark_report.py Uses benchmark namespace.
docs/benchmark/tests/utils.py Adds benchmark test helpers.
docs/benchmark/tests/test_workflow.py Updates workflow imports.
docs/benchmark/tests/test_runner.py Updates runner imports.
docs/benchmark/tests/test_report.py Updates report paths.
docs/benchmark/tests/test_orchestrator.py Updates orchestrator imports.
docs/benchmark/tests/test_metrics.py Updates metric imports.
docs/benchmark/tests/test_docs.py Updates extension path.
docs/benchmark/tests/test_dataset.py Updates dataset namespace.
docs/benchmark/tests/test_cli.py Updates CLI namespace.
docs/benchmark/tests/test_ao_screening_benchmark.py Uses local helpers.
docs/benchmark/tests/__init__.py Defines benchmark tests.
docs/benchmark/src/skala_benchmark/timing.py Updates references.
docs/benchmark/src/skala_benchmark/schema/measurements.py Updates schema references.
docs/benchmark/src/skala_benchmark/schema/environment.py Defines environment schema.
docs/benchmark/src/skala_benchmark/schema/__init__.py Defines schema package.
docs/benchmark/src/skala_benchmark/runner.py Moves benchmark runner.
docs/benchmark/src/skala_benchmark/report/prose.py Adds report prose rendering.
docs/benchmark/src/skala_benchmark/report/data.py Updates report imports.
docs/benchmark/src/skala_benchmark/report/_normalize.py Adds report normalization.
docs/benchmark/src/skala_benchmark/report/__init__.py Exposes report generation.
docs/benchmark/src/skala_benchmark/README.md Updates documentation link.
docs/benchmark/src/skala_benchmark/protocol.py Defines benchmark protocol.
docs/benchmark/src/skala_benchmark/orchestrator.py Moves benchmark orchestration.
docs/benchmark/src/skala_benchmark/node_info.py Updates schema import.
docs/benchmark/src/skala_benchmark/models.py Defines benchmark records.
docs/benchmark/src/skala_benchmark/metrics.py Updates metric references.
docs/benchmark/src/skala_benchmark/fetch.py Updates dataset references.
docs/benchmark/src/skala_benchmark/dataset.py Updates dataset namespace.
docs/benchmark/src/skala_benchmark/collect_results.py Updates collection imports.
docs/benchmark/src/skala_benchmark/__main__.py Updates benchmark CLI.
docs/benchmark/src/skala_benchmark/__init__.py Defines benchmark package.
docs/benchmark/run_pyscf_vxc_precision_benchmark.py Adds precision benchmark.
docs/benchmark/results/rotation_comparison/tables/validation-failures.csv Adds validation results.
docs/benchmark/results/rotation_comparison/tables/status-summary.csv Adds status results.
docs/benchmark/results/rotation_comparison/tables/runtime-statistics.csv Adds runtime results.
docs/benchmark/results/rotation_comparison/tables/route-summary.csv Adds route results.
docs/benchmark/results/rotation_comparison/tables/orientation-sensitivity-fits.csv Adds orientation fits.
docs/benchmark/results/rotation_comparison/tables/memory-statistics.csv Adds memory results.
docs/benchmark/results/rotation_comparison/tables/gradient-diagnostics.csv Adds gradient results.
docs/benchmark/results/rotation_comparison/tables/environment-and-source-metadata.csv Adds benchmark metadata.
docs/benchmark/reference/README.md Documents reference data.
docs/benchmark/reference/prose.yaml Adds report prose.
docs/benchmark/reference/measurements.json Adds LFS measurements.
docs/benchmark/reference/environments.json Adds environment metadata.
docs/benchmark/pyproject.toml Packages benchmark tooling.
docs/benchmark/conftest.py Adds benchmark fixtures.
CONTRIBUTING.md Updates contributor commands.
AGENTS.md Documents new architecture.
.pre-commit-config.yaml Updates mypy source paths.
.gitignore Updates generated-file exclusions.
.github/workflows/test.yml Adds component tests.
.github/workflows/model-examples.yml Updates model example paths.
.github/workflows/model-benchmark.yml Updates benchmark paths.
.github/workflows/examples.yml Updates GauXC paths.
.github/workflows/docs.yml Updates documentation artifact path.

💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.

Comment thread tools/check_release_artifacts.py
Comment thread tools/check_release_artifacts.py
Comment thread docs/benchmark/results/rotation_comparison/figures/memory-by-mode.png Outdated
@JensWehner
Jens (JensWehner) force-pushed the restructure branch 2 times, most recently from 575e08d to 05aeb5d Compare August 24, 2026 15:54
Comment thread .github/workflows/examples.yml Outdated
Comment thread .github/workflows/model-examples.yml Outdated
Comment thread .github/workflows/test.yml Outdated
Comment thread gauxc/docs/conf.py
Comment thread gauxc/conftest.py
Comment thread skala/README.md
Comment thread tools/check_release_artifacts.py
Comment thread .pre-commit-config.yaml
Comment thread pixi.toml
Comment thread pyproject.toml
Comment thread pyproject.toml Outdated
@JensWehner
Jens (JensWehner) marked this pull request as ready for review August 25, 2026 13:48
Base automatically changed from pixi to main August 26, 2026 07:22
Comment thread pixi.toml Outdated
h5py = "*"

[feature.component-sources.activation.env]
PYTHONPATH = "$PIXI_PROJECT_ROOT/model/src:$PIXI_PROJECT_ROOT/gauxc/src:$PIXI_PROJECT_ROOT/docs/benchmark/src"

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

this looks.. hacky

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

made those folders packages, it is nearly not hacky anymore, only gauxc left, which will be removed soon #129

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

a little bit hard to review because many things happen at once, the moving of files + the fixing to make the typechecker happy instead of ignoring the changes. tried to review, looks good!

@jhrmnn Jan Hermann (jhrmnn) left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks good. Two questions:

  1. Thinking about a small CI test ensuring the versions are the same across all packages?
  2. Thinking about docs/site -> site?

@JensWehner

Copy link
Copy Markdown
Contributor Author

Looks good. Two questions:

  1. Thinking about a small CI test ensuring the versions are the same across all packages?
  2. Thinking about docs/site -> site?
  1. added
  2. moved docs/site -> website

@JensWehner
Jens (JensWehner) merged commit feae1a9 into main Aug 27, 2026
44 checks passed
@JensWehner
Jens (JensWehner) deleted the restructure branch August 27, 2026 07:22
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants