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.
Metadata
Release files for franka-desk 0.1.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| franka_desk-0.1.0.tar.gz | 10.6 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| franka_desk-0.1.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 22.2 kB
Release files / franka_desk-0.1.0.tar.gz
| Download URL | franka_desk-0.1.0.tar.gz |
|---|---|
| Size | 10.6 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
a6bba446d4a338ceda52b8b24939ba8b6ba957ae91c636052b0c9a2612b391f0
|
|
BLAKE2b-256 checksum How to use checksums |
4e0417c2422156bbb191b7da8c63db8db4b9dbeac416c34a84610df725d7ea42
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.12.3
|
Release files / franka_desk-0.1.0-py3-none-any.whl
| Download URL | franka_desk-0.1.0-py3-none-any.whl |
|---|---|
| Size | 11.6 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
61130218acf0245f9dc31ff587ea3425e4540069e74dbc9d6506e0c175c000ff
|
|
BLAKE2b-256 checksum How to use checksums |
5f718e9bc5027b5999676ce29db6907b3496945ef07285b53483f014c6916cb2
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.12.3
|