Skip to main content

High-Level Control Library for Franka Robots with Python and C++ Support

CI Publish Issues Releases MIT

franky is a high-level control library for Franka robots, offering Python and C++ support. By providing a high-level control interface, franky eliminates the need for strict real-time programming at 1 kHz, making control from non-real-time environments, such as Python programs, feasible. Instead of relying on low-level control commands, franky expects high-level position or velocity targets and uses Ruckig to plan time-optimal trajectories in real-time.

Although Python does not provide real-time guarantees, franky strives to maintain as much real-time control as possible. Motions can be preempted at any moment, prompting franky to re-plan trajectories on the fly. To handle unforeseen situations—such as unexpected contact with the environment — franky includes a reaction system that allows for updating motion commands dynamically. Furthermore, most non-real-time functionality of libfranka, such as Gripper control is made directly available in Python.

Check out the documentation and the examples for an introduction.

If you do not have a robot at hand, you can also try the simulation first.

🚀 Features

  • Control your Franka robot directly from Python in just a few lines! No more endless hours setting up ROS, juggling packages, or untangling dependencies. Just pip install — no ROS at all.

  • Trajectory control: Cartesian position, Cartesian velocity, Joint position, and Joint velocity control. franky's trajectory controllers use Ruckig to generate smooth, time-optimal trajectories while respecting velocity, acceleration, and jerk limits.

  • Torque control: Direct torque control and Impedance control. Command joint torques directly, or use franky's built-in Cartesian and joint impedance controllers.

  • Real-time control from Python and C++ Need to change the target while the robot’s moving? No problem. franky replans trajectories on the fly so that you can preempt motions anytime.

  • Reactive behavior Robots don’t always go according to plan. franky lets you define reactions to unexpected events—like contact with the environment — so you can change course in real-time.

  • Motion and reaction callbacks Want to monitor what’s happening under the hood? Add callbacks to your motions and reactions. They won’t block the control thread and are super handy for debugging or logging.

  • Things are moving too fast? Tune the robot's dynamics to your needs Adjust max velocity, acceleration, and jerk to match your setup or task. Fine control for smooth, safe operation.

  • Full Python access to the libfranka API Want to tweak impedance, read the robot state, set force thresholds, or mess with the Jacobian? Go for it. If libfranka supports it, chances are franky does, too.

  • Scared to test code on the real system?: franky-sim provides simulator support for franky! It is easy to install and use and serves as a drop-in replacement for the real robot.

📖 Python Quickstart Guide

Real-time kernel already installed and real-time permissions granted? Just install franky via

pip install franky-control

Otherwise, follow the installation instructions first.

We also provide development builds of the latest master (stable) and dev (unstable) branches:

# Replace 10 with your robot server version
# Development (stable): latest master branch
pip install --pre franky-control --extra-index-url "https://timschneider42.github.io/franky/whl/by-robot-server-version/10/"
# Development (unstable): latest dev branch
pip install --pre franky-control --extra-index-url "https://timschneider42.github.io/franky/branches/dev/whl/by-robot-server-version/10/"

Now we are already ready to go! Unlock the brakes in the web interface, activate FCI, and start coding:

from franky import *

robot = Robot("10.90.90.1")  # Replace this with your robot's IP

# Let's start slow (this lets the robot use a maximum of 5% of its velocity, acceleration, and jerk limits)
robot.relative_dynamics_factor = 0.05

# Move the robot 20cm along the relative X-axis of its end-effector
motion = CartesianMotion(Affine([0.2, 0.0, 0.0]), ReferenceType.Relative)
robot.move(motion)

If you are seeing server version mismatch errors, your robot is likely running an older firmware or is an older Franka Panda model — see the FAQ for how to install matching wheels.

📚 Documentation

The full documentation is available at https://timschneider42.github.io/franky/.

📜 License

Starting with version 2.0.0, franky is licensed under the MIT License. Versions prior to 2.0.0 were released under the LGPL v3.0 and remain available under that license.

The Python docstrings of the franka.* entities (python/docstrings.hpp) are extracted from the headers of libfranka, Copyright (c) Franka Robotics GmbH, which is licensed under the Apache License 2.0.

Contributing

If you wish to contribute to this project, you are welcome to create a pull request. Please check out the contributing guidelines first.

Metadata

Release files for franky-control 2.0.0

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

Built distributions (wheels)

