Skip to main content

ServoPy

From robot targets to controlled motion. A ROS-independent C++ core with a Python API for online joint and Cartesian servoing.

Documentation · Source · 中文介绍

ServoPy turns joint or Cartesian targets and measured feedback into bounded motion references. It supports position, velocity, pose and twist commands; native URDF or optional Pinocchio kinematics; DLS or bounded QP solvers; and optional Ruckig jerk control. NumPy is the only required third-party Python runtime dependency.

Install on Ubuntu

Prebuilt Linux wheels target CPython 3.10–3.14, x86_64 / ARM64, and glibc 2.28 or newer. A matching wheel needs no C++ compiler, CMake, Eigen installation or ROS. Ubuntu 22.04 and 24.04 provide suitable default Python versions; on Ubuntu 20.04, install Python 3.10 or newer in a separate environment first. Python 3.8/3.9, 32-bit and free-threaded builds are outside this wheel matrix.

python3 -m venv .venv
source .venv/bin/activate
python -m pip install --upgrade pip
python -m pip install --only-binary=:all: servo-py
python -m servo_py.examples.track_pose

If Ubuntu reports that venv is missing, install its matching python3-venv package. The example uses bundled URDF data, runs without a checkout or display, and finishes in HOLD with a position error of about 9.8e-5 m.

Panda simulation

python -m pip install --only-binary=:all: 'servo-py[mujoco]'
servo-py-panda --control-mode joint-position

For a machine without a desktop, run servo-py-panda --headless. The default demo runs an 18-second simulation. Choose torque, joint-position or ik-position; press Space to pause the viewer. Video recording also needs a working graphics backend.

The wheel and source distribution do not contain Panda model assets. On first use the demo downloads a fixed, approximately 5 MB archive, verifies its SHA-256, and caches it under ~/.cache/servo-py (or $XDG_CACHE_HOME/servo-py). Further runs reuse the cache offline. Installing or importing ServoPy, the basic URDF example and servo-py-panda --help do not download this model. For offline setup, supply the pinned archive via SERVO_PY_PANDA_ARCHIVE=/path/to/panda.zip; see the model setup guide. The small provenance manifest and license are included in the package.

Optional dependencies

  • servo-py[mujoco]: simulation, viewer and video recording.
  • servo-py[pinocchio]: Pinocchio kinematics.
  • servo-py[ruckig]: Ruckig 0.19.4 trajectory smoothing. Its upstream Linux wheels currently cover x86_64; installing this extra on ARM64 requires an upstream source build.

Extras can be combined, for example python -m pip install 'servo-py[mujoco,ruckig]' on x86_64. See the installation guide and Panda tutorial.

Source builds and scope

Source builds require Python 3.10 or newer, a compiler and standard library supporting C++17 or newer, CMake 3.20 or newer, and Eigen headers (provided by cmeel-eigen>=3.4,<4 during isolated pip builds). C++17 is the minimum language standard.

ServoPy generates references; your application owns feedback, actuator commands and device stopping. Physical-robot validation, geometric collision checking and hard real-time execution are outside the current verified scope. See the design contract and validation record.

ServoPy is MIT-licensed. The separately downloaded Panda assets are Apache-2.0; see NOTICE. This is an independent project and does not claim MoveIt compatibility.

Metadata

Release files for servo-py 0.3.0

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

Source distribution (sdist)

Source distribution for servo-py 0.3.0
File Size Uploaded Provenance
servo_py-0.3.0.tar.gz 6.1 MB With provenance Details

Built distributions (wheels)

