Python bindings for the NeoN CFD framework
Project description
Requirements | Compilation | Integration | Documentation | Roadmap |
NeoN
[!IMPORTANT] The NeoN project needs you! If you're interested in contributing to NeoN please open a PR! If you have any questions on where to start please contact us here or on gitter.
Requirements
NeoN has the following requirements
- cmake > 3.22
- gcc >= 13 or clang >= 19
- Kokkos 5.0.2
For GPU support
- NVIDIA: CUDA 12+
- Intel: oneAPI Base Toolkit 2024.2
For development it is required to use pre-commit.
C++ dependencies
C++ dependencies like Kokkos are handled via CPM and are cloned at the configuration step.
However, the cmake build process will prefer system wide installed C++ dependencies like Kokkos, cxxopts, etc.
If you prefer to clone, configure and build dependencies your self consider setting -DCPM_USE_LOCAL_PACKAGES = OFF, see CPM for more details.
Compilation
NeoN uses cmake to build, thus the standard cmake procedure should work. From a build directory you can execute
cmake <DesiredBuildFlags> ..
cmake --build .
cmake --install .
Additionally, we provide several Cmake presets to set commmonly required flags if you compile NeoN in combination with Kokkos.
cmake --list-presets # To list existing presets
cmake --preset production # To configure for production use
cmake --build --preset production # To compile for production use
Executing Tests
We provide a set of unit tests which can be executed via ctest or
cmake --build . --target test
Pixi Workspace
For local development, NeoN can be driven via pixi.toml. Pixi provides the
developer tools, such as Python, CMake, Ninja, a C++ compiler, nanobind, pytest,
and optional CUDA compiler packages, in an isolated environment.
Typical commands are:
pixi install
pixi shell
pixi run build
pixi run test
pixi run -e cuda build-cuda
pixi run -e cuda test-cuda
Pixi is only the local development leg. It is not used to publish Python wheels or upload releases.
Python Wheels
The Python distribution name in this test repository is
andrei-maftei-testneon, which produces wheel filenames starting with
andrei_maftei_testneon. The import package remains neon.
The package version in pyproject.toml is the source of truth. CMake reads that
version during configuration, and the generated neon.__version__ uses the same
value.
GitHub Actions uses cibuildwheel to build wheels after pushes, nightly schedules,
manual dispatches, and release tags. Stable releases use tags named like
v0.1.0. Nightly builds use development versions like
0.1.1.dev202605270217123.
CPU wheels use the plain package version and are published to PyPI only for
stable v*.*.* tags. CUDA wheels use local version suffixes such as
0.1.0+cuda128 and 0.1.0+cuda130; these are uploaded to the GitHub Release
for stable tags and are also available as workflow artifacts.
Integration with other CFD Frameworks
Currently, NeoN is not a standalone CFD framework. It is designed to be used with other CFD Frameworks. Examples how to integrate NeoN into CFD frameworks and how to write applications is demonstrated in the NeoFOAM repository.
Documentation
An online documentation can be found here, be cautious since this repository is currently evolving the documentation might not always reflect the latest stage.
For building the documentation further dependencies like doxygen and sphinx are requirement. The list of requirements can be found here
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distributions
Built Distributions
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file andrei_maftei_testneon-0.1.1.dev2026052819147-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl.
File metadata
- Download URL: andrei_maftei_testneon-0.1.1.dev2026052819147-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
- Upload date:
- Size: 55.0 MB
- Tags: CPython 3.13, manylinux: glibc 2.27+ x86-64, manylinux: glibc 2.28+ x86-64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
bee5ca5c411bd2c7742513bb755212afdbe058ed3a599b8fceb852ecd42ddcdd
|
|
| MD5 |
069ce66d5f414a36d5b819e28be84c43
|
|
| BLAKE2b-256 |
14da1acd544993ad6aa60d17202757b55c6697e9bb71d82f3bed8a69b72c8cac
|
Provenance
The following attestation bundles were made for andrei_maftei_testneon-0.1.1.dev2026052819147-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl:
Publisher:
python_wheels.yaml on AndreiIulianMaftei/testneon
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
andrei_maftei_testneon-0.1.1.dev2026052819147-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl -
Subject digest:
bee5ca5c411bd2c7742513bb755212afdbe058ed3a599b8fceb852ecd42ddcdd - Sigstore transparency entry: 1661282273
- Sigstore integration time:
-
Permalink:
AndreiIulianMaftei/testneon@46bfded543e481ca7a815442cd7cdf508ae7cf74 -
Branch / Tag:
refs/heads/main - Owner: https://github.com/AndreiIulianMaftei
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
python_wheels.yaml@46bfded543e481ca7a815442cd7cdf508ae7cf74 -
Trigger Event:
workflow_dispatch
-
Statement type:
File details
Details for the file andrei_maftei_testneon-0.1.1.dev2026052819147-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl.
File metadata
- Download URL: andrei_maftei_testneon-0.1.1.dev2026052819147-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
- Upload date:
- Size: 55.0 MB
- Tags: CPython 3.12, manylinux: glibc 2.27+ x86-64, manylinux: glibc 2.28+ x86-64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
493b3e1e090ef42f8e5b739ddc2d09be5983f5651686df1216a7946fe280d4c5
|
|
| MD5 |
2d83bc525d477b46162191e9b5a04a8f
|
|
| BLAKE2b-256 |
52537bba8b966a405e06af3f0f497519068488c6382ed9eafd2e655f1cd55c66
|
Provenance
The following attestation bundles were made for andrei_maftei_testneon-0.1.1.dev2026052819147-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl:
Publisher:
python_wheels.yaml on AndreiIulianMaftei/testneon
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
andrei_maftei_testneon-0.1.1.dev2026052819147-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl -
Subject digest:
493b3e1e090ef42f8e5b739ddc2d09be5983f5651686df1216a7946fe280d4c5 - Sigstore transparency entry: 1661281948
- Sigstore integration time:
-
Permalink:
AndreiIulianMaftei/testneon@46bfded543e481ca7a815442cd7cdf508ae7cf74 -
Branch / Tag:
refs/heads/main - Owner: https://github.com/AndreiIulianMaftei
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
python_wheels.yaml@46bfded543e481ca7a815442cd7cdf508ae7cf74 -
Trigger Event:
workflow_dispatch
-
Statement type:
File details
Details for the file andrei_maftei_testneon-0.1.1.dev2026052819147-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl.
File metadata
- Download URL: andrei_maftei_testneon-0.1.1.dev2026052819147-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
- Upload date:
- Size: 55.0 MB
- Tags: CPython 3.11, manylinux: glibc 2.27+ x86-64, manylinux: glibc 2.28+ x86-64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
b8b7096e5b34e42a02000bb5831d3b8b4eab121135b8f3c0c47230a11dd213c7
|
|
| MD5 |
a81a10aad9d4c7e6141957978f6277b0
|
|
| BLAKE2b-256 |
3140eaf41fd6e9782872f3ce8f26f6add3d47036a7cf5b07836614d00b4d5f40
|
Provenance
The following attestation bundles were made for andrei_maftei_testneon-0.1.1.dev2026052819147-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl:
Publisher:
python_wheels.yaml on AndreiIulianMaftei/testneon
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
andrei_maftei_testneon-0.1.1.dev2026052819147-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl -
Subject digest:
b8b7096e5b34e42a02000bb5831d3b8b4eab121135b8f3c0c47230a11dd213c7 - Sigstore transparency entry: 1661281784
- Sigstore integration time:
-
Permalink:
AndreiIulianMaftei/testneon@46bfded543e481ca7a815442cd7cdf508ae7cf74 -
Branch / Tag:
refs/heads/main - Owner: https://github.com/AndreiIulianMaftei
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
python_wheels.yaml@46bfded543e481ca7a815442cd7cdf508ae7cf74 -
Trigger Event:
workflow_dispatch
-
Statement type:
File details
Details for the file andrei_maftei_testneon-0.1.1.dev2026052819147-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl.
File metadata
- Download URL: andrei_maftei_testneon-0.1.1.dev2026052819147-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
- Upload date:
- Size: 55.0 MB
- Tags: CPython 3.10, manylinux: glibc 2.27+ x86-64, manylinux: glibc 2.28+ x86-64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
b0ed82957feb668c263778da375a20e6f25bcc1bbe540461348913540dbc3928
|
|
| MD5 |
a17a9b44660ddb525f5f91e391085072
|
|
| BLAKE2b-256 |
7f0f5660d8bfff360829920c958ac4965ff92d8bba1f966e0803fe1157c62553
|
Provenance
The following attestation bundles were made for andrei_maftei_testneon-0.1.1.dev2026052819147-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl:
Publisher:
python_wheels.yaml on AndreiIulianMaftei/testneon
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
andrei_maftei_testneon-0.1.1.dev2026052819147-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl -
Subject digest:
b0ed82957feb668c263778da375a20e6f25bcc1bbe540461348913540dbc3928 - Sigstore transparency entry: 1661281526
- Sigstore integration time:
-
Permalink:
AndreiIulianMaftei/testneon@46bfded543e481ca7a815442cd7cdf508ae7cf74 -
Branch / Tag:
refs/heads/main - Owner: https://github.com/AndreiIulianMaftei
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
python_wheels.yaml@46bfded543e481ca7a815442cd7cdf508ae7cf74 -
Trigger Event:
workflow_dispatch
-
Statement type:
File details
Details for the file andrei_maftei_testneon-0.1.1.dev2026052819147-cp39-cp39-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl.
File metadata
- Download URL: andrei_maftei_testneon-0.1.1.dev2026052819147-cp39-cp39-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
- Upload date:
- Size: 55.0 MB
- Tags: CPython 3.9, manylinux: glibc 2.27+ x86-64, manylinux: glibc 2.28+ x86-64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
8841f21f2ac96cce1699c5c83cd81d9845ec02b8569817591094a592458ed2cf
|
|
| MD5 |
722418ada722e460c68f461b1e3541d4
|
|
| BLAKE2b-256 |
c18a70eac99102a2855cda3853298f6e87e4836e635396f16ae468c4bb880bab
|
Provenance
The following attestation bundles were made for andrei_maftei_testneon-0.1.1.dev2026052819147-cp39-cp39-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl:
Publisher:
python_wheels.yaml on AndreiIulianMaftei/testneon
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
andrei_maftei_testneon-0.1.1.dev2026052819147-cp39-cp39-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl -
Subject digest:
8841f21f2ac96cce1699c5c83cd81d9845ec02b8569817591094a592458ed2cf - Sigstore transparency entry: 1661282091
- Sigstore integration time:
-
Permalink:
AndreiIulianMaftei/testneon@46bfded543e481ca7a815442cd7cdf508ae7cf74 -
Branch / Tag:
refs/heads/main - Owner: https://github.com/AndreiIulianMaftei
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
python_wheels.yaml@46bfded543e481ca7a815442cd7cdf508ae7cf74 -
Trigger Event:
workflow_dispatch
-
Statement type: