KuzuDB Python API
Project description
pip install
from the source
chmod +x package_tar.sh
./package_tar.sh
pip install kuzu.tar.gz
Note: installing from source requires the full toolchain for building the project, including bazel, OpenJDK, and a compiler compatible with C++20. The package works for both Linux and macOS.
Container for self-hosted manylinux builder
Introduction
The container for manylinux builder automatically builds and upload wheels compatiable with manylinux2014_x86_64
platform tag when it is manually triggered from CI. The spec for manylinux can be found at https://github.com/pypa/manylinux.
Build
docker build -t kuzu-self-hosted-linux-builder .
Start container
docker run --name self-hosted-linux-builder --detach --restart=always\
-e GITHUB_ACCESS_TOKEN=YOUR_GITHUB_ACCESS_TOKEN\
-e MACHINE_NAME=NAME_OF_THE_PHYSICAL_MACHINE kuzu-self-hosted-linux-builder
Note: GITHUB_ACCESS_TOKEN
is the account-level access token that can be acquired at GitHub developer settings.
Bulid wheels for macOS
We use cibuildwheel. The configuration file is located at .github/workflows/mac-wheel-workflow.yml
. Although we currently run the pipeline on a self-hosted Mac mini, this configuration also works for GitHub-hosted runners (macos-11
and macos-12
).
Self-hosted macOS runner setup
The self-hosted runner needs to be properly configured for the pipeline to run. Please follow the instructions below to configure a self-hosted runner on macOS.
- OS requirement: for support for C++20 and proper cross-compilation for ARM64, Xcode 13+ and macOS 11+ is required. If the hardware does not support macOS 11 officially, consider using OpenCore Legacy Patcher.
- Machine configurations:
- Username: The username must be set to
runner
to be consistent with the GitHub-hosted runners. Otherwise, cibuildwheel configuration step will fail due to writing to directories that does not exist. sudo
without password: Therunner
user needs to have the permission tosudo
without password. Otherwise, cibuildwheel will not be able to install Python automatically due to not able to take user input for the password. To enablesudo
without password, create a file (with arbitrary name) under/private/etc/sudoers.d/
and addrunner ALL = (ALL) NOPASSWD: ALL
to it.- Keep the machine from going to sleep automatically: under System Preferences > Energy Saver, check "Prevent your Mac from sleeping automatically when the display is off" and uncheck "Put hard disks to sleep when possible".
- Automatic login: the GitHub self-hosted runner service on macOS is configured for the user space only. For the listener to be back online automatically after each reboot without manually logging in, automatic login should be turned on for
runner
user. Please follow this instruction to configure it. - For the ease of remote management, consider enabling
sshd
and configure a DDNS service to keep the hostname updated with the correct IP address.
- Username: The username must be set to
- Dependencies installation:
- Xcode toolchain: after installing Xcode, run
xcode-select --install
to install Xcode Command Line Tools. - Homebrew: follow the instructions on brew.sh to install it.
- Bazel:
brew install bazel
. - OpenJDK-11: Installing bazel via Homebrew should also install it as a dependency automatically. However, For it to be detected by macOS, we need to run
sudo ln -sfn /usr/local/opt/openjdk@11/libexec/openjdk.jdk /Library/Java/JavaVirtualMachines/openjdk-11.jdk
. - Pipx:
brew install pipx
andpipx ensurepath
.
- Xcode toolchain: after installing Xcode, run
- Github self-hosted runners configuration: follow this documentation to add the self-hosted runner and this documentation for configuring self-hosted runner as a service.
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 Distributions
Built Distributions
Hashes for kuzu-0.0.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 32bbf402ecaa0d15e566525f7221c9252d2416f1dc37fecfa24579a20167d9b0 |
|
MD5 | 9365505264dbec16cdb0dc006ce6f8c3 |
|
BLAKE2b-256 | 093df7a54a10556628fb1e7209e6a09bb2640de3b0128d265c14443ec85e26da |
Hashes for kuzu-0.0.1-cp311-cp311-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | e6780c64c482a5c6e7e46ab845e31c66e6f5ab14d730cba758294d42bbdd9a41 |
|
MD5 | 20a92714e862253a32db85c48888e61a |
|
BLAKE2b-256 | 56e505a6ab2c0ffe222e6ee431f7928bfaea6e41d3ae48ca3e2c167074db2e17 |
Hashes for kuzu-0.0.1-cp311-cp311-macosx_10_15_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 468e0507243e07209becf5499ae3058531ffd440b5604a5c5e0e1e519008b117 |
|
MD5 | 57c58434e1aea08f441fe95ebfe7fc6e |
|
BLAKE2b-256 | f84f61d29e3e6ef7676b7b82c738d0b850414bb3a1f77382af5acfc5db461e18 |
Hashes for kuzu-0.0.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | dfd3c3533c3e40e1304d2e2da000b4070cf2779f20022d5d41eea613585f59ad |
|
MD5 | f0edc99c27b11af43fb03e67788dd697 |
|
BLAKE2b-256 | 04c02282811e7cb5dc5d0d19da2b40ad2cb031c581974c1f9a28737fa305bb51 |
Hashes for kuzu-0.0.1-cp310-cp310-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 46a19c0513c6fb399e03dc0337453bb368152407a1ced75675a4b2d75ba57cfe |
|
MD5 | 2b53f0e2314bbed3ac29d86118015729 |
|
BLAKE2b-256 | c5c19b3db33e72fb6ebe764122c6c69ccac91123ef975d35580673f50fa4eca1 |
Hashes for kuzu-0.0.1-cp310-cp310-macosx_10_15_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 7300420d88ef0f31b5631f953d12db77cb2253406d174148d8ce948c83e60531 |
|
MD5 | 6f25fafe74a143421d2c3e06cfc4d157 |
|
BLAKE2b-256 | abed0027d52ab7071ea2bc76427583c33dd4bbdc33ec2d34d519826ab7b0e832 |
Hashes for kuzu-0.0.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 8c8c578a169d07b8beab43c94a6c9cc40250af096733d21797d3b079639df520 |
|
MD5 | 53903894cc2772d452c61975ab53bee4 |
|
BLAKE2b-256 | 0f1c768e117e96e0b7f70c650d3f5212c329478f29c63cbfc5957b25941160c0 |
Hashes for kuzu-0.0.1-cp39-cp39-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 1dd202dd40633c52cda863cf2a1e88cb934acf18ebaac0c88791b1de15368ca8 |
|
MD5 | 925145377de304e68376d8f63eba8619 |
|
BLAKE2b-256 | f38d6065ac5938debe67f0c1e89c668cef2d4527a860cb61e478388c3544779d |
Hashes for kuzu-0.0.1-cp39-cp39-macosx_10_15_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 37369d1f52bdf4b396519f64c41574bc590785bc49630d784a48d9ab9a75ff06 |
|
MD5 | 85eeb4ea7923ba4c376c766663c74041 |
|
BLAKE2b-256 | ca50d12c5d50a765e8a1c3f0ba0cd1ea1aa6c2952929305d8d5faeadcd8e9137 |
Hashes for kuzu-0.0.1-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | cc1e39060999ba8ddf2d711cac728fabd8561edaedec2ce3a3f333cc8738853d |
|
MD5 | c122f2786fa02acd46de803f36dee61b |
|
BLAKE2b-256 | cd47fe420483435cc9854c5b7d02fc5f0ea0a96cd930fd986c9757f13641dc1b |
Hashes for kuzu-0.0.1-cp38-cp38-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 5ad058cdfc34e5a83b2d4fa3dcd4f0e63483eb3936c5b54b0d7521a5accd8e91 |
|
MD5 | 2587221026637d571930082616894442 |
|
BLAKE2b-256 | 863f34d7c3cff779026353b9f1b20465fa40f618b9cc0e08058a0cade34994b9 |
Hashes for kuzu-0.0.1-cp38-cp38-macosx_10_15_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 9fcd4b8c3d35f047c243f18694d88e4d7789005fec290349f2d5deaf11b4cc3c |
|
MD5 | 345b2cc8e28c289aeaa044300ff619be |
|
BLAKE2b-256 | 62227790913c9b986defc263568b2eb8041259642d93f8f482a265fdd4a57059 |
Hashes for kuzu-0.0.1-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 5f233c2031f73fd8ca7d8d06516d6795ebe4ea679ff6a7dee345aa629d5e5307 |
|
MD5 | b6471f86f6e5525b612d37d1f91de950 |
|
BLAKE2b-256 | ca91fa49e70f73fabc5d277b8f0f15c5f2b3cce592543a7200367c717d7cf30d |
Hashes for kuzu-0.0.1-cp37-cp37m-macosx_10_15_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 38fc03b77472bf4edcabf6585b79da25d35bec22cf8c68acd8800f41bd397522 |
|
MD5 | dead8a540c3be441cd61cf9c21dfcb44 |
|
BLAKE2b-256 | 137775961cfabd33f8ff3a192c5e6070394ba5e5eeadf58b4fbfdc81678639a9 |
Hashes for kuzu-0.0.1-cp36-cp36m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 114b9e599c6e0d5f2979251f873ef51d470337df3f3b51ad0fa4aaf4a1a89337 |
|
MD5 | a5fd9590ec033f90587f9c89df480b2e |
|
BLAKE2b-256 | a94708b6df034945e1cf5ada3fd9fe6a813b3c19f87ef125595142396c11fb57 |
Hashes for kuzu-0.0.1-cp36-cp36m-macosx_10_15_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | bdfc9721f28470743d40e24db1044293c6b08ac958fba0f2be475970fbb305ff |
|
MD5 | 3e737a2b0771689f135b0b2799f5e520 |
|
BLAKE2b-256 | cb9cfeeb9391ac6aba7b82dd16329a64c6912ee2437636f7fc0a0c999c13ccc6 |