Skip to main content
Files added late

2 files were added to this release more than 14 days after its initial publication. Inspect the release files before installing.

This repository contains the official Python bindings of the LibQi, the qi Python module.

Building

To build the project, you need:

  • a compiler that supports C++17.

    • on Ubuntu: apt-get install build-essential.

  • CMake with at least version 3.23.

    • on PyPI (recommended): pip install “cmake>=3.23”.

    • on Ubuntu: apt-get install cmake.

  • Python with at least version 3.7 and its development libraries.

    • On Ubuntu: apt-get install libpython3-dev.

  • a Python virtualenv.

    • On Ubuntu:

      apt-get install python3-venv
      python3 -m venv ~/my-venv # Use the path of your convenience.
      source ~/my-venv/bin/activate

Conan

Additionally, libqi-python is available as a Conan 2 project, which means you can use Conan to fetch dependencies.

You can install and/or upgrade Conan 2 and create a default profile in the following way:

# install/upgrade Conan 2
pip install --upgrade conan~=2
# create a default profile
conan profile detect

Install dependencies from Conan and build with CMake

The procedure to build the project using Conan to fetch dependencies is the following.

Most dependencies are available on Conan Center repository and should not require any additional steps to make them available. However, you might need to first get and export the libqi recipe into your local Conan cache.

# GitHub is available, but you can also use internal GitLab.
QI_REPOSITORY="https://github.com/aldebaran/libqi.git"
QI_VERSION="4.0.1" # Checkout the version your project need.
QI_PATH="$HOME/libqi" # Or whatever path you want.
git clone \
  --depth=1 `# Only fetch one commit.` \
  --branch "qi-framework-v${QI_VERSION}" \
  "${QI_REPOSITORY}" \
  "${QI_PATH}"
conan export "${QI_PATH}" \
  --version "${QI_VERSION}" # Technically not required but some
                            # versions of libqi require it
                            # because of a bug.

You can then install the libqi-python dependencies in Conan.

conan install . \
  --build=missing `# Build dependencies binaries that are missing in Conan.` \
  -s build_type=Debug `# Build in debug mode.` \
  -c tools.build:skip_test=true `# Skip tests building for dependencies.` \
  -c '&:tools.build:skip_test=false' # Do not skip tests for the project.

This will generate a build directory containing a configuration with a toolchain file that allows CMake to find dependencies inside the Conan cache.

You can then invoke CMake directly inside the build configuration directory to configure and build the project. Fortunately, Conan also generates a CMake preset that simplifies the process. The name of the preset may differ on your machine. You may need to find the preset generated by Conan first by calling:

cmake --list-presets

Here, we’ll assume that the preset is named conan-linux-x86_64-gcc-debug. To start building, you need to configure with CMake and then build:

cmake --preset conan-linux-x86_64-gcc-debug
cmake --build --preset conan-linux-x86_64-gcc-debug

Tests can now be invoked using CTest, but they require a runtime environment from Conan so that all dependencies are found:

source build/linux-x86_64-gcc-debug/generators/conanrun.sh
ctest --preset conan-linux-x86_64-gcc-debug --output-on-failure
source build/linux-x86_64-gcc-debug/generators/deactivate_conanrun.sh

Finally, you can install the project in the directory of your choice.

The project defines a single install component, the Module component.

# `cmake --install` does not support presets sadly.
cmake \
  --install build/linux-x86_64-gcc-debug \
  --component Module --prefix ~/my-libqi-python-install

Wheel (PEP 517)

You may build this project as a wheel package using PEP 517.

It uses a scikit-build backend which interfaces with CMake.

You may need to provide a toolchain file so that CMake finds the required dependencies, such as a toolchain generated by Conan:

conan install . \
  --build=missing `# Build dependencies binaries that are missing in Conan.` \
  -c tools.build:skip_test=true # Skip any test.

You now can use the build Python module to build the wheel using PEP 517.

pip install -U build
python -m build \
  --config-setting cmake.define.CMAKE_TOOLCHAIN_FILE=$PWD/build/linux-x86_64-gcc-release/generators/conan_toolchain.cmake

When built that way, the native libraries present in the wheel are most likely incomplete. You will need to use auditwheel or delocate to fix it.

pip install -U auditwheel # or `delocate` on MacOS.
auditwheel repair \
  --strip `# Strip debugging symbols to get a lighter archive.` \
  `# The desired platform, which may differ depending on your build host.` \
  `# With Ubuntu 20.04, we can target manylinux_2_31. Newer versions of` \
  `# Ubuntu will have to target newer versions of manylinux.` \
  `# If you don't need a manylinux archive, you can also target the` \
  `# 'linux_x86_64' platform.` \
  --plat manylinux_2_31_x86_64 \
  `# Path to the wheel archive.` \
  dist/qi-*.whl
# The wheel will be by default placed in a `./wheelhouse/` directory.

Crosscompiling

The project supports cross-compiling as explained in the CMake manual about toolchains. You may simply set the CMAKE_TOOLCHAIN_FILE variable to the path of the CMake file of your toolchain.

Metadata

Release files for qi 3.1.5

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Files added late

2 files were uploaded more than 14 days after the first file in this release.

While project maintainers occasionally add legitimate files to an existing release, late additions can also indicate a security compromise.

We recommend inspecting the release files before installing.

Built distributions (wheels)

