Skip to content

pyNetFT

CI Wheels PyPI CodeQL Coverage Python License

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.

Features

  • 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.

Installation

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 pynetft

Install 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.

Quick start

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.

Documentation

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.

Contributing

See CONTRIBUTING.md for the development environment, tests, hardware-testing policy, and native-core synchronization rules. Report security issues through SECURITY.md.

License

pyNetFT is licensed under the Apache License 2.0. Previous pyNetFT, netft-cpp, and curl license notices remain in the source and distribution artifacts.

About

Typed Python client for ATI Net F/T Ethernet force/torque sensors, backed by a native C++ core.

Topics

Resources

Code of conduct

Contributing

Security policy

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages