Conversation
LadybugDB (formerly Kuzu) is an embedded graph database; the wheel's ladybug/_lbug is a pybind11 module over the whole C++ engine. Mirrors upstream's python-wheel-workflow.yml: the sdist comes from scripts/pip-package/package_tar.py on ubuntu-latest, the static liblbug.a is built once like the Linux compat leg of precompiled-bin-workflow.yml, and cibuildwheel links each interpreter's extension against it. Narrowed to manylinux_riscv64 and cp312/cp313/cp314/cp314t. - liblbug.a is built in manylinux_2_39_riscv64 with its default GCC 14 and openssl-devel (OpenSSL 3), where upstream's manylinux_2_28 image needs gcc-toolset-13 and the openssl3 packages. - 0001 halves the buffer manager's mmap reservation on ENOMEM. The default max_db_size is 8TB, which does not fit in riscv64 Sv39's 256GB user address space, so every default Database() throws "Mmap for size 8796093022208 failed." (reproduced on x86-64 with the PyPI wheel under `ulimit -v 268435456`; still present in v0.20.4). - The wheel statically links the vendored third_party libraries but upstream ships only ladybug's own LICENSE; their licence files are copied to the sdist root as LICENSE.<dep> and asserted in the wheel. - Tests mirror ladybug-python's python-ci-pybind job (pytest over the tag's tools/python_api/test with dataset/, pybind backend forced). pyarrow 25 is the only riscv64 build; cp314t has no pandas/polars, so the modules needing them are skipped there. test_fsm.py is skipped: it fails identically with upstream's own x86_64 0.19.1 wheel. Rehearsed on x86-64 with the PyPI 0.19.1 wheel, this test layout and dependency set: 272 passed (7 test_fsm failures); 168 passed with the cp314t set.
luhenry
added a commit
that referenced
this pull request
Sep 25, 2026
Contributor
|
luhenry
added a commit
that referenced
this pull request
Sep 25, 2026
This branch has not been deployed
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
ladybug0.19.1Compiles the LadybugDB (formerly Kuzu) C++ graph-database engine into a pybind11 extension. Upstream publishes no riscv64 wheel.
Mirrors upstream's
python-wheel-workflow.yml, withliblbug.abuilt as in the Linux compat leg ofprecompiled-bin-workflow.yml.Differs from upstream
liblbug.abuilt with the image's GCC 14 - no gcc-toolset-13 in manylinux_2_39_riscv64openssl-develinstead ofopenssl3/openssl3-devel- Rocky 10's default OpenSSL is 3Testing
python-ci-pybindjob<23- only riscv64 buildtest_fsm.pyskipped - fails identically with upstream's x86_64 0.19.1 wheelLicense: Wheel bundles about 20 vendored libraries (MIT, BSD, Apache-2.0); upstream ships no licence text for them, so the build adds it.
Patches
0001-storage-shrink-the-VMRegion-reservation-until-it-fits.patch- To upstream [not yet submitted]. DefaultDatabase()reserves 8TB, beyond Sv39's 256GB, and fails. Reproduces on x86 underulimit -v 256GB.Rehearsed on x86-64 with the PyPI wheel; 272 passed, 7 failed (
test_fsm.py).