{"id":51014203,"url":"https://github.com/lihpc-computational-geometry/ferrispline","last_synced_at":"2026-06-21T08:01:35.155Z","repository":{"id":354194947,"uuid":"1222265574","full_name":"LIHPC-Computational-Geometry/ferrispline","owner":"LIHPC-Computational-Geometry","description":"NURBS hexahedral meshes library in Rust with Python API","archived":false,"fork":false,"pushed_at":"2026-06-01T08:07:23.000Z","size":532,"stargazers_count":3,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2026-06-01T10:08:16.687Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"Rust","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/LIHPC-Computational-Geometry.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE-APACHE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2026-04-27T07:40:59.000Z","updated_at":"2026-06-01T08:07:29.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/LIHPC-Computational-Geometry/ferrispline","commit_stats":null,"previous_names":["lihpc-computational-geometry/ferrispline"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/LIHPC-Computational-Geometry/ferrispline","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/LIHPC-Computational-Geometry%2Fferrispline","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/LIHPC-Computational-Geometry%2Fferrispline/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/LIHPC-Computational-Geometry%2Fferrispline/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/LIHPC-Computational-Geometry%2Fferrispline/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/LIHPC-Computational-Geometry","download_url":"https://codeload.github.com/LIHPC-Computational-Geometry/ferrispline/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/LIHPC-Computational-Geometry%2Fferrispline/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":34601662,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-26T15:22:16.424Z","status":"online","status_checked_at":"2026-06-21T02:00:05.568Z","response_time":54,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2026-06-21T08:01:32.698Z","updated_at":"2026-06-21T08:01:35.049Z","avatar_url":"https://github.com/LIHPC-Computational-Geometry.png","language":"Rust","funding_links":[],"categories":[],"sub_categories":[],"readme":"# FerriSpline\n\n## Overview\nThis repository hosts a high-performance library for generating, manipulating, and computing hexahedral meshes. It leverages a pure **Rust** core for intensive mathematical operations to ensure memory safety and optimal execution speed. It provides a native **Python API** via PyO3, designed for seamless integration into meshing workflows, blocking algorithms, and rendering pipelines (e.g., Panda3D, gmsh).\n\n## Repository Structure\nThis project is organized as a Cargo Workspace (monorepo) to strictly separate the computational logic from the Python bindings.\n\n```text\nmon_projet_maillage/\n├── Cargo.toml                 # Global workspace configuration\n├── core_rust/                 # Pure Rust mathematical core\n│   ├── Cargo.toml\n│   └── src/lib.rs             # NURBS algorithms, mesh generation, geometry\n├── python/                  # Rust-to-Python bindings (PyO3)\n│   ├── Cargo.toml\n│   ├── pyproject.toml         # Maturin build configuration\n│   └── src/lib.rs             # Exposes `core_rust` functions to Python\n└── sandbox_python/            # Sandbox python with the same content as `cargo_rust`\n    ├── pyproject.toml\n    ├── src/                   # Python logic (VTK conversion, nurbs conversion to bezier curve)\n    └── tests/                 # Unit tests\n```\n\n## Prerequisites\n- [Rust toolchain](https://rustup.rs/) (2024 edition recommended)\n- Python 3.8 or higher\n- [Maturin](https://www.maturin.rs/) (Build system for Rust-based Python extensions)\n\n## Building for Development\nTo compile the Rust core and install the Python extension directly into your active virtual environment, run:\n\n```bash\ncd python\nmaturin develop\n```\n\n## Image for dev\n\nOne can run:\n\n```bash\ncd /path/to/ferrispline/\nBRANCH_SLUG=\"$(git rev-parse --abbrev-ref HEAD | sed 's/[^a-zA-Z0-9._-]/-/g')\"\nIMAGE_NAME='ghcr.io/LIHPC-Computational-Geometry/ferrispline'\ndocker build --build-arg USER=${USER} \\\n             --network=host \\\n             --tag $IMAGE_NAME:$BRANCH_SLUG \\\n             --target dev ./\n```\n\n## Run tests\n\nOne can run:\n\n```bash\nxhost +local:docker\ndocker run --interactive \\\n           --network=host \\\n           --rm \\\n           --tty \\\n           --volume ./:/home/${USER}/ferrispline/ \\\n           $CI_REGISTRY_IMAGE:$CI_COMMIT_REF_SLUG\ncd ferrispline/\npre-commit run\ncargo test\n./run.sh test\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Flihpc-computational-geometry%2Fferrispline","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Flihpc-computational-geometry%2Fferrispline","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Flihpc-computational-geometry%2Fferrispline/lists"}