# xsdata -- XML data bindings for Python: generates dataclasses from XML Schema, # WSDL, DTD or sample XML/JSON, and (de)serialises XML and JSON to and from them. # # WHY IT IS HERE: python-ismrmrd 1.15 uses xsdata to read and write the ISMRMRD # XML header (ismrmrd.xsd.ismrmrdschema is xsdata-generated). That is needed by # MITK task 16, raw MRI reconstruction (docs/mitk-tasks.md). # # Class 1 under docs/PACKAGING-POLICY.md: Fedora ships no package by this source # name and nothing provides python3dist(xsdata). Verified 2026-10-12 on f44 and # rawhide: # dnf repoquery --whatprovides 'python3dist(xsdata)' -> empty # # Extras: "cli" (the code generator: click, jinja2, toposort, ruff), "lxml" and # "soap" (requests) are packaged as extras subpackages. "docs" and "test" are # upstream tooling. %global pypi_name xsdata Name: python-%{pypi_name} Version: 26.2 Release: 1%{?dist} Summary: Python XML data bindings and code generator License: MIT URL: https://github.com/tefra/xsdata Source0: %{pypi_source %{pypi_name}} BuildArch: noarch BuildRequires: python3-devel BuildRequires: python3dist(pytest) BuildRequires: python3dist(pytest-benchmark) BuildRequires: python3dist(requests) %global _description %{expand: xsdata is a naive XML data-binding library and code generator for Python. It generates Python dataclasses from XML Schema 1.0/1.1, WSDL 1.1, DTD and sample XML or JSON documents, and parses and serialises XML and JSON to and from those classes, with a pure-Python parser or lxml.} %description %_description %package -n python3-%{pypi_name} Summary: %{summary} %description -n python3-%{pypi_name} %_description %pyproject_extras_subpkg -n python3-%{pypi_name} cli lxml soap %prep %autosetup -p1 -n %{pypi_name}-%{version} %generate_buildrequires %pyproject_buildrequires -x cli,lxml %build %pyproject_wheel %install %pyproject_install %pyproject_save_files -l %{pypi_name} %check %pyproject_check_import # The whole upstream suite, codegen and CLI included (toposort and ruff are # installed), under upstream's own pytest settings, which skip the benchmarks. %pytest tests -p no:cacheprovider -q -rs %{py3_test_envvars} %{buildroot}%{_bindir}/xsdata --help >/dev/null %files -n python3-%{pypi_name} -f %{pyproject_files} %doc README.md CHANGES.md %{_bindir}/xsdata %changelog * Mon Oct 12 2026 Morgan Hough - 26.2-1 - Initial package: the ISMRMRD header binding in python-ismrmrd uses it.