Skip to main content

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)

Source distribution for franka-desk 0.1.0
File Size Uploaded
franka_desk-0.1.0.tar.gz 10.6 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for franka-desk 0.1.0
File Interpreter ABI Platform
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

Release history Release notifications | RSS feed

This release

0.1.0 This release

2 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