docs(python): README + examples + type stub for the ifclite-geom wheel#1325
Conversation
The PyO3 wheel (ifclite-geom) shipped with no usage docs, so a pip user has nothing to point at. Add: - rust/python/README.md, wired as the PyPI project page via project.readme (renders on https://pypi.org/project/ifclite-geom). - project.urls Homepage + Documentation. - runnable examples/ (numpy quickstart, JSON dump, OBJ export). - ifclite_geom.pyi type stub (+ maturin include) so editors and type checkers get signatures and docstrings off the compiled module. Also fold global_id/name into the geometry_data_buffers dict so the fast path matches geometry_data_json (an analysis consumer can map triangles back to IFC entities), and add #[pyo3(signature)] so help() shows the arg. Bump 4.1.0 -> 4.2.0 (additive API; README + fields reach PyPI only on the next ifclite-geom-v* tag).
|
The latest updates on your projects. Learn more about Vercel for GitHub.
2 Skipped Deployments
|
|
Warning Review limit reached
More reviews will be available in 3 minutes and 22 seconds. Learn how PR review limits work. Your organization has used up its prepaid credits, and credit purchases are no longer available. Enable the review add-on in the billing tab to keep reviews running — you're only billed for reviews past your plan's rate limits ($0.25/file). ⌛ How to resolve this issue?After more reviews become available, a review can be triggered using the To avoid repeated limits, reduce automatic review volume by pausing incremental auto-reviews earlier, using label-based review opt-in, excluding WIP or generated PR titles, or requesting reviews manually when the PR is ready. If your team needs uninterrupted high-volume reviews, an organization admin can enable usage-based credits. 🚦 How do rate limits work?CodeRabbit enforces per-developer PR review limits for each organization. Most developers receive the normal plan refill rate. For paid Pro and Pro+ PR reviews, CodeRabbit uses rolling per-developer review limits. Reviews become available again as older review attempts age out of the rolling limit window. Please see our Fair Usage Limits Policy for further information. ℹ️ Review info⚙️ Run configurationConfiguration used: defaults Review profile: CHILL Plan: Pro Run ID: 📒 Files selected for processing (4)
📝 WalkthroughWalkthroughThe Changesifclite-geom v4.2.0: per-element identity, type stubs, packaging, and examples
Estimated code review effort🎯 2 (Simple) | ⏱️ ~10 minutes Possibly related PRs
Poem
🚥 Pre-merge checks | ✅ 5✅ Passed checks (5 passed)
✏️ Tip: You can configure your own custom pre-merge checks in the settings. ✨ Finishing Touches🧪 Generate unit tests (beta)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: c24c5327b7
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
| @@ -0,0 +1,30 @@ | |||
| """Tessellate an IFC file and write the geometry-data JSON document to disk. | |||
There was a problem hiding this comment.
Add the required MPL header to new source files
The repo's AGENTS.md says every new source file must start with the MPL-2.0 header, but the new Python examples and ifclite_geom.pyi begin directly with docstrings/type-stub comments. This leaves the newly added source files outside the repository's required licensing convention; please add the standard header to each new source file.
Useful? React with 👍 / 👎.
Per AGENTS.md / LICENSE_HEADER.md, every new source file carries the MPL-2.0 header. Codex review flagged the new .py examples and the .pyi stub. Markdown (README) follows the existing docs convention of no header.
|
Addressed the Codex review: added the MPL-2.0 header (Python |
Why
The
ifclite-geomPyO3 wheel (added in #1316, published asifclite-geom-v4.1.0) shipped with no usage docs: apip installuser has nothing to point at to learn which functions exist or how to call them. This came up directly from someone testing the wheel.What
rust/python/README.md— quickstart, full output schema for both functions, notes, examples index. Wired as the PyPI project page viaproject.readmeso it renders on https://pypi.org/project/ifclite-geom.pyproject.toml—readme,project.urlsHomepage + Documentation.examples/— runnable scripts:quickstart_numpy.py,dump_json.py,export_obj.py(numpy-only).ifclite_geom.pyi— type stub (TypedDict-shaped) so editors / type checkers get signatures + docstrings off the compiled module; bundled via[tool.maturin] include.src/lib.rs— foldglobal_id/nameinto thegeometry_data_buffersdict so the fast path matchesgeometry_data_json(lets a consumer map triangles back to IFC entities); add#[pyo3(signature = (ifc_bytes))]sohelp()shows the arg.Cargo.toml+Cargo.lock). Additive API; the README and the new fields only reach PyPI on the nextifclite-geom-v*tag.Verification
cargo checkonrust/pythonpasses (run standalone; the crate is workspace-excluded). No new warnings from these edits.python -m py_compile.python-wheelsCI builds wheels for this PR (paths trigger onrust/python/**).One thing to confirm at review
The type stub ships via
[tool.maturin] include = [{ path = "ifclite_geom.pyi", format = "wheel" }]. Please eyeball a CI wheel artifact to confirmifclite_geom.pyilands at the wheel root, adjacent toifclite_geom.<abi>.so(where type checkers look). If maturin places it elsewhere, we switch to apython-sourcelayout. The README, examples, and theglobal_id/namechange are independent of this.Release note
To publish: tag
ifclite-geom-v4.2.0after merge (existing trusted-publishing workflow).Summary by CodeRabbit
New Features
Documentation
Chores