Conversation
…ct wheel build hatchling's packages = ["coordinode"] requires a coordinode/ subdirectory. Previously __init__.py and other modules were co-located with pyproject.toml, making the project root the package root — unsupported by hatchling. Move __init__.py, client.py, _types.py → coordinode/coordinode/ Update pyproject.toml: version-file path, revert sources → packages Update Makefile: PROTO_OUT points to coordinode/coordinode/_proto/ Update .gitignore: adjusted paths for generated files The resulting wheel now correctly contains coordinode/__init__.py and all submodules, making the package importable after pip install.
|
Warning Rate limit exceeded
Your organization is not enrolled in usage-based pricing. Contact your admin to enable usage-based pricing to continue reviews beyond the rate limit, or try again in 0 minutes and 25 seconds. ⌛ How to resolve this issue?After the wait time has elapsed, a review can be triggered using the We recommend that you space out your commits to avoid hitting the rate limit. 🚦 How do rate limits work?CodeRabbit enforces hourly rate limits for each developer per organization. Our paid plans have higher rate limits than the trial, open-source and free plans. In all cases, we re-allow further reviews after a brief timeout. Please see our FAQ for further information. ℹ️ Review info⚙️ Run configurationConfiguration used: Organization UI Review profile: ASSERTIVE Plan: Pro Run ID: 📒 Files selected for processing (6)
✨ Finishing Touches🧪 Generate unit tests (beta)
Comment |
|
- ci.yml: use 'uv sync --all-packages' in test jobs so workspace members (coordinode, langchain-coordinode, llama-index-graph-stores-coordinode) are installed as proper editable packages via .pth files. Without this, uv sync only installs dev dependencies and leaves workspace packages uninstalled, causing ModuleNotFoundError in tests. - ruff.toml: update proto stubs exclude path to coordinode/coordinode/_proto/ (moved in #10); exclude _version.py (generated by hatch-vcs, unformatted) - tests/unit/test_types.py: fix I001 — remove blank line between same-group imports (pytest + coordinode._types are both third-party) - Makefile: clean target also removes coordinode/coordinode/_proto/google (google.api stubs generated alongside coordinode stubs) - Remove coordinode/_proto/__init__.py that was mistakenly committed to git (generated file, should only exist in gitignored coordinode/_proto/)



Summary
coordinode/__init__.py,client.py,_types.py→coordinode/coordinode/subdirectoryMakefile:PROTO_OUT := coordinode/coordinode/_protopyproject.toml:version-file = "coordinode/_version.py", revert topackages = ["coordinode"].gitignore: updated paths for generated filesRoot Cause
PR #8 changed
packages = ["coordinode"]tosources = {"." = "coordinode"}attempting to fix the empty wheel. While this approach partially worked (proto stubs were included), it failed to include the top-level__init__.py,client.py, and_types.pyfiles — they ended up at_proto/in the wheel without thecoordinode/namespace, leavingcoordinode.__init__absent.The correct fix is to match the structure used by
langchain-coordinodeandllama-index-coordinode: the Python package files must live in a named subdirectory (coordinode/coordinode/) so hatchling'spackages = ["coordinode"]can discover them.Verification
Local build produces a wheel with 43 Python files under
coordinode/namespace includingcoordinode/__init__.py. Import test:Closes #9