-
**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.
The easiest way to get started is to install the pre-built feelpp-project
package from the Feel++ APT repository:
# Add Feel++ APT repository
curl -fsSL https://feelpp.github.io/apt/feelpp.gpg | sudo gpg --dearmor -o /usr/share/keyrings/feelpp.gpg
echo "deb [signed-by=/usr/share/keyrings/feelpp.gpg] https://feelpp.github.io/apt/stable noble feelpp-project" | sudo tee /etc/apt/sources.list.d/feelpp.list
# Install feelpp-project
sudo apt update
sudo apt install feelpp-project
For development/testing versions, replace stable
with testing
:
echo "deb [signed-by=/usr/share/keyrings/feelpp.gpg] https://feelpp.github.io/apt/testing noble feelpp-project" | sudo tee /etc/apt/sources.list.d/feelpp.list
If you prefer to build from source:
-
CMake ≥ 3.21
-
A C++ compiler (GCC or Clang) with MPI support
-
Python 3.8+ and
pip
-
Docker (optional, for container builds)
Create CMakePresets.json in your project root or update the one provided:
cmake --preset default
cmake --build --preset default
cmake --build --preset default --target install
build/default
will contain the build artifacts and the build directory.
Our GitHub Actions workflow (.github/workflows/ci.yml
) includes:
-
build_wheel: Python wheel compilation and artifact upload.
-
build_docs: Builds the Antora site, deploys to GitHub Pages on master.
-
build_code: CMake build, tests with ctest --preset default, Debian packaging.
-
APT Publishing: Automatic publication of .deb packages to Feel++ APT repository:
-
master
branch →testing
channel -
Tagged releases →
stable
channel -
Pull requests →
pr
channel
-
-
docker: Docker image build & push to GHCR using published APT packages.
-
release: On tags vX.Y.Z, publishes binaries, wheels, and creates a GitHub release.
The Feel++ APT repository provides packages for different channels:
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.