Table of built distributions (wheels) for servo-py 0.3.0
File
servo_py-0.3.0-cp314-cp314-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl CPython 3.14 CPython 3.14 Linux glibc 2.27+ x86-64, Linux glibc 2.28+ x86-64 Details
servo_py-0.3.0-cp314-cp314-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl CPython 3.14 CPython 3.14 Linux glibc 2.28+ ARM64, Linux glibc 2.26+ ARM64 Details
servo_py-0.3.0-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl CPython 3.13 CPython 3.13 Linux glibc 2.28+ x86-64, Linux glibc 2.27+ x86-64 Details
servo_py-0.3.0-cp313-cp313-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl CPython 3.13 CPython 3.13 Linux glibc 2.26+ ARM64, Linux glibc 2.28+ ARM64 Details
servo_py-0.3.0-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl CPython 3.12 CPython 3.12 Linux glibc 2.27+ x86-64, Linux glibc 2.28+ x86-64 Details
servo_py-0.3.0-cp312-cp312-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl CPython 3.12 CPython 3.12 Linux glibc 2.26+ ARM64, Linux glibc 2.28+ ARM64 Details
servo_py-0.3.0-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl CPython 3.11 CPython 3.11 Linux glibc 2.27+ x86-64, Linux glibc 2.28+ x86-64 Details
servo_py-0.3.0-cp311-cp311-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl CPython 3.11 CPython 3.11 Linux glibc 2.28+ ARM64, Linux glibc 2.26+ ARM64 Details
servo_py-0.3.0-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl CPython 3.10 CPython 3.10 Linux glibc 2.28+ x86-64, Linux glibc 2.27+ x86-64 Details
servo_py-0.3.0-cp310-cp310-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl CPython 3.10 CPython 3.10 Linux glibc 2.26+ ARM64, Linux glibc 2.28+ ARM64 Details

Total release size: 10.1 MB

Release files / servo_py-0.3.0.tar.gz

Download URL servo_py-0.3.0.tar.gz
Size 6.1 MB
Tags Source
SHA-256 checksum
How to use checksums
dac896cbdb36de22805812678543922abf0c2c274eea0894b9ac094d625b3691
BLAKE2b-256 checksum
How to use checksums
b610da380d23d4c58bc66c2d8e40de17785de3682d5c0278a1c2c583617aea15
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Sep 18, 2026.

Transparency log

Release files / servo_py-0.3.0-cp314-cp314-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl

Download URL servo_py-0.3.0-cp314-cp314-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Size 417.7 kB
Tags CPython 3.14 Linux glibc 2.27+ x86-64 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
43dec8a77c31d9ed9f71ea75d3d0284c49bf3bea4dd8382fa22f29095df56091
BLAKE2b-256 checksum
How to use checksums
2ac3b4cd95eeb1770a3fa23474075492e1c7df3a357414ee3b8f3e8571683e35
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Sep 18, 2026.

Transparency log

Release files / servo_py-0.3.0-cp314-cp314-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl

Download URL servo_py-0.3.0-cp314-cp314-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl
Size 382.0 kB
Tags CPython 3.14 Linux glibc 2.26+ ARM64 Linux glibc 2.28+ ARM64
SHA-256 checksum
How to use checksums
1d5f4ac584a4dc76479412568c9aca478163f150f917d53e4b16dfcd04a96b89
BLAKE2b-256 checksum
How to use checksums
cc874df97745281e72f34a1ec0792de2f6c7cc605fa9aecc3f319e8f61156a54
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Sep 18, 2026.

Transparency log

Release files / servo_py-0.3.0-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl

Download URL servo_py-0.3.0-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Size 417.8 kB
Tags CPython 3.13 Linux glibc 2.27+ x86-64 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
0e0831396aef75328909eaaeafb7cd1ae5a86cf26bbbe8bbbdfc747f8bc071a4
BLAKE2b-256 checksum
How to use checksums
ee7fc31a97ce70b641ebde10e935ef0e13b8637e4ca2ec6abd9f53157e969f2b
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Sep 18, 2026.

Transparency log

Release files / servo_py-0.3.0-cp313-cp313-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl

Download URL servo_py-0.3.0-cp313-cp313-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl
Size 381.1 kB
Tags CPython 3.13 Linux glibc 2.26+ ARM64 Linux glibc 2.28+ ARM64
SHA-256 checksum
How to use checksums
d6bb658afe09e71a6be2c69e8c732599de5cb628ff328f2e1f9555bb65cc7310
BLAKE2b-256 checksum
How to use checksums
36243b576edd7a726d43cda1cb2b30a8c7efa63e9a9e6cf9bf537be03a2296ea
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Sep 18, 2026.