Table of built distributions (wheels) for franky-control 2.0.0
File
franky_control-2.0.0-cp314-cp314-manylinux_2_34_x86_64.whl CPython 3.14 CPython 3.14 Linux glibc 2.34+ x86-64 Details
franky_control-2.0.0-cp314-cp314-manylinux_2_28_x86_64.whl CPython 3.14 CPython 3.14 Linux glibc 2.28+ x86-64 Details
franky_control-2.0.0-cp313-cp313-manylinux_2_34_x86_64.whl CPython 3.13 CPython 3.13 Linux glibc 2.34+ x86-64 Details
franky_control-2.0.0-cp313-cp313-manylinux_2_28_x86_64.whl CPython 3.13 CPython 3.13 Linux glibc 2.28+ x86-64 Details
franky_control-2.0.0-cp312-cp312-manylinux_2_34_x86_64.whl CPython 3.12 CPython 3.12 Linux glibc 2.34+ x86-64 Details
franky_control-2.0.0-cp312-cp312-manylinux_2_28_x86_64.whl CPython 3.12 CPython 3.12 Linux glibc 2.28+ x86-64 Details
franky_control-2.0.0-cp311-cp311-manylinux_2_34_x86_64.whl CPython 3.11 CPython 3.11 Linux glibc 2.34+ x86-64 Details
franky_control-2.0.0-cp311-cp311-manylinux_2_28_x86_64.whl CPython 3.11 CPython 3.11 Linux glibc 2.28+ x86-64 Details
franky_control-2.0.0-cp310-cp310-manylinux_2_34_x86_64.whl CPython 3.10 CPython 3.10 Linux glibc 2.34+ x86-64 Details
franky_control-2.0.0-cp310-cp310-manylinux_2_28_x86_64.whl CPython 3.10 CPython 3.10 Linux glibc 2.28+ x86-64 Details
franky_control-2.0.0-cp39-cp39-manylinux_2_34_x86_64.whl CPython 3.9 CPython 3.9 Linux glibc 2.34+ x86-64 Details
franky_control-2.0.0-cp39-cp39-manylinux_2_28_x86_64.whl CPython 3.9 CPython 3.9 Linux glibc 2.28+ x86-64 Details

Total release size: 44.1 MB

Release files / franky_control-2.0.0-cp314-cp314-manylinux_2_34_x86_64.whl

Download URL franky_control-2.0.0-cp314-cp314-manylinux_2_34_x86_64.whl
Size 3.6 MB
Tags CPython 3.14 Linux glibc 2.34+ x86-64
SHA-256 checksum
How to use checksums
3e0bb5a72cd9d1ac0960c18cd9309701b84591ba688fa0f46d49ec042f13d936
BLAKE2b-256 checksum
How to use checksums
3050fa6a9118bcd96b1fa4cb02801d36d87dc8802b4545583f6a17b9faa2e601
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 Aug 24, 2026.

Transparency log

Release files / franky_control-2.0.0-cp314-cp314-manylinux_2_28_x86_64.whl

Download URL franky_control-2.0.0-cp314-cp314-manylinux_2_28_x86_64.whl
Size 3.7 MB
Tags CPython 3.14 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
c789d833125d2cea277551bfa3c70f3ecb2fef0dfe9330a960aac819d919d501
BLAKE2b-256 checksum
How to use checksums
23eae55b689d91951cf5c7638c0ef75051486bff7ecc0be48cbc29431f0e2b77
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 Aug 24, 2026.

Transparency log

Release files / franky_control-2.0.0-cp313-cp313-manylinux_2_34_x86_64.whl

Download URL franky_control-2.0.0-cp313-cp313-manylinux_2_34_x86_64.whl
Size 3.6 MB
Tags CPython 3.13 Linux glibc 2.34+ x86-64
SHA-256 checksum
How to use checksums
156776cfce42982e9104da1fb7506d9af69fe83cab6bc3e2993656f48cba9617
BLAKE2b-256 checksum
How to use checksums
176774728837b1d53455fb0c726f3ea29d88171b596d0e6d8217ac54ebc0312e
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 Aug 24, 2026.

Transparency log

Release files / franky_control-2.0.0-cp313-cp313-manylinux_2_28_x86_64.whl

Download URL franky_control-2.0.0-cp313-cp313-manylinux_2_28_x86_64.whl
Size 3.7 MB
Tags CPython 3.13 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
a53d41029ecce8773dda9b6792474363f107d8985bfa3c67158b27afe42df07a
BLAKE2b-256 checksum
How to use checksums
2d2001edfc81fe28b653bd8a602146a3b4cb0be93a21910be74324b79ad9d2e2
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 Aug 24, 2026.

Transparency log

Release files / franky_control-2.0.0-cp312-cp312-manylinux_2_34_x86_64.whl

Download URL franky_control-2.0.0-cp312-cp312-manylinux_2_34_x86_64.whl
Size 3.6 MB
Tags CPython 3.12 Linux glibc 2.34+ x86-64
SHA-256 checksum
How to use checksums
aed8520d9f671db8eabb5738360a1c4bf29a5fd14e493c9f74a3fc2e6959ff2d
BLAKE2b-256 checksum
How to use checksums
ba3c36b71c8e785ccfadf52a03a70cc8158d360289069edd6f541acb080caacf
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 Aug 24, 2026.

