The open standard for CAD geometry kernel certification — 2,223 tests, signed results, 8 kernel adapters
Project description
ForgeCertify
The open standard for CAD geometry kernel certification.
Run 2,223 geometry tests against any B-rep kernel and receive a cryptographically signed result you can publish, audit, and reproduce.
pip install forgecertify
forgecertify run --kernel forgekernel
What it tests
| Suite | Tests | Coverage |
|---|---|---|
| Boolean operations | 412 | Union, intersection, subtraction across degenerate and near-tangent geometry |
| B-rep topology | 387 | Vertex/edge/face/shell integrity, winding order, orientation |
| NURBS surfaces | 298 | Degree, knot vectors, G0/G1/G2 continuity, trimmed NURBS |
| Healing & repair | 241 | Gap filling, duplicate face removal, self-intersection repair |
| Topological naming | 196 | Persistent face/edge identity across edits — all 19 known failure modes |
| Import/export fidelity | 318 | STEP AP203/214/242, IGES 5.3, DXF, native .SFC round-trips |
| Direct modelling | 174 | Push/pull, move edge, offset, taper, history-free ops |
| Tolerance model | 197 | Chord height, angular tolerance, floating-point edge cases |
Total: 2,223 tests · 91 test files · 0 failures on ForgeKernel
Quick start
# Install
pip install forgecertify
# List available kernel adapters
forgecertify kernels
# Run the full suite against ForgeKernel (reference implementation)
forgecertify run --kernel forgekernel --output ./results
# Run against manifold3d (requires: pip install manifold3d)
forgecertify run --kernel manifold3d
# Run against OpenCASCADE (requires: conda install -c conda-forge pythonocc-core)
forgecertify run --kernel ocp
# Run only fast tests
forgecertify run --kernel forgekernel -m "not slow"
# Verify a result file signature
forgecertify verify results/forgecertify-result-forgekernel.json
# Generate a signing keypair for your own results
forgecertify keygen --out-prefix my_kernel
Kernel adapters
ForgeCertify ships with adapters for 8 kernels:
| Kernel | Tier | Install |
|---|---|---|
| ForgeKernel | PRO (reference) | bundled |
| manifold3d | COMMUNITY | pip install manifold3d |
| OCP / OCCT | PRO | conda install -c conda-forge pythonocc-core |
| CadQuery | PRO | pip install cadquery |
| CGAL | COMMUNITY | conda install -c conda-forge cgal |
| FreeCAD | PRO | conda install -c conda-forge freecad |
| Blender | COMMUNITY | pip install bpy |
| Parasolid | PRO (stub) | Siemens licence required |
To certify your own kernel, implement KernelAdapter (see forgecertify/adapters/base.py) and pass --kernel your_module.
How certification works
- Run —
forgecertify runinvokes all 2,223 tests via your adapter - Sign — results are signed with your Ed25519 private key
- Submit — upload the signed JSON at forgecertify.org/certify
- Publish — results are verified and added to the public ledger
Nothing is uploaded automatically. You own your results.
License
MIT © 2026 SKYFIRE Systems · forgecertify.org
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 Distribution
Built Distribution
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 forgecertify-1.0.0.tar.gz.
File metadata
- Download URL: forgecertify-1.0.0.tar.gz
- Upload date:
- Size: 351.2 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.13.13
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
83184eac14d4c7bc76d1ed911882fa051aa66108d8359220deb326e4bff0337a
|
|
| MD5 |
a21c492030d04ef4d1136527b211a80e
|
|
| BLAKE2b-256 |
d076bfed55286ec39fbcf6d1943457fd6cbc9ab75431287bae75a75dc9dc85a8
|
File details
Details for the file forgecertify-1.0.0-py3-none-any.whl.
File metadata
- Download URL: forgecertify-1.0.0-py3-none-any.whl
- Upload date:
- Size: 427.3 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.13.13
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
966539ac5bf5d3430e04be27b672548ae1eccdff36fe8d7554da9e9a0e060b4a
|
|
| MD5 |
0c9d198d837f79251ef9392f3affe0cb
|
|
| BLAKE2b-256 |
175eca37df45a48f4e6500c40f2a510048ced27ecc9d337d1f27383940897805
|