Skip to main content

🤖 net_franky

Use the Franky library from non-realtime Machines.

License Status

🏗️ How it works

┌─────────────┐    RPyC     ┌─────────────┐    libfranka    ┌─────────────┐
│ Your Laptop │ ──────────► │ RT Server   │ ──────────────► │ Franka Robot│
│             │             │             │                 │             │
└─────────────┘             └─────────────┘                 └─────────────┘

🎯 Key Benefits:

  • 🔌 Drop-in replacement for the franky library with function stubs
  • ⚡ Well proven - building on the common rpyc library
  • 🚀 Simple - 5 minutes to get started

🚀 Quick Start

1. Server Setup (Real-time machine)

# One-time setup
mkdir ~/net_franky && cd ~/net_franky
python -m venv .venv && source .venv/bin/activate
pip install "net_franky[server] @ git+https://github.com/yblei/net_franky.git"

2. Start server (Run in tmux/screen)

rpyc_classic -p 18812 --host 0.0.0.0

3. Client Usage (Your laptop)

pip install 'git+https://github.com/yblei/net_franky.git'
from net_franky import setup_net_franky
# Connect to remote server
setup_net_franky("server-ip", 18812)

from net_franky.franky import Robot

# Use exactly like local franky
robot = Robot("192.168.1.100")
robot.move_to([0.3, 0.4, 0.5])

That's it! 🎉 Your robot code now runs remotely.


Only Deviation from franky: Wrapper around the robot class

Franky supports the registration of a callback function to a motion. This is useful to record trajectories or to stream pose information back for visualization. Since this function is called with 1000Hz and the calls are buffered, execution over the network leads to significant delays.

We therefore provide a pointer to the latest motion callback data in

robot_state, time_step, rel_time, abs_time, control_signal = robot.get_last_callback_data()

Warning: If you get segmentation faults, make sure you use the same version of python on the server and the client.

🤝 Contributing

We welcome contributions!

Metadata

Release files for net-franky 1.0.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 net-franky 1.0.0
File Size Uploaded Provenance Actions
net_franky-1.0.0.tar.gz 13.3 kB With provenance Details for net_franky-1.0.0.tar.gz

Built distribution (wheel)

Table of built distributions (wheels) for net-franky 1.0.0
File Interpreter ABI Platform Actions
net_franky-1.0.0-py3-none-any.whl Python 3 none any Details for net_franky-1.0.0-py3-none-any.whl

Total release size: 27.9 kB

Release files / net_franky-1.0.0.tar.gz

Download URL net_franky-1.0.0.tar.gz
Size 13.3 kB
Tags Source
SHA-256 checksum
How to use checksums
48571f39c2f3b4f3ebc449ee171513697e8913ca139ad99513d52dc628e0a233
BLAKE2b-256 checksum
How to use checksums
72ceba4e21f3aa9c63276e84052dca80d24e8c6e0517896a409e7942228a150a
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.7

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 Dec 11, 2025.

Transparency log

Release files / net_franky-1.0.0-py3-none-any.whl

Download URL net_franky-1.0.0-py3-none-any.whl
Size 14.6 kB
Tags Python 3
SHA-256 checksum
How to use checksums
55a282752accab32904c19c1ec1bef577c7298160b68872f287bab192f556655
BLAKE2b-256 checksum
How to use checksums
7315f56316f30480864efdf1df1deac2265926e41baf2e44dd4930c9f99d158e
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.7

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 Dec 11, 2025.

Transparency log

Security for net-franky 1.0.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 2 files in this release have been uploaded with provenance metadata.

Select from 2 files

Attestation for net_franky-1.0.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 Dec 11, 2025.

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

1.0.0 This release

2 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