Python client for the Franka Desk REST API (FCI, joints, safety, configuration)
Project description
franka_desk
Python client for the Franka Desk REST API. Automates the
web-UI steps required before libfranka / franka_ros2 can connect to a
Franka Research robot: taking the control token, unlocking the joints, and
activating the FCI (Franka Control Interface).
Installation
pip install franka_desk
Requires Python ≥ 3.11 and requests. For local development:
pip install -e ".[dev]" # editable install with pytest + responses
Usage
from franka_desk import FrankaDeskClient
# Context manager: brings the robot up on enter, tears it down on exit.
with FrankaDeskClient("https://<robot-ip>", "<username>", "<password>") as client:
# FCI is active and joints are unlocked here — connect libfranka / franka_ros2.
...
# On exit: FCI deactivated, joints locked, control token released.
Or drive the lifecycle manually:
client = FrankaDeskClient("https://<robot-ip>", "<username>", "<password>")
client.bring_up() # take token, wait until ready, unlock joints, activate FCI
# ... run your control loop ...
client.tear_down() # deactivate FCI, lock joints, release token
Individual operations (take_control_token, unlock_joints, activate_fci,
reboot, get_system_state, …) are also exposed for finer control.
Errors
All failures raise a subclass of FrankaDeskError, so you can catch broadly or
narrowly:
AuthenticationError— wrong username/password.UserStopEngaged— the user/emergency stop is pressed (joints can't unlock).TokenUnavailable/TokenExpired— the control token is held elsewhere or stale.FrankaConnectionError/ServiceUnavailable/OperationError— transport / 5xx / operation failures.
ROS 2 integration
The franka_desk_bringup package wraps this client in
a ROS 2 node (fci_activator) that activates the FCI on startup and publishes
the robot's readiness.
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 Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file franka_desk-0.1.0.tar.gz.
File metadata
- Download URL: franka_desk-0.1.0.tar.gz
- Upload date:
- Size: 10.6 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
a6bba446d4a338ceda52b8b24939ba8b6ba957ae91c636052b0c9a2612b391f0
|
|
| MD5 |
a593ec5ee4c00ce29619da38181103ab
|
|
| BLAKE2b-256 |
4e0417c2422156bbb191b7da8c63db8db4b9dbeac416c34a84610df725d7ea42
|
File details
Details for the file franka_desk-0.1.0-py3-none-any.whl.
File metadata
- Download URL: franka_desk-0.1.0-py3-none-any.whl
- Upload date:
- Size: 11.6 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
61130218acf0245f9dc31ff587ea3425e4540069e74dbc9d6506e0c175c000ff
|
|
| MD5 |
993e559d4bb48753fc3d723cb7ff127a
|
|
| BLAKE2b-256 |
5f718e9bc5027b5999676ce29db6907b3496945ef07285b53483f014c6916cb2
|