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