%define name ipython %define version 2.0.0 %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-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.11 #notebook requires tornado and jinja2 Suggests: python-tornado >= 3.1 Suggests: python-jinja2 Suggests: python-matplotlib BuildRequires: python-devel BuildRequires: python-simplegeneric BuildRequires: python-setuptools BuildRequires: python-pygments BuildRequires: python-sphinx BuildRequires: python-jinja2 BuildRequires: python-pyzmq >= 2.1.11 BuildRequires: python-pexpect >= 2.2 BuildRequires: python-tornado >= 3.1 BuildRequires: python-matplotlib BuildRequires: python-numpydoc %package -n python3-ipython Group: Development/Python Summary: An enhanced interactive Python shell BuildRequires: python3-devel BuildRequires: python3-setuptools BuildRequires: python3-simplegeneric BuildRequires: python3-pygments BuildRequires: python3-sphinx BuildRequires: python3-jinja2 BuildRequires: python3-pexpect BuildRequires: python3-pyzmq BuildRequires: python3-tornado Requires: python3-pexpect Requires: python3-mglob Requires: python3-simplegeneric Suggests: python3-pygments Suggests: python3-sip Suggests: python3-qt4 Suggests: python3-mpi4py Suggests: python3-tornado Suggests: python3-jinja2 Suggests: python3-matplotlib Suggests: python3-pyzmq %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. %package doc Summary: An Enhanced Interactive Python Shell documentation Group: Development/Python %description doc IPython provides a replacement for the interactive python (Python) interpreter with extra functionality. This package contains comprehensive documentation for IPython in html format, as well as examples of usage. %prep %setup -q # delete bundling libs pushd IPython/external # use decorators of numpy rm decorators/_decorators.py # other packages exist in Mageia rm simplegeneric/_simplegeneric.py rm pexpect/_pexpect.py popd # Get rid of library shebangs find . -type f -name "*.py" -exec sed -i '/#!\/usr\/bin\/env/d' {} \; cp -a . %{py3dir} %build pushd %{py3dir} %{__python3} setup.py build popd %{__python} setup.py build %install pushd %{py3dir} %{__python3} setup.py install -O1 --skip-build --root %{buildroot} rm %{buildroot}%{_bindir}/ipython rm %{buildroot}%{_bindir}/ipcluster rm %{buildroot}%{_bindir}/ipcontroller rm %{buildroot}%{_bindir}/ipengine rm %{buildroot}%{_bindir}/iptest popd %{__python} setup.py install -O1 --skip-build --root %{buildroot} chmod 644 %{buildroot}%{_mandir}/man1/*.1* find %{buildroot} -name .buildinfo -exec rm -f {} \; find %{buildroot} -name .git_commit_info.ini -exec rm -rf {} \; # make docs pushd docs PYTHONPATH=$PYTHONPATH:%{buildroot}%{python_sitelib} make html rm build/html/.buildinfo popd %files %{_bindir}/ipython %{_bindir}/ipcluster %{_bindir}/ipcontroller %{_bindir}/ipengine %{_bindir}/iptest %{_bindir}/ipython2 %{_bindir}/ipcluster2 %{_bindir}/ipcontroller2 %{_bindir}/ipengine2 %{_bindir}/iptest2 %{python_sitelib}/* %files doc %doc examples docs/build/html %{_mandir}/man1/* %files -n python3-ipython %{_bindir}/ipython3 %{_bindir}/ipcluster3 %{_bindir}/ipcontroller3 %{_bindir}/ipengine3 %{_bindir}/iptest3 %{python3_sitelib}/*