%global pypi_name pyigtl %global import_name pyigtl Name: python-%{pypi_name} Version: 0.3.4 Release: 1%{?dist} Summary: Pure-Python implementation of the OpenIGTLink protocol License: MIT URL: https://github.com/lassoan/pyigtl Source0: %{pypi_source %{pypi_name}} BuildArch: noarch BuildRequires: python3-devel BuildRequires: pyproject-rpm-macros %global _description %{expand: pyigtl is a pure-Python implementation of OpenIGTLink, the open network protocol for real-time exchange of tracking, image and device data between medical imaging and navigation software. It provides client and server endpoints and the message types (transform, image, string, point, etc.), so a Python program can stream data to or from any OpenIGTLink-speaking application -- 3D Slicer (via the SlicerOpenIGTLink / OpenIGTLinkIF module), the Plus toolkit, NaviNIBS, tracked ultrasound and neuronavigation systems. Being a client/server for a wire protocol, it interoperates with those tools without any code dependency on them.} %description %_description %package -n python3-%{pypi_name} Summary: %{summary} %description -n python3-%{pypi_name} %_description %prep %autosetup -n %{pypi_name}-%{version} %generate_buildrequires %pyproject_buildrequires %build %pyproject_wheel %install %pyproject_install %pyproject_save_files %{import_name} %check # The shipped tests open real TCP sockets between a client and server; skip the # module-import check for the tests subpackage and just verify the library imports. %pyproject_check_import -e '*.tests.*' %files -n python3-%{pypi_name} -f %{pyproject_files} %license LICENSE %doc README.md %changelog * Tue Jul 21 2026 Morgan Hough - 0.3.4-1 - Initial package. Pure-Python OpenIGTLink endpoint: a standalone client/server for the protocol that 3dslicer-openigtlink also speaks, so the two can be used as independent endpoints for OpenIGTLink interop testing. Deps (crcmod, numpy) are both already in Fedora; no version constraints.