Skip to main content

Python bindings for the a750_control robotic arm library

Project description

a750-control

Python bindings for the a750_control robotic arm library.

Development install

Create and activate a Python 3.12 virtual environment:

cd /home/alex/a750_control
python3.12 -m venv .venv
source .venv/bin/activate
python -m pip install -U pip

Install the package in editable mode:

pip install -e . -Cbuild-dir=build/python -Ccmake.args="-DCMAKE_EXPORT_COMPILE_COMMANDS=ON"

Build a PyPI wheel

Linux binary wheels uploaded to PyPI must use a portable platform tag such as manylinux, not the local linux_x86_64 tag produced by python -m build. Use cibuildwheel to build inside a manylinux Docker container and repair the wheel with auditwheel.

Install release tooling:

python -m pip install -U build cibuildwheel twine

Build the Python 3.12 manylinux wheel:

CIBW_BUILD=cp312-manylinux_x86_64 python -m cibuildwheel --platform linux --output-dir wheelhouse

The output should look like:

wheelhouse/a750_control-0.1.0-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl

pyproject.toml passes -DBUILD_TESTING=OFF to CMake for package builds so dependency test targets are not built as part of the wheel.

Check and upload

Check the built wheel:

python -m twine check wheelhouse/*.whl

Upload to TestPyPI first:

python -m twine upload --repository testpypi wheelhouse/*.whl

Install from TestPyPI in a clean environment:

python -m pip install --index-url https://test.pypi.org/simple/ --extra-index-url https://pypi.org/simple/ a750-control
python -c "import a750_control; print(a750_control.Robot)"

If the TestPyPI package works, upload to PyPI:

python -m twine upload wheelhouse/*.whl

For authentication, use a PyPI API token with username __token__, or configure PyPI Trusted Publishing for the GitHub repository.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distributions

No source distribution files available for this release.See tutorial on generating distribution archives.

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

a750_control-0.1.1-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (23.0 MB view details)

Uploaded CPython 3.12manylinux: glibc 2.27+ x86-64manylinux: glibc 2.28+ x86-64

File details

Details for the file a750_control-0.1.1-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for a750_control-0.1.1-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 1bba463c7258ab05cf652b26771f4f0715d795f6f67c9697448c0028301c0f4a
MD5 aea86a2a591eacee1cdf23978779dc2d
BLAKE2b-256 c077d46aa63e746dce7773b47c67533b4ef9c25aa8160d71d5e1a278a0ee8be6

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page