-
**C** example apps using Feel and its toolboxes (located in
src/). -
Python Jupyter notebooks under
docs/notebooks/for interactive demos. -
Documentation authored in AsciiDoc and published with Antora (
docs/). -
Docker setup for reproducible development and deployment.
-
CI via GitHub Actions: C++ tests, Python wheel builds, docs site.
-
CMake ≥ 3.21
-
A C++ compiler (GCC or Clang) with MPI support
-
Python 3.8+ and
pip -
Docker (optional, for container builds)
-
Node.js 22+ for documentation;
.nvmrcand CI select Node.js 24
Self-hosted runners used by the artifact and Docker actions must run GitHub Actions Runner 2.327.1 or newer (Node.js 24 action runtime).
Documentation dependencies are locked in package-lock.json; use npm ci before npm run antora.
Dependabot groups npm and GitHub Actions tooling updates by ecosystem.
npm run test:dependencies checks configuration parsing, glob compatibility, and excessive-nesting rejection; CI also runs the full npm audit.
Antora 3.2 and its YAML dependencies are updated. The Collector’s YAML dependency is overridden to the patched 4.3 release line.
Until upstream braces has a fixed release, all consumers use the exact reviewed @dieub/braces-depth-guard@3.0.3-pn.3 fork through an npm override. This is a third-party depth-guard backport, not an official upstream release; its actual identity and registry integrity remain recorded in the lockfile. Remove this override when upstream ships an equivalent fix.
The unused legacy broken-link-checker dependency was removed rather than forcing incompatible versions into its obsolete dependency tree.
Our GitHub Actions workflow (.github/workflows/ci.yml) includes:
-
build_wheel: Python wheel compilation and artifact upload.
-
docs: Builds the Antora site, deploys to GitHub Pages on master.
-
build_code: CMake build, tests with ctest --preset default, packaging.
-
deliver: Docker image build & push to GHCR.
-
release: On tags vX.Y.Z, publishes binaries, wheels, datasets, and creates a GitHub release.
Project version is centrally defined in:
-
CMakeLists.txt
-
docs/antora.yml
-
docs/package.json
We welcome contributions! Please:
-
Fork the repository and create a feature branch.
-
Adhere to existing coding conventions; add C++ tests where appropriate.
-
Update documentation (docs/) for any new features.
-
Submit a pull request with a clear description of your changes.