pyNetFT is a synchronous, typed Python SDK for ATI Net F/T Ethernet force/torque sensors. It discovers the active sensor calibration and streams RDT measurements through a reviewed snapshot of the native netft-cpp core.
- Exposes raw counts, calibrated measurements, native units, and stream health.
- Provides blocking iterator and callback delivery without requiring NumPy.
- Ships typed, self-contained wheels with the native core and HTTP-only curl.
- Supports explicit reconnect and fail-stop recovery behavior.
| Install method | Platform | Support |
|---|---|---|
| PyPI wheel | Linux and macOS (x86-64 and ARM64), Windows (x86-64), CPython 3.10–3.14 | Supported |
| Source | Linux, macOS, Windows, CPython 3.10–3.14 | Best effort |
Install from PyPI:
python -m pip install pynetftInstall from source:
git clone https://github.com/netft/pyNetFT.git
cd pyNetFT
python -m pip install .Supported wheels include curl and require no separate curl installation. Source builds require a C++17 compiler, CMake 3.16 or newer, and system libcurl 7.63.0 or newer.
from pynetft import Client, Config
config = Config(sensor_host="192.168.1.1")
with Client(config) as client:
sample = next(client.samples(timeout=1.0))
print(sample.force, sample.force_unit.value)
print(sample.torque, sample.torque_unit.value)192.168.1.1 is the ATI factory-default sensor address. Replace it with the
address configured for your sensor. Samples preserve the units reported by the
sensor, including the common ATI combination of newtons and
newton-millimeters. HTTP discovery and UDP RDT streaming do not provide
transport encryption, peer authentication, or message integrity; use a
trusted, isolated sensor network.
- Python SDK tutorial
- Python API reference
- Units, status, and faults
- Security and safety
- Migrating from pyNetFT 1.x
The deprecated NetFT and Response interfaces remain available throughout
2.x. New applications should use Client, Config, and Sample. PyPy and
asyncio are not supported by the 2.x package.
See CONTRIBUTING.md for the development environment, tests, hardware-testing policy, and native-core synchronization rules. Report security issues through SECURITY.md.
pyNetFT is licensed under the Apache License 2.0. Previous pyNetFT, netft-cpp, and curl license notices remain in the source and distribution artifacts.