Table of built distributions (wheels) for qi 3.1.5
File
qi-3.1.5-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl CPython 3.12 CPython 3.12 Linux glibc 2.17+ x86-64 Details
qi-3.1.5-cp312-cp312-macosx_13_0_arm64.whl CPython 3.12 CPython 3.12 macOS 13.0+ ARM64 Details
qi-3.1.5-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl CPython 3.11 CPython 3.11 Linux glibc 2.17+ x86-64 Details
qi-3.1.5-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl CPython 3.10 CPython 3.10 Linux glibc 2.17+ x86-64 Details
qi-3.1.5-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl CPython 3.9 CPython 3.9 Linux glibc 2.17+ x86-64 Details
qi-3.1.5-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl CPython 3.8 CPython 3.8 Linux glibc 2.17+ x86-64 Details
qi-3.1.5-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl CPython 3.7 CPython 3.7 pymalloc Linux glibc 2.17+ x86-64 Details

Total release size: 51.0 MB

Release files / qi-3.1.5-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl

File added late

This file was uploaded more than 14 days after the first file in this release.

While project maintainers occasionally add legitimate files to an existing release, late additions can also indicate a security compromise.

We recommend inspecting the release file before installing.

Download URL qi-3.1.5-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Size 7.4 MB
Tags CPython 3.12 Linux glibc 2.17+ x86-64
SHA-256 checksum
How to use checksums
945623a872adbf40da29f848038a4b6015a6016785b37633d2f7e5241650c931
BLAKE2b-256 checksum
How to use checksums
ac6dacc90da58e536237a62c77db4aefcd2bf828182d69a34c1dfb30e7e93cd3
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/5.1.1 CPython/3.10.12

Release files / qi-3.1.5-cp312-cp312-macosx_13_0_arm64.whl

File added late

This file was uploaded more than 14 days after the first file in this release.

While project maintainers occasionally add legitimate files to an existing release, late additions can also indicate a security compromise.

We recommend inspecting the release file before installing.

Download URL qi-3.1.5-cp312-cp312-macosx_13_0_arm64.whl
Size 6.7 MB
Tags CPython 3.12 macOS 13.0+ ARM64
SHA-256 checksum
How to use checksums
f2130bb9fa47c618727112cc9b19d8c4d158365e9fe187198390126ef607155e
BLAKE2b-256 checksum
How to use checksums
a6a29af765a4e955af83401134feae3dbd11b8a196bbe843345d9f86386f1832
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/5.1.1 CPython/3.10.12

Release files / qi-3.1.5-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl

Download URL qi-3.1.5-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Size 7.4 MB
Tags CPython 3.11 Linux glibc 2.17+ x86-64
SHA-256 checksum
How to use checksums
421d58a6f6a9e038d2dce5a68e293a69645aa50570313d5b96aa1dcf7c1ef259
BLAKE2b-256 checksum
How to use checksums
da2301999b202e1ada1e98460935f52442952a080921bcd7b10d078f95a7bc91
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/5.0.0 CPython/3.10.12

Release files / qi-3.1.5-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl

Download URL qi-3.1.5-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Size 7.4 MB
Tags CPython 3.10 Linux glibc 2.17+ x86-64
SHA-256 checksum
How to use checksums
6d62108438fac9363200254474990c6d212050fc0721e72ebaf3f157960e3598
BLAKE2b-256 checksum
How to use checksums
e280582fe8ab8b8a1381a2e267a47cd3f3cf79fb6aef01ad43c80b6132b1a1e0
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/5.0.0 CPython/3.10.12

Release files / qi-3.1.5-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl

Download URL qi-3.1.5-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Size 7.4 MB
Tags CPython 3.9 Linux glibc 2.17+ x86-64
SHA-256 checksum
How to use checksums
3bc3902f8cd16a0490d8678be6912104f24f0578a072a8702bb62e3360b1d163
BLAKE2b-256 checksum
How to use checksums
9579cac712f5eb64d0b1397747eea5ffc7bfd72d45c21c404488661ee1e86116
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/5.0.0 CPython/3.10.12

Release files / qi-3.1.5-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl

Download URL qi-3.1.5-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Size 7.4 MB
Tags CPython 3.8 Linux glibc 2.17+ x86-64
SHA-256 checksum
How to use checksums
204870eee5257f843002811b3111a81f17a769acd3e313f2fdceb0761ce574ea
BLAKE2b-256 checksum
How to use checksums
28e3a0c6b6868b80a88e7d5bea12c43b65f368ef9aba840f78d514435f3e5a0b
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/5.0.0 CPython/3.10.12

Release files / qi-3.1.5-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl

Download URL qi-3.1.5-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Size 7.4 MB
Tags CPython 3.7 CPython 3.7 pymalloc Linux glibc 2.17+ x86-64
SHA-256 checksum
How to use checksums
b61080bc0d772f65ed13355da76b266117a56cec1cb23eabc05fa9f4f06d5a65
BLAKE2b-256 checksum
How to use checksums
80aacb5669dafe11885631c2fd76e46557f37ede6dfff03903b28686e064f9e4
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/5.0.0 CPython/3.10.12

Release history Release notifications | RSS feed

This release

3.1.5 This release

7 release files

3.1.4

5 release files

3.1.1

1 release file

3.0.0

2 release files

2.0.1

2 release files

1.8.3

3 release files

1.8.2

3 release files

1.8.1

3 release files

1.8.0

3 release files

1.7.2

3 release files

1.7.1

3 release files

1.7.0

3 release files

1.6.15

3 release files

1.6.14

3 release files

1.6.12

3 release files

1.6.9

3 release files

1.6.8

3 release files

1.6.7

3 release files

1.6.6

3 release files

1.6.5

3 release files

1.6.3

3 release files

1.6.2

4 release files

1.6.1

3 release files

1.6.0

3 release files

1.5.0

3 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page