1 |
%define name ipython |
2 |
%define version 2.0.0 |
3 |
%define release %mkrel 1 |
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 |
%package -n python3-ipython |
38 |
Group: Development/Python |
39 |
Summary: An enhanced interactive Python shell |
40 |
BuildRequires: python3-devel |
41 |
BuildRequires: python3-setuptools |
42 |
BuildRequires: python3-simplegeneric |
43 |
BuildRequires: python3-pygments |
44 |
BuildRequires: python3-sphinx |
45 |
BuildRequires: python3-jinja2 |
46 |
BuildRequires: python3-pexpect |
47 |
BuildRequires: python3-pyzmq |
48 |
BuildRequires: python3-tornado |
49 |
Requires: python3-pexpect |
50 |
Requires: python3-mglob |
51 |
Requires: python3-simplegeneric |
52 |
Suggests: python3-mpi4py |
53 |
Suggests: python3-tornado |
54 |
Suggests: python3-jinja2 |
55 |
Suggests: python3-matplotlib |
56 |
Suggests: python3-pyzmq |
57 |
|
58 |
%description |
59 |
The goal of IPython is to create a comprehensive environment for |
60 |
interactive and exploratory computing. To support this goal, IPython |
61 |
has two main components: |
62 |
|
63 |
* An enhanced interactive Python shell. |
64 |
* An architecture for interactive parallel computing. |
65 |
|
66 |
The enhanced interactive Python shell has the following main features: |
67 |
|
68 |
* Comprehensive object introspection. |
69 |
* Input history, persistent across sessions. |
70 |
* Caching of output results during a session with automatically |
71 |
generated references. |
72 |
* Readline based name completion. |
73 |
* Extensible system of 'magic' commands for controlling the |
74 |
environment and performing many tasks related either to IPython or |
75 |
the operating system. |
76 |
* Configuration system with easy switching between different setups |
77 |
(simpler than changing $PYTHONSTARTUP environment variables every |
78 |
time). |
79 |
* Session logging and reloading. |
80 |
* Extensible syntax processing for special purpose situations. |
81 |
* Access to the system shell with user-extensible alias system. |
82 |
* Easily embeddable in other Python programs and wxPython GUIs. |
83 |
* Integrated access to the pdb debugger and the Python profiler. |
84 |
|
85 |
The parallel computing architecture has the following main features: |
86 |
|
87 |
* Quickly parallelize Python code from an interactive Python/IPython |
88 |
session. |
89 |
* A flexible and dynamic process model that be deployed on anything |
90 |
from multicore workstations to supercomputers. |
91 |
* An architecture that supports many different styles of parallelism, |
92 |
from message passing to task farming. |
93 |
* Both blocking and fully asynchronous interfaces. |
94 |
* High level APIs that enable many things to be parallelized in a few |
95 |
lines of code. |
96 |
* Share live parallel jobs with other users securely. |
97 |
* Dynamically load balanced task farming system. |
98 |
* Robust error handling in parallel code. |
99 |
|
100 |
%description -n python3-ipython |
101 |
IPython provides a replacement for the interactive Python interpreter with |
102 |
extra functionality. |
103 |
|
104 |
Main features: |
105 |
* Comprehensive object introspection. |
106 |
* Input history, persistent across sessions. |
107 |
* Caching of output results during a session with automatically generated\ |
108 |
references. |
109 |
* Readline based name completion. |
110 |
* Extensible system of 'magic' commands for controlling the environment and |
111 |
performing many tasks related either to IPython or the operating system. |
112 |
* Configuration system with easy switching between different setups (simpler |
113 |
than changing $PYTHONSTARTUP environment variables every time). |
114 |
* Session logging and reloading. |
115 |
* Extensible syntax processing for special purpose situations. |
116 |
* Access to the system shell with user-extensible alias system. |
117 |
* Easily embeddable in other Python programs. |
118 |
* Integrated access to the pdb debugger and the Python profiler. |
119 |
|
120 |
%package doc |
121 |
Summary: An Enhanced Interactive Python Shell documentation |
122 |
Group: Development/Python |
123 |
|
124 |
%description doc |
125 |
IPython provides a replacement for the interactive python (Python) |
126 |
interpreter with extra functionality. |
127 |
|
128 |
This package contains comprehensive documentation for IPython in |
129 |
html format, as well as examples of usage. |
130 |
|
131 |
%prep |
132 |
%setup -q |
133 |
# delete bundling libs |
134 |
pushd IPython/external |
135 |
|
136 |
# use decorators of numpy |
137 |
rm decorators/_decorators.py |
138 |
|
139 |
# other packages exist in Mageia |
140 |
rm simplegeneric/_simplegeneric.py |
141 |
rm pexpect/_pexpect.py |
142 |
|
143 |
popd |
144 |
|
145 |
# Get rid of library shebangs |
146 |
find . -type f -name "*.py" -exec sed -i '/#!\/usr\/bin\/env/d' {} \; |
147 |
|
148 |
cp -a . %{py3dir} |
149 |
|
150 |
%build |
151 |
pushd %{py3dir} |
152 |
%{__python3} setup.py build |
153 |
popd |
154 |
|
155 |
%{__python} setup.py build |
156 |
|
157 |
%install |
158 |
pushd %{py3dir} |
159 |
%{__python3} setup.py install -O1 --skip-build --root %{buildroot} |
160 |
rm %{buildroot}%{_bindir}/ipython |
161 |
rm %{buildroot}%{_bindir}/ipcluster |
162 |
rm %{buildroot}%{_bindir}/ipcontroller |
163 |
rm %{buildroot}%{_bindir}/ipengine |
164 |
rm %{buildroot}%{_bindir}/iptest |
165 |
|
166 |
popd |
167 |
|
168 |
%{__python} setup.py install -O1 --skip-build --root %{buildroot} |
169 |
|
170 |
chmod 644 %{buildroot}%{_mandir}/man1/*.1* |
171 |
find %{buildroot} -name .buildinfo -exec rm -f {} \; |
172 |
find %{buildroot} -name .git_commit_info.ini -exec rm -rf {} \; |
173 |
|
174 |
# make docs |
175 |
pushd docs |
176 |
PYTHONPATH=$PYTHONPATH:%{buildroot}%{python_sitelib} make html |
177 |
rm build/html/.buildinfo |
178 |
popd |
179 |
|
180 |
%files |
181 |
%{_bindir}/ipython |
182 |
%{_bindir}/ipcluster |
183 |
%{_bindir}/ipcontroller |
184 |
%{_bindir}/ipengine |
185 |
%{_bindir}/iptest |
186 |
%{_bindir}/ipython2 |
187 |
%{_bindir}/ipcluster2 |
188 |
%{_bindir}/ipcontroller2 |
189 |
%{_bindir}/ipengine2 |
190 |
%{_bindir}/iptest2 |
191 |
|
192 |
%{python_sitelib}/* |
193 |
|
194 |
%files doc |
195 |
%doc examples docs/build/html |
196 |
%{_mandir}/man1/* |
197 |
|
198 |
%files -n python3-ipython |
199 |
%{_bindir}/ipython3 |
200 |
%{_bindir}/ipcluster3 |
201 |
%{_bindir}/ipcontroller3 |
202 |
%{_bindir}/ipengine3 |
203 |
%{_bindir}/iptest3 |
204 |
|
205 |
%{python3_sitelib}/* |
206 |
|