summaryrefslogtreecommitdiff
path: root/dev-python/ipython
diff options
context:
space:
mode:
Diffstat (limited to 'dev-python/ipython')
-rw-r--r--dev-python/ipython/Manifest4
-rw-r--r--dev-python/ipython/ipython-8.32.0.ebuild161
-rw-r--r--dev-python/ipython/ipython-8.33.0.ebuild161
-rw-r--r--dev-python/ipython/ipython-8.34.0.ebuild2
-rw-r--r--dev-python/ipython/ipython-9.0.0.ebuild159
-rw-r--r--dev-python/ipython/ipython-9.0.1.ebuild148
6 files changed, 1 insertions, 634 deletions
diff --git a/dev-python/ipython/Manifest b/dev-python/ipython/Manifest
index f99714944ec5..50ad79583131 100644
--- a/dev-python/ipython/Manifest
+++ b/dev-python/ipython/Manifest
@@ -1,6 +1,2 @@
-DIST ipython-8.32.0.tar.gz 5507441 BLAKE2B 73ae25982653d484e47d15e16f6d689860186edac57809f4efaa5a2b7a0c20c6c21bc3e759f562d5fb0cddd5dc88c8db4422f66cb03e78c701fe234e8cff9e6b SHA512 920e5aa4be023713c05d9c6b7a1ce0e81abd8829a7fad19adef050d013b9937fcc49ddbf44200ae62f4968b3ea197a0afe87d712873845230f4e0b5858eefdaf
-DIST ipython-8.33.0.tar.gz 5508284 BLAKE2B feb808f159a6fe51e86030c0150fce6c428391dfbbd205974c89cfe8af127c22efe3fd3f3ce404a11f5f69c59defa40742f3414168f35e5b6cb7ab6840665fdd SHA512 32777a8993748e559875ed4f522dfeafcace9883bf47596b48a845974ef8d72b3c1070907a3eba72ede8cc7c6be6c9b78a6fc1b27ab0f2a642a0e1f0b9fd35a2
DIST ipython-8.34.0.tar.gz 5508477 BLAKE2B 15c34a086ff4ec48ca97624e904cc4ebf55fe180ac3a222cafeab738c6b77676417e64b560fc73f3ae32cc22875fe4e3df13f5a5f170a8104fff00629aa0100e SHA512 1ff033b5d87ce21006d90469ac06f247cdf087ddd0b74e711b957d61428ffb64a42b459b879cfed60a312edcdd710e49cd76925bd0e3b8c89d18c8c79d8686d4
-DIST ipython-9.0.0.tar.gz 4364165 BLAKE2B 3835b9e0e6f1d6f64888a9e1d6499137d0316f871f2c330c73226338ffa064e1bff6163eddb5741d1b80a2e858bc08cfb64fb9f7ac59dd22c7d9cf990048ebb3 SHA512 9563e8c6a136e35fc87037662ea3b1d7caeff1fdff2c58ea446b7ac89aa777f900c4a3336a6a6a74d2f95d85ed080c1ea61fa4a9374560d1f0df8f73a2260a14
-DIST ipython-9.0.1.tar.gz 4365847 BLAKE2B 384bf9dfc5dc4a371acb6d52366d0dabada738bed26b6e37f8a4a19f26d885af97dbecfa6a7df638a8c35b9352afda7f6b785d927887a4707ff7bc6318ab009c SHA512 4c50e755516fc7077d2c25a4c53d3bc60af639d25854aed5e2f083975b0cc71d3873cff9d487ad99f3dc0b3d4ad6b4b9a751d99264a6ed6e32bc51d5cff3a792
DIST ipython-9.0.2.tar.gz 4366102 BLAKE2B 68dbe8f0decbf7637522ef3e763562a31d678b350c58fd4eee3799409f5a67b85b289b1591f01e0e509765e8cffca60717b65f62e358e7af3b60b57b0185de4a SHA512 fb3e48a3f8ffc9e4a147cb8739b2458dd280f59798b24a001f3feb177ea372284b1aabd87ce57bc9647b578a2c81a476728efcf376ce3e735cc409c40dd32eed
diff --git a/dev-python/ipython/ipython-8.32.0.ebuild b/dev-python/ipython/ipython-8.32.0.ebuild
deleted file mode 100644
index 7c011ceba5e5..000000000000
--- a/dev-python/ipython/ipython-8.32.0.ebuild
+++ /dev/null
@@ -1,161 +0,0 @@
-# Copyright 1999-2025 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=standalone
-PYTHON_COMPAT=( python3_{9,10,11,12,13} pypy3 )
-PYTHON_REQ_USE='readline(+),sqlite,threads(+)'
-
-inherit distutils-r1 optfeature pypi virtualx
-
-DESCRIPTION="Advanced interactive shell for Python"
-HOMEPAGE="
- https://ipython.org/
- https://github.com/ipython/ipython/
- https://pypi.org/project/ipython/
-"
-
-LICENSE="BSD"
-SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 hppa ~loong ppc ppc64 ~riscv ~s390 sparc x86 ~arm64-macos ~x64-macos"
-IUSE="examples notebook nbconvert qt5 +smp test"
-RESTRICT="!test? ( test )"
-
-RDEPEND="
- dev-python/decorator[${PYTHON_USEDEP}]
- >=dev-python/jedi-0.16[${PYTHON_USEDEP}]
- dev-python/matplotlib-inline[${PYTHON_USEDEP}]
- >=dev-python/pexpect-4.3[${PYTHON_USEDEP}]
- >=dev-python/prompt-toolkit-3.0.41[${PYTHON_USEDEP}]
- <dev-python/prompt-toolkit-3.1[${PYTHON_USEDEP}]
- >=dev-python/pygments-2.4.0[${PYTHON_USEDEP}]
- dev-python/stack-data[${PYTHON_USEDEP}]
- >=dev-python/traitlets-5.13.0[${PYTHON_USEDEP}]
- $(python_gen_cond_dep '
- dev-python/exceptiongroup[${PYTHON_USEDEP}]
- ' 3.10)
- $(python_gen_cond_dep '
- dev-python/typing-extensions[${PYTHON_USEDEP}]
- ' 3.10 3.11)
-"
-
-BDEPEND="
- dev-python/setuptools[${PYTHON_USEDEP}]
- test? (
- app-text/dvipng[truetype]
- >=dev-python/ipykernel-5.1.0[${PYTHON_USEDEP}]
- >=dev-python/matplotlib-3.9[${PYTHON_USEDEP}]
- dev-python/nbformat[${PYTHON_USEDEP}]
- >=dev-python/numpy-1.23[${PYTHON_USEDEP}]
- dev-python/matplotlib-inline[${PYTHON_USEDEP}]
- dev-python/packaging[${PYTHON_USEDEP}]
- dev-python/pickleshare[${PYTHON_USEDEP}]
- dev-python/pytest-asyncio[${PYTHON_USEDEP}]
- dev-python/requests[${PYTHON_USEDEP}]
- dev-python/testpath[${PYTHON_USEDEP}]
- )
-"
-
-distutils_enable_tests pytest
-
-RDEPEND+="
- nbconvert? (
- dev-python/nbconvert[${PYTHON_USEDEP}]
- )
-"
-PDEPEND="
- $(python_gen_cond_dep '
- qt5? ( dev-python/qtconsole[${PYTHON_USEDEP}] )
- ' 'python*')
- $(python_gen_cond_dep '
- notebook? (
- dev-python/notebook[${PYTHON_USEDEP}]
- dev-python/ipywidgets[${PYTHON_USEDEP}]
- dev-python/widgetsnbextension[${PYTHON_USEDEP}]
- )
- ' 3.{10..12})
- smp? (
- >=dev-python/ipykernel-5.1.0[${PYTHON_USEDEP}]
- >=dev-python/ipyparallel-6.2.3[${PYTHON_USEDEP}]
- )
-"
-
-python_prepare_all() {
- # Rename the test directory to reduce sys.path pollution
- # https://github.com/ipython/ipython/issues/12892
- mv IPython/extensions/{,ipython_}tests || die
-
- distutils-r1_python_prepare_all
-}
-
-src_test() {
- virtx distutils-r1_src_test
-}
-
-python_test() {
- local -x IPYTHON_TESTING_TIMEOUT_SCALE=20
- local EPYTEST_DESELECT=(
- # TODO: looks to be a regression due to a newer dep
- IPython/core/tests/test_oinspect.py::test_class_signature
- IPython/core/tests/test_oinspect.py::test_render_signature_long
- IPython/terminal/tests/test_shortcuts.py::test_modify_shortcut_with_filters
- )
-
- case ${EPYTHON} in
- pypy3)
- EPYTEST_DESELECT+=(
- # https://github.com/ipython/ipython/issues/14244
- IPython/lib/tests/test_display.py::TestAudioDataWithoutNumpy
- )
- ;;
- python3.13)
- EPYTEST_DESELECT+=(
- # docstring mismatch?
- IPython/core/tests/test_debugger.py::IPython.core.tests.test_debugger.test_ipdb_magics
- )
- ;;
- esac
-
- # nonfatal implied by virtx
- local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
- nonfatal epytest -p asyncio --asyncio-mode=auto ||
- die "Tests failed on ${EPYTHON}"
-}
-
-python_install() {
- distutils-r1_python_install
-
- # Create ipythonX.Y symlinks.
- # TODO:
- # 1. do we want them for pypy? No. pypy has no numpy
- # 2. handle it in the eclass instead (use _python_ln_rel).
- # With pypy not an option the dosym becomes unconditional
- dosym ../lib/python-exec/${EPYTHON}/ipython \
- /usr/bin/ipython${EPYTHON#python}
-}
-
-python_install_all() {
- distutils-r1_python_install_all
-
- if use examples; then
- dodoc -r examples
- docompress -x /usr/share/doc/${PF}/examples
- fi
-}
-
-pkg_postinst() {
- optfeature "code formatting" dev-python/black
- optfeature "sympyprinting" dev-python/sympy
- optfeature "cythonmagic" dev-python/cython
- optfeature "%lprun magic command" dev-python/line-profiler
- optfeature "%matplotlib magic command" dev-python/matplotlib-inline
-
- if use nbconvert; then
- if ! has_version virtual/pandoc ; then
- einfo "Node.js will be used to convert notebooks to other formats"
- einfo "like HTML. Support for that is still experimental. If you"
- einfo "encounter any problems, please use app-text/pandoc instead."
- fi
- fi
-}
diff --git a/dev-python/ipython/ipython-8.33.0.ebuild b/dev-python/ipython/ipython-8.33.0.ebuild
deleted file mode 100644
index 773c2cef31af..000000000000
--- a/dev-python/ipython/ipython-8.33.0.ebuild
+++ /dev/null
@@ -1,161 +0,0 @@
-# Copyright 1999-2025 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=standalone
-PYTHON_COMPAT=( python3_{9,10,11,12,13} pypy3 )
-PYTHON_REQ_USE='readline(+),sqlite,threads(+)'
-
-inherit distutils-r1 optfeature pypi virtualx
-
-DESCRIPTION="Advanced interactive shell for Python"
-HOMEPAGE="
- https://ipython.org/
- https://github.com/ipython/ipython/
- https://pypi.org/project/ipython/
-"
-
-LICENSE="BSD"
-SLOT="0"
-KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~arm64-macos ~x64-macos"
-IUSE="examples notebook nbconvert qt5 +smp test"
-RESTRICT="!test? ( test )"
-
-RDEPEND="
- dev-python/decorator[${PYTHON_USEDEP}]
- >=dev-python/jedi-0.16[${PYTHON_USEDEP}]
- dev-python/matplotlib-inline[${PYTHON_USEDEP}]
- >=dev-python/pexpect-4.3[${PYTHON_USEDEP}]
- >=dev-python/prompt-toolkit-3.0.41[${PYTHON_USEDEP}]
- <dev-python/prompt-toolkit-3.1[${PYTHON_USEDEP}]
- >=dev-python/pygments-2.4.0[${PYTHON_USEDEP}]
- dev-python/stack-data[${PYTHON_USEDEP}]
- >=dev-python/traitlets-5.13.0[${PYTHON_USEDEP}]
- $(python_gen_cond_dep '
- dev-python/exceptiongroup[${PYTHON_USEDEP}]
- ' 3.10)
- $(python_gen_cond_dep '
- dev-python/typing-extensions[${PYTHON_USEDEP}]
- ' 3.10 3.11)
-"
-
-BDEPEND="
- dev-python/setuptools[${PYTHON_USEDEP}]
- test? (
- app-text/dvipng[truetype]
- >=dev-python/ipykernel-5.1.0[${PYTHON_USEDEP}]
- >=dev-python/matplotlib-3.9[${PYTHON_USEDEP}]
- dev-python/nbformat[${PYTHON_USEDEP}]
- >=dev-python/numpy-1.23[${PYTHON_USEDEP}]
- dev-python/matplotlib-inline[${PYTHON_USEDEP}]
- dev-python/packaging[${PYTHON_USEDEP}]
- dev-python/pickleshare[${PYTHON_USEDEP}]
- dev-python/pytest-asyncio[${PYTHON_USEDEP}]
- dev-python/requests[${PYTHON_USEDEP}]
- dev-python/testpath[${PYTHON_USEDEP}]
- )
-"
-
-distutils_enable_tests pytest
-
-RDEPEND+="
- nbconvert? (
- dev-python/nbconvert[${PYTHON_USEDEP}]
- )
-"
-PDEPEND="
- $(python_gen_cond_dep '
- qt5? ( dev-python/qtconsole[${PYTHON_USEDEP}] )
- ' 'python*')
- $(python_gen_cond_dep '
- notebook? (
- dev-python/notebook[${PYTHON_USEDEP}]
- dev-python/ipywidgets[${PYTHON_USEDEP}]
- dev-python/widgetsnbextension[${PYTHON_USEDEP}]
- )
- ' 3.{10..12})
- smp? (
- >=dev-python/ipykernel-5.1.0[${PYTHON_USEDEP}]
- >=dev-python/ipyparallel-6.2.3[${PYTHON_USEDEP}]
- )
-"
-
-python_prepare_all() {
- # Rename the test directory to reduce sys.path pollution
- # https://github.com/ipython/ipython/issues/12892
- mv IPython/extensions/{,ipython_}tests || die
-
- distutils-r1_python_prepare_all
-}
-
-src_test() {
- virtx distutils-r1_src_test
-}
-
-python_test() {
- local -x IPYTHON_TESTING_TIMEOUT_SCALE=20
- local EPYTEST_DESELECT=(
- # TODO: looks to be a regression due to a newer dep
- IPython/core/tests/test_oinspect.py::test_class_signature
- IPython/core/tests/test_oinspect.py::test_render_signature_long
- IPython/terminal/tests/test_shortcuts.py::test_modify_shortcut_with_filters
- )
-
- case ${EPYTHON} in
- pypy3*)
- EPYTEST_DESELECT+=(
- # https://github.com/ipython/ipython/issues/14244
- IPython/lib/tests/test_display.py::TestAudioDataWithoutNumpy
- )
- ;;
- python3.13)
- EPYTEST_DESELECT+=(
- # docstring mismatch?
- IPython/core/tests/test_debugger.py::IPython.core.tests.test_debugger.test_ipdb_magics
- )
- ;;
- esac
-
- # nonfatal implied by virtx
- local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
- nonfatal epytest -p asyncio --asyncio-mode=auto ||
- die "Tests failed on ${EPYTHON}"
-}
-
-python_install() {
- distutils-r1_python_install
-
- # Create ipythonX.Y symlinks.
- # TODO:
- # 1. do we want them for pypy? No. pypy has no numpy
- # 2. handle it in the eclass instead (use _python_ln_rel).
- # With pypy not an option the dosym becomes unconditional
- dosym ../lib/python-exec/${EPYTHON}/ipython \
- /usr/bin/ipython${EPYTHON#python}
-}
-
-python_install_all() {
- distutils-r1_python_install_all
-
- if use examples; then
- dodoc -r examples
- docompress -x /usr/share/doc/${PF}/examples
- fi
-}
-
-pkg_postinst() {
- optfeature "code formatting" dev-python/black
- optfeature "sympyprinting" dev-python/sympy
- optfeature "cythonmagic" dev-python/cython
- optfeature "%lprun magic command" dev-python/line-profiler
- optfeature "%matplotlib magic command" dev-python/matplotlib-inline
-
- if use nbconvert; then
- if ! has_version virtual/pandoc ; then
- einfo "Node.js will be used to convert notebooks to other formats"
- einfo "like HTML. Support for that is still experimental. If you"
- einfo "encounter any problems, please use app-text/pandoc instead."
- fi
- fi
-}
diff --git a/dev-python/ipython/ipython-8.34.0.ebuild b/dev-python/ipython/ipython-8.34.0.ebuild
index 773c2cef31af..ddd41b933973 100644
--- a/dev-python/ipython/ipython-8.34.0.ebuild
+++ b/dev-python/ipython/ipython-8.34.0.ebuild
@@ -18,7 +18,7 @@ HOMEPAGE="
LICENSE="BSD"
SLOT="0"
-KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~arm64-macos ~x64-macos"
+KEYWORDS="~alpha amd64 arm arm64 hppa ~loong ppc ppc64 ~riscv ~s390 sparc x86 ~arm64-macos ~x64-macos"
IUSE="examples notebook nbconvert qt5 +smp test"
RESTRICT="!test? ( test )"
diff --git a/dev-python/ipython/ipython-9.0.0.ebuild b/dev-python/ipython/ipython-9.0.0.ebuild
deleted file mode 100644
index 4429881b36f8..000000000000
--- a/dev-python/ipython/ipython-9.0.0.ebuild
+++ /dev/null
@@ -1,159 +0,0 @@
-# Copyright 1999-2025 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=standalone
-PYTHON_COMPAT=( python3_{9,10,11,12,13} )
-PYTHON_REQ_USE='readline(+),sqlite,threads(+)'
-
-inherit distutils-r1 optfeature pypi virtualx
-
-DESCRIPTION="Advanced interactive shell for Python"
-HOMEPAGE="
- https://ipython.org/
- https://github.com/ipython/ipython/
- https://pypi.org/project/ipython/
-"
-
-LICENSE="BSD"
-SLOT="0"
-KEYWORDS="~amd64 ~loong ~riscv"
-IUSE="examples notebook nbconvert qt5 +smp test"
-RESTRICT="!test? ( test )"
-
-RDEPEND="
- dev-python/decorator[${PYTHON_USEDEP}]
- dev-python/ipython-pygments-lexers[${PYTHON_USEDEP}]
- >=dev-python/jedi-0.16[${PYTHON_USEDEP}]
- dev-python/matplotlib-inline[${PYTHON_USEDEP}]
- >=dev-python/pexpect-4.3[${PYTHON_USEDEP}]
- >=dev-python/prompt-toolkit-3.0.41[${PYTHON_USEDEP}]
- <dev-python/prompt-toolkit-3.1[${PYTHON_USEDEP}]
- >=dev-python/pygments-2.4.0[${PYTHON_USEDEP}]
- dev-python/stack-data[${PYTHON_USEDEP}]
- >=dev-python/traitlets-5.13.0[${PYTHON_USEDEP}]
- $(python_gen_cond_dep '
- dev-python/typing-extensions[${PYTHON_USEDEP}]
- ' 3.11)
-"
-
-BDEPEND="
- dev-python/setuptools[${PYTHON_USEDEP}]
- test? (
- app-text/dvipng[truetype]
- >=dev-python/ipykernel-5.1.0[${PYTHON_USEDEP}]
- >=dev-python/matplotlib-3.9[${PYTHON_USEDEP}]
- dev-python/nbformat[${PYTHON_USEDEP}]
- >=dev-python/numpy-1.23[${PYTHON_USEDEP}]
- dev-python/matplotlib-inline[${PYTHON_USEDEP}]
- dev-python/packaging[${PYTHON_USEDEP}]
- dev-python/pickleshare[${PYTHON_USEDEP}]
- dev-python/pytest-asyncio[${PYTHON_USEDEP}]
- dev-python/requests[${PYTHON_USEDEP}]
- dev-python/testpath[${PYTHON_USEDEP}]
- )
-"
-
-distutils_enable_tests pytest
-
-RDEPEND+="
- nbconvert? (
- dev-python/nbconvert[${PYTHON_USEDEP}]
- )
-"
-PDEPEND="
- $(python_gen_cond_dep '
- qt5? ( dev-python/qtconsole[${PYTHON_USEDEP}] )
- ' 'python*')
- $(python_gen_cond_dep '
- notebook? (
- dev-python/notebook[${PYTHON_USEDEP}]
- dev-python/ipywidgets[${PYTHON_USEDEP}]
- dev-python/widgetsnbextension[${PYTHON_USEDEP}]
- )
- ' 3.{10..12})
- smp? (
- >=dev-python/ipykernel-5.1.0[${PYTHON_USEDEP}]
- >=dev-python/ipyparallel-6.2.3[${PYTHON_USEDEP}]
- )
-"
-
-python_prepare_all() {
- # Rename the test directory to reduce sys.path pollution
- # https://github.com/ipython/ipython/issues/12892
- mv IPython/extensions/{,ipython_}tests || die
-
- distutils-r1_python_prepare_all
-}
-
-src_test() {
- virtx distutils-r1_src_test
-}
-
-python_test() {
- local -x IPYTHON_TESTING_TIMEOUT_SCALE=20
- local EPYTEST_DESELECT=(
- # TODO: looks to be a regression due to a newer dep
- IPython/core/tests/test_oinspect.py::test_class_signature
- IPython/core/tests/test_oinspect.py::test_render_signature_long
- IPython/terminal/tests/test_shortcuts.py::test_modify_shortcut_with_filters
- )
-
- case ${EPYTHON} in
- pypy3)
- EPYTEST_DESELECT+=(
- # https://github.com/ipython/ipython/issues/14244
- IPython/lib/tests/test_display.py::TestAudioDataWithoutNumpy
- )
- ;;
- python3.13)
- EPYTEST_DESELECT+=(
- # docstring mismatch?
- IPython/core/tests/test_debugger.py::IPython.core.tests.test_debugger.test_ipdb_magics
- )
- ;;
- esac
-
- # nonfatal implied by virtx
- local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
- nonfatal epytest -p asyncio --asyncio-mode=auto ||
- die "Tests failed on ${EPYTHON}"
-}
-
-python_install() {
- distutils-r1_python_install
-
- # Create ipythonX.Y symlinks.
- # TODO:
- # 1. do we want them for pypy? No. pypy has no numpy
- # 2. handle it in the eclass instead (use _python_ln_rel).
- # With pypy not an option the dosym becomes unconditional
- dosym ../lib/python-exec/${EPYTHON}/ipython \
- /usr/bin/ipython${EPYTHON#python}
-}
-
-python_install_all() {
- distutils-r1_python_install_all
-
- if use examples; then
- dodoc -r examples
- docompress -x /usr/share/doc/${PF}/examples
- fi
-}
-
-pkg_postinst() {
- optfeature "code formatting" dev-python/black
- optfeature "sympyprinting" dev-python/sympy
- optfeature "cythonmagic" dev-python/cython
- optfeature "%lprun magic command" dev-python/line-profiler
- optfeature "%matplotlib magic command" dev-python/matplotlib-inline
-
- if use nbconvert; then
- if ! has_version virtual/pandoc ; then
- einfo "Node.js will be used to convert notebooks to other formats"
- einfo "like HTML. Support for that is still experimental. If you"
- einfo "encounter any problems, please use app-text/pandoc instead."
- fi
- fi
-}
diff --git a/dev-python/ipython/ipython-9.0.1.ebuild b/dev-python/ipython/ipython-9.0.1.ebuild
deleted file mode 100644
index 21775e8cb04a..000000000000
--- a/dev-python/ipython/ipython-9.0.1.ebuild
+++ /dev/null
@@ -1,148 +0,0 @@
-# Copyright 1999-2025 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=standalone
-PYTHON_COMPAT=( python3_{9,10,11,12,13} pypy3 )
-PYTHON_REQ_USE='readline(+),sqlite,threads(+)'
-
-inherit distutils-r1 optfeature pypi virtualx
-
-DESCRIPTION="Advanced interactive shell for Python"
-HOMEPAGE="
- https://ipython.org/
- https://github.com/ipython/ipython/
- https://pypi.org/project/ipython/
-"
-
-LICENSE="BSD"
-SLOT="0"
-KEYWORDS="~amd64 ~loong ~riscv"
-IUSE="examples notebook nbconvert qt5 +smp test"
-RESTRICT="!test? ( test )"
-
-RDEPEND="
- dev-python/decorator[${PYTHON_USEDEP}]
- dev-python/ipython-pygments-lexers[${PYTHON_USEDEP}]
- >=dev-python/jedi-0.16[${PYTHON_USEDEP}]
- dev-python/matplotlib-inline[${PYTHON_USEDEP}]
- >=dev-python/pexpect-4.3[${PYTHON_USEDEP}]
- >=dev-python/prompt-toolkit-3.0.41[${PYTHON_USEDEP}]
- <dev-python/prompt-toolkit-3.1[${PYTHON_USEDEP}]
- >=dev-python/pygments-2.4.0[${PYTHON_USEDEP}]
- dev-python/stack-data[${PYTHON_USEDEP}]
- >=dev-python/traitlets-5.13.0[${PYTHON_USEDEP}]
- $(python_gen_cond_dep '
- dev-python/typing-extensions[${PYTHON_USEDEP}]
- ' 3.11)
-"
-
-BDEPEND="
- dev-python/setuptools[${PYTHON_USEDEP}]
- test? (
- app-text/dvipng[truetype]
- >=dev-python/ipykernel-5.1.0[${PYTHON_USEDEP}]
- >=dev-python/matplotlib-3.9[${PYTHON_USEDEP}]
- dev-python/nbformat[${PYTHON_USEDEP}]
- >=dev-python/numpy-1.23[${PYTHON_USEDEP}]
- dev-python/matplotlib-inline[${PYTHON_USEDEP}]
- dev-python/packaging[${PYTHON_USEDEP}]
- dev-python/pickleshare[${PYTHON_USEDEP}]
- dev-python/pytest-asyncio[${PYTHON_USEDEP}]
- dev-python/requests[${PYTHON_USEDEP}]
- dev-python/testpath[${PYTHON_USEDEP}]
- )
-"
-
-distutils_enable_tests pytest
-
-RDEPEND+="
- nbconvert? (
- dev-python/nbconvert[${PYTHON_USEDEP}]
- )
-"
-PDEPEND="
- $(python_gen_cond_dep '
- qt5? ( dev-python/qtconsole[${PYTHON_USEDEP}] )
- ' 'python*')
- $(python_gen_cond_dep '
- notebook? (
- dev-python/notebook[${PYTHON_USEDEP}]
- dev-python/ipywidgets[${PYTHON_USEDEP}]
- dev-python/widgetsnbextension[${PYTHON_USEDEP}]
- )
- ' 3.{10..12})
- smp? (
- >=dev-python/ipykernel-5.1.0[${PYTHON_USEDEP}]
- >=dev-python/ipyparallel-6.2.3[${PYTHON_USEDEP}]
- )
-"
-
-python_prepare_all() {
- # Rename the test directory to reduce sys.path pollution
- # https://github.com/ipython/ipython/issues/12892
- mv IPython/extensions/{,ipython_}tests || die
-
- distutils-r1_python_prepare_all
-}
-
-src_test() {
- virtx distutils-r1_src_test
-}
-
-python_test() {
- local -x IPYTHON_TESTING_TIMEOUT_SCALE=20
- local EPYTEST_DESELECT=()
-
- case ${EPYTHON} in
- pypy3*)
- EPYTEST_DESELECT+=(
- # https://github.com/ipython/ipython/issues/14244
- tests/test_display.py::TestAudioDataWithoutNumpy
- )
- ;;
- esac
-
- # nonfatal implied by virtx
- local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
- nonfatal epytest -p asyncio --asyncio-mode=auto ||
- die "Tests failed on ${EPYTHON}"
-}
-
-python_install() {
- distutils-r1_python_install
-
- # Create ipythonX.Y symlinks.
- # TODO:
- # 1. do we want them for pypy? No. pypy has no numpy
- # 2. handle it in the eclass instead (use _python_ln_rel).
- # With pypy not an option the dosym becomes unconditional
- dosym ../lib/python-exec/${EPYTHON}/ipython \
- /usr/bin/ipython${EPYTHON#python}
-}
-
-python_install_all() {
- distutils-r1_python_install_all
-
- if use examples; then
- dodoc -r examples
- docompress -x /usr/share/doc/${PF}/examples
- fi
-}
-
-pkg_postinst() {
- optfeature "code formatting" dev-python/black
- optfeature "sympyprinting" dev-python/sympy
- optfeature "cythonmagic" dev-python/cython
- optfeature "%lprun magic command" dev-python/line-profiler
- optfeature "%matplotlib magic command" dev-python/matplotlib-inline
-
- if use nbconvert; then
- if ! has_version virtual/pandoc ; then
- einfo "Node.js will be used to convert notebooks to other formats"
- einfo "like HTML. Support for that is still experimental. If you"
- einfo "encounter any problems, please use app-text/pandoc instead."
- fi
- fi
-}