Transparency log

Release files / servo_py-0.3.0-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl

Download URL servo_py-0.3.0-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Size 417.8 kB
Tags CPython 3.12 Linux glibc 2.27+ x86-64 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
d514c950a4b0a6cee4dec4e5ebf1d68ee45d717a4b35f8728eb6d686e881d77d
BLAKE2b-256 checksum
How to use checksums
ed2f5ca2cfb114c8ca0c21d13d622a5757da760bd913542bcb7cb6d7f6e64b47
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Sep 18, 2026.

Transparency log

Release files / servo_py-0.3.0-cp312-cp312-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl

Download URL servo_py-0.3.0-cp312-cp312-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl
Size 381.1 kB
Tags CPython 3.12 Linux glibc 2.26+ ARM64 Linux glibc 2.28+ ARM64
SHA-256 checksum
How to use checksums
4456eb8f3ea6231b388d92e9c50b2faa5b4d4e82387f1da275e31c41a7827e6c
BLAKE2b-256 checksum
How to use checksums
2b46136d573663c66bf97822b62d86fafed00c17b7c842c4598b658264fa8721
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Sep 18, 2026.

Transparency log

Release files / servo_py-0.3.0-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl

Download URL servo_py-0.3.0-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Size 414.9 kB
Tags CPython 3.11 Linux glibc 2.27+ x86-64 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
34b4d7d53bb6fdc62a81d8c20f7e99e94f26ca357113bfff813c06eadb3ed79f
BLAKE2b-256 checksum
How to use checksums
13f8448245b81787c1508b8726683d3c94a62a4df954eee3bf4a515f877c672f
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Sep 18, 2026.

Transparency log

Release files / servo_py-0.3.0-cp311-cp311-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl

Download URL servo_py-0.3.0-cp311-cp311-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl
Size 379.2 kB
Tags CPython 3.11 Linux glibc 2.26+ ARM64 Linux glibc 2.28+ ARM64
SHA-256 checksum
How to use checksums
2faf52139f7a401c0b167a635d2923360bd903e29b538b0f883fc17ed655c2b5
BLAKE2b-256 checksum
How to use checksums
3441c389776e77af28aebd2b248617515a9f64dbb0dd875fcfe5c13a8f66b05c
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Sep 18, 2026.

Transparency log

Release files / servo_py-0.3.0-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl

Download URL servo_py-0.3.0-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Size 414.2 kB
Tags CPython 3.10 Linux glibc 2.27+ x86-64 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
05effbbb8a9c9b6e49da75d39b6b87866eb89d8fb488d258b4b8cdd2c38411d7
BLAKE2b-256 checksum
How to use checksums
3c7c98fdd53118e66d380ce03ce32fb26b749fa4d1aff254ad299f04cc5fcaaf
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Sep 18, 2026.

Transparency log

Release files / servo_py-0.3.0-cp310-cp310-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl

Download URL servo_py-0.3.0-cp310-cp310-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl
Size 378.2 kB
Tags CPython 3.10 Linux glibc 2.26+ ARM64 Linux glibc 2.28+ ARM64
SHA-256 checksum
How to use checksums
e8bdc4a02a0b338bc5ec338e27dec68ffea3497cfb55948d3705ecfbe365b0d5
BLAKE2b-256 checksum
How to use checksums
220d21f7eabe16d8f308b6ab65669c3ac1eca3d08a9dd3f329d06e0f38a623c7
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Sep 18, 2026.

Transparency log

Security for servo-py 0.3.0

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

Full provenance

All 11 files in this release have been uploaded with provenance metadata.

Select from 11 files

Attestation for servo_py-0.3.0.tar.gz

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Sep 18, 2026.

Transparency log

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Release history Release notifications | RSS feed

This release

0.3.0 This release

11 release files Full provenance

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