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