1 |
%define name ipython |
2 |
%define version 2.1.0 |
3 |
%define release %mkrel 3 |
4 |
|
5 |
Summary: An interactive computing environment for Python |
6 |
Name: %{name} |
7 |
Version: %{version} |
8 |
Release: %{release} |
9 |
Source0: http://pypi.python.org/packages/source/i/ipython/%{name}-%{version}.tar.gz |
10 |
License: BSD |
11 |
Group: Development/Python |
12 |
Url: http://ipython.org |
13 |
BuildArch: noarch |
14 |
Requires: python-pexpect >= 2.2 |
15 |
Requires: python-mglob |
16 |
Requires: python-simplegeneric |
17 |
Suggests: python-mpi4py |
18 |
Suggests: wxPython, python-qt4, pyside >= 1.0.3 |
19 |
Suggests: python-pygments |
20 |
Suggests: python-pyzmq >= 2.1.11 |
21 |
#notebook requires tornado and jinja2 |
22 |
Suggests: python-tornado >= 3.1 |
23 |
Suggests: python-jinja2 |
24 |
Suggests: python-matplotlib |
25 |
BuildRequires: python-devel |
26 |
BuildRequires: python-simplegeneric |
27 |
BuildRequires: python-setuptools |
28 |
BuildRequires: python-pygments |
29 |
BuildRequires: python-sphinx |
30 |
BuildRequires: python-jinja2 |
31 |
BuildRequires: python-pyzmq >= 2.1.11 |
32 |
BuildRequires: python-pexpect >= 2.2 |
33 |
BuildRequires: python-tornado >= 3.1 |
34 |
BuildRequires: python-matplotlib |
35 |
BuildRequires: python-numpydoc |
36 |
|
37 |
%description |
38 |
The goal of IPython is to create a comprehensive environment for |
39 |
interactive and exploratory computing. To support this goal, IPython |
40 |
has two main components: |
41 |
|
42 |
* An enhanced interactive Python shell. |
43 |
* An architecture for interactive parallel computing. |
44 |
|
45 |
The enhanced interactive Python shell has the following main features: |
46 |
|
47 |
* Comprehensive object introspection. |
48 |
* Input history, persistent across sessions. |
49 |
* Caching of output results during a session with automatically |
50 |
generated references. |
51 |
* Readline based name completion. |
52 |
* Extensible system of 'magic' commands for controlling the |
53 |
environment and performing many tasks related either to IPython or |
54 |
the operating system. |
55 |
* Configuration system with easy switching between different setups |
56 |
(simpler than changing $PYTHONSTARTUP environment variables every |
57 |
time). |
58 |
* Session logging and reloading. |
59 |
* Extensible syntax processing for special purpose situations. |
60 |
* Access to the system shell with user-extensible alias system. |
61 |
* Easily embeddable in other Python programs and wxPython GUIs. |
62 |
* Integrated access to the pdb debugger and the Python profiler. |
63 |
|
64 |
The parallel computing architecture has the following main features: |
65 |
|
66 |
* Quickly parallelize Python code from an interactive Python/IPython |
67 |
session. |
68 |
* A flexible and dynamic process model that be deployed on anything |
69 |
from multicore workstations to supercomputers. |
70 |
* An architecture that supports many different styles of parallelism, |
71 |
from message passing to task farming. |
72 |
* Both blocking and fully asynchronous interfaces. |
73 |
* High level APIs that enable many things to be parallelized in a few |
74 |
lines of code. |
75 |
* Share live parallel jobs with other users securely. |
76 |
* Dynamically load balanced task farming system. |
77 |
* Robust error handling in parallel code. |
78 |
|
79 |
%package doc |
80 |
Summary: An Enhanced Interactive Python Shell documentation |
81 |
Group: Development/Python |
82 |
|
83 |
%description doc |
84 |
IPython provides a replacement for the interactive python (Python) |
85 |
interpreter with extra functionality. |
86 |
|
87 |
This package contains comprehensive documentation for IPython in |
88 |
html format, as well as examples of usage. |
89 |
|
90 |
%prep |
91 |
%setup -q |
92 |
# delete bundling libs |
93 |
pushd IPython/external |
94 |
|
95 |
# use decorators of numpy |
96 |
rm decorators/_decorators.py |
97 |
|
98 |
# other packages exist in Mageia |
99 |
rm simplegeneric/_simplegeneric.py |
100 |
rm pexpect/_pexpect.py |
101 |
|
102 |
popd |
103 |
|
104 |
# Get rid of library shebangs |
105 |
find . -type f -name "*.py" -exec sed -i '/#!\/usr\/bin\/env/d' {} \; |
106 |
|
107 |
%build |
108 |
%{__python} setup.py build |
109 |
|
110 |
%install |
111 |
%{__python} setup.py install -O1 --skip-build --root %{buildroot} |
112 |
|
113 |
chmod 644 %{buildroot}%{_mandir}/man1/*.1* |
114 |
find %{buildroot} -name .buildinfo -exec rm -f {} \; |
115 |
find %{buildroot} -name .git_commit_info.ini -exec rm -rf {} \; |
116 |
|
117 |
# make docs |
118 |
pushd docs |
119 |
PYTHONPATH=$PYTHONPATH:%{buildroot}%{python_sitelib} make html |
120 |
rm build/html/.buildinfo |
121 |
popd |
122 |
|
123 |
%files |
124 |
%{_bindir}/ipython |
125 |
%{_bindir}/ipcluster |
126 |
%{_bindir}/ipcontroller |
127 |
%{_bindir}/ipengine |
128 |
%{_bindir}/iptest |
129 |
%{_bindir}/ipython2 |
130 |
%{_bindir}/ipcluster2 |
131 |
%{_bindir}/ipcontroller2 |
132 |
%{_bindir}/ipengine2 |
133 |
%{_bindir}/iptest2 |
134 |
|
135 |
%{python_sitelib}/* |
136 |
|
137 |
%files doc |
138 |
%doc examples docs/build/html |
139 |
%{_mandir}/man1/* |
140 |
|