%define name ipython %define version 1.2.1 %define release %mkrel 2 Summary: An interactive computing environment for Python Name: %{name} Version: %{version} Release: %{release} Source0: http://pypi.python.org/packages/source/i/ipython/%{name}-%{version}.tar.gz License: BSD Group: Development/Python Url: http://ipython.org BuildArch: noarch Requires: python >= 2.6 Requires: python-pexpect >= 2.2 Requires: python-mglob Requires: python-simplegeneric Suggests: python-mpi4py Suggests: wxPython, python-qt4, pyside >= 1.0.3 Suggests: python-pygments Suggests: python-pyzmq >= 2.1.4 #notebook requires tornado and jinja2 Suggests: python-tornado >= 2.1.0 Suggests: python-jinja2 Suggests: python-matplotlib BuildRequires: emacs BuildRequires: python-devel BuildRequires: python-simplegeneric BuildRequires: python-setuptools %package -n python3-ipython Group: Development/Python Summary: An enhanced interactive Python shell BuildRequires: python3-devel BuildRequires: python3-setuptools BuildRequires: python3-simplegeneric Requires: python3-pexpect Requires: python3-mglob Requires: python3-simplegeneric Suggests: python3-mpi4py Suggests: python3-tornado Suggests: python3-jinja2 Suggests: python3-matplotlib %description The goal of IPython is to create a comprehensive environment for interactive and exploratory computing. To support this goal, IPython has two main components: * An enhanced interactive Python shell. * An architecture for interactive parallel computing. The enhanced interactive Python shell has the following main features: * Comprehensive object introspection. * Input history, persistent across sessions. * Caching of output results during a session with automatically generated references. * Readline based name completion. * Extensible system of 'magic' commands for controlling the environment and performing many tasks related either to IPython or the operating system. * Configuration system with easy switching between different setups (simpler than changing $PYTHONSTARTUP environment variables every time). * Session logging and reloading. * Extensible syntax processing for special purpose situations. * Access to the system shell with user-extensible alias system. * Easily embeddable in other Python programs and wxPython GUIs. * Integrated access to the pdb debugger and the Python profiler. The parallel computing architecture has the following main features: * Quickly parallelize Python code from an interactive Python/IPython session. * A flexible and dynamic process model that be deployed on anything from multicore workstations to supercomputers. * An architecture that supports many different styles of parallelism, from message passing to task farming. * Both blocking and fully asynchronous interfaces. * High level APIs that enable many things to be parallelized in a few lines of code. * Share live parallel jobs with other users securely. * Dynamically load balanced task farming system. * Robust error handling in parallel code. %description -n python3-ipython IPython provides a replacement for the interactive Python interpreter with extra functionality. Main features: * Comprehensive object introspection. * Input history, persistent across sessions. * Caching of output results during a session with automatically generated\ references. * Readline based name completion. * Extensible system of 'magic' commands for controlling the environment and performing many tasks related either to IPython or the operating system. * Configuration system with easy switching between different setups (simpler than changing $PYTHONSTARTUP environment variables every time). * Session logging and reloading. * Extensible syntax processing for special purpose situations. * Access to the system shell with user-extensible alias system. * Easily embeddable in other Python programs. * Integrated access to the pdb debugger and the Python profiler. %prep %setup -q # delete bundling libs pushd IPython/external # python's own modules rm argparse/_argparse.py # use decorators of numpy rm decorators/_decorators.py # other packages exist in Mageia rm simplegeneric/_simplegeneric.py rm pexpect/_pexpect.py popd cp -a . %{py3dir} find %{py3dir} -name '*.py' | xargs sed -i '1s|^#!python|#!%{__python3}|' %build emacs -batch -f batch-byte-compile docs/emacs/ipython.el pushd %{py3dir} %{__python3} setup.py build popd %{__python} setup.py build %install pushd %{py3dir} %{__python3} setup.py install -O1 --skip-build --root %{buildroot} popd %{__python} setup.py install -O1 --skip-build --root %{buildroot} %__mkdir -p %{buildroot}%{_datadir}/emacs/site-lisp/ %__install -m 644 docs/emacs/ipython.el* %{buildroot}%{_datadir}/emacs/site-lisp/ chmod 644 %{buildroot}%{_mandir}/man1/*.1* find %{buildroot} -name .buildinfo -exec rm -f {} \; find %{buildroot} -name .git_commit_info.ini -exec rm -rf {} \; %files %doc examples %{_bindir}/ipython %{_bindir}/irunner %{_bindir}/pycolor %{_bindir}/ipcluster %{_bindir}/ipcontroller %{_bindir}/ipengine %{_bindir}/iplogger %{_bindir}/iptest %{python_sitelib}/* %{_datadir}/emacs/site-lisp/* %{_mandir}/man1/* %{_datadir}/doc/%{name} %files -n python3-ipython %doc examples %{_bindir}/ipython3 %{_bindir}/irunner3 %{_bindir}/pycolor3 %{_bindir}/ipcluster3 %{_bindir}/ipcontroller3 %{_bindir}/ipengine3 %{_bindir}/iplogger3 %{_bindir}/iptest3 %{python3_sitelib}/*