## START: Set by rpmautospec
## (rpmautospec version 0.7.3)
## RPMAUTOSPEC: autorelease, autochangelog
%define autorelease(e:s:pb:n) %{?-p:0.}%{lua:
    release_number = 11;
    base_release_number = tonumber(rpm.expand("%{?-b*}%{!?-b:1}"));
    print(release_number + base_release_number - 1);
}%{?-e:.%{-e*}}%{?-s:.%{-s*}}%{!?-n:%{?dist}}
## END: Set by rpmautospec

%global modname ipykernel

# When we bootstrap new Python, we need to avoid a build dependnecy loop
%bcond bootstrap 0
%bcond tests %{without bootstrap}

Name:           python-%{modname}
Version:        6.29.3
Release:        %autorelease
Summary:        IPython Kernel for Jupyter
License:        BSD-3-Clause
URL:            https://github.com/ipython/%{modname}
Source0:        https://github.com/ipython/%{modname}/releases/download/v%{version}/%{modname}-%{version}.tar.gz

# Compatibility with pytest 8
Patch:          https://github.com/ipython/ipykernel/commit/a7d66a.patch
# Avoid a DeprecationWarning on Python 3.13+
Patch:          https://github.com/ipython/ipykernel/pull/1248.patch

BuildArch:      noarch

BuildRequires:  python3-devel

%global _description \
This package provides the IPython kernel for Jupyter.

%description %{_description}

%package -n python%{python3_pkgversion}-%{modname}
Summary:        %{summary}
%{?python_provide:%python_provide python%{python3_pkgversion}-%{modname}}
Requires:       python-jupyter-filesystem

# We removed the -doc subpackage for Fedora 42.
Obsoletes:      python-ipykernel-doc < 6.29.3-8

Recommends:     python%{python3_pkgversion}-matplotlib
Recommends:     python%{python3_pkgversion}-numpy
Recommends:     python%{python3_pkgversion}-pandas
Recommends:     python%{python3_pkgversion}-scipy
Recommends:     python%{python3_pkgversion}-pillow

%description -n python%{python3_pkgversion}-%{modname} %{_description}

%prep
%autosetup -p1 -n %{modname}-%{version}

# Remove the dependency on debugpy.
# See https://github.com/ipython/ipykernel/pull/767
sed -i '/"debugpy/d' pyproject.toml

# Remove test dependencies on pre-commit (used for linting) and pytest-cov; see
# https://docs.fedoraproject.org/en-US/packaging-guidelines/Python/#_linters.
sed -i -r '/"(pre-commit|pytest-cov)/d' pyproject.toml

%generate_buildrequires
%pyproject_buildrequires %{?with_tests:-x test}

%build
%pyproject_wheel

%install
%pyproject_install
%pyproject_save_files %{modname} %{modname}_launcher

# Install the kernel so it can be found
# See https://bugzilla.redhat.com/show_bug.cgi?id=1327979#c19
%{python3} -m ipykernel install --prefix %{buildroot}%{_prefix}
ls %{buildroot}%{_datadir}/jupyter/kernels/python3/
cat %{buildroot}%{_datadir}/jupyter/kernels/python3/kernel.json


%check
%if %{with tests}
%pytest -Wdefault
%else
# datapub, pickleutil, serialize need ipyparallel
# pylab needs matplotlib
# trio needs trio
# debugger needs debugpy
# gui needs gobject
%{pyproject_check_import \
    -e %{modname}.datapub -e %{modname}.pickleutil -e %{modname}.serialize \
    -e '%{modname}.pylab*' \
    -e '%{modname}.trio*' \
    -e %{modname}.debugger \
    -e '%{modname}.gui*' \
    -e '*.test*'}
%endif


%files -n python%{python3_pkgversion}-%{modname}
%license LICENSE
%doc CONTRIBUTING.md README.md
%{python3_sitelib}/%{modname}
%pycached %{python3_sitelib}/%{modname}_launcher.py
%{python3_sitelib}/%{modname}*.dist-info/
%{_datadir}/jupyter/kernels/python3


%changelog
## START: Generated by rpmautospec
* Sat Mar 08 2025 Romain Geissler <romain.geissler@amadeus.com> - 6.29.3-11
- Introduce a bootstrap bcond to allow EPEL build inside side tags.

* Sun Feb 23 2025 Benjamin A. Beasley <code@musicinmybrain.net> - 6.29.3-10
- Drop test dependencies on pre-commit and pytest-cov

* Sat Jan 18 2025 Fedora Release Engineering <releng@fedoraproject.org> - 6.29.3-9
- Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild

* Tue Nov 26 2024 Benjamin A. Beasley <code@musicinmybrain.net> - 6.29.3-8
- F42+: Drop and Obsolete -doc subpackage

* Fri Jul 19 2024 Fedora Release Engineering <releng@fedoraproject.org> - 6.29.3-6
- Rebuilt for https://fedoraproject.org/wiki/Fedora_41_Mass_Rebuild

* Mon Jun 10 2024 Miro Hrončok <miro@hroncok.cz> - 6.29.3-5
- Avoid a DeprecationWarning on Python 3.13+

* Sun Jun 09 2024 Python Maint <python-maint@redhat.com> - 6.29.3-4
- Rebuilt for Python 3.13

* Sun Jun 09 2024 Python Maint <python-maint@redhat.com> - 6.29.3-3
- Bootstrap for Python 3.13

* Thu Apr 11 2024 Lumir Balhar <lbalhar@redhat.com> - 6.29.3-2
- Fix compatibility with pytest 8

* Wed Mar 13 2024 Sandro <devel@penguinpee.nl> - 6.29.3-1
- Update to 6.29.3 (RHBZ#2246019)

* Fri Jan 26 2024 Fedora Release Engineering <releng@fedoraproject.org> - 6.25.1-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild

* Mon Jan 22 2024 Fedora Release Engineering <releng@fedoraproject.org> - 6.25.1-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild

* Thu Aug 03 2023 Lumír Balhar <lbalhar@redhat.com> - 6.25.1-1
- Update to 6.25.1 (rhbz#2144566)

* Fri Jul 21 2023 Fedora Release Engineering <releng@fedoraproject.org> - 6.17.1-6
- Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild

* Mon Jul 10 2023 Python Maint <python-maint@redhat.com> - 6.17.1-5
- Rebuilt for Python 3.12

* Sun Jul 02 2023 Python Maint <python-maint@redhat.com> - 6.17.1-4
- Bootstrap for Python 3.12

* Thu Apr 20 2023 Miro Hrončok <mhroncok@redhat.com> - 6.17.1-3
- Convert the License tag to SPDX

* Fri Jan 20 2023 Fedora Release Engineering <releng@fedoraproject.org> - 6.17.1-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild

* Fri Nov 11 2022 Lumír Balhar <lbalhar@redhat.com> - 6.17.1-1
- Update to 6.17.1 (#2136453)

* Tue Sep 27 2022 Charalampos Stratakis <cstratak@redhat.com> - 6.16.0-1
- Update to 6.16.0
Resolves: rhbz#2126544

* Wed Aug 31 2022 Charalampos Stratakis <cstratak@redhat.com> - 6.15.2-1
- Update to 6.15.2
Resolves: rhbz#2122279

* Fri Jul 22 2022 Fedora Release Engineering <releng@fedoraproject.org> - 6.6.1-5
- Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild

* Mon Jun 20 2022 Python Maint <python-maint@redhat.com> - 6.6.1-4
- Rebuilt for Python 3.11

* Wed Jun 15 2022 Python Maint <python-maint@redhat.com> - 6.6.1-3
- Bootstrap for Python 3.11

* Fri Jan 21 2022 Fedora Release Engineering <releng@fedoraproject.org> - 6.6.1-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild

* Tue Jan 04 2022 Lumír Balhar <lbalhar@redhat.com> - 6.6.1-1
- Update to 6.6.1
Resolves: rhbz#2015753

* Tue Aug 31 2021 Lumír Balhar <lbalhar@redhat.com> - 6.4.1-1
- Update to 6.4.1
Resolves: rhbz#1936895

* Fri Jul 23 2021 Fedora Release Engineering <releng@fedoraproject.org> - 5.5.0-4
- Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild

* Fri Jun 04 2021 Python Maint <python-maint@redhat.com> - 5.5.0-3
- Rebuilt for Python 3.10

* Fri Jun 04 2021 Python Maint <python-maint@redhat.com> - 5.5.0-2
- Bootstrap for Python 3.10

* Wed Feb 24 2021 Miro Hrončok <mhroncok@redhat.com> - 5.5.0-1
- Update to 5.5.0
- Fixes: rhbz#1838008

* Wed Feb 24 2021 Miro Hrončok <mhroncok@redhat.com> - 5.4.3-1
- Update to 5.4.3

* Wed Jan 27 2021 Fedora Release Engineering <releng@fedoraproject.org> - 5.2.1-5
- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild

* Wed Jul 29 2020 Fedora Release Engineering <releng@fedoraproject.org> - 5.2.1-4
- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild

* Tue May 26 2020 Miro Hrončok <mhroncok@redhat.com> - 5.2.1-3
- Rebuilt for Python 3.9

* Sun May 24 2020 Miro Hrončok <mhroncok@redhat.com> - 5.2.1-2
- Bootstrap for Python 3.9

* Tue Apr 21 2020 Miro Hrončok <mhroncok@redhat.com> - 5.2.1-1
- Update to 5.2.1 (#1815803)

* Fri Feb 21 2020 Jerry James <loganjerry@gmail.com> - 5.1.4-1
- Update to 5.1.4 (bz 1795174)

* Thu Jan 30 2020 Fedora Release Engineering <releng@fedoraproject.org> - 5.1.3-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild

* Thu Dec 19 2019 Miro Hrončok <mhroncok@redhat.com> - 5.1.3-1
- Update to 5.1.3 (#1780932)

* Thu Sep 26 2019 Jerry James <loganjerry@gmail.com> - 5.1.2-1
- Update to 5.1.2 (bz 1742596)
- Drop upstreamed 408 patch
- Drop explicit Provides that are now autogenerated
- Use local objects.inv for intersphinx, add necessary -doc BRs
- Ship this package's objects.inv
- Run all of the tests again

* Sun Aug 18 2019 Miro Hrončok <mhroncok@redhat.com> - 5.1.1-3
- Rebuilt for Python 3.8

* Fri Jul 26 2019 Fedora Release Engineering <releng@fedoraproject.org> - 5.1.1-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild

* Mon May 27 2019 Miro Hrončok <mhroncok@redhat.com> - 5.1.1-1
- Update to 5.1.1 (#1710745)

* Tue Feb 12 2019 Miro Hrončok <mhroncok@redhat.com> - 4.10.0-1
- Update to 5.1.0, drop Python 2 package

* Sat Feb 02 2019 Fedora Release Engineering <releng@fedoraproject.org> - 4.8.2-5
- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild

* Sat Jul 14 2018 Fedora Release Engineering <releng@fedoraproject.org> - 4.8.2-4
- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild

* Fri Jul 13 2018 Miro Hrončok <mhroncok@redhat.com> - 4.8.2-3
- Don't own /usr/share/jupyter/ and /usr/share/jupyter/kernels/,
  require python-jupyter-filesystem instead (#1589420)

* Tue Jun 19 2018 Miro Hrončok <mhroncok@redhat.com> - 4.8.2-2
- Rebuilt for Python 3.7

* Wed May 23 2018 Miro Hrončok <mhroncok@redhat.com> - 4.8.2-1
- Update to 4.8.2 (#1438785)
- Use Python 3 Sphinx to build the docs

* Fri Feb 09 2018 Fedora Release Engineering <releng@fedoraproject.org> - 4.6.0-4
- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild

* Fri Dec 08 2017 Iryna Shcherbina <ishcherb@redhat.com> - 4.6.0-3
- Fix ambiguous Python 2 dependency declarations
  (See https://fedoraproject.org/wiki/FinalizingFedoraSwitchtoPython3)

* Thu Jul 27 2017 Fedora Release Engineering <releng@fedoraproject.org> - 4.6.0-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild

* Sun Apr 09 2017 Miro Hrončok <mhroncok@redhat.com> - 4.6.0-1
- Update to 4.6.0
- Recommend some useful packages
- Run the testsuite

* Wed Mar 15 2017 Miro Hrončok <mhroncok@redhat.com> - 4.5.2-6
- Package the kernel json files

* Wed Mar 8 2017 Orion Poplawski <orion@cora.nwra.com> - 4.5.2-5
- Add missing requires (bug #1430480)

* Sat Feb 11 2017 Fedora Release Engineering <releng@fedoraproject.org> - 4.5.2-4
- Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild

* Tue Dec 27 2016 pcpa <paulo.cesar.pereira.de.andrade@gmail.com> - 4.5.2-3
- Preseve timestamp of installed files (#1406958#c7)

* Mon Dec 26 2016 pcpa <paulo.cesar.pereira.de.andrade@gmail.com> - 4.5.2-2
- Use proper Source0 format (#1406958#c4)
- Do parallel html make (#1406958#c4)

* Thu Dec 22 2016 pcpa <paulo.cesar.pereira.de.andrade@gmail.com> - 4.5.2-1
- Update to latest upstream release.
- Correct removal of unnecessary doc files.

* Wed Nov 16 2016 pcpa <paulo.cesar.pereira.de.andrade@gmail.com> - 4.5.1-1
- Initial package.

## END: Generated by rpmautospec