Transparency log

Release files / franky_control-2.0.0-cp312-cp312-manylinux_2_28_x86_64.whl

Download URL franky_control-2.0.0-cp312-cp312-manylinux_2_28_x86_64.whl
Size 3.7 MB
Tags CPython 3.12 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
1d571d45cc84b0df1fb0f961b31cc6d74d4f9721381e9eaef976d10d7c318516
BLAKE2b-256 checksum
How to use checksums
7542486c7a5bcc2749cb8fb2b3883735b1eb2c6856a05310ea65ba4f30815aaa
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 Aug 24, 2026.

Transparency log

Release files / franky_control-2.0.0-cp311-cp311-manylinux_2_34_x86_64.whl

Download URL franky_control-2.0.0-cp311-cp311-manylinux_2_34_x86_64.whl
Size 3.6 MB
Tags CPython 3.11 Linux glibc 2.34+ x86-64
SHA-256 checksum
How to use checksums
f14f8addbecf28325b03fcdaf455a0fafa500cd69a9bbc229bf2a795ac2c8fe6
BLAKE2b-256 checksum
How to use checksums
8258a57b8c7f8cc6196ee190f158369cc585ff4d0d6d62488a22179e56f3d42d
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 Aug 24, 2026.

Transparency log

Release files / franky_control-2.0.0-cp311-cp311-manylinux_2_28_x86_64.whl

Download URL franky_control-2.0.0-cp311-cp311-manylinux_2_28_x86_64.whl
Size 3.7 MB
Tags CPython 3.11 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
c0a9aaea3d55ed94daeae887dff6bfd09a342feb6a7c7151dfafa0e6677f028f
BLAKE2b-256 checksum
How to use checksums
64748d53bedfbe5ae90fb33f8f1b7fe6deec1a6f72cb36f19056f9c049e7d2a3
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 Aug 24, 2026.

Transparency log

Release files / franky_control-2.0.0-cp310-cp310-manylinux_2_34_x86_64.whl

Download URL franky_control-2.0.0-cp310-cp310-manylinux_2_34_x86_64.whl
Size 3.6 MB
Tags CPython 3.10 Linux glibc 2.34+ x86-64
SHA-256 checksum
How to use checksums
c357e8037383e7acc7c7a6da583d2f4aa899c3b1c11f312d88f448624de0017b
BLAKE2b-256 checksum
How to use checksums
29dff895c2405ef922f2fc6163bc163f87ac5219b30105b47399ba568d560368
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 Aug 24, 2026.

Transparency log

Release files / franky_control-2.0.0-cp310-cp310-manylinux_2_28_x86_64.whl

Download URL franky_control-2.0.0-cp310-cp310-manylinux_2_28_x86_64.whl
Size 3.7 MB
Tags CPython 3.10 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
e420d5bb5c3bf8930b9f9e617037d1e1ac85d379a5e12d7b838fa7de74bb7615
BLAKE2b-256 checksum
How to use checksums
b26747d63cd485f75e1ddc7ca3b7914c989f357cb63fddcd3ae5501fb03ac1b0
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 Aug 24, 2026.

Transparency log

Release files / franky_control-2.0.0-cp39-cp39-manylinux_2_34_x86_64.whl

Download URL franky_control-2.0.0-cp39-cp39-manylinux_2_34_x86_64.whl
Size 3.6 MB
Tags CPython 3.9 Linux glibc 2.34+ x86-64
SHA-256 checksum
How to use checksums
005b4c39ffbd305ddac5f947261f61dee25c21054cdc7f9c191447f15ef7bc1b
BLAKE2b-256 checksum
How to use checksums
6175105723c5b075b73d35ed14a45159d0d447850c1fb82ebeb489be30ee148b
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 Aug 24, 2026.

Transparency log

Release files / franky_control-2.0.0-cp39-cp39-manylinux_2_28_x86_64.whl

Download URL franky_control-2.0.0-cp39-cp39-manylinux_2_28_x86_64.whl
Size 3.7 MB
Tags CPython 3.9 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
ea4fd5fc9007d4e1d94edb4e71979869ef2627b01db42940559c6357f77a7780
BLAKE2b-256 checksum
How to use checksums
7472f2a9aa50175e273927d7c444b00d8fe9bc384acfffc2e7cd99df86c79f27
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 Aug 24, 2026.

Transparency log

Release history Release notifications | RSS feed

This release

2.0.0 This release

12 release files

1.1.4

14 release files

1.1.3

18 release files

1.1.2

14 release files

1.1.1

14 release files

1.1.0

14 release files

1.0.2

16 release files

1.0.1

8 release files

1.0.0

8 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