%global pypi_name sovabids Name: python-%{pypi_name} Version: 0.4.7 Release: 2%{?dist} Summary: Automated EEG to BIDS conversion License: BSD-3-Clause URL: https://github.com/yjmantilla/sovabids Source0: %{pypi_source %{pypi_name}} BuildArch: noarch BuildRequires: python3-devel %global _description %{expand: sovabids converts EEG datasets to BIDS from a rules file that infers BIDS entities from file paths, built on MNE-BIDS. BIDS (the Brain Imaging Data Structure) is the standard layout for neuroimaging datasets used by OpenNeuro, fMRIPrep and most current pipelines.} %description %{_description} %package -n python3-%{pypi_name} Summary: %{summary} # The gui (fastapi-jsonrpc) and tui (textual) extras are optional and not packaged; sovaconvert and sovapply work without them %description -n python3-%{pypi_name} %{_description} %prep %autosetup -p1 -n sovabids-%{version} # Fedora rejects ambiguous #!/usr/bin/env python shebangs in installed modules. grep -rlI '^#!/usr/bin/env python$' . | xargs -r sed -i '1s|^#!/usr/bin/env python$|#!%{python3}|' # Old versioneer.py uses configparser.SafeConfigParser and readfp, both removed in Python 3.12. if [ -f versioneer.py ] && grep -q SafeConfigParser versioneer.py; then sed -i 's/SafeConfigParser/ConfigParser/g; s/\.readfp(/.read_file(/g' versioneer.py if grep -qE 'SafeConfigParser|readfp\(' versioneer.py; then exit 1; fi fi %generate_buildrequires export UV_DYNAMIC_VERSIONING_BYPASS=%{version} %pyproject_buildrequires %build export UV_DYNAMIC_VERSIONING_BYPASS=%{version} %pyproject_wheel %install %pyproject_install # Build helpers some DataLad-template projects install at top level; not part of the package. rm -rf %{buildroot}%{python3_sitelib}/_datalad_buildsupport %{buildroot}%{python3_sitelib}/tools %{buildroot}%{python3_sitelib}/benchmarks %{buildroot}%{python3_sitelib}/tests %{buildroot}%{python3_sitelib}/tests.py # Old setup.py data_files can drop these at the top of site-packages (osfclient does). rm -f %{buildroot}%{python3_sitelib}/{LICENSE,VERSION,requirements.txt} %pyproject_save_files -L sovabids %check %pyproject_check_import -e 'sovabids.tests*' -e 'sovabids.*.tests*' -e '*.test_*' -e '*.conftest' -e '*.pytest_plugin' -e 'sovabids.errors' -e 'sovabids.sovarpc' -e 'sovabids.tui' %{py3_test_envvars} %{buildroot}%{_bindir}/sovaconvert --help > /dev/null %{py3_test_envvars} %{buildroot}%{_bindir}/sovapply --help > /dev/null %files -n python3-%{pypi_name} -f %{pyproject_files} %license LICENSE %{_bindir}/sovaconvert %{_bindir}/sovapply %{_bindir}/sovatui %changelog * Mon Oct 12 2026 Morgan Hough - 0.4.7-2 - Import check skips the optional GUI/TUI modules; no F43 build (no uv-dynamic-versioning there). * Mon Oct 12 2026 Morgan Hough - 0.4.7-1 - Initial package, for the DataLad extension stack and dandi.