##// END OF EJS Templates
dependencies: bumped pytest libraries to latest versions.
marcink -
r1221:9a854dd7 default
parent child Browse files
Show More
@@ -1,1864 +1,1864 b''
1 # Generated by pip2nix 0.4.0
1 # Generated by pip2nix 0.4.0
2 # See https://github.com/johbo/pip2nix
2 # See https://github.com/johbo/pip2nix
3
3
4 {
4 {
5 Babel = super.buildPythonPackage {
5 Babel = super.buildPythonPackage {
6 name = "Babel-1.3";
6 name = "Babel-1.3";
7 buildInputs = with self; [];
7 buildInputs = with self; [];
8 doCheck = false;
8 doCheck = false;
9 propagatedBuildInputs = with self; [pytz];
9 propagatedBuildInputs = with self; [pytz];
10 src = fetchurl {
10 src = fetchurl {
11 url = "https://pypi.python.org/packages/33/27/e3978243a03a76398c384c83f7ca879bc6e8f1511233a621fcada135606e/Babel-1.3.tar.gz";
11 url = "https://pypi.python.org/packages/33/27/e3978243a03a76398c384c83f7ca879bc6e8f1511233a621fcada135606e/Babel-1.3.tar.gz";
12 md5 = "5264ceb02717843cbc9ffce8e6e06bdb";
12 md5 = "5264ceb02717843cbc9ffce8e6e06bdb";
13 };
13 };
14 meta = {
14 meta = {
15 license = [ pkgs.lib.licenses.bsdOriginal ];
15 license = [ pkgs.lib.licenses.bsdOriginal ];
16 };
16 };
17 };
17 };
18 Beaker = super.buildPythonPackage {
18 Beaker = super.buildPythonPackage {
19 name = "Beaker-1.7.0";
19 name = "Beaker-1.7.0";
20 buildInputs = with self; [];
20 buildInputs = with self; [];
21 doCheck = false;
21 doCheck = false;
22 propagatedBuildInputs = with self; [];
22 propagatedBuildInputs = with self; [];
23 src = fetchurl {
23 src = fetchurl {
24 url = "https://pypi.python.org/packages/97/8e/409d2e7c009b8aa803dc9e6f239f1db7c3cdf578249087a404e7c27a505d/Beaker-1.7.0.tar.gz";
24 url = "https://pypi.python.org/packages/97/8e/409d2e7c009b8aa803dc9e6f239f1db7c3cdf578249087a404e7c27a505d/Beaker-1.7.0.tar.gz";
25 md5 = "386be3f7fe427358881eee4622b428b3";
25 md5 = "386be3f7fe427358881eee4622b428b3";
26 };
26 };
27 meta = {
27 meta = {
28 license = [ pkgs.lib.licenses.bsdOriginal ];
28 license = [ pkgs.lib.licenses.bsdOriginal ];
29 };
29 };
30 };
30 };
31 CProfileV = super.buildPythonPackage {
31 CProfileV = super.buildPythonPackage {
32 name = "CProfileV-1.0.6";
32 name = "CProfileV-1.0.6";
33 buildInputs = with self; [];
33 buildInputs = with self; [];
34 doCheck = false;
34 doCheck = false;
35 propagatedBuildInputs = with self; [bottle];
35 propagatedBuildInputs = with self; [bottle];
36 src = fetchurl {
36 src = fetchurl {
37 url = "https://pypi.python.org/packages/eb/df/983a0b6cfd3ac94abf023f5011cb04f33613ace196e33f53c86cf91850d5/CProfileV-1.0.6.tar.gz";
37 url = "https://pypi.python.org/packages/eb/df/983a0b6cfd3ac94abf023f5011cb04f33613ace196e33f53c86cf91850d5/CProfileV-1.0.6.tar.gz";
38 md5 = "08c7c242b6e64237bc53c5d13537e03d";
38 md5 = "08c7c242b6e64237bc53c5d13537e03d";
39 };
39 };
40 meta = {
40 meta = {
41 license = [ pkgs.lib.licenses.mit ];
41 license = [ pkgs.lib.licenses.mit ];
42 };
42 };
43 };
43 };
44 Chameleon = super.buildPythonPackage {
44 Chameleon = super.buildPythonPackage {
45 name = "Chameleon-2.24";
45 name = "Chameleon-2.24";
46 buildInputs = with self; [];
46 buildInputs = with self; [];
47 doCheck = false;
47 doCheck = false;
48 propagatedBuildInputs = with self; [];
48 propagatedBuildInputs = with self; [];
49 src = fetchurl {
49 src = fetchurl {
50 url = "https://pypi.python.org/packages/5a/9e/637379ffa13c5172b5c0e704833ffea6bf51cec7567f93fd6e903d53ed74/Chameleon-2.24.tar.gz";
50 url = "https://pypi.python.org/packages/5a/9e/637379ffa13c5172b5c0e704833ffea6bf51cec7567f93fd6e903d53ed74/Chameleon-2.24.tar.gz";
51 md5 = "1b01f1f6533a8a11d0d2f2366dec5342";
51 md5 = "1b01f1f6533a8a11d0d2f2366dec5342";
52 };
52 };
53 meta = {
53 meta = {
54 license = [ { fullName = "BSD-like (http://repoze.org/license.html)"; } ];
54 license = [ { fullName = "BSD-like (http://repoze.org/license.html)"; } ];
55 };
55 };
56 };
56 };
57 FormEncode = super.buildPythonPackage {
57 FormEncode = super.buildPythonPackage {
58 name = "FormEncode-1.2.4";
58 name = "FormEncode-1.2.4";
59 buildInputs = with self; [];
59 buildInputs = with self; [];
60 doCheck = false;
60 doCheck = false;
61 propagatedBuildInputs = with self; [];
61 propagatedBuildInputs = with self; [];
62 src = fetchurl {
62 src = fetchurl {
63 url = "https://pypi.python.org/packages/8e/59/0174271a6f004512e0201188593e6d319db139d14cb7490e488bbb078015/FormEncode-1.2.4.tar.gz";
63 url = "https://pypi.python.org/packages/8e/59/0174271a6f004512e0201188593e6d319db139d14cb7490e488bbb078015/FormEncode-1.2.4.tar.gz";
64 md5 = "6bc17fb9aed8aea198975e888e2077f4";
64 md5 = "6bc17fb9aed8aea198975e888e2077f4";
65 };
65 };
66 meta = {
66 meta = {
67 license = [ pkgs.lib.licenses.psfl ];
67 license = [ pkgs.lib.licenses.psfl ];
68 };
68 };
69 };
69 };
70 Jinja2 = super.buildPythonPackage {
70 Jinja2 = super.buildPythonPackage {
71 name = "Jinja2-2.7.3";
71 name = "Jinja2-2.7.3";
72 buildInputs = with self; [];
72 buildInputs = with self; [];
73 doCheck = false;
73 doCheck = false;
74 propagatedBuildInputs = with self; [MarkupSafe];
74 propagatedBuildInputs = with self; [MarkupSafe];
75 src = fetchurl {
75 src = fetchurl {
76 url = "https://pypi.python.org/packages/b0/73/eab0bca302d6d6a0b5c402f47ad1760dc9cb2dd14bbc1873ad48db258e4d/Jinja2-2.7.3.tar.gz";
76 url = "https://pypi.python.org/packages/b0/73/eab0bca302d6d6a0b5c402f47ad1760dc9cb2dd14bbc1873ad48db258e4d/Jinja2-2.7.3.tar.gz";
77 md5 = "b9dffd2f3b43d673802fe857c8445b1a";
77 md5 = "b9dffd2f3b43d673802fe857c8445b1a";
78 };
78 };
79 meta = {
79 meta = {
80 license = [ pkgs.lib.licenses.bsdOriginal ];
80 license = [ pkgs.lib.licenses.bsdOriginal ];
81 };
81 };
82 };
82 };
83 Mako = super.buildPythonPackage {
83 Mako = super.buildPythonPackage {
84 name = "Mako-1.0.1";
84 name = "Mako-1.0.1";
85 buildInputs = with self; [];
85 buildInputs = with self; [];
86 doCheck = false;
86 doCheck = false;
87 propagatedBuildInputs = with self; [MarkupSafe];
87 propagatedBuildInputs = with self; [MarkupSafe];
88 src = fetchurl {
88 src = fetchurl {
89 url = "https://pypi.python.org/packages/8e/a4/aa56533ecaa5f22ca92428f74e074d0c9337282933c722391902c8f9e0f8/Mako-1.0.1.tar.gz";
89 url = "https://pypi.python.org/packages/8e/a4/aa56533ecaa5f22ca92428f74e074d0c9337282933c722391902c8f9e0f8/Mako-1.0.1.tar.gz";
90 md5 = "9f0aafd177b039ef67b90ea350497a54";
90 md5 = "9f0aafd177b039ef67b90ea350497a54";
91 };
91 };
92 meta = {
92 meta = {
93 license = [ pkgs.lib.licenses.mit ];
93 license = [ pkgs.lib.licenses.mit ];
94 };
94 };
95 };
95 };
96 Markdown = super.buildPythonPackage {
96 Markdown = super.buildPythonPackage {
97 name = "Markdown-2.6.2";
97 name = "Markdown-2.6.2";
98 buildInputs = with self; [];
98 buildInputs = with self; [];
99 doCheck = false;
99 doCheck = false;
100 propagatedBuildInputs = with self; [];
100 propagatedBuildInputs = with self; [];
101 src = fetchurl {
101 src = fetchurl {
102 url = "https://pypi.python.org/packages/62/8b/83658b5f6c220d5fcde9f9852d46ea54765d734cfbc5a9f4c05bfc36db4d/Markdown-2.6.2.tar.gz";
102 url = "https://pypi.python.org/packages/62/8b/83658b5f6c220d5fcde9f9852d46ea54765d734cfbc5a9f4c05bfc36db4d/Markdown-2.6.2.tar.gz";
103 md5 = "256d19afcc564dc4ce4c229bb762f7ae";
103 md5 = "256d19afcc564dc4ce4c229bb762f7ae";
104 };
104 };
105 meta = {
105 meta = {
106 license = [ pkgs.lib.licenses.bsdOriginal ];
106 license = [ pkgs.lib.licenses.bsdOriginal ];
107 };
107 };
108 };
108 };
109 MarkupSafe = super.buildPythonPackage {
109 MarkupSafe = super.buildPythonPackage {
110 name = "MarkupSafe-0.23";
110 name = "MarkupSafe-0.23";
111 buildInputs = with self; [];
111 buildInputs = with self; [];
112 doCheck = false;
112 doCheck = false;
113 propagatedBuildInputs = with self; [];
113 propagatedBuildInputs = with self; [];
114 src = fetchurl {
114 src = fetchurl {
115 url = "https://pypi.python.org/packages/c0/41/bae1254e0396c0cc8cf1751cb7d9afc90a602353695af5952530482c963f/MarkupSafe-0.23.tar.gz";
115 url = "https://pypi.python.org/packages/c0/41/bae1254e0396c0cc8cf1751cb7d9afc90a602353695af5952530482c963f/MarkupSafe-0.23.tar.gz";
116 md5 = "f5ab3deee4c37cd6a922fb81e730da6e";
116 md5 = "f5ab3deee4c37cd6a922fb81e730da6e";
117 };
117 };
118 meta = {
118 meta = {
119 license = [ pkgs.lib.licenses.bsdOriginal ];
119 license = [ pkgs.lib.licenses.bsdOriginal ];
120 };
120 };
121 };
121 };
122 MySQL-python = super.buildPythonPackage {
122 MySQL-python = super.buildPythonPackage {
123 name = "MySQL-python-1.2.5";
123 name = "MySQL-python-1.2.5";
124 buildInputs = with self; [];
124 buildInputs = with self; [];
125 doCheck = false;
125 doCheck = false;
126 propagatedBuildInputs = with self; [];
126 propagatedBuildInputs = with self; [];
127 src = fetchurl {
127 src = fetchurl {
128 url = "https://pypi.python.org/packages/a5/e9/51b544da85a36a68debe7a7091f068d802fc515a3a202652828c73453cad/MySQL-python-1.2.5.zip";
128 url = "https://pypi.python.org/packages/a5/e9/51b544da85a36a68debe7a7091f068d802fc515a3a202652828c73453cad/MySQL-python-1.2.5.zip";
129 md5 = "654f75b302db6ed8dc5a898c625e030c";
129 md5 = "654f75b302db6ed8dc5a898c625e030c";
130 };
130 };
131 meta = {
131 meta = {
132 license = [ pkgs.lib.licenses.gpl1 ];
132 license = [ pkgs.lib.licenses.gpl1 ];
133 };
133 };
134 };
134 };
135 Paste = super.buildPythonPackage {
135 Paste = super.buildPythonPackage {
136 name = "Paste-2.0.2";
136 name = "Paste-2.0.2";
137 buildInputs = with self; [];
137 buildInputs = with self; [];
138 doCheck = false;
138 doCheck = false;
139 propagatedBuildInputs = with self; [six];
139 propagatedBuildInputs = with self; [six];
140 src = fetchurl {
140 src = fetchurl {
141 url = "https://pypi.python.org/packages/d5/8d/0f8ac40687b97ff3e07ebd1369be20bdb3f93864d2dc3c2ff542edb4ce50/Paste-2.0.2.tar.gz";
141 url = "https://pypi.python.org/packages/d5/8d/0f8ac40687b97ff3e07ebd1369be20bdb3f93864d2dc3c2ff542edb4ce50/Paste-2.0.2.tar.gz";
142 md5 = "4bfc8a7eaf858f6309d2ac0f40fc951c";
142 md5 = "4bfc8a7eaf858f6309d2ac0f40fc951c";
143 };
143 };
144 meta = {
144 meta = {
145 license = [ pkgs.lib.licenses.mit ];
145 license = [ pkgs.lib.licenses.mit ];
146 };
146 };
147 };
147 };
148 PasteDeploy = super.buildPythonPackage {
148 PasteDeploy = super.buildPythonPackage {
149 name = "PasteDeploy-1.5.2";
149 name = "PasteDeploy-1.5.2";
150 buildInputs = with self; [];
150 buildInputs = with self; [];
151 doCheck = false;
151 doCheck = false;
152 propagatedBuildInputs = with self; [];
152 propagatedBuildInputs = with self; [];
153 src = fetchurl {
153 src = fetchurl {
154 url = "https://pypi.python.org/packages/0f/90/8e20cdae206c543ea10793cbf4136eb9a8b3f417e04e40a29d72d9922cbd/PasteDeploy-1.5.2.tar.gz";
154 url = "https://pypi.python.org/packages/0f/90/8e20cdae206c543ea10793cbf4136eb9a8b3f417e04e40a29d72d9922cbd/PasteDeploy-1.5.2.tar.gz";
155 md5 = "352b7205c78c8de4987578d19431af3b";
155 md5 = "352b7205c78c8de4987578d19431af3b";
156 };
156 };
157 meta = {
157 meta = {
158 license = [ pkgs.lib.licenses.mit ];
158 license = [ pkgs.lib.licenses.mit ];
159 };
159 };
160 };
160 };
161 PasteScript = super.buildPythonPackage {
161 PasteScript = super.buildPythonPackage {
162 name = "PasteScript-1.7.5";
162 name = "PasteScript-1.7.5";
163 buildInputs = with self; [];
163 buildInputs = with self; [];
164 doCheck = false;
164 doCheck = false;
165 propagatedBuildInputs = with self; [Paste PasteDeploy];
165 propagatedBuildInputs = with self; [Paste PasteDeploy];
166 src = fetchurl {
166 src = fetchurl {
167 url = "https://pypi.python.org/packages/a5/05/fc60efa7c2f17a1dbaeccb2a903a1e90902d92b9d00eebabe3095829d806/PasteScript-1.7.5.tar.gz";
167 url = "https://pypi.python.org/packages/a5/05/fc60efa7c2f17a1dbaeccb2a903a1e90902d92b9d00eebabe3095829d806/PasteScript-1.7.5.tar.gz";
168 md5 = "4c72d78dcb6bb993f30536842c16af4d";
168 md5 = "4c72d78dcb6bb993f30536842c16af4d";
169 };
169 };
170 meta = {
170 meta = {
171 license = [ pkgs.lib.licenses.mit ];
171 license = [ pkgs.lib.licenses.mit ];
172 };
172 };
173 };
173 };
174 Pygments = super.buildPythonPackage {
174 Pygments = super.buildPythonPackage {
175 name = "Pygments-2.1.3";
175 name = "Pygments-2.1.3";
176 buildInputs = with self; [];
176 buildInputs = with self; [];
177 doCheck = false;
177 doCheck = false;
178 propagatedBuildInputs = with self; [];
178 propagatedBuildInputs = with self; [];
179 src = fetchurl {
179 src = fetchurl {
180 url = "https://pypi.python.org/packages/b8/67/ab177979be1c81bc99c8d0592ef22d547e70bb4c6815c383286ed5dec504/Pygments-2.1.3.tar.gz";
180 url = "https://pypi.python.org/packages/b8/67/ab177979be1c81bc99c8d0592ef22d547e70bb4c6815c383286ed5dec504/Pygments-2.1.3.tar.gz";
181 md5 = "ed3fba2467c8afcda4d317e4ef2c6150";
181 md5 = "ed3fba2467c8afcda4d317e4ef2c6150";
182 };
182 };
183 meta = {
183 meta = {
184 license = [ pkgs.lib.licenses.bsdOriginal ];
184 license = [ pkgs.lib.licenses.bsdOriginal ];
185 };
185 };
186 };
186 };
187 Pylons = super.buildPythonPackage {
187 Pylons = super.buildPythonPackage {
188 name = "Pylons-1.0.1";
188 name = "Pylons-1.0.1";
189 buildInputs = with self; [];
189 buildInputs = with self; [];
190 doCheck = false;
190 doCheck = false;
191 propagatedBuildInputs = with self; [Routes WebHelpers Beaker Paste PasteDeploy PasteScript FormEncode simplejson decorator nose Mako WebError WebTest Tempita MarkupSafe WebOb];
191 propagatedBuildInputs = with self; [Routes WebHelpers Beaker Paste PasteDeploy PasteScript FormEncode simplejson decorator nose Mako WebError WebTest Tempita MarkupSafe WebOb];
192 src = fetchurl {
192 src = fetchurl {
193 url = "https://pypi.python.org/packages/a2/69/b835a6bad00acbfeed3f33c6e44fa3f936efc998c795bfb15c61a79ecf62/Pylons-1.0.1.tar.gz";
193 url = "https://pypi.python.org/packages/a2/69/b835a6bad00acbfeed3f33c6e44fa3f936efc998c795bfb15c61a79ecf62/Pylons-1.0.1.tar.gz";
194 md5 = "6cb880d75fa81213192142b07a6e4915";
194 md5 = "6cb880d75fa81213192142b07a6e4915";
195 };
195 };
196 meta = {
196 meta = {
197 license = [ pkgs.lib.licenses.bsdOriginal ];
197 license = [ pkgs.lib.licenses.bsdOriginal ];
198 };
198 };
199 };
199 };
200 Pyro4 = super.buildPythonPackage {
200 Pyro4 = super.buildPythonPackage {
201 name = "Pyro4-4.41";
201 name = "Pyro4-4.41";
202 buildInputs = with self; [];
202 buildInputs = with self; [];
203 doCheck = false;
203 doCheck = false;
204 propagatedBuildInputs = with self; [serpent];
204 propagatedBuildInputs = with self; [serpent];
205 src = fetchurl {
205 src = fetchurl {
206 url = "https://pypi.python.org/packages/56/2b/89b566b4bf3e7f8ba790db2d1223852f8cb454c52cab7693dd41f608ca2a/Pyro4-4.41.tar.gz";
206 url = "https://pypi.python.org/packages/56/2b/89b566b4bf3e7f8ba790db2d1223852f8cb454c52cab7693dd41f608ca2a/Pyro4-4.41.tar.gz";
207 md5 = "ed69e9bfafa9c06c049a87cb0c4c2b6c";
207 md5 = "ed69e9bfafa9c06c049a87cb0c4c2b6c";
208 };
208 };
209 meta = {
209 meta = {
210 license = [ pkgs.lib.licenses.mit ];
210 license = [ pkgs.lib.licenses.mit ];
211 };
211 };
212 };
212 };
213 Routes = super.buildPythonPackage {
213 Routes = super.buildPythonPackage {
214 name = "Routes-1.13";
214 name = "Routes-1.13";
215 buildInputs = with self; [];
215 buildInputs = with self; [];
216 doCheck = false;
216 doCheck = false;
217 propagatedBuildInputs = with self; [repoze.lru];
217 propagatedBuildInputs = with self; [repoze.lru];
218 src = fetchurl {
218 src = fetchurl {
219 url = "https://pypi.python.org/packages/88/d3/259c3b3cde8837eb9441ab5f574a660e8a4acea8f54a078441d4d2acac1c/Routes-1.13.tar.gz";
219 url = "https://pypi.python.org/packages/88/d3/259c3b3cde8837eb9441ab5f574a660e8a4acea8f54a078441d4d2acac1c/Routes-1.13.tar.gz";
220 md5 = "d527b0ab7dd9172b1275a41f97448783";
220 md5 = "d527b0ab7dd9172b1275a41f97448783";
221 };
221 };
222 meta = {
222 meta = {
223 license = [ pkgs.lib.licenses.bsdOriginal ];
223 license = [ pkgs.lib.licenses.bsdOriginal ];
224 };
224 };
225 };
225 };
226 SQLAlchemy = super.buildPythonPackage {
226 SQLAlchemy = super.buildPythonPackage {
227 name = "SQLAlchemy-0.9.9";
227 name = "SQLAlchemy-0.9.9";
228 buildInputs = with self; [];
228 buildInputs = with self; [];
229 doCheck = false;
229 doCheck = false;
230 propagatedBuildInputs = with self; [];
230 propagatedBuildInputs = with self; [];
231 src = fetchurl {
231 src = fetchurl {
232 url = "https://pypi.python.org/packages/28/f7/1bbfd0d8597e8c358d5e15a166a486ad82fc5579b4e67b6ef7c05b1d182b/SQLAlchemy-0.9.9.tar.gz";
232 url = "https://pypi.python.org/packages/28/f7/1bbfd0d8597e8c358d5e15a166a486ad82fc5579b4e67b6ef7c05b1d182b/SQLAlchemy-0.9.9.tar.gz";
233 md5 = "8a10a9bd13ed3336ef7333ac2cc679ff";
233 md5 = "8a10a9bd13ed3336ef7333ac2cc679ff";
234 };
234 };
235 meta = {
235 meta = {
236 license = [ pkgs.lib.licenses.mit ];
236 license = [ pkgs.lib.licenses.mit ];
237 };
237 };
238 };
238 };
239 Sphinx = super.buildPythonPackage {
239 Sphinx = super.buildPythonPackage {
240 name = "Sphinx-1.2.2";
240 name = "Sphinx-1.2.2";
241 buildInputs = with self; [];
241 buildInputs = with self; [];
242 doCheck = false;
242 doCheck = false;
243 propagatedBuildInputs = with self; [Pygments docutils Jinja2];
243 propagatedBuildInputs = with self; [Pygments docutils Jinja2];
244 src = fetchurl {
244 src = fetchurl {
245 url = "https://pypi.python.org/packages/0a/50/34017e6efcd372893a416aba14b84a1a149fc7074537b0e9cb6ca7b7abe9/Sphinx-1.2.2.tar.gz";
245 url = "https://pypi.python.org/packages/0a/50/34017e6efcd372893a416aba14b84a1a149fc7074537b0e9cb6ca7b7abe9/Sphinx-1.2.2.tar.gz";
246 md5 = "3dc73ccaa8d0bfb2d62fb671b1f7e8a4";
246 md5 = "3dc73ccaa8d0bfb2d62fb671b1f7e8a4";
247 };
247 };
248 meta = {
248 meta = {
249 license = [ pkgs.lib.licenses.bsdOriginal ];
249 license = [ pkgs.lib.licenses.bsdOriginal ];
250 };
250 };
251 };
251 };
252 Tempita = super.buildPythonPackage {
252 Tempita = super.buildPythonPackage {
253 name = "Tempita-0.5.2";
253 name = "Tempita-0.5.2";
254 buildInputs = with self; [];
254 buildInputs = with self; [];
255 doCheck = false;
255 doCheck = false;
256 propagatedBuildInputs = with self; [];
256 propagatedBuildInputs = with self; [];
257 src = fetchurl {
257 src = fetchurl {
258 url = "https://pypi.python.org/packages/56/c8/8ed6eee83dbddf7b0fc64dd5d4454bc05e6ccaafff47991f73f2894d9ff4/Tempita-0.5.2.tar.gz";
258 url = "https://pypi.python.org/packages/56/c8/8ed6eee83dbddf7b0fc64dd5d4454bc05e6ccaafff47991f73f2894d9ff4/Tempita-0.5.2.tar.gz";
259 md5 = "4c2f17bb9d481821c41b6fbee904cea1";
259 md5 = "4c2f17bb9d481821c41b6fbee904cea1";
260 };
260 };
261 meta = {
261 meta = {
262 license = [ pkgs.lib.licenses.mit ];
262 license = [ pkgs.lib.licenses.mit ];
263 };
263 };
264 };
264 };
265 URLObject = super.buildPythonPackage {
265 URLObject = super.buildPythonPackage {
266 name = "URLObject-2.4.0";
266 name = "URLObject-2.4.0";
267 buildInputs = with self; [];
267 buildInputs = with self; [];
268 doCheck = false;
268 doCheck = false;
269 propagatedBuildInputs = with self; [];
269 propagatedBuildInputs = with self; [];
270 src = fetchurl {
270 src = fetchurl {
271 url = "https://pypi.python.org/packages/cb/b6/e25e58500f9caef85d664bec71ec67c116897bfebf8622c32cb75d1ca199/URLObject-2.4.0.tar.gz";
271 url = "https://pypi.python.org/packages/cb/b6/e25e58500f9caef85d664bec71ec67c116897bfebf8622c32cb75d1ca199/URLObject-2.4.0.tar.gz";
272 md5 = "2ed819738a9f0a3051f31dc9924e3065";
272 md5 = "2ed819738a9f0a3051f31dc9924e3065";
273 };
273 };
274 meta = {
274 meta = {
275 license = [ ];
275 license = [ ];
276 };
276 };
277 };
277 };
278 WebError = super.buildPythonPackage {
278 WebError = super.buildPythonPackage {
279 name = "WebError-0.10.3";
279 name = "WebError-0.10.3";
280 buildInputs = with self; [];
280 buildInputs = with self; [];
281 doCheck = false;
281 doCheck = false;
282 propagatedBuildInputs = with self; [WebOb Tempita Pygments Paste];
282 propagatedBuildInputs = with self; [WebOb Tempita Pygments Paste];
283 src = fetchurl {
283 src = fetchurl {
284 url = "https://pypi.python.org/packages/35/76/e7e5c2ce7e9c7f31b54c1ff295a495886d1279a002557d74dd8957346a79/WebError-0.10.3.tar.gz";
284 url = "https://pypi.python.org/packages/35/76/e7e5c2ce7e9c7f31b54c1ff295a495886d1279a002557d74dd8957346a79/WebError-0.10.3.tar.gz";
285 md5 = "84b9990b0baae6fd440b1e60cdd06f9a";
285 md5 = "84b9990b0baae6fd440b1e60cdd06f9a";
286 };
286 };
287 meta = {
287 meta = {
288 license = [ pkgs.lib.licenses.mit ];
288 license = [ pkgs.lib.licenses.mit ];
289 };
289 };
290 };
290 };
291 WebHelpers = super.buildPythonPackage {
291 WebHelpers = super.buildPythonPackage {
292 name = "WebHelpers-1.3";
292 name = "WebHelpers-1.3";
293 buildInputs = with self; [];
293 buildInputs = with self; [];
294 doCheck = false;
294 doCheck = false;
295 propagatedBuildInputs = with self; [MarkupSafe];
295 propagatedBuildInputs = with self; [MarkupSafe];
296 src = fetchurl {
296 src = fetchurl {
297 url = "https://pypi.python.org/packages/ee/68/4d07672821d514184357f1552f2dad923324f597e722de3b016ca4f7844f/WebHelpers-1.3.tar.gz";
297 url = "https://pypi.python.org/packages/ee/68/4d07672821d514184357f1552f2dad923324f597e722de3b016ca4f7844f/WebHelpers-1.3.tar.gz";
298 md5 = "32749ffadfc40fea51075a7def32588b";
298 md5 = "32749ffadfc40fea51075a7def32588b";
299 };
299 };
300 meta = {
300 meta = {
301 license = [ pkgs.lib.licenses.bsdOriginal ];
301 license = [ pkgs.lib.licenses.bsdOriginal ];
302 };
302 };
303 };
303 };
304 WebHelpers2 = super.buildPythonPackage {
304 WebHelpers2 = super.buildPythonPackage {
305 name = "WebHelpers2-2.0";
305 name = "WebHelpers2-2.0";
306 buildInputs = with self; [];
306 buildInputs = with self; [];
307 doCheck = false;
307 doCheck = false;
308 propagatedBuildInputs = with self; [MarkupSafe six];
308 propagatedBuildInputs = with self; [MarkupSafe six];
309 src = fetchurl {
309 src = fetchurl {
310 url = "https://pypi.python.org/packages/ff/30/56342c6ea522439e3662427c8d7b5e5b390dff4ff2dc92d8afcb8ab68b75/WebHelpers2-2.0.tar.gz";
310 url = "https://pypi.python.org/packages/ff/30/56342c6ea522439e3662427c8d7b5e5b390dff4ff2dc92d8afcb8ab68b75/WebHelpers2-2.0.tar.gz";
311 md5 = "0f6b68d70c12ee0aed48c00b24da13d3";
311 md5 = "0f6b68d70c12ee0aed48c00b24da13d3";
312 };
312 };
313 meta = {
313 meta = {
314 license = [ pkgs.lib.licenses.mit ];
314 license = [ pkgs.lib.licenses.mit ];
315 };
315 };
316 };
316 };
317 WebOb = super.buildPythonPackage {
317 WebOb = super.buildPythonPackage {
318 name = "WebOb-1.3.1";
318 name = "WebOb-1.3.1";
319 buildInputs = with self; [];
319 buildInputs = with self; [];
320 doCheck = false;
320 doCheck = false;
321 propagatedBuildInputs = with self; [];
321 propagatedBuildInputs = with self; [];
322 src = fetchurl {
322 src = fetchurl {
323 url = "https://pypi.python.org/packages/16/78/adfc0380b8a0d75b2d543fa7085ba98a573b1ae486d9def88d172b81b9fa/WebOb-1.3.1.tar.gz";
323 url = "https://pypi.python.org/packages/16/78/adfc0380b8a0d75b2d543fa7085ba98a573b1ae486d9def88d172b81b9fa/WebOb-1.3.1.tar.gz";
324 md5 = "20918251c5726956ba8fef22d1556177";
324 md5 = "20918251c5726956ba8fef22d1556177";
325 };
325 };
326 meta = {
326 meta = {
327 license = [ pkgs.lib.licenses.mit ];
327 license = [ pkgs.lib.licenses.mit ];
328 };
328 };
329 };
329 };
330 WebTest = super.buildPythonPackage {
330 WebTest = super.buildPythonPackage {
331 name = "WebTest-1.4.3";
331 name = "WebTest-1.4.3";
332 buildInputs = with self; [];
332 buildInputs = with self; [];
333 doCheck = false;
333 doCheck = false;
334 propagatedBuildInputs = with self; [WebOb];
334 propagatedBuildInputs = with self; [WebOb];
335 src = fetchurl {
335 src = fetchurl {
336 url = "https://pypi.python.org/packages/51/3d/84fd0f628df10b30c7db87895f56d0158e5411206b721ca903cb51bfd948/WebTest-1.4.3.zip";
336 url = "https://pypi.python.org/packages/51/3d/84fd0f628df10b30c7db87895f56d0158e5411206b721ca903cb51bfd948/WebTest-1.4.3.zip";
337 md5 = "631ce728bed92c681a4020a36adbc353";
337 md5 = "631ce728bed92c681a4020a36adbc353";
338 };
338 };
339 meta = {
339 meta = {
340 license = [ pkgs.lib.licenses.mit ];
340 license = [ pkgs.lib.licenses.mit ];
341 };
341 };
342 };
342 };
343 Whoosh = super.buildPythonPackage {
343 Whoosh = super.buildPythonPackage {
344 name = "Whoosh-2.7.0";
344 name = "Whoosh-2.7.0";
345 buildInputs = with self; [];
345 buildInputs = with self; [];
346 doCheck = false;
346 doCheck = false;
347 propagatedBuildInputs = with self; [];
347 propagatedBuildInputs = with self; [];
348 src = fetchurl {
348 src = fetchurl {
349 url = "https://pypi.python.org/packages/1c/dc/2f0231ff3875ded36df8c1ab851451e51a237dc0e5a86d3d96036158da94/Whoosh-2.7.0.zip";
349 url = "https://pypi.python.org/packages/1c/dc/2f0231ff3875ded36df8c1ab851451e51a237dc0e5a86d3d96036158da94/Whoosh-2.7.0.zip";
350 md5 = "7abfd970f16fadc7311960f3fa0bc7a9";
350 md5 = "7abfd970f16fadc7311960f3fa0bc7a9";
351 };
351 };
352 meta = {
352 meta = {
353 license = [ pkgs.lib.licenses.bsdOriginal pkgs.lib.licenses.bsd2 ];
353 license = [ pkgs.lib.licenses.bsdOriginal pkgs.lib.licenses.bsd2 ];
354 };
354 };
355 };
355 };
356 alembic = super.buildPythonPackage {
356 alembic = super.buildPythonPackage {
357 name = "alembic-0.8.4";
357 name = "alembic-0.8.4";
358 buildInputs = with self; [];
358 buildInputs = with self; [];
359 doCheck = false;
359 doCheck = false;
360 propagatedBuildInputs = with self; [SQLAlchemy Mako python-editor];
360 propagatedBuildInputs = with self; [SQLAlchemy Mako python-editor];
361 src = fetchurl {
361 src = fetchurl {
362 url = "https://pypi.python.org/packages/ca/7e/299b4499b5c75e5a38c5845145ad24755bebfb8eec07a2e1c366b7181eeb/alembic-0.8.4.tar.gz";
362 url = "https://pypi.python.org/packages/ca/7e/299b4499b5c75e5a38c5845145ad24755bebfb8eec07a2e1c366b7181eeb/alembic-0.8.4.tar.gz";
363 md5 = "5f95d8ee62b443f9b37eb5bee76c582d";
363 md5 = "5f95d8ee62b443f9b37eb5bee76c582d";
364 };
364 };
365 meta = {
365 meta = {
366 license = [ pkgs.lib.licenses.mit ];
366 license = [ pkgs.lib.licenses.mit ];
367 };
367 };
368 };
368 };
369 amqplib = super.buildPythonPackage {
369 amqplib = super.buildPythonPackage {
370 name = "amqplib-1.0.2";
370 name = "amqplib-1.0.2";
371 buildInputs = with self; [];
371 buildInputs = with self; [];
372 doCheck = false;
372 doCheck = false;
373 propagatedBuildInputs = with self; [];
373 propagatedBuildInputs = with self; [];
374 src = fetchurl {
374 src = fetchurl {
375 url = "https://pypi.python.org/packages/75/b7/8c2429bf8d92354a0118614f9a4d15e53bc69ebedce534284111de5a0102/amqplib-1.0.2.tgz";
375 url = "https://pypi.python.org/packages/75/b7/8c2429bf8d92354a0118614f9a4d15e53bc69ebedce534284111de5a0102/amqplib-1.0.2.tgz";
376 md5 = "5c92f17fbedd99b2b4a836d4352d1e2f";
376 md5 = "5c92f17fbedd99b2b4a836d4352d1e2f";
377 };
377 };
378 meta = {
378 meta = {
379 license = [ { fullName = "LGPL"; } { fullName = "GNU Library or Lesser General Public License (LGPL)"; } ];
379 license = [ { fullName = "LGPL"; } { fullName = "GNU Library or Lesser General Public License (LGPL)"; } ];
380 };
380 };
381 };
381 };
382 anyjson = super.buildPythonPackage {
382 anyjson = super.buildPythonPackage {
383 name = "anyjson-0.3.3";
383 name = "anyjson-0.3.3";
384 buildInputs = with self; [];
384 buildInputs = with self; [];
385 doCheck = false;
385 doCheck = false;
386 propagatedBuildInputs = with self; [];
386 propagatedBuildInputs = with self; [];
387 src = fetchurl {
387 src = fetchurl {
388 url = "https://pypi.python.org/packages/c3/4d/d4089e1a3dd25b46bebdb55a992b0797cff657b4477bc32ce28038fdecbc/anyjson-0.3.3.tar.gz";
388 url = "https://pypi.python.org/packages/c3/4d/d4089e1a3dd25b46bebdb55a992b0797cff657b4477bc32ce28038fdecbc/anyjson-0.3.3.tar.gz";
389 md5 = "2ea28d6ec311aeeebaf993cb3008b27c";
389 md5 = "2ea28d6ec311aeeebaf993cb3008b27c";
390 };
390 };
391 meta = {
391 meta = {
392 license = [ pkgs.lib.licenses.bsdOriginal ];
392 license = [ pkgs.lib.licenses.bsdOriginal ];
393 };
393 };
394 };
394 };
395 appenlight-client = super.buildPythonPackage {
395 appenlight-client = super.buildPythonPackage {
396 name = "appenlight-client-0.6.14";
396 name = "appenlight-client-0.6.14";
397 buildInputs = with self; [];
397 buildInputs = with self; [];
398 doCheck = false;
398 doCheck = false;
399 propagatedBuildInputs = with self; [WebOb requests];
399 propagatedBuildInputs = with self; [WebOb requests];
400 src = fetchurl {
400 src = fetchurl {
401 url = "https://pypi.python.org/packages/4d/e0/23fee3ebada8143f707e65c06bcb82992040ee64ea8355e044ed55ebf0c1/appenlight_client-0.6.14.tar.gz";
401 url = "https://pypi.python.org/packages/4d/e0/23fee3ebada8143f707e65c06bcb82992040ee64ea8355e044ed55ebf0c1/appenlight_client-0.6.14.tar.gz";
402 md5 = "578c69b09f4356d898fff1199b98a95c";
402 md5 = "578c69b09f4356d898fff1199b98a95c";
403 };
403 };
404 meta = {
404 meta = {
405 license = [ pkgs.lib.licenses.bsdOriginal { fullName = "DFSG approved"; } ];
405 license = [ pkgs.lib.licenses.bsdOriginal { fullName = "DFSG approved"; } ];
406 };
406 };
407 };
407 };
408 authomatic = super.buildPythonPackage {
408 authomatic = super.buildPythonPackage {
409 name = "authomatic-0.1.0.post1";
409 name = "authomatic-0.1.0.post1";
410 buildInputs = with self; [];
410 buildInputs = with self; [];
411 doCheck = false;
411 doCheck = false;
412 propagatedBuildInputs = with self; [];
412 propagatedBuildInputs = with self; [];
413 src = fetchurl {
413 src = fetchurl {
414 url = "https://pypi.python.org/packages/08/1a/8a930461e604c2d5a7a871e1ac59fa82ccf994c32e807230c8d2fb07815a/Authomatic-0.1.0.post1.tar.gz";
414 url = "https://pypi.python.org/packages/08/1a/8a930461e604c2d5a7a871e1ac59fa82ccf994c32e807230c8d2fb07815a/Authomatic-0.1.0.post1.tar.gz";
415 md5 = "be3f3ce08747d776aae6d6cc8dcb49a9";
415 md5 = "be3f3ce08747d776aae6d6cc8dcb49a9";
416 };
416 };
417 meta = {
417 meta = {
418 license = [ pkgs.lib.licenses.mit ];
418 license = [ pkgs.lib.licenses.mit ];
419 };
419 };
420 };
420 };
421 backport-ipaddress = super.buildPythonPackage {
421 backport-ipaddress = super.buildPythonPackage {
422 name = "backport-ipaddress-0.1";
422 name = "backport-ipaddress-0.1";
423 buildInputs = with self; [];
423 buildInputs = with self; [];
424 doCheck = false;
424 doCheck = false;
425 propagatedBuildInputs = with self; [];
425 propagatedBuildInputs = with self; [];
426 src = fetchurl {
426 src = fetchurl {
427 url = "https://pypi.python.org/packages/d3/30/54c6dab05a4dec44db25ff309f1fbb6b7a8bde3f2bade38bb9da67bbab8f/backport_ipaddress-0.1.tar.gz";
427 url = "https://pypi.python.org/packages/d3/30/54c6dab05a4dec44db25ff309f1fbb6b7a8bde3f2bade38bb9da67bbab8f/backport_ipaddress-0.1.tar.gz";
428 md5 = "9c1f45f4361f71b124d7293a60006c05";
428 md5 = "9c1f45f4361f71b124d7293a60006c05";
429 };
429 };
430 meta = {
430 meta = {
431 license = [ pkgs.lib.licenses.psfl ];
431 license = [ pkgs.lib.licenses.psfl ];
432 };
432 };
433 };
433 };
434 backports.shutil-get-terminal-size = super.buildPythonPackage {
434 backports.shutil-get-terminal-size = super.buildPythonPackage {
435 name = "backports.shutil-get-terminal-size-1.0.0";
435 name = "backports.shutil-get-terminal-size-1.0.0";
436 buildInputs = with self; [];
436 buildInputs = with self; [];
437 doCheck = false;
437 doCheck = false;
438 propagatedBuildInputs = with self; [];
438 propagatedBuildInputs = with self; [];
439 src = fetchurl {
439 src = fetchurl {
440 url = "https://pypi.python.org/packages/ec/9c/368086faa9c016efce5da3e0e13ba392c9db79e3ab740b763fe28620b18b/backports.shutil_get_terminal_size-1.0.0.tar.gz";
440 url = "https://pypi.python.org/packages/ec/9c/368086faa9c016efce5da3e0e13ba392c9db79e3ab740b763fe28620b18b/backports.shutil_get_terminal_size-1.0.0.tar.gz";
441 md5 = "03267762480bd86b50580dc19dff3c66";
441 md5 = "03267762480bd86b50580dc19dff3c66";
442 };
442 };
443 meta = {
443 meta = {
444 license = [ pkgs.lib.licenses.mit ];
444 license = [ pkgs.lib.licenses.mit ];
445 };
445 };
446 };
446 };
447 bottle = super.buildPythonPackage {
447 bottle = super.buildPythonPackage {
448 name = "bottle-0.12.8";
448 name = "bottle-0.12.8";
449 buildInputs = with self; [];
449 buildInputs = with self; [];
450 doCheck = false;
450 doCheck = false;
451 propagatedBuildInputs = with self; [];
451 propagatedBuildInputs = with self; [];
452 src = fetchurl {
452 src = fetchurl {
453 url = "https://pypi.python.org/packages/52/df/e4a408f3a7af396d186d4ecd3b389dd764f0f943b4fa8d257bfe7b49d343/bottle-0.12.8.tar.gz";
453 url = "https://pypi.python.org/packages/52/df/e4a408f3a7af396d186d4ecd3b389dd764f0f943b4fa8d257bfe7b49d343/bottle-0.12.8.tar.gz";
454 md5 = "13132c0a8f607bf860810a6ee9064c5b";
454 md5 = "13132c0a8f607bf860810a6ee9064c5b";
455 };
455 };
456 meta = {
456 meta = {
457 license = [ pkgs.lib.licenses.mit ];
457 license = [ pkgs.lib.licenses.mit ];
458 };
458 };
459 };
459 };
460 bumpversion = super.buildPythonPackage {
460 bumpversion = super.buildPythonPackage {
461 name = "bumpversion-0.5.3";
461 name = "bumpversion-0.5.3";
462 buildInputs = with self; [];
462 buildInputs = with self; [];
463 doCheck = false;
463 doCheck = false;
464 propagatedBuildInputs = with self; [];
464 propagatedBuildInputs = with self; [];
465 src = fetchurl {
465 src = fetchurl {
466 url = "https://pypi.python.org/packages/14/41/8c9da3549f8e00c84f0432c3a8cf8ed6898374714676aab91501d48760db/bumpversion-0.5.3.tar.gz";
466 url = "https://pypi.python.org/packages/14/41/8c9da3549f8e00c84f0432c3a8cf8ed6898374714676aab91501d48760db/bumpversion-0.5.3.tar.gz";
467 md5 = "c66a3492eafcf5ad4b024be9fca29820";
467 md5 = "c66a3492eafcf5ad4b024be9fca29820";
468 };
468 };
469 meta = {
469 meta = {
470 license = [ pkgs.lib.licenses.mit ];
470 license = [ pkgs.lib.licenses.mit ];
471 };
471 };
472 };
472 };
473 celery = super.buildPythonPackage {
473 celery = super.buildPythonPackage {
474 name = "celery-2.2.10";
474 name = "celery-2.2.10";
475 buildInputs = with self; [];
475 buildInputs = with self; [];
476 doCheck = false;
476 doCheck = false;
477 propagatedBuildInputs = with self; [python-dateutil anyjson kombu pyparsing];
477 propagatedBuildInputs = with self; [python-dateutil anyjson kombu pyparsing];
478 src = fetchurl {
478 src = fetchurl {
479 url = "https://pypi.python.org/packages/b1/64/860fd50e45844c83442e7953effcddeff66b2851d90b2d784f7201c111b8/celery-2.2.10.tar.gz";
479 url = "https://pypi.python.org/packages/b1/64/860fd50e45844c83442e7953effcddeff66b2851d90b2d784f7201c111b8/celery-2.2.10.tar.gz";
480 md5 = "898bc87e54f278055b561316ba73e222";
480 md5 = "898bc87e54f278055b561316ba73e222";
481 };
481 };
482 meta = {
482 meta = {
483 license = [ pkgs.lib.licenses.bsdOriginal ];
483 license = [ pkgs.lib.licenses.bsdOriginal ];
484 };
484 };
485 };
485 };
486 channelstream = super.buildPythonPackage {
486 channelstream = super.buildPythonPackage {
487 name = "channelstream-0.5.2";
487 name = "channelstream-0.5.2";
488 buildInputs = with self; [];
488 buildInputs = with self; [];
489 doCheck = false;
489 doCheck = false;
490 propagatedBuildInputs = with self; [gevent ws4py pyramid pyramid-jinja2 itsdangerous requests six];
490 propagatedBuildInputs = with self; [gevent ws4py pyramid pyramid-jinja2 itsdangerous requests six];
491 src = fetchurl {
491 src = fetchurl {
492 url = "https://pypi.python.org/packages/2b/31/29a8e085cf5bf97fa88e7b947adabfc581a18a3463adf77fb6dada34a65f/channelstream-0.5.2.tar.gz";
492 url = "https://pypi.python.org/packages/2b/31/29a8e085cf5bf97fa88e7b947adabfc581a18a3463adf77fb6dada34a65f/channelstream-0.5.2.tar.gz";
493 md5 = "1c5eb2a8a405be6f1073da94da6d81d3";
493 md5 = "1c5eb2a8a405be6f1073da94da6d81d3";
494 };
494 };
495 meta = {
495 meta = {
496 license = [ pkgs.lib.licenses.bsdOriginal ];
496 license = [ pkgs.lib.licenses.bsdOriginal ];
497 };
497 };
498 };
498 };
499 click = super.buildPythonPackage {
499 click = super.buildPythonPackage {
500 name = "click-5.1";
500 name = "click-5.1";
501 buildInputs = with self; [];
501 buildInputs = with self; [];
502 doCheck = false;
502 doCheck = false;
503 propagatedBuildInputs = with self; [];
503 propagatedBuildInputs = with self; [];
504 src = fetchurl {
504 src = fetchurl {
505 url = "https://pypi.python.org/packages/b7/34/a496632c4fb6c1ee76efedf77bb8d28b29363d839953d95095b12defe791/click-5.1.tar.gz";
505 url = "https://pypi.python.org/packages/b7/34/a496632c4fb6c1ee76efedf77bb8d28b29363d839953d95095b12defe791/click-5.1.tar.gz";
506 md5 = "9c5323008cccfe232a8b161fc8196d41";
506 md5 = "9c5323008cccfe232a8b161fc8196d41";
507 };
507 };
508 meta = {
508 meta = {
509 license = [ pkgs.lib.licenses.bsdOriginal ];
509 license = [ pkgs.lib.licenses.bsdOriginal ];
510 };
510 };
511 };
511 };
512 colander = super.buildPythonPackage {
512 colander = super.buildPythonPackage {
513 name = "colander-1.2";
513 name = "colander-1.2";
514 buildInputs = with self; [];
514 buildInputs = with self; [];
515 doCheck = false;
515 doCheck = false;
516 propagatedBuildInputs = with self; [translationstring iso8601];
516 propagatedBuildInputs = with self; [translationstring iso8601];
517 src = fetchurl {
517 src = fetchurl {
518 url = "https://pypi.python.org/packages/14/23/c9ceba07a6a1dc0eefbb215fc0dc64aabc2b22ee756bc0f0c13278fa0887/colander-1.2.tar.gz";
518 url = "https://pypi.python.org/packages/14/23/c9ceba07a6a1dc0eefbb215fc0dc64aabc2b22ee756bc0f0c13278fa0887/colander-1.2.tar.gz";
519 md5 = "83db21b07936a0726e588dae1914b9ed";
519 md5 = "83db21b07936a0726e588dae1914b9ed";
520 };
520 };
521 meta = {
521 meta = {
522 license = [ { fullName = "BSD-derived (http://www.repoze.org/LICENSE.txt)"; } ];
522 license = [ { fullName = "BSD-derived (http://www.repoze.org/LICENSE.txt)"; } ];
523 };
523 };
524 };
524 };
525 configobj = super.buildPythonPackage {
525 configobj = super.buildPythonPackage {
526 name = "configobj-5.0.6";
526 name = "configobj-5.0.6";
527 buildInputs = with self; [];
527 buildInputs = with self; [];
528 doCheck = false;
528 doCheck = false;
529 propagatedBuildInputs = with self; [six];
529 propagatedBuildInputs = with self; [six];
530 src = fetchurl {
530 src = fetchurl {
531 url = "https://pypi.python.org/packages/64/61/079eb60459c44929e684fa7d9e2fdca403f67d64dd9dbac27296be2e0fab/configobj-5.0.6.tar.gz";
531 url = "https://pypi.python.org/packages/64/61/079eb60459c44929e684fa7d9e2fdca403f67d64dd9dbac27296be2e0fab/configobj-5.0.6.tar.gz";
532 md5 = "e472a3a1c2a67bb0ec9b5d54c13a47d6";
532 md5 = "e472a3a1c2a67bb0ec9b5d54c13a47d6";
533 };
533 };
534 meta = {
534 meta = {
535 license = [ pkgs.lib.licenses.bsdOriginal ];
535 license = [ pkgs.lib.licenses.bsdOriginal ];
536 };
536 };
537 };
537 };
538 cov-core = super.buildPythonPackage {
538 cov-core = super.buildPythonPackage {
539 name = "cov-core-1.15.0";
539 name = "cov-core-1.15.0";
540 buildInputs = with self; [];
540 buildInputs = with self; [];
541 doCheck = false;
541 doCheck = false;
542 propagatedBuildInputs = with self; [coverage];
542 propagatedBuildInputs = with self; [coverage];
543 src = fetchurl {
543 src = fetchurl {
544 url = "https://pypi.python.org/packages/4b/87/13e75a47b4ba1be06f29f6d807ca99638bedc6b57fa491cd3de891ca2923/cov-core-1.15.0.tar.gz";
544 url = "https://pypi.python.org/packages/4b/87/13e75a47b4ba1be06f29f6d807ca99638bedc6b57fa491cd3de891ca2923/cov-core-1.15.0.tar.gz";
545 md5 = "f519d4cb4c4e52856afb14af52919fe6";
545 md5 = "f519d4cb4c4e52856afb14af52919fe6";
546 };
546 };
547 meta = {
547 meta = {
548 license = [ pkgs.lib.licenses.mit ];
548 license = [ pkgs.lib.licenses.mit ];
549 };
549 };
550 };
550 };
551 coverage = super.buildPythonPackage {
551 coverage = super.buildPythonPackage {
552 name = "coverage-3.7.1";
552 name = "coverage-3.7.1";
553 buildInputs = with self; [];
553 buildInputs = with self; [];
554 doCheck = false;
554 doCheck = false;
555 propagatedBuildInputs = with self; [];
555 propagatedBuildInputs = with self; [];
556 src = fetchurl {
556 src = fetchurl {
557 url = "https://pypi.python.org/packages/09/4f/89b06c7fdc09687bca507dc411c342556ef9c5a3b26756137a4878ff19bf/coverage-3.7.1.tar.gz";
557 url = "https://pypi.python.org/packages/09/4f/89b06c7fdc09687bca507dc411c342556ef9c5a3b26756137a4878ff19bf/coverage-3.7.1.tar.gz";
558 md5 = "c47b36ceb17eaff3ecfab3bcd347d0df";
558 md5 = "c47b36ceb17eaff3ecfab3bcd347d0df";
559 };
559 };
560 meta = {
560 meta = {
561 license = [ pkgs.lib.licenses.bsdOriginal ];
561 license = [ pkgs.lib.licenses.bsdOriginal ];
562 };
562 };
563 };
563 };
564 cssselect = super.buildPythonPackage {
564 cssselect = super.buildPythonPackage {
565 name = "cssselect-0.9.1";
565 name = "cssselect-0.9.1";
566 buildInputs = with self; [];
566 buildInputs = with self; [];
567 doCheck = false;
567 doCheck = false;
568 propagatedBuildInputs = with self; [];
568 propagatedBuildInputs = with self; [];
569 src = fetchurl {
569 src = fetchurl {
570 url = "https://pypi.python.org/packages/aa/e5/9ee1460d485b94a6d55732eb7ad5b6c084caf73dd6f9cb0bb7d2a78fafe8/cssselect-0.9.1.tar.gz";
570 url = "https://pypi.python.org/packages/aa/e5/9ee1460d485b94a6d55732eb7ad5b6c084caf73dd6f9cb0bb7d2a78fafe8/cssselect-0.9.1.tar.gz";
571 md5 = "c74f45966277dc7a0f768b9b0f3522ac";
571 md5 = "c74f45966277dc7a0f768b9b0f3522ac";
572 };
572 };
573 meta = {
573 meta = {
574 license = [ pkgs.lib.licenses.bsdOriginal ];
574 license = [ pkgs.lib.licenses.bsdOriginal ];
575 };
575 };
576 };
576 };
577 decorator = super.buildPythonPackage {
577 decorator = super.buildPythonPackage {
578 name = "decorator-3.4.2";
578 name = "decorator-3.4.2";
579 buildInputs = with self; [];
579 buildInputs = with self; [];
580 doCheck = false;
580 doCheck = false;
581 propagatedBuildInputs = with self; [];
581 propagatedBuildInputs = with self; [];
582 src = fetchurl {
582 src = fetchurl {
583 url = "https://pypi.python.org/packages/35/3a/42566eb7a2cbac774399871af04e11d7ae3fc2579e7dae85213b8d1d1c57/decorator-3.4.2.tar.gz";
583 url = "https://pypi.python.org/packages/35/3a/42566eb7a2cbac774399871af04e11d7ae3fc2579e7dae85213b8d1d1c57/decorator-3.4.2.tar.gz";
584 md5 = "9e0536870d2b83ae27d58dbf22582f4d";
584 md5 = "9e0536870d2b83ae27d58dbf22582f4d";
585 };
585 };
586 meta = {
586 meta = {
587 license = [ pkgs.lib.licenses.bsdOriginal ];
587 license = [ pkgs.lib.licenses.bsdOriginal ];
588 };
588 };
589 };
589 };
590 deform = super.buildPythonPackage {
590 deform = super.buildPythonPackage {
591 name = "deform-2.0a2";
591 name = "deform-2.0a2";
592 buildInputs = with self; [];
592 buildInputs = with self; [];
593 doCheck = false;
593 doCheck = false;
594 propagatedBuildInputs = with self; [Chameleon colander peppercorn translationstring zope.deprecation];
594 propagatedBuildInputs = with self; [Chameleon colander peppercorn translationstring zope.deprecation];
595 src = fetchurl {
595 src = fetchurl {
596 url = "https://pypi.python.org/packages/8d/b3/aab57e81da974a806dc9c5fa024a6404720f890a6dcf2e80885e3cb4609a/deform-2.0a2.tar.gz";
596 url = "https://pypi.python.org/packages/8d/b3/aab57e81da974a806dc9c5fa024a6404720f890a6dcf2e80885e3cb4609a/deform-2.0a2.tar.gz";
597 md5 = "7a90d41f7fbc18002ce74f39bd90a5e4";
597 md5 = "7a90d41f7fbc18002ce74f39bd90a5e4";
598 };
598 };
599 meta = {
599 meta = {
600 license = [ { fullName = "BSD-derived (http://www.repoze.org/LICENSE.txt)"; } ];
600 license = [ { fullName = "BSD-derived (http://www.repoze.org/LICENSE.txt)"; } ];
601 };
601 };
602 };
602 };
603 docutils = super.buildPythonPackage {
603 docutils = super.buildPythonPackage {
604 name = "docutils-0.12";
604 name = "docutils-0.12";
605 buildInputs = with self; [];
605 buildInputs = with self; [];
606 doCheck = false;
606 doCheck = false;
607 propagatedBuildInputs = with self; [];
607 propagatedBuildInputs = with self; [];
608 src = fetchurl {
608 src = fetchurl {
609 url = "https://pypi.python.org/packages/37/38/ceda70135b9144d84884ae2fc5886c6baac4edea39550f28bcd144c1234d/docutils-0.12.tar.gz";
609 url = "https://pypi.python.org/packages/37/38/ceda70135b9144d84884ae2fc5886c6baac4edea39550f28bcd144c1234d/docutils-0.12.tar.gz";
610 md5 = "4622263b62c5c771c03502afa3157768";
610 md5 = "4622263b62c5c771c03502afa3157768";
611 };
611 };
612 meta = {
612 meta = {
613 license = [ pkgs.lib.licenses.bsdOriginal pkgs.lib.licenses.publicDomain pkgs.lib.licenses.gpl1 { fullName = "public domain, Python, 2-Clause BSD, GPL 3 (see COPYING.txt)"; } pkgs.lib.licenses.psfl ];
613 license = [ pkgs.lib.licenses.bsdOriginal pkgs.lib.licenses.publicDomain pkgs.lib.licenses.gpl1 { fullName = "public domain, Python, 2-Clause BSD, GPL 3 (see COPYING.txt)"; } pkgs.lib.licenses.psfl ];
614 };
614 };
615 };
615 };
616 dogpile.cache = super.buildPythonPackage {
616 dogpile.cache = super.buildPythonPackage {
617 name = "dogpile.cache-0.6.1";
617 name = "dogpile.cache-0.6.1";
618 buildInputs = with self; [];
618 buildInputs = with self; [];
619 doCheck = false;
619 doCheck = false;
620 propagatedBuildInputs = with self; [];
620 propagatedBuildInputs = with self; [];
621 src = fetchurl {
621 src = fetchurl {
622 url = "https://pypi.python.org/packages/f6/a0/6f2142c58c6588d17c734265b103ae1cd0741e1681dd9483a63f22033375/dogpile.cache-0.6.1.tar.gz";
622 url = "https://pypi.python.org/packages/f6/a0/6f2142c58c6588d17c734265b103ae1cd0741e1681dd9483a63f22033375/dogpile.cache-0.6.1.tar.gz";
623 md5 = "35d7fb30f22bbd0685763d894dd079a9";
623 md5 = "35d7fb30f22bbd0685763d894dd079a9";
624 };
624 };
625 meta = {
625 meta = {
626 license = [ pkgs.lib.licenses.bsdOriginal ];
626 license = [ pkgs.lib.licenses.bsdOriginal ];
627 };
627 };
628 };
628 };
629 dogpile.core = super.buildPythonPackage {
629 dogpile.core = super.buildPythonPackage {
630 name = "dogpile.core-0.4.1";
630 name = "dogpile.core-0.4.1";
631 buildInputs = with self; [];
631 buildInputs = with self; [];
632 doCheck = false;
632 doCheck = false;
633 propagatedBuildInputs = with self; [];
633 propagatedBuildInputs = with self; [];
634 src = fetchurl {
634 src = fetchurl {
635 url = "https://pypi.python.org/packages/0e/77/e72abc04c22aedf874301861e5c1e761231c288b5de369c18be8f4b5c9bb/dogpile.core-0.4.1.tar.gz";
635 url = "https://pypi.python.org/packages/0e/77/e72abc04c22aedf874301861e5c1e761231c288b5de369c18be8f4b5c9bb/dogpile.core-0.4.1.tar.gz";
636 md5 = "01cb19f52bba3e95c9b560f39341f045";
636 md5 = "01cb19f52bba3e95c9b560f39341f045";
637 };
637 };
638 meta = {
638 meta = {
639 license = [ pkgs.lib.licenses.bsdOriginal ];
639 license = [ pkgs.lib.licenses.bsdOriginal ];
640 };
640 };
641 };
641 };
642 dulwich = super.buildPythonPackage {
642 dulwich = super.buildPythonPackage {
643 name = "dulwich-0.12.0";
643 name = "dulwich-0.12.0";
644 buildInputs = with self; [];
644 buildInputs = with self; [];
645 doCheck = false;
645 doCheck = false;
646 propagatedBuildInputs = with self; [];
646 propagatedBuildInputs = with self; [];
647 src = fetchurl {
647 src = fetchurl {
648 url = "https://pypi.python.org/packages/6f/04/fbe561b6d45c0ec758330d5b7f5ba4b6cb4f1ca1ab49859d2fc16320da75/dulwich-0.12.0.tar.gz";
648 url = "https://pypi.python.org/packages/6f/04/fbe561b6d45c0ec758330d5b7f5ba4b6cb4f1ca1ab49859d2fc16320da75/dulwich-0.12.0.tar.gz";
649 md5 = "f3a8a12bd9f9dd8c233e18f3d49436fa";
649 md5 = "f3a8a12bd9f9dd8c233e18f3d49436fa";
650 };
650 };
651 meta = {
651 meta = {
652 license = [ pkgs.lib.licenses.gpl2Plus ];
652 license = [ pkgs.lib.licenses.gpl2Plus ];
653 };
653 };
654 };
654 };
655 ecdsa = super.buildPythonPackage {
655 ecdsa = super.buildPythonPackage {
656 name = "ecdsa-0.11";
656 name = "ecdsa-0.11";
657 buildInputs = with self; [];
657 buildInputs = with self; [];
658 doCheck = false;
658 doCheck = false;
659 propagatedBuildInputs = with self; [];
659 propagatedBuildInputs = with self; [];
660 src = fetchurl {
660 src = fetchurl {
661 url = "https://pypi.python.org/packages/6c/3f/92fe5dcdcaa7bd117be21e5520c9a54375112b66ec000d209e9e9519fad1/ecdsa-0.11.tar.gz";
661 url = "https://pypi.python.org/packages/6c/3f/92fe5dcdcaa7bd117be21e5520c9a54375112b66ec000d209e9e9519fad1/ecdsa-0.11.tar.gz";
662 md5 = "8ef586fe4dbb156697d756900cb41d7c";
662 md5 = "8ef586fe4dbb156697d756900cb41d7c";
663 };
663 };
664 meta = {
664 meta = {
665 license = [ pkgs.lib.licenses.mit ];
665 license = [ pkgs.lib.licenses.mit ];
666 };
666 };
667 };
667 };
668 elasticsearch = super.buildPythonPackage {
668 elasticsearch = super.buildPythonPackage {
669 name = "elasticsearch-2.3.0";
669 name = "elasticsearch-2.3.0";
670 buildInputs = with self; [];
670 buildInputs = with self; [];
671 doCheck = false;
671 doCheck = false;
672 propagatedBuildInputs = with self; [urllib3];
672 propagatedBuildInputs = with self; [urllib3];
673 src = fetchurl {
673 src = fetchurl {
674 url = "https://pypi.python.org/packages/10/35/5fd52c5f0b0ee405ed4b5195e8bce44c5e041787680dc7b94b8071cac600/elasticsearch-2.3.0.tar.gz";
674 url = "https://pypi.python.org/packages/10/35/5fd52c5f0b0ee405ed4b5195e8bce44c5e041787680dc7b94b8071cac600/elasticsearch-2.3.0.tar.gz";
675 md5 = "2550f3b51629cf1ef9636608af92c340";
675 md5 = "2550f3b51629cf1ef9636608af92c340";
676 };
676 };
677 meta = {
677 meta = {
678 license = [ pkgs.lib.licenses.asl20 ];
678 license = [ pkgs.lib.licenses.asl20 ];
679 };
679 };
680 };
680 };
681 elasticsearch-dsl = super.buildPythonPackage {
681 elasticsearch-dsl = super.buildPythonPackage {
682 name = "elasticsearch-dsl-2.0.0";
682 name = "elasticsearch-dsl-2.0.0";
683 buildInputs = with self; [];
683 buildInputs = with self; [];
684 doCheck = false;
684 doCheck = false;
685 propagatedBuildInputs = with self; [six python-dateutil elasticsearch];
685 propagatedBuildInputs = with self; [six python-dateutil elasticsearch];
686 src = fetchurl {
686 src = fetchurl {
687 url = "https://pypi.python.org/packages/4e/5d/e788ae8dbe2ff4d13426db0a027533386a5c276c77a2654dc0e2007ce04a/elasticsearch-dsl-2.0.0.tar.gz";
687 url = "https://pypi.python.org/packages/4e/5d/e788ae8dbe2ff4d13426db0a027533386a5c276c77a2654dc0e2007ce04a/elasticsearch-dsl-2.0.0.tar.gz";
688 md5 = "4cdfec81bb35383dd3b7d02d7dc5ee68";
688 md5 = "4cdfec81bb35383dd3b7d02d7dc5ee68";
689 };
689 };
690 meta = {
690 meta = {
691 license = [ pkgs.lib.licenses.asl20 ];
691 license = [ pkgs.lib.licenses.asl20 ];
692 };
692 };
693 };
693 };
694 enum34 = super.buildPythonPackage {
694 enum34 = super.buildPythonPackage {
695 name = "enum34-1.1.6";
695 name = "enum34-1.1.6";
696 buildInputs = with self; [];
696 buildInputs = with self; [];
697 doCheck = false;
697 doCheck = false;
698 propagatedBuildInputs = with self; [];
698 propagatedBuildInputs = with self; [];
699 src = fetchurl {
699 src = fetchurl {
700 url = "https://pypi.python.org/packages/bf/3e/31d502c25302814a7c2f1d3959d2a3b3f78e509002ba91aea64993936876/enum34-1.1.6.tar.gz";
700 url = "https://pypi.python.org/packages/bf/3e/31d502c25302814a7c2f1d3959d2a3b3f78e509002ba91aea64993936876/enum34-1.1.6.tar.gz";
701 md5 = "5f13a0841a61f7fc295c514490d120d0";
701 md5 = "5f13a0841a61f7fc295c514490d120d0";
702 };
702 };
703 meta = {
703 meta = {
704 license = [ pkgs.lib.licenses.bsdOriginal ];
704 license = [ pkgs.lib.licenses.bsdOriginal ];
705 };
705 };
706 };
706 };
707 future = super.buildPythonPackage {
707 future = super.buildPythonPackage {
708 name = "future-0.14.3";
708 name = "future-0.14.3";
709 buildInputs = with self; [];
709 buildInputs = with self; [];
710 doCheck = false;
710 doCheck = false;
711 propagatedBuildInputs = with self; [];
711 propagatedBuildInputs = with self; [];
712 src = fetchurl {
712 src = fetchurl {
713 url = "https://pypi.python.org/packages/83/80/8ef3a11a15f8eaafafa0937b20c1b3f73527e69ab6b3fa1cf94a5a96aabb/future-0.14.3.tar.gz";
713 url = "https://pypi.python.org/packages/83/80/8ef3a11a15f8eaafafa0937b20c1b3f73527e69ab6b3fa1cf94a5a96aabb/future-0.14.3.tar.gz";
714 md5 = "e94079b0bd1fc054929e8769fc0f6083";
714 md5 = "e94079b0bd1fc054929e8769fc0f6083";
715 };
715 };
716 meta = {
716 meta = {
717 license = [ { fullName = "OSI Approved"; } pkgs.lib.licenses.mit ];
717 license = [ { fullName = "OSI Approved"; } pkgs.lib.licenses.mit ];
718 };
718 };
719 };
719 };
720 futures = super.buildPythonPackage {
720 futures = super.buildPythonPackage {
721 name = "futures-3.0.2";
721 name = "futures-3.0.2";
722 buildInputs = with self; [];
722 buildInputs = with self; [];
723 doCheck = false;
723 doCheck = false;
724 propagatedBuildInputs = with self; [];
724 propagatedBuildInputs = with self; [];
725 src = fetchurl {
725 src = fetchurl {
726 url = "https://pypi.python.org/packages/f8/e7/fc0fcbeb9193ba2d4de00b065e7fd5aecd0679e93ce95a07322b2b1434f4/futures-3.0.2.tar.gz";
726 url = "https://pypi.python.org/packages/f8/e7/fc0fcbeb9193ba2d4de00b065e7fd5aecd0679e93ce95a07322b2b1434f4/futures-3.0.2.tar.gz";
727 md5 = "42aaf1e4de48d6e871d77dc1f9d96d5a";
727 md5 = "42aaf1e4de48d6e871d77dc1f9d96d5a";
728 };
728 };
729 meta = {
729 meta = {
730 license = [ pkgs.lib.licenses.bsdOriginal ];
730 license = [ pkgs.lib.licenses.bsdOriginal ];
731 };
731 };
732 };
732 };
733 gevent = super.buildPythonPackage {
733 gevent = super.buildPythonPackage {
734 name = "gevent-1.1.1";
734 name = "gevent-1.1.1";
735 buildInputs = with self; [];
735 buildInputs = with self; [];
736 doCheck = false;
736 doCheck = false;
737 propagatedBuildInputs = with self; [greenlet];
737 propagatedBuildInputs = with self; [greenlet];
738 src = fetchurl {
738 src = fetchurl {
739 url = "https://pypi.python.org/packages/12/dc/0b2e57823225de86f6e111a65d212c9e3b64847dddaa19691a6cb94b0b2e/gevent-1.1.1.tar.gz";
739 url = "https://pypi.python.org/packages/12/dc/0b2e57823225de86f6e111a65d212c9e3b64847dddaa19691a6cb94b0b2e/gevent-1.1.1.tar.gz";
740 md5 = "1532f5396ab4d07a231f1935483be7c3";
740 md5 = "1532f5396ab4d07a231f1935483be7c3";
741 };
741 };
742 meta = {
742 meta = {
743 license = [ pkgs.lib.licenses.mit ];
743 license = [ pkgs.lib.licenses.mit ];
744 };
744 };
745 };
745 };
746 gnureadline = super.buildPythonPackage {
746 gnureadline = super.buildPythonPackage {
747 name = "gnureadline-6.3.3";
747 name = "gnureadline-6.3.3";
748 buildInputs = with self; [];
748 buildInputs = with self; [];
749 doCheck = false;
749 doCheck = false;
750 propagatedBuildInputs = with self; [];
750 propagatedBuildInputs = with self; [];
751 src = fetchurl {
751 src = fetchurl {
752 url = "https://pypi.python.org/packages/3a/ee/2c3f568b0a74974791ac590ec742ef6133e2fbd287a074ba72a53fa5e97c/gnureadline-6.3.3.tar.gz";
752 url = "https://pypi.python.org/packages/3a/ee/2c3f568b0a74974791ac590ec742ef6133e2fbd287a074ba72a53fa5e97c/gnureadline-6.3.3.tar.gz";
753 md5 = "c4af83c9a3fbeac8f2da9b5a7c60e51c";
753 md5 = "c4af83c9a3fbeac8f2da9b5a7c60e51c";
754 };
754 };
755 meta = {
755 meta = {
756 license = [ pkgs.lib.licenses.gpl1 ];
756 license = [ pkgs.lib.licenses.gpl1 ];
757 };
757 };
758 };
758 };
759 gprof2dot = super.buildPythonPackage {
759 gprof2dot = super.buildPythonPackage {
760 name = "gprof2dot-2015.12.1";
760 name = "gprof2dot-2016.10.13";
761 buildInputs = with self; [];
761 buildInputs = with self; [];
762 doCheck = false;
762 doCheck = false;
763 propagatedBuildInputs = with self; [];
763 propagatedBuildInputs = with self; [];
764 src = fetchurl {
764 src = fetchurl {
765 url = "https://pypi.python.org/packages/b9/34/7bf93c1952d40fa5c95ad963f4d8344b61ef58558632402eca18e6c14127/gprof2dot-2015.12.1.tar.gz";
765 url = "https://pypi.python.org/packages/a0/e0/73c71baed306f0402a00a94ffc7b2be94ad1296dfcb8b46912655b93154c/gprof2dot-2016.10.13.tar.gz";
766 md5 = "e23bf4e2f94db032750c193384b4165b";
766 md5 = "0125401f15fd2afe1df686a76c64a4fd";
767 };
767 };
768 meta = {
768 meta = {
769 license = [ { fullName = "LGPL"; } ];
769 license = [ { fullName = "LGPL"; } ];
770 };
770 };
771 };
771 };
772 greenlet = super.buildPythonPackage {
772 greenlet = super.buildPythonPackage {
773 name = "greenlet-0.4.9";
773 name = "greenlet-0.4.9";
774 buildInputs = with self; [];
774 buildInputs = with self; [];
775 doCheck = false;
775 doCheck = false;
776 propagatedBuildInputs = with self; [];
776 propagatedBuildInputs = with self; [];
777 src = fetchurl {
777 src = fetchurl {
778 url = "https://pypi.python.org/packages/4e/3d/9d421539b74e33608b245092870156b2e171fb49f2b51390aa4641eecb4a/greenlet-0.4.9.zip";
778 url = "https://pypi.python.org/packages/4e/3d/9d421539b74e33608b245092870156b2e171fb49f2b51390aa4641eecb4a/greenlet-0.4.9.zip";
779 md5 = "c6659cdb2a5e591723e629d2eef22e82";
779 md5 = "c6659cdb2a5e591723e629d2eef22e82";
780 };
780 };
781 meta = {
781 meta = {
782 license = [ pkgs.lib.licenses.mit ];
782 license = [ pkgs.lib.licenses.mit ];
783 };
783 };
784 };
784 };
785 gunicorn = super.buildPythonPackage {
785 gunicorn = super.buildPythonPackage {
786 name = "gunicorn-19.6.0";
786 name = "gunicorn-19.6.0";
787 buildInputs = with self; [];
787 buildInputs = with self; [];
788 doCheck = false;
788 doCheck = false;
789 propagatedBuildInputs = with self; [];
789 propagatedBuildInputs = with self; [];
790 src = fetchurl {
790 src = fetchurl {
791 url = "https://pypi.python.org/packages/84/ce/7ea5396efad1cef682bbc4068e72a0276341d9d9d0f501da609fab9fcb80/gunicorn-19.6.0.tar.gz";
791 url = "https://pypi.python.org/packages/84/ce/7ea5396efad1cef682bbc4068e72a0276341d9d9d0f501da609fab9fcb80/gunicorn-19.6.0.tar.gz";
792 md5 = "338e5e8a83ea0f0625f768dba4597530";
792 md5 = "338e5e8a83ea0f0625f768dba4597530";
793 };
793 };
794 meta = {
794 meta = {
795 license = [ pkgs.lib.licenses.mit ];
795 license = [ pkgs.lib.licenses.mit ];
796 };
796 };
797 };
797 };
798 infrae.cache = super.buildPythonPackage {
798 infrae.cache = super.buildPythonPackage {
799 name = "infrae.cache-1.0.1";
799 name = "infrae.cache-1.0.1";
800 buildInputs = with self; [];
800 buildInputs = with self; [];
801 doCheck = false;
801 doCheck = false;
802 propagatedBuildInputs = with self; [Beaker repoze.lru];
802 propagatedBuildInputs = with self; [Beaker repoze.lru];
803 src = fetchurl {
803 src = fetchurl {
804 url = "https://pypi.python.org/packages/bb/f0/e7d5e984cf6592fd2807dc7bc44a93f9d18e04e6a61f87fdfb2622422d74/infrae.cache-1.0.1.tar.gz";
804 url = "https://pypi.python.org/packages/bb/f0/e7d5e984cf6592fd2807dc7bc44a93f9d18e04e6a61f87fdfb2622422d74/infrae.cache-1.0.1.tar.gz";
805 md5 = "b09076a766747e6ed2a755cc62088e32";
805 md5 = "b09076a766747e6ed2a755cc62088e32";
806 };
806 };
807 meta = {
807 meta = {
808 license = [ pkgs.lib.licenses.zpt21 ];
808 license = [ pkgs.lib.licenses.zpt21 ];
809 };
809 };
810 };
810 };
811 invoke = super.buildPythonPackage {
811 invoke = super.buildPythonPackage {
812 name = "invoke-0.13.0";
812 name = "invoke-0.13.0";
813 buildInputs = with self; [];
813 buildInputs = with self; [];
814 doCheck = false;
814 doCheck = false;
815 propagatedBuildInputs = with self; [];
815 propagatedBuildInputs = with self; [];
816 src = fetchurl {
816 src = fetchurl {
817 url = "https://pypi.python.org/packages/47/bf/d07ef52fa1ac645468858bbac7cb95b246a972a045e821493d17d89c81be/invoke-0.13.0.tar.gz";
817 url = "https://pypi.python.org/packages/47/bf/d07ef52fa1ac645468858bbac7cb95b246a972a045e821493d17d89c81be/invoke-0.13.0.tar.gz";
818 md5 = "c0d1ed4bfb34eaab551662d8cfee6540";
818 md5 = "c0d1ed4bfb34eaab551662d8cfee6540";
819 };
819 };
820 meta = {
820 meta = {
821 license = [ pkgs.lib.licenses.bsdOriginal ];
821 license = [ pkgs.lib.licenses.bsdOriginal ];
822 };
822 };
823 };
823 };
824 ipdb = super.buildPythonPackage {
824 ipdb = super.buildPythonPackage {
825 name = "ipdb-0.10.1";
825 name = "ipdb-0.10.1";
826 buildInputs = with self; [];
826 buildInputs = with self; [];
827 doCheck = false;
827 doCheck = false;
828 propagatedBuildInputs = with self; [ipython setuptools];
828 propagatedBuildInputs = with self; [ipython setuptools];
829 src = fetchurl {
829 src = fetchurl {
830 url = "https://pypi.python.org/packages/eb/0a/0a37dc19572580336ad3813792c0d18c8d7117c2d66fc63c501f13a7a8f8/ipdb-0.10.1.tar.gz";
830 url = "https://pypi.python.org/packages/eb/0a/0a37dc19572580336ad3813792c0d18c8d7117c2d66fc63c501f13a7a8f8/ipdb-0.10.1.tar.gz";
831 md5 = "4aeab65f633ddc98ebdb5eebf08dc713";
831 md5 = "4aeab65f633ddc98ebdb5eebf08dc713";
832 };
832 };
833 meta = {
833 meta = {
834 license = [ pkgs.lib.licenses.bsdOriginal ];
834 license = [ pkgs.lib.licenses.bsdOriginal ];
835 };
835 };
836 };
836 };
837 ipython = super.buildPythonPackage {
837 ipython = super.buildPythonPackage {
838 name = "ipython-5.1.0";
838 name = "ipython-5.1.0";
839 buildInputs = with self; [];
839 buildInputs = with self; [];
840 doCheck = false;
840 doCheck = false;
841 propagatedBuildInputs = with self; [setuptools decorator pickleshare simplegeneric traitlets prompt-toolkit Pygments pexpect backports.shutil-get-terminal-size pathlib2 pexpect];
841 propagatedBuildInputs = with self; [setuptools decorator pickleshare simplegeneric traitlets prompt-toolkit Pygments pexpect backports.shutil-get-terminal-size pathlib2 pexpect];
842 src = fetchurl {
842 src = fetchurl {
843 url = "https://pypi.python.org/packages/89/63/a9292f7cd9d0090a0f995e1167f3f17d5889dcbc9a175261719c513b9848/ipython-5.1.0.tar.gz";
843 url = "https://pypi.python.org/packages/89/63/a9292f7cd9d0090a0f995e1167f3f17d5889dcbc9a175261719c513b9848/ipython-5.1.0.tar.gz";
844 md5 = "47c8122420f65b58784cb4b9b4af35e3";
844 md5 = "47c8122420f65b58784cb4b9b4af35e3";
845 };
845 };
846 meta = {
846 meta = {
847 license = [ pkgs.lib.licenses.bsdOriginal ];
847 license = [ pkgs.lib.licenses.bsdOriginal ];
848 };
848 };
849 };
849 };
850 ipython-genutils = super.buildPythonPackage {
850 ipython-genutils = super.buildPythonPackage {
851 name = "ipython-genutils-0.1.0";
851 name = "ipython-genutils-0.1.0";
852 buildInputs = with self; [];
852 buildInputs = with self; [];
853 doCheck = false;
853 doCheck = false;
854 propagatedBuildInputs = with self; [];
854 propagatedBuildInputs = with self; [];
855 src = fetchurl {
855 src = fetchurl {
856 url = "https://pypi.python.org/packages/71/b7/a64c71578521606edbbce15151358598f3dfb72a3431763edc2baf19e71f/ipython_genutils-0.1.0.tar.gz";
856 url = "https://pypi.python.org/packages/71/b7/a64c71578521606edbbce15151358598f3dfb72a3431763edc2baf19e71f/ipython_genutils-0.1.0.tar.gz";
857 md5 = "9a8afbe0978adbcbfcb3b35b2d015a56";
857 md5 = "9a8afbe0978adbcbfcb3b35b2d015a56";
858 };
858 };
859 meta = {
859 meta = {
860 license = [ pkgs.lib.licenses.bsdOriginal ];
860 license = [ pkgs.lib.licenses.bsdOriginal ];
861 };
861 };
862 };
862 };
863 iso8601 = super.buildPythonPackage {
863 iso8601 = super.buildPythonPackage {
864 name = "iso8601-0.1.11";
864 name = "iso8601-0.1.11";
865 buildInputs = with self; [];
865 buildInputs = with self; [];
866 doCheck = false;
866 doCheck = false;
867 propagatedBuildInputs = with self; [];
867 propagatedBuildInputs = with self; [];
868 src = fetchurl {
868 src = fetchurl {
869 url = "https://pypi.python.org/packages/c0/75/c9209ee4d1b5975eb8c2cba4428bde6b61bd55664a98290dd015cdb18e98/iso8601-0.1.11.tar.gz";
869 url = "https://pypi.python.org/packages/c0/75/c9209ee4d1b5975eb8c2cba4428bde6b61bd55664a98290dd015cdb18e98/iso8601-0.1.11.tar.gz";
870 md5 = "b06d11cd14a64096f907086044f0fe38";
870 md5 = "b06d11cd14a64096f907086044f0fe38";
871 };
871 };
872 meta = {
872 meta = {
873 license = [ pkgs.lib.licenses.mit ];
873 license = [ pkgs.lib.licenses.mit ];
874 };
874 };
875 };
875 };
876 itsdangerous = super.buildPythonPackage {
876 itsdangerous = super.buildPythonPackage {
877 name = "itsdangerous-0.24";
877 name = "itsdangerous-0.24";
878 buildInputs = with self; [];
878 buildInputs = with self; [];
879 doCheck = false;
879 doCheck = false;
880 propagatedBuildInputs = with self; [];
880 propagatedBuildInputs = with self; [];
881 src = fetchurl {
881 src = fetchurl {
882 url = "https://pypi.python.org/packages/dc/b4/a60bcdba945c00f6d608d8975131ab3f25b22f2bcfe1dab221165194b2d4/itsdangerous-0.24.tar.gz";
882 url = "https://pypi.python.org/packages/dc/b4/a60bcdba945c00f6d608d8975131ab3f25b22f2bcfe1dab221165194b2d4/itsdangerous-0.24.tar.gz";
883 md5 = "a3d55aa79369aef5345c036a8a26307f";
883 md5 = "a3d55aa79369aef5345c036a8a26307f";
884 };
884 };
885 meta = {
885 meta = {
886 license = [ pkgs.lib.licenses.bsdOriginal ];
886 license = [ pkgs.lib.licenses.bsdOriginal ];
887 };
887 };
888 };
888 };
889 kombu = super.buildPythonPackage {
889 kombu = super.buildPythonPackage {
890 name = "kombu-1.5.1";
890 name = "kombu-1.5.1";
891 buildInputs = with self; [];
891 buildInputs = with self; [];
892 doCheck = false;
892 doCheck = false;
893 propagatedBuildInputs = with self; [anyjson amqplib];
893 propagatedBuildInputs = with self; [anyjson amqplib];
894 src = fetchurl {
894 src = fetchurl {
895 url = "https://pypi.python.org/packages/19/53/74bf2a624644b45f0850a638752514fc10a8e1cbd738f10804951a6df3f5/kombu-1.5.1.tar.gz";
895 url = "https://pypi.python.org/packages/19/53/74bf2a624644b45f0850a638752514fc10a8e1cbd738f10804951a6df3f5/kombu-1.5.1.tar.gz";
896 md5 = "50662f3c7e9395b3d0721fb75d100b63";
896 md5 = "50662f3c7e9395b3d0721fb75d100b63";
897 };
897 };
898 meta = {
898 meta = {
899 license = [ pkgs.lib.licenses.bsdOriginal ];
899 license = [ pkgs.lib.licenses.bsdOriginal ];
900 };
900 };
901 };
901 };
902 lxml = super.buildPythonPackage {
902 lxml = super.buildPythonPackage {
903 name = "lxml-3.4.4";
903 name = "lxml-3.4.4";
904 buildInputs = with self; [];
904 buildInputs = with self; [];
905 doCheck = false;
905 doCheck = false;
906 propagatedBuildInputs = with self; [];
906 propagatedBuildInputs = with self; [];
907 src = fetchurl {
907 src = fetchurl {
908 url = "https://pypi.python.org/packages/63/c7/4f2a2a4ad6c6fa99b14be6b3c1cece9142e2d915aa7c43c908677afc8fa4/lxml-3.4.4.tar.gz";
908 url = "https://pypi.python.org/packages/63/c7/4f2a2a4ad6c6fa99b14be6b3c1cece9142e2d915aa7c43c908677afc8fa4/lxml-3.4.4.tar.gz";
909 md5 = "a9a65972afc173ec7a39c585f4eea69c";
909 md5 = "a9a65972afc173ec7a39c585f4eea69c";
910 };
910 };
911 meta = {
911 meta = {
912 license = [ pkgs.lib.licenses.bsdOriginal ];
912 license = [ pkgs.lib.licenses.bsdOriginal ];
913 };
913 };
914 };
914 };
915 meld3 = super.buildPythonPackage {
915 meld3 = super.buildPythonPackage {
916 name = "meld3-1.0.2";
916 name = "meld3-1.0.2";
917 buildInputs = with self; [];
917 buildInputs = with self; [];
918 doCheck = false;
918 doCheck = false;
919 propagatedBuildInputs = with self; [];
919 propagatedBuildInputs = with self; [];
920 src = fetchurl {
920 src = fetchurl {
921 url = "https://pypi.python.org/packages/45/a0/317c6422b26c12fe0161e936fc35f36552069ba8e6f7ecbd99bbffe32a5f/meld3-1.0.2.tar.gz";
921 url = "https://pypi.python.org/packages/45/a0/317c6422b26c12fe0161e936fc35f36552069ba8e6f7ecbd99bbffe32a5f/meld3-1.0.2.tar.gz";
922 md5 = "3ccc78cd79cffd63a751ad7684c02c91";
922 md5 = "3ccc78cd79cffd63a751ad7684c02c91";
923 };
923 };
924 meta = {
924 meta = {
925 license = [ { fullName = "BSD-derived (http://www.repoze.org/LICENSE.txt)"; } ];
925 license = [ { fullName = "BSD-derived (http://www.repoze.org/LICENSE.txt)"; } ];
926 };
926 };
927 };
927 };
928 mock = super.buildPythonPackage {
928 mock = super.buildPythonPackage {
929 name = "mock-1.0.1";
929 name = "mock-1.0.1";
930 buildInputs = with self; [];
930 buildInputs = with self; [];
931 doCheck = false;
931 doCheck = false;
932 propagatedBuildInputs = with self; [];
932 propagatedBuildInputs = with self; [];
933 src = fetchurl {
933 src = fetchurl {
934 url = "https://pypi.python.org/packages/15/45/30273ee91feb60dabb8fbb2da7868520525f02cf910279b3047182feed80/mock-1.0.1.zip";
934 url = "https://pypi.python.org/packages/15/45/30273ee91feb60dabb8fbb2da7868520525f02cf910279b3047182feed80/mock-1.0.1.zip";
935 md5 = "869f08d003c289a97c1a6610faf5e913";
935 md5 = "869f08d003c289a97c1a6610faf5e913";
936 };
936 };
937 meta = {
937 meta = {
938 license = [ pkgs.lib.licenses.bsdOriginal ];
938 license = [ pkgs.lib.licenses.bsdOriginal ];
939 };
939 };
940 };
940 };
941 msgpack-python = super.buildPythonPackage {
941 msgpack-python = super.buildPythonPackage {
942 name = "msgpack-python-0.4.6";
942 name = "msgpack-python-0.4.6";
943 buildInputs = with self; [];
943 buildInputs = with self; [];
944 doCheck = false;
944 doCheck = false;
945 propagatedBuildInputs = with self; [];
945 propagatedBuildInputs = with self; [];
946 src = fetchurl {
946 src = fetchurl {
947 url = "https://pypi.python.org/packages/15/ce/ff2840885789ef8035f66cd506ea05bdb228340307d5e71a7b1e3f82224c/msgpack-python-0.4.6.tar.gz";
947 url = "https://pypi.python.org/packages/15/ce/ff2840885789ef8035f66cd506ea05bdb228340307d5e71a7b1e3f82224c/msgpack-python-0.4.6.tar.gz";
948 md5 = "8b317669314cf1bc881716cccdaccb30";
948 md5 = "8b317669314cf1bc881716cccdaccb30";
949 };
949 };
950 meta = {
950 meta = {
951 license = [ pkgs.lib.licenses.asl20 ];
951 license = [ pkgs.lib.licenses.asl20 ];
952 };
952 };
953 };
953 };
954 nose = super.buildPythonPackage {
954 nose = super.buildPythonPackage {
955 name = "nose-1.3.6";
955 name = "nose-1.3.6";
956 buildInputs = with self; [];
956 buildInputs = with self; [];
957 doCheck = false;
957 doCheck = false;
958 propagatedBuildInputs = with self; [];
958 propagatedBuildInputs = with self; [];
959 src = fetchurl {
959 src = fetchurl {
960 url = "https://pypi.python.org/packages/70/c7/469e68148d17a0d3db5ed49150242fd70a74a8147b8f3f8b87776e028d99/nose-1.3.6.tar.gz";
960 url = "https://pypi.python.org/packages/70/c7/469e68148d17a0d3db5ed49150242fd70a74a8147b8f3f8b87776e028d99/nose-1.3.6.tar.gz";
961 md5 = "0ca546d81ca8309080fc80cb389e7a16";
961 md5 = "0ca546d81ca8309080fc80cb389e7a16";
962 };
962 };
963 meta = {
963 meta = {
964 license = [ { fullName = "GNU Library or Lesser General Public License (LGPL)"; } { fullName = "GNU LGPL"; } ];
964 license = [ { fullName = "GNU Library or Lesser General Public License (LGPL)"; } { fullName = "GNU LGPL"; } ];
965 };
965 };
966 };
966 };
967 objgraph = super.buildPythonPackage {
967 objgraph = super.buildPythonPackage {
968 name = "objgraph-2.0.0";
968 name = "objgraph-2.0.0";
969 buildInputs = with self; [];
969 buildInputs = with self; [];
970 doCheck = false;
970 doCheck = false;
971 propagatedBuildInputs = with self; [];
971 propagatedBuildInputs = with self; [];
972 src = fetchurl {
972 src = fetchurl {
973 url = "https://pypi.python.org/packages/d7/33/ace750b59247496ed769b170586c5def7202683f3d98e737b75b767ff29e/objgraph-2.0.0.tar.gz";
973 url = "https://pypi.python.org/packages/d7/33/ace750b59247496ed769b170586c5def7202683f3d98e737b75b767ff29e/objgraph-2.0.0.tar.gz";
974 md5 = "25b0d5e5adc74aa63ead15699614159c";
974 md5 = "25b0d5e5adc74aa63ead15699614159c";
975 };
975 };
976 meta = {
976 meta = {
977 license = [ pkgs.lib.licenses.mit ];
977 license = [ pkgs.lib.licenses.mit ];
978 };
978 };
979 };
979 };
980 packaging = super.buildPythonPackage {
980 packaging = super.buildPythonPackage {
981 name = "packaging-15.2";
981 name = "packaging-15.2";
982 buildInputs = with self; [];
982 buildInputs = with self; [];
983 doCheck = false;
983 doCheck = false;
984 propagatedBuildInputs = with self; [];
984 propagatedBuildInputs = with self; [];
985 src = fetchurl {
985 src = fetchurl {
986 url = "https://pypi.python.org/packages/24/c4/185da1304f07047dc9e0c46c31db75c0351bd73458ac3efad7da3dbcfbe1/packaging-15.2.tar.gz";
986 url = "https://pypi.python.org/packages/24/c4/185da1304f07047dc9e0c46c31db75c0351bd73458ac3efad7da3dbcfbe1/packaging-15.2.tar.gz";
987 md5 = "c16093476f6ced42128bf610e5db3784";
987 md5 = "c16093476f6ced42128bf610e5db3784";
988 };
988 };
989 meta = {
989 meta = {
990 license = [ pkgs.lib.licenses.asl20 ];
990 license = [ pkgs.lib.licenses.asl20 ];
991 };
991 };
992 };
992 };
993 paramiko = super.buildPythonPackage {
993 paramiko = super.buildPythonPackage {
994 name = "paramiko-1.15.1";
994 name = "paramiko-1.15.1";
995 buildInputs = with self; [];
995 buildInputs = with self; [];
996 doCheck = false;
996 doCheck = false;
997 propagatedBuildInputs = with self; [pycrypto ecdsa];
997 propagatedBuildInputs = with self; [pycrypto ecdsa];
998 src = fetchurl {
998 src = fetchurl {
999 url = "https://pypi.python.org/packages/04/2b/a22d2a560c1951abbbf95a0628e245945565f70dc082d9e784666887222c/paramiko-1.15.1.tar.gz";
999 url = "https://pypi.python.org/packages/04/2b/a22d2a560c1951abbbf95a0628e245945565f70dc082d9e784666887222c/paramiko-1.15.1.tar.gz";
1000 md5 = "48c274c3f9b1282932567b21f6acf3b5";
1000 md5 = "48c274c3f9b1282932567b21f6acf3b5";
1001 };
1001 };
1002 meta = {
1002 meta = {
1003 license = [ { fullName = "LGPL"; } { fullName = "GNU Library or Lesser General Public License (LGPL)"; } ];
1003 license = [ { fullName = "LGPL"; } { fullName = "GNU Library or Lesser General Public License (LGPL)"; } ];
1004 };
1004 };
1005 };
1005 };
1006 pathlib2 = super.buildPythonPackage {
1006 pathlib2 = super.buildPythonPackage {
1007 name = "pathlib2-2.1.0";
1007 name = "pathlib2-2.1.0";
1008 buildInputs = with self; [];
1008 buildInputs = with self; [];
1009 doCheck = false;
1009 doCheck = false;
1010 propagatedBuildInputs = with self; [six];
1010 propagatedBuildInputs = with self; [six];
1011 src = fetchurl {
1011 src = fetchurl {
1012 url = "https://pypi.python.org/packages/c9/27/8448b10d8440c08efeff0794adf7d0ed27adb98372c70c7b38f3947d4749/pathlib2-2.1.0.tar.gz";
1012 url = "https://pypi.python.org/packages/c9/27/8448b10d8440c08efeff0794adf7d0ed27adb98372c70c7b38f3947d4749/pathlib2-2.1.0.tar.gz";
1013 md5 = "38e4f58b4d69dfcb9edb49a54a8b28d2";
1013 md5 = "38e4f58b4d69dfcb9edb49a54a8b28d2";
1014 };
1014 };
1015 meta = {
1015 meta = {
1016 license = [ pkgs.lib.licenses.mit ];
1016 license = [ pkgs.lib.licenses.mit ];
1017 };
1017 };
1018 };
1018 };
1019 peppercorn = super.buildPythonPackage {
1019 peppercorn = super.buildPythonPackage {
1020 name = "peppercorn-0.5";
1020 name = "peppercorn-0.5";
1021 buildInputs = with self; [];
1021 buildInputs = with self; [];
1022 doCheck = false;
1022 doCheck = false;
1023 propagatedBuildInputs = with self; [];
1023 propagatedBuildInputs = with self; [];
1024 src = fetchurl {
1024 src = fetchurl {
1025 url = "https://pypi.python.org/packages/45/ec/a62ec317d1324a01567c5221b420742f094f05ee48097e5157d32be3755c/peppercorn-0.5.tar.gz";
1025 url = "https://pypi.python.org/packages/45/ec/a62ec317d1324a01567c5221b420742f094f05ee48097e5157d32be3755c/peppercorn-0.5.tar.gz";
1026 md5 = "f08efbca5790019ab45d76b7244abd40";
1026 md5 = "f08efbca5790019ab45d76b7244abd40";
1027 };
1027 };
1028 meta = {
1028 meta = {
1029 license = [ { fullName = "BSD-derived (http://www.repoze.org/LICENSE.txt)"; } ];
1029 license = [ { fullName = "BSD-derived (http://www.repoze.org/LICENSE.txt)"; } ];
1030 };
1030 };
1031 };
1031 };
1032 pexpect = super.buildPythonPackage {
1032 pexpect = super.buildPythonPackage {
1033 name = "pexpect-4.2.1";
1033 name = "pexpect-4.2.1";
1034 buildInputs = with self; [];
1034 buildInputs = with self; [];
1035 doCheck = false;
1035 doCheck = false;
1036 propagatedBuildInputs = with self; [ptyprocess];
1036 propagatedBuildInputs = with self; [ptyprocess];
1037 src = fetchurl {
1037 src = fetchurl {
1038 url = "https://pypi.python.org/packages/e8/13/d0b0599099d6cd23663043a2a0bb7c61e58c6ba359b2656e6fb000ef5b98/pexpect-4.2.1.tar.gz";
1038 url = "https://pypi.python.org/packages/e8/13/d0b0599099d6cd23663043a2a0bb7c61e58c6ba359b2656e6fb000ef5b98/pexpect-4.2.1.tar.gz";
1039 md5 = "3694410001a99dff83f0b500a1ca1c95";
1039 md5 = "3694410001a99dff83f0b500a1ca1c95";
1040 };
1040 };
1041 meta = {
1041 meta = {
1042 license = [ pkgs.lib.licenses.isc { fullName = "ISC License (ISCL)"; } ];
1042 license = [ pkgs.lib.licenses.isc { fullName = "ISC License (ISCL)"; } ];
1043 };
1043 };
1044 };
1044 };
1045 pickleshare = super.buildPythonPackage {
1045 pickleshare = super.buildPythonPackage {
1046 name = "pickleshare-0.7.4";
1046 name = "pickleshare-0.7.4";
1047 buildInputs = with self; [];
1047 buildInputs = with self; [];
1048 doCheck = false;
1048 doCheck = false;
1049 propagatedBuildInputs = with self; [pathlib2];
1049 propagatedBuildInputs = with self; [pathlib2];
1050 src = fetchurl {
1050 src = fetchurl {
1051 url = "https://pypi.python.org/packages/69/fe/dd137d84daa0fd13a709e448138e310d9ea93070620c9db5454e234af525/pickleshare-0.7.4.tar.gz";
1051 url = "https://pypi.python.org/packages/69/fe/dd137d84daa0fd13a709e448138e310d9ea93070620c9db5454e234af525/pickleshare-0.7.4.tar.gz";
1052 md5 = "6a9e5dd8dfc023031f6b7b3f824cab12";
1052 md5 = "6a9e5dd8dfc023031f6b7b3f824cab12";
1053 };
1053 };
1054 meta = {
1054 meta = {
1055 license = [ pkgs.lib.licenses.mit ];
1055 license = [ pkgs.lib.licenses.mit ];
1056 };
1056 };
1057 };
1057 };
1058 prompt-toolkit = super.buildPythonPackage {
1058 prompt-toolkit = super.buildPythonPackage {
1059 name = "prompt-toolkit-1.0.9";
1059 name = "prompt-toolkit-1.0.9";
1060 buildInputs = with self; [];
1060 buildInputs = with self; [];
1061 doCheck = false;
1061 doCheck = false;
1062 propagatedBuildInputs = with self; [six wcwidth];
1062 propagatedBuildInputs = with self; [six wcwidth];
1063 src = fetchurl {
1063 src = fetchurl {
1064 url = "https://pypi.python.org/packages/83/14/5ac258da6c530eca02852ee25c7a9ff3ca78287bb4c198d0d0055845d856/prompt_toolkit-1.0.9.tar.gz";
1064 url = "https://pypi.python.org/packages/83/14/5ac258da6c530eca02852ee25c7a9ff3ca78287bb4c198d0d0055845d856/prompt_toolkit-1.0.9.tar.gz";
1065 md5 = "a39f91a54308fb7446b1a421c11f227c";
1065 md5 = "a39f91a54308fb7446b1a421c11f227c";
1066 };
1066 };
1067 meta = {
1067 meta = {
1068 license = [ pkgs.lib.licenses.bsdOriginal ];
1068 license = [ pkgs.lib.licenses.bsdOriginal ];
1069 };
1069 };
1070 };
1070 };
1071 psutil = super.buildPythonPackage {
1071 psutil = super.buildPythonPackage {
1072 name = "psutil-4.3.1";
1072 name = "psutil-4.3.1";
1073 buildInputs = with self; [];
1073 buildInputs = with self; [];
1074 doCheck = false;
1074 doCheck = false;
1075 propagatedBuildInputs = with self; [];
1075 propagatedBuildInputs = with self; [];
1076 src = fetchurl {
1076 src = fetchurl {
1077 url = "https://pypi.python.org/packages/78/cc/f267a1371f229bf16db6a4e604428c3b032b823b83155bd33cef45e49a53/psutil-4.3.1.tar.gz";
1077 url = "https://pypi.python.org/packages/78/cc/f267a1371f229bf16db6a4e604428c3b032b823b83155bd33cef45e49a53/psutil-4.3.1.tar.gz";
1078 md5 = "199a366dba829c88bddaf5b41d19ddc0";
1078 md5 = "199a366dba829c88bddaf5b41d19ddc0";
1079 };
1079 };
1080 meta = {
1080 meta = {
1081 license = [ pkgs.lib.licenses.bsdOriginal ];
1081 license = [ pkgs.lib.licenses.bsdOriginal ];
1082 };
1082 };
1083 };
1083 };
1084 psycopg2 = super.buildPythonPackage {
1084 psycopg2 = super.buildPythonPackage {
1085 name = "psycopg2-2.6.1";
1085 name = "psycopg2-2.6.1";
1086 buildInputs = with self; [];
1086 buildInputs = with self; [];
1087 doCheck = false;
1087 doCheck = false;
1088 propagatedBuildInputs = with self; [];
1088 propagatedBuildInputs = with self; [];
1089 src = fetchurl {
1089 src = fetchurl {
1090 url = "https://pypi.python.org/packages/86/fd/cc8315be63a41fe000cce20482a917e874cdc1151e62cb0141f5e55f711e/psycopg2-2.6.1.tar.gz";
1090 url = "https://pypi.python.org/packages/86/fd/cc8315be63a41fe000cce20482a917e874cdc1151e62cb0141f5e55f711e/psycopg2-2.6.1.tar.gz";
1091 md5 = "842b44f8c95517ed5b792081a2370da1";
1091 md5 = "842b44f8c95517ed5b792081a2370da1";
1092 };
1092 };
1093 meta = {
1093 meta = {
1094 license = [ pkgs.lib.licenses.zpt21 { fullName = "GNU Library or Lesser General Public License (LGPL)"; } { fullName = "LGPL with exceptions or ZPL"; } ];
1094 license = [ pkgs.lib.licenses.zpt21 { fullName = "GNU Library or Lesser General Public License (LGPL)"; } { fullName = "LGPL with exceptions or ZPL"; } ];
1095 };
1095 };
1096 };
1096 };
1097 ptyprocess = super.buildPythonPackage {
1097 ptyprocess = super.buildPythonPackage {
1098 name = "ptyprocess-0.5.1";
1098 name = "ptyprocess-0.5.1";
1099 buildInputs = with self; [];
1099 buildInputs = with self; [];
1100 doCheck = false;
1100 doCheck = false;
1101 propagatedBuildInputs = with self; [];
1101 propagatedBuildInputs = with self; [];
1102 src = fetchurl {
1102 src = fetchurl {
1103 url = "https://pypi.python.org/packages/db/d7/b465161910f3d1cef593c5e002bff67e0384898f597f1a7fdc8db4c02bf6/ptyprocess-0.5.1.tar.gz";
1103 url = "https://pypi.python.org/packages/db/d7/b465161910f3d1cef593c5e002bff67e0384898f597f1a7fdc8db4c02bf6/ptyprocess-0.5.1.tar.gz";
1104 md5 = "94e537122914cc9ec9c1eadcd36e73a1";
1104 md5 = "94e537122914cc9ec9c1eadcd36e73a1";
1105 };
1105 };
1106 meta = {
1106 meta = {
1107 license = [ ];
1107 license = [ ];
1108 };
1108 };
1109 };
1109 };
1110 py = super.buildPythonPackage {
1110 py = super.buildPythonPackage {
1111 name = "py-1.4.29";
1111 name = "py-1.4.31";
1112 buildInputs = with self; [];
1112 buildInputs = with self; [];
1113 doCheck = false;
1113 doCheck = false;
1114 propagatedBuildInputs = with self; [];
1114 propagatedBuildInputs = with self; [];
1115 src = fetchurl {
1115 src = fetchurl {
1116 url = "https://pypi.python.org/packages/2a/bc/a1a4a332ac10069b8e5e25136a35e08a03f01fd6ab03d819889d79a1fd65/py-1.4.29.tar.gz";
1116 url = "https://pypi.python.org/packages/f4/9a/8dfda23f36600dd701c6722316ba8a3ab4b990261f83e7d3ffc6dfedf7ef/py-1.4.31.tar.gz";
1117 md5 = "c28e0accba523a29b35a48bb703fb96c";
1117 md5 = "5d2c63c56dc3f2115ec35c066ecd582b";
1118 };
1118 };
1119 meta = {
1119 meta = {
1120 license = [ pkgs.lib.licenses.mit ];
1120 license = [ pkgs.lib.licenses.mit ];
1121 };
1121 };
1122 };
1122 };
1123 py-bcrypt = super.buildPythonPackage {
1123 py-bcrypt = super.buildPythonPackage {
1124 name = "py-bcrypt-0.4";
1124 name = "py-bcrypt-0.4";
1125 buildInputs = with self; [];
1125 buildInputs = with self; [];
1126 doCheck = false;
1126 doCheck = false;
1127 propagatedBuildInputs = with self; [];
1127 propagatedBuildInputs = with self; [];
1128 src = fetchurl {
1128 src = fetchurl {
1129 url = "https://pypi.python.org/packages/68/b1/1c3068c5c4d2e35c48b38dcc865301ebfdf45f54507086ac65ced1fd3b3d/py-bcrypt-0.4.tar.gz";
1129 url = "https://pypi.python.org/packages/68/b1/1c3068c5c4d2e35c48b38dcc865301ebfdf45f54507086ac65ced1fd3b3d/py-bcrypt-0.4.tar.gz";
1130 md5 = "dd8b367d6b716a2ea2e72392525f4e36";
1130 md5 = "dd8b367d6b716a2ea2e72392525f4e36";
1131 };
1131 };
1132 meta = {
1132 meta = {
1133 license = [ pkgs.lib.licenses.bsdOriginal ];
1133 license = [ pkgs.lib.licenses.bsdOriginal ];
1134 };
1134 };
1135 };
1135 };
1136 py-gfm = super.buildPythonPackage {
1136 py-gfm = super.buildPythonPackage {
1137 name = "py-gfm-0.1.3";
1137 name = "py-gfm-0.1.3";
1138 buildInputs = with self; [];
1138 buildInputs = with self; [];
1139 doCheck = false;
1139 doCheck = false;
1140 propagatedBuildInputs = with self; [setuptools Markdown];
1140 propagatedBuildInputs = with self; [setuptools Markdown];
1141 src = fetchurl {
1141 src = fetchurl {
1142 url = "https://pypi.python.org/packages/12/e4/6b3d8678da04f97d7490d8264d8de51c2dc9fb91209ccee9c515c95e14c5/py-gfm-0.1.3.tar.gz";
1142 url = "https://pypi.python.org/packages/12/e4/6b3d8678da04f97d7490d8264d8de51c2dc9fb91209ccee9c515c95e14c5/py-gfm-0.1.3.tar.gz";
1143 md5 = "e588d9e69640a241b97e2c59c22527a6";
1143 md5 = "e588d9e69640a241b97e2c59c22527a6";
1144 };
1144 };
1145 meta = {
1145 meta = {
1146 license = [ pkgs.lib.licenses.bsdOriginal ];
1146 license = [ pkgs.lib.licenses.bsdOriginal ];
1147 };
1147 };
1148 };
1148 };
1149 pycrypto = super.buildPythonPackage {
1149 pycrypto = super.buildPythonPackage {
1150 name = "pycrypto-2.6.1";
1150 name = "pycrypto-2.6.1";
1151 buildInputs = with self; [];
1151 buildInputs = with self; [];
1152 doCheck = false;
1152 doCheck = false;
1153 propagatedBuildInputs = with self; [];
1153 propagatedBuildInputs = with self; [];
1154 src = fetchurl {
1154 src = fetchurl {
1155 url = "https://pypi.python.org/packages/60/db/645aa9af249f059cc3a368b118de33889219e0362141e75d4eaf6f80f163/pycrypto-2.6.1.tar.gz";
1155 url = "https://pypi.python.org/packages/60/db/645aa9af249f059cc3a368b118de33889219e0362141e75d4eaf6f80f163/pycrypto-2.6.1.tar.gz";
1156 md5 = "55a61a054aa66812daf5161a0d5d7eda";
1156 md5 = "55a61a054aa66812daf5161a0d5d7eda";
1157 };
1157 };
1158 meta = {
1158 meta = {
1159 license = [ pkgs.lib.licenses.publicDomain ];
1159 license = [ pkgs.lib.licenses.publicDomain ];
1160 };
1160 };
1161 };
1161 };
1162 pycurl = super.buildPythonPackage {
1162 pycurl = super.buildPythonPackage {
1163 name = "pycurl-7.19.5";
1163 name = "pycurl-7.19.5";
1164 buildInputs = with self; [];
1164 buildInputs = with self; [];
1165 doCheck = false;
1165 doCheck = false;
1166 propagatedBuildInputs = with self; [];
1166 propagatedBuildInputs = with self; [];
1167 src = fetchurl {
1167 src = fetchurl {
1168 url = "https://pypi.python.org/packages/6c/48/13bad289ef6f4869b1d8fc11ae54de8cfb3cc4a2eb9f7419c506f763be46/pycurl-7.19.5.tar.gz";
1168 url = "https://pypi.python.org/packages/6c/48/13bad289ef6f4869b1d8fc11ae54de8cfb3cc4a2eb9f7419c506f763be46/pycurl-7.19.5.tar.gz";
1169 md5 = "47b4eac84118e2606658122104e62072";
1169 md5 = "47b4eac84118e2606658122104e62072";
1170 };
1170 };
1171 meta = {
1171 meta = {
1172 license = [ pkgs.lib.licenses.mit { fullName = "LGPL/MIT"; } { fullName = "GNU Library or Lesser General Public License (LGPL)"; } ];
1172 license = [ pkgs.lib.licenses.mit { fullName = "LGPL/MIT"; } { fullName = "GNU Library or Lesser General Public License (LGPL)"; } ];
1173 };
1173 };
1174 };
1174 };
1175 pyflakes = super.buildPythonPackage {
1175 pyflakes = super.buildPythonPackage {
1176 name = "pyflakes-0.8.1";
1176 name = "pyflakes-0.8.1";
1177 buildInputs = with self; [];
1177 buildInputs = with self; [];
1178 doCheck = false;
1178 doCheck = false;
1179 propagatedBuildInputs = with self; [];
1179 propagatedBuildInputs = with self; [];
1180 src = fetchurl {
1180 src = fetchurl {
1181 url = "https://pypi.python.org/packages/75/22/a90ec0252f4f87f3ffb6336504de71fe16a49d69c4538dae2f12b9360a38/pyflakes-0.8.1.tar.gz";
1181 url = "https://pypi.python.org/packages/75/22/a90ec0252f4f87f3ffb6336504de71fe16a49d69c4538dae2f12b9360a38/pyflakes-0.8.1.tar.gz";
1182 md5 = "905fe91ad14b912807e8fdc2ac2e2c23";
1182 md5 = "905fe91ad14b912807e8fdc2ac2e2c23";
1183 };
1183 };
1184 meta = {
1184 meta = {
1185 license = [ pkgs.lib.licenses.mit ];
1185 license = [ pkgs.lib.licenses.mit ];
1186 };
1186 };
1187 };
1187 };
1188 pygments-markdown-lexer = super.buildPythonPackage {
1188 pygments-markdown-lexer = super.buildPythonPackage {
1189 name = "pygments-markdown-lexer-0.1.0.dev39";
1189 name = "pygments-markdown-lexer-0.1.0.dev39";
1190 buildInputs = with self; [];
1190 buildInputs = with self; [];
1191 doCheck = false;
1191 doCheck = false;
1192 propagatedBuildInputs = with self; [Pygments];
1192 propagatedBuildInputs = with self; [Pygments];
1193 src = fetchurl {
1193 src = fetchurl {
1194 url = "https://pypi.python.org/packages/c3/12/674cdee66635d638cedb2c5d9c85ce507b7b2f91bdba29e482f1b1160ff6/pygments-markdown-lexer-0.1.0.dev39.zip";
1194 url = "https://pypi.python.org/packages/c3/12/674cdee66635d638cedb2c5d9c85ce507b7b2f91bdba29e482f1b1160ff6/pygments-markdown-lexer-0.1.0.dev39.zip";
1195 md5 = "6360fe0f6d1f896e35b7a0142ce6459c";
1195 md5 = "6360fe0f6d1f896e35b7a0142ce6459c";
1196 };
1196 };
1197 meta = {
1197 meta = {
1198 license = [ pkgs.lib.licenses.asl20 ];
1198 license = [ pkgs.lib.licenses.asl20 ];
1199 };
1199 };
1200 };
1200 };
1201 pyparsing = super.buildPythonPackage {
1201 pyparsing = super.buildPythonPackage {
1202 name = "pyparsing-1.5.7";
1202 name = "pyparsing-1.5.7";
1203 buildInputs = with self; [];
1203 buildInputs = with self; [];
1204 doCheck = false;
1204 doCheck = false;
1205 propagatedBuildInputs = with self; [];
1205 propagatedBuildInputs = with self; [];
1206 src = fetchurl {
1206 src = fetchurl {
1207 url = "https://pypi.python.org/packages/2e/26/e8fb5b4256a5f5036be7ce115ef8db8d06bc537becfbdc46c6af008314ee/pyparsing-1.5.7.zip";
1207 url = "https://pypi.python.org/packages/2e/26/e8fb5b4256a5f5036be7ce115ef8db8d06bc537becfbdc46c6af008314ee/pyparsing-1.5.7.zip";
1208 md5 = "b86854857a368d6ccb4d5b6e76d0637f";
1208 md5 = "b86854857a368d6ccb4d5b6e76d0637f";
1209 };
1209 };
1210 meta = {
1210 meta = {
1211 license = [ pkgs.lib.licenses.mit ];
1211 license = [ pkgs.lib.licenses.mit ];
1212 };
1212 };
1213 };
1213 };
1214 pyramid = super.buildPythonPackage {
1214 pyramid = super.buildPythonPackage {
1215 name = "pyramid-1.6.1";
1215 name = "pyramid-1.6.1";
1216 buildInputs = with self; [];
1216 buildInputs = with self; [];
1217 doCheck = false;
1217 doCheck = false;
1218 propagatedBuildInputs = with self; [setuptools WebOb repoze.lru zope.interface zope.deprecation venusian translationstring PasteDeploy];
1218 propagatedBuildInputs = with self; [setuptools WebOb repoze.lru zope.interface zope.deprecation venusian translationstring PasteDeploy];
1219 src = fetchurl {
1219 src = fetchurl {
1220 url = "https://pypi.python.org/packages/30/b3/fcc4a2a4800cbf21989e00454b5828cf1f7fe35c63e0810b350e56d4c475/pyramid-1.6.1.tar.gz";
1220 url = "https://pypi.python.org/packages/30/b3/fcc4a2a4800cbf21989e00454b5828cf1f7fe35c63e0810b350e56d4c475/pyramid-1.6.1.tar.gz";
1221 md5 = "b18688ff3cc33efdbb098a35b45dd122";
1221 md5 = "b18688ff3cc33efdbb098a35b45dd122";
1222 };
1222 };
1223 meta = {
1223 meta = {
1224 license = [ { fullName = "Repoze Public License"; } { fullName = "BSD-derived (http://www.repoze.org/LICENSE.txt)"; } ];
1224 license = [ { fullName = "Repoze Public License"; } { fullName = "BSD-derived (http://www.repoze.org/LICENSE.txt)"; } ];
1225 };
1225 };
1226 };
1226 };
1227 pyramid-beaker = super.buildPythonPackage {
1227 pyramid-beaker = super.buildPythonPackage {
1228 name = "pyramid-beaker-0.8";
1228 name = "pyramid-beaker-0.8";
1229 buildInputs = with self; [];
1229 buildInputs = with self; [];
1230 doCheck = false;
1230 doCheck = false;
1231 propagatedBuildInputs = with self; [pyramid Beaker];
1231 propagatedBuildInputs = with self; [pyramid Beaker];
1232 src = fetchurl {
1232 src = fetchurl {
1233 url = "https://pypi.python.org/packages/d9/6e/b85426e00fd3d57f4545f74e1c3828552d8700f13ededeef9233f7bca8be/pyramid_beaker-0.8.tar.gz";
1233 url = "https://pypi.python.org/packages/d9/6e/b85426e00fd3d57f4545f74e1c3828552d8700f13ededeef9233f7bca8be/pyramid_beaker-0.8.tar.gz";
1234 md5 = "22f14be31b06549f80890e2c63a93834";
1234 md5 = "22f14be31b06549f80890e2c63a93834";
1235 };
1235 };
1236 meta = {
1236 meta = {
1237 license = [ { fullName = "BSD-derived (http://www.repoze.org/LICENSE.txt)"; } ];
1237 license = [ { fullName = "BSD-derived (http://www.repoze.org/LICENSE.txt)"; } ];
1238 };
1238 };
1239 };
1239 };
1240 pyramid-debugtoolbar = super.buildPythonPackage {
1240 pyramid-debugtoolbar = super.buildPythonPackage {
1241 name = "pyramid-debugtoolbar-2.4.2";
1241 name = "pyramid-debugtoolbar-2.4.2";
1242 buildInputs = with self; [];
1242 buildInputs = with self; [];
1243 doCheck = false;
1243 doCheck = false;
1244 propagatedBuildInputs = with self; [pyramid pyramid-mako repoze.lru Pygments];
1244 propagatedBuildInputs = with self; [pyramid pyramid-mako repoze.lru Pygments];
1245 src = fetchurl {
1245 src = fetchurl {
1246 url = "https://pypi.python.org/packages/89/00/ed5426ee41ed747ba3ffd30e8230841a6878286ea67d480b1444d24f06a2/pyramid_debugtoolbar-2.4.2.tar.gz";
1246 url = "https://pypi.python.org/packages/89/00/ed5426ee41ed747ba3ffd30e8230841a6878286ea67d480b1444d24f06a2/pyramid_debugtoolbar-2.4.2.tar.gz";
1247 md5 = "073ea67086cc4bd5decc3a000853642d";
1247 md5 = "073ea67086cc4bd5decc3a000853642d";
1248 };
1248 };
1249 meta = {
1249 meta = {
1250 license = [ { fullName = "Repoze Public License"; } pkgs.lib.licenses.bsdOriginal ];
1250 license = [ { fullName = "Repoze Public License"; } pkgs.lib.licenses.bsdOriginal ];
1251 };
1251 };
1252 };
1252 };
1253 pyramid-jinja2 = super.buildPythonPackage {
1253 pyramid-jinja2 = super.buildPythonPackage {
1254 name = "pyramid-jinja2-2.5";
1254 name = "pyramid-jinja2-2.5";
1255 buildInputs = with self; [];
1255 buildInputs = with self; [];
1256 doCheck = false;
1256 doCheck = false;
1257 propagatedBuildInputs = with self; [pyramid zope.deprecation Jinja2 MarkupSafe];
1257 propagatedBuildInputs = with self; [pyramid zope.deprecation Jinja2 MarkupSafe];
1258 src = fetchurl {
1258 src = fetchurl {
1259 url = "https://pypi.python.org/packages/a1/80/595e26ffab7deba7208676b6936b7e5a721875710f982e59899013cae1ed/pyramid_jinja2-2.5.tar.gz";
1259 url = "https://pypi.python.org/packages/a1/80/595e26ffab7deba7208676b6936b7e5a721875710f982e59899013cae1ed/pyramid_jinja2-2.5.tar.gz";
1260 md5 = "07cb6547204ac5e6f0b22a954ccee928";
1260 md5 = "07cb6547204ac5e6f0b22a954ccee928";
1261 };
1261 };
1262 meta = {
1262 meta = {
1263 license = [ { fullName = "Repoze Public License"; } { fullName = "BSD-derived (http://www.repoze.org/LICENSE.txt)"; } ];
1263 license = [ { fullName = "Repoze Public License"; } { fullName = "BSD-derived (http://www.repoze.org/LICENSE.txt)"; } ];
1264 };
1264 };
1265 };
1265 };
1266 pyramid-mako = super.buildPythonPackage {
1266 pyramid-mako = super.buildPythonPackage {
1267 name = "pyramid-mako-1.0.2";
1267 name = "pyramid-mako-1.0.2";
1268 buildInputs = with self; [];
1268 buildInputs = with self; [];
1269 doCheck = false;
1269 doCheck = false;
1270 propagatedBuildInputs = with self; [pyramid Mako];
1270 propagatedBuildInputs = with self; [pyramid Mako];
1271 src = fetchurl {
1271 src = fetchurl {
1272 url = "https://pypi.python.org/packages/f1/92/7e69bcf09676d286a71cb3bbb887b16595b96f9ba7adbdc239ffdd4b1eb9/pyramid_mako-1.0.2.tar.gz";
1272 url = "https://pypi.python.org/packages/f1/92/7e69bcf09676d286a71cb3bbb887b16595b96f9ba7adbdc239ffdd4b1eb9/pyramid_mako-1.0.2.tar.gz";
1273 md5 = "ee25343a97eb76bd90abdc2a774eb48a";
1273 md5 = "ee25343a97eb76bd90abdc2a774eb48a";
1274 };
1274 };
1275 meta = {
1275 meta = {
1276 license = [ { fullName = "Repoze Public License"; } { fullName = "BSD-derived (http://www.repoze.org/LICENSE.txt)"; } ];
1276 license = [ { fullName = "Repoze Public License"; } { fullName = "BSD-derived (http://www.repoze.org/LICENSE.txt)"; } ];
1277 };
1277 };
1278 };
1278 };
1279 pysqlite = super.buildPythonPackage {
1279 pysqlite = super.buildPythonPackage {
1280 name = "pysqlite-2.6.3";
1280 name = "pysqlite-2.6.3";
1281 buildInputs = with self; [];
1281 buildInputs = with self; [];
1282 doCheck = false;
1282 doCheck = false;
1283 propagatedBuildInputs = with self; [];
1283 propagatedBuildInputs = with self; [];
1284 src = fetchurl {
1284 src = fetchurl {
1285 url = "https://pypi.python.org/packages/5c/a6/1c429cd4c8069cf4bfbd0eb4d592b3f4042155a8202df83d7e9b93aa3dc2/pysqlite-2.6.3.tar.gz";
1285 url = "https://pypi.python.org/packages/5c/a6/1c429cd4c8069cf4bfbd0eb4d592b3f4042155a8202df83d7e9b93aa3dc2/pysqlite-2.6.3.tar.gz";
1286 md5 = "7ff1cedee74646b50117acff87aa1cfa";
1286 md5 = "7ff1cedee74646b50117acff87aa1cfa";
1287 };
1287 };
1288 meta = {
1288 meta = {
1289 license = [ { fullName = "zlib/libpng License"; } { fullName = "zlib/libpng license"; } ];
1289 license = [ { fullName = "zlib/libpng License"; } { fullName = "zlib/libpng license"; } ];
1290 };
1290 };
1291 };
1291 };
1292 pytest = super.buildPythonPackage {
1292 pytest = super.buildPythonPackage {
1293 name = "pytest-2.8.5";
1293 name = "pytest-3.0.5";
1294 buildInputs = with self; [];
1294 buildInputs = with self; [];
1295 doCheck = false;
1295 doCheck = false;
1296 propagatedBuildInputs = with self; [py];
1296 propagatedBuildInputs = with self; [py];
1297 src = fetchurl {
1297 src = fetchurl {
1298 url = "https://pypi.python.org/packages/b1/3d/d7ea9b0c51e0cacded856e49859f0a13452747491e842c236bbab3714afe/pytest-2.8.5.zip";
1298 url = "https://pypi.python.org/packages/a8/87/b7ca49efe52d2b4169f2bfc49aa5e384173c4619ea8e635f123a0dac5b75/pytest-3.0.5.tar.gz";
1299 md5 = "8493b06f700862f1294298d6c1b715a9";
1299 md5 = "cefd527b59332688bf5db4a10aa8a7cb";
1300 };
1300 };
1301 meta = {
1301 meta = {
1302 license = [ pkgs.lib.licenses.mit ];
1302 license = [ pkgs.lib.licenses.mit ];
1303 };
1303 };
1304 };
1304 };
1305 pytest-catchlog = super.buildPythonPackage {
1305 pytest-catchlog = super.buildPythonPackage {
1306 name = "pytest-catchlog-1.2.2";
1306 name = "pytest-catchlog-1.2.2";
1307 buildInputs = with self; [];
1307 buildInputs = with self; [];
1308 doCheck = false;
1308 doCheck = false;
1309 propagatedBuildInputs = with self; [py pytest];
1309 propagatedBuildInputs = with self; [py pytest];
1310 src = fetchurl {
1310 src = fetchurl {
1311 url = "https://pypi.python.org/packages/f2/2b/2faccdb1a978fab9dd0bf31cca9f6847fbe9184a0bdcc3011ac41dd44191/pytest-catchlog-1.2.2.zip";
1311 url = "https://pypi.python.org/packages/f2/2b/2faccdb1a978fab9dd0bf31cca9f6847fbe9184a0bdcc3011ac41dd44191/pytest-catchlog-1.2.2.zip";
1312 md5 = "09d890c54c7456c818102b7ff8c182c8";
1312 md5 = "09d890c54c7456c818102b7ff8c182c8";
1313 };
1313 };
1314 meta = {
1314 meta = {
1315 license = [ pkgs.lib.licenses.mit ];
1315 license = [ pkgs.lib.licenses.mit ];
1316 };
1316 };
1317 };
1317 };
1318 pytest-cov = super.buildPythonPackage {
1318 pytest-cov = super.buildPythonPackage {
1319 name = "pytest-cov-1.8.1";
1319 name = "pytest-cov-2.4.0";
1320 buildInputs = with self; [];
1320 buildInputs = with self; [];
1321 doCheck = false;
1321 doCheck = false;
1322 propagatedBuildInputs = with self; [py pytest coverage cov-core];
1322 propagatedBuildInputs = with self; [pytest coverage];
1323 src = fetchurl {
1323 src = fetchurl {
1324 url = "https://pypi.python.org/packages/11/4b/b04646e97f1721878eb21e9f779102d84dd044d324382263b1770a3e4838/pytest-cov-1.8.1.tar.gz";
1324 url = "https://pypi.python.org/packages/00/c0/2bfd1fcdb9d407b8ac8185b1cb5ff458105c6b207a9a7f0e13032de9828f/pytest-cov-2.4.0.tar.gz";
1325 md5 = "76c778afa2494088270348be42d759fc";
1325 md5 = "2fda09677d232acc99ec1b3c5831e33f";
1326 };
1326 };
1327 meta = {
1327 meta = {
1328 license = [ pkgs.lib.licenses.mit ];
1328 license = [ pkgs.lib.licenses.bsdOriginal pkgs.lib.licenses.mit ];
1329 };
1329 };
1330 };
1330 };
1331 pytest-profiling = super.buildPythonPackage {
1331 pytest-profiling = super.buildPythonPackage {
1332 name = "pytest-profiling-1.0.1";
1332 name = "pytest-profiling-1.2.2";
1333 buildInputs = with self; [];
1333 buildInputs = with self; [];
1334 doCheck = false;
1334 doCheck = false;
1335 propagatedBuildInputs = with self; [six pytest gprof2dot];
1335 propagatedBuildInputs = with self; [six pytest gprof2dot];
1336 src = fetchurl {
1336 src = fetchurl {
1337 url = "https://pypi.python.org/packages/d8/67/8ffab73406e22870e07fa4dc8dce1d7689b26dba8efd00161c9b6fc01ec0/pytest-profiling-1.0.1.tar.gz";
1337 url = "https://pypi.python.org/packages/73/e8/804681323bac0bc45c520ec34185ba8469008942266d0074699b204835c1/pytest-profiling-1.2.2.tar.gz";
1338 md5 = "354404eb5b3fd4dc5eb7fffbb3d9b68b";
1338 md5 = "0a16d7dda2d23b91e9730fa4558cf728";
1339 };
1339 };
1340 meta = {
1340 meta = {
1341 license = [ pkgs.lib.licenses.mit ];
1341 license = [ pkgs.lib.licenses.mit ];
1342 };
1342 };
1343 };
1343 };
1344 pytest-runner = super.buildPythonPackage {
1344 pytest-runner = super.buildPythonPackage {
1345 name = "pytest-runner-2.7.1";
1345 name = "pytest-runner-2.9";
1346 buildInputs = with self; [];
1346 buildInputs = with self; [];
1347 doCheck = false;
1347 doCheck = false;
1348 propagatedBuildInputs = with self; [];
1348 propagatedBuildInputs = with self; [];
1349 src = fetchurl {
1349 src = fetchurl {
1350 url = "https://pypi.python.org/packages/99/6b/c4ff4418d3424d4475b7af60724fd4a5cdd91ed8e489dc9443281f0052bc/pytest-runner-2.7.1.tar.gz";
1350 url = "https://pypi.python.org/packages/11/d4/c335ddf94463e451109e3494e909765c3e5205787b772e3b25ee8601b86a/pytest-runner-2.9.tar.gz";
1351 md5 = "e56f0bc8d79a6bd91772b44ef4215c7e";
1351 md5 = "2212a2e34404b0960b2fdc2c469247b2";
1352 };
1352 };
1353 meta = {
1353 meta = {
1354 license = [ pkgs.lib.licenses.mit ];
1354 license = [ pkgs.lib.licenses.mit ];
1355 };
1355 };
1356 };
1356 };
1357 pytest-timeout = super.buildPythonPackage {
1357 pytest-timeout = super.buildPythonPackage {
1358 name = "pytest-timeout-0.4";
1358 name = "pytest-timeout-1.2.0";
1359 buildInputs = with self; [];
1359 buildInputs = with self; [];
1360 doCheck = false;
1360 doCheck = false;
1361 propagatedBuildInputs = with self; [pytest];
1361 propagatedBuildInputs = with self; [pytest];
1362 src = fetchurl {
1362 src = fetchurl {
1363 url = "https://pypi.python.org/packages/24/48/5f6bd4b8026a26e1dd427243d560a29a0f1b24a5c7cffca4bf049a7bb65b/pytest-timeout-0.4.tar.gz";
1363 url = "https://pypi.python.org/packages/cc/b7/b2a61365ea6b6d2e8881360ae7ed8dad0327ad2df89f2f0be4a02304deb2/pytest-timeout-1.2.0.tar.gz";
1364 md5 = "03b28aff69cbbfb959ed35ade5fde262";
1364 md5 = "83607d91aa163562c7ee835da57d061d";
1365 };
1365 };
1366 meta = {
1366 meta = {
1367 license = [ pkgs.lib.licenses.mit { fullName = "DFSG approved"; } ];
1367 license = [ pkgs.lib.licenses.mit { fullName = "DFSG approved"; } ];
1368 };
1368 };
1369 };
1369 };
1370 python-dateutil = super.buildPythonPackage {
1370 python-dateutil = super.buildPythonPackage {
1371 name = "python-dateutil-1.5";
1371 name = "python-dateutil-1.5";
1372 buildInputs = with self; [];
1372 buildInputs = with self; [];
1373 doCheck = false;
1373 doCheck = false;
1374 propagatedBuildInputs = with self; [];
1374 propagatedBuildInputs = with self; [];
1375 src = fetchurl {
1375 src = fetchurl {
1376 url = "https://pypi.python.org/packages/b4/7c/df59c89a753eb33c7c44e1dd42de0e9bc2ccdd5a4d576e0bfad97cc280cb/python-dateutil-1.5.tar.gz";
1376 url = "https://pypi.python.org/packages/b4/7c/df59c89a753eb33c7c44e1dd42de0e9bc2ccdd5a4d576e0bfad97cc280cb/python-dateutil-1.5.tar.gz";
1377 md5 = "0dcb1de5e5cad69490a3b6ab63f0cfa5";
1377 md5 = "0dcb1de5e5cad69490a3b6ab63f0cfa5";
1378 };
1378 };
1379 meta = {
1379 meta = {
1380 license = [ pkgs.lib.licenses.psfl ];
1380 license = [ pkgs.lib.licenses.psfl ];
1381 };
1381 };
1382 };
1382 };
1383 python-editor = super.buildPythonPackage {
1383 python-editor = super.buildPythonPackage {
1384 name = "python-editor-1.0.3";
1384 name = "python-editor-1.0.3";
1385 buildInputs = with self; [];
1385 buildInputs = with self; [];
1386 doCheck = false;
1386 doCheck = false;
1387 propagatedBuildInputs = with self; [];
1387 propagatedBuildInputs = with self; [];
1388 src = fetchurl {
1388 src = fetchurl {
1389 url = "https://pypi.python.org/packages/65/1e/adf6e000ea5dc909aa420352d6ba37f16434c8a3c2fa030445411a1ed545/python-editor-1.0.3.tar.gz";
1389 url = "https://pypi.python.org/packages/65/1e/adf6e000ea5dc909aa420352d6ba37f16434c8a3c2fa030445411a1ed545/python-editor-1.0.3.tar.gz";
1390 md5 = "0aca5f2ef176ce68e98a5b7e31372835";
1390 md5 = "0aca5f2ef176ce68e98a5b7e31372835";
1391 };
1391 };
1392 meta = {
1392 meta = {
1393 license = [ pkgs.lib.licenses.asl20 { fullName = "Apache"; } ];
1393 license = [ pkgs.lib.licenses.asl20 { fullName = "Apache"; } ];
1394 };
1394 };
1395 };
1395 };
1396 python-ldap = super.buildPythonPackage {
1396 python-ldap = super.buildPythonPackage {
1397 name = "python-ldap-2.4.19";
1397 name = "python-ldap-2.4.19";
1398 buildInputs = with self; [];
1398 buildInputs = with self; [];
1399 doCheck = false;
1399 doCheck = false;
1400 propagatedBuildInputs = with self; [setuptools];
1400 propagatedBuildInputs = with self; [setuptools];
1401 src = fetchurl {
1401 src = fetchurl {
1402 url = "https://pypi.python.org/packages/42/81/1b64838c82e64f14d4e246ff00b52e650a35c012551b891ada2b85d40737/python-ldap-2.4.19.tar.gz";
1402 url = "https://pypi.python.org/packages/42/81/1b64838c82e64f14d4e246ff00b52e650a35c012551b891ada2b85d40737/python-ldap-2.4.19.tar.gz";
1403 md5 = "b941bf31d09739492aa19ef679e94ae3";
1403 md5 = "b941bf31d09739492aa19ef679e94ae3";
1404 };
1404 };
1405 meta = {
1405 meta = {
1406 license = [ pkgs.lib.licenses.psfl ];
1406 license = [ pkgs.lib.licenses.psfl ];
1407 };
1407 };
1408 };
1408 };
1409 python-memcached = super.buildPythonPackage {
1409 python-memcached = super.buildPythonPackage {
1410 name = "python-memcached-1.57";
1410 name = "python-memcached-1.57";
1411 buildInputs = with self; [];
1411 buildInputs = with self; [];
1412 doCheck = false;
1412 doCheck = false;
1413 propagatedBuildInputs = with self; [six];
1413 propagatedBuildInputs = with self; [six];
1414 src = fetchurl {
1414 src = fetchurl {
1415 url = "https://pypi.python.org/packages/52/9d/eebc0dcbc5c7c66840ad207dfc1baa376dadb74912484bff73819cce01e6/python-memcached-1.57.tar.gz";
1415 url = "https://pypi.python.org/packages/52/9d/eebc0dcbc5c7c66840ad207dfc1baa376dadb74912484bff73819cce01e6/python-memcached-1.57.tar.gz";
1416 md5 = "de21f64b42b2d961f3d4ad7beb5468a1";
1416 md5 = "de21f64b42b2d961f3d4ad7beb5468a1";
1417 };
1417 };
1418 meta = {
1418 meta = {
1419 license = [ pkgs.lib.licenses.psfl ];
1419 license = [ pkgs.lib.licenses.psfl ];
1420 };
1420 };
1421 };
1421 };
1422 python-pam = super.buildPythonPackage {
1422 python-pam = super.buildPythonPackage {
1423 name = "python-pam-1.8.2";
1423 name = "python-pam-1.8.2";
1424 buildInputs = with self; [];
1424 buildInputs = with self; [];
1425 doCheck = false;
1425 doCheck = false;
1426 propagatedBuildInputs = with self; [];
1426 propagatedBuildInputs = with self; [];
1427 src = fetchurl {
1427 src = fetchurl {
1428 url = "https://pypi.python.org/packages/de/8c/f8f5d38b4f26893af267ea0b39023d4951705ab0413a39e0cf7cf4900505/python-pam-1.8.2.tar.gz";
1428 url = "https://pypi.python.org/packages/de/8c/f8f5d38b4f26893af267ea0b39023d4951705ab0413a39e0cf7cf4900505/python-pam-1.8.2.tar.gz";
1429 md5 = "db71b6b999246fb05d78ecfbe166629d";
1429 md5 = "db71b6b999246fb05d78ecfbe166629d";
1430 };
1430 };
1431 meta = {
1431 meta = {
1432 license = [ { fullName = "License :: OSI Approved :: MIT License"; } pkgs.lib.licenses.mit ];
1432 license = [ { fullName = "License :: OSI Approved :: MIT License"; } pkgs.lib.licenses.mit ];
1433 };
1433 };
1434 };
1434 };
1435 pytz = super.buildPythonPackage {
1435 pytz = super.buildPythonPackage {
1436 name = "pytz-2015.4";
1436 name = "pytz-2015.4";
1437 buildInputs = with self; [];
1437 buildInputs = with self; [];
1438 doCheck = false;
1438 doCheck = false;
1439 propagatedBuildInputs = with self; [];
1439 propagatedBuildInputs = with self; [];
1440 src = fetchurl {
1440 src = fetchurl {
1441 url = "https://pypi.python.org/packages/7e/1a/f43b5c92df7b156822030fed151327ea096bcf417e45acc23bd1df43472f/pytz-2015.4.zip";
1441 url = "https://pypi.python.org/packages/7e/1a/f43b5c92df7b156822030fed151327ea096bcf417e45acc23bd1df43472f/pytz-2015.4.zip";
1442 md5 = "233f2a2b370d03f9b5911700cc9ebf3c";
1442 md5 = "233f2a2b370d03f9b5911700cc9ebf3c";
1443 };
1443 };
1444 meta = {
1444 meta = {
1445 license = [ pkgs.lib.licenses.mit ];
1445 license = [ pkgs.lib.licenses.mit ];
1446 };
1446 };
1447 };
1447 };
1448 pyzmq = super.buildPythonPackage {
1448 pyzmq = super.buildPythonPackage {
1449 name = "pyzmq-14.6.0";
1449 name = "pyzmq-14.6.0";
1450 buildInputs = with self; [];
1450 buildInputs = with self; [];
1451 doCheck = false;
1451 doCheck = false;
1452 propagatedBuildInputs = with self; [];
1452 propagatedBuildInputs = with self; [];
1453 src = fetchurl {
1453 src = fetchurl {
1454 url = "https://pypi.python.org/packages/8a/3b/5463d5a9d712cd8bbdac335daece0d69f6a6792da4e3dd89956c0db4e4e6/pyzmq-14.6.0.tar.gz";
1454 url = "https://pypi.python.org/packages/8a/3b/5463d5a9d712cd8bbdac335daece0d69f6a6792da4e3dd89956c0db4e4e6/pyzmq-14.6.0.tar.gz";
1455 md5 = "395b5de95a931afa5b14c9349a5b8024";
1455 md5 = "395b5de95a931afa5b14c9349a5b8024";
1456 };
1456 };
1457 meta = {
1457 meta = {
1458 license = [ pkgs.lib.licenses.bsdOriginal { fullName = "LGPL+BSD"; } { fullName = "GNU Library or Lesser General Public License (LGPL)"; } ];
1458 license = [ pkgs.lib.licenses.bsdOriginal { fullName = "LGPL+BSD"; } { fullName = "GNU Library or Lesser General Public License (LGPL)"; } ];
1459 };
1459 };
1460 };
1460 };
1461 recaptcha-client = super.buildPythonPackage {
1461 recaptcha-client = super.buildPythonPackage {
1462 name = "recaptcha-client-1.0.6";
1462 name = "recaptcha-client-1.0.6";
1463 buildInputs = with self; [];
1463 buildInputs = with self; [];
1464 doCheck = false;
1464 doCheck = false;
1465 propagatedBuildInputs = with self; [];
1465 propagatedBuildInputs = with self; [];
1466 src = fetchurl {
1466 src = fetchurl {
1467 url = "https://pypi.python.org/packages/0a/ea/5f2fbbfd894bdac1c68ef8d92019066cfcf9fbff5fe3d728d2b5c25c8db4/recaptcha-client-1.0.6.tar.gz";
1467 url = "https://pypi.python.org/packages/0a/ea/5f2fbbfd894bdac1c68ef8d92019066cfcf9fbff5fe3d728d2b5c25c8db4/recaptcha-client-1.0.6.tar.gz";
1468 md5 = "74228180f7e1fb76c4d7089160b0d919";
1468 md5 = "74228180f7e1fb76c4d7089160b0d919";
1469 };
1469 };
1470 meta = {
1470 meta = {
1471 license = [ { fullName = "MIT/X11"; } ];
1471 license = [ { fullName = "MIT/X11"; } ];
1472 };
1472 };
1473 };
1473 };
1474 repoze.lru = super.buildPythonPackage {
1474 repoze.lru = super.buildPythonPackage {
1475 name = "repoze.lru-0.6";
1475 name = "repoze.lru-0.6";
1476 buildInputs = with self; [];
1476 buildInputs = with self; [];
1477 doCheck = false;
1477 doCheck = false;
1478 propagatedBuildInputs = with self; [];
1478 propagatedBuildInputs = with self; [];
1479 src = fetchurl {
1479 src = fetchurl {
1480 url = "https://pypi.python.org/packages/6e/1e/aa15cc90217e086dc8769872c8778b409812ff036bf021b15795638939e4/repoze.lru-0.6.tar.gz";
1480 url = "https://pypi.python.org/packages/6e/1e/aa15cc90217e086dc8769872c8778b409812ff036bf021b15795638939e4/repoze.lru-0.6.tar.gz";
1481 md5 = "2c3b64b17a8e18b405f55d46173e14dd";
1481 md5 = "2c3b64b17a8e18b405f55d46173e14dd";
1482 };
1482 };
1483 meta = {
1483 meta = {
1484 license = [ { fullName = "Repoze Public License"; } { fullName = "BSD-derived (http://www.repoze.org/LICENSE.txt)"; } ];
1484 license = [ { fullName = "Repoze Public License"; } { fullName = "BSD-derived (http://www.repoze.org/LICENSE.txt)"; } ];
1485 };
1485 };
1486 };
1486 };
1487 requests = super.buildPythonPackage {
1487 requests = super.buildPythonPackage {
1488 name = "requests-2.9.1";
1488 name = "requests-2.9.1";
1489 buildInputs = with self; [];
1489 buildInputs = with self; [];
1490 doCheck = false;
1490 doCheck = false;
1491 propagatedBuildInputs = with self; [];
1491 propagatedBuildInputs = with self; [];
1492 src = fetchurl {
1492 src = fetchurl {
1493 url = "https://pypi.python.org/packages/f9/6d/07c44fb1ebe04d069459a189e7dab9e4abfe9432adcd4477367c25332748/requests-2.9.1.tar.gz";
1493 url = "https://pypi.python.org/packages/f9/6d/07c44fb1ebe04d069459a189e7dab9e4abfe9432adcd4477367c25332748/requests-2.9.1.tar.gz";
1494 md5 = "0b7f480d19012ec52bab78292efd976d";
1494 md5 = "0b7f480d19012ec52bab78292efd976d";
1495 };
1495 };
1496 meta = {
1496 meta = {
1497 license = [ pkgs.lib.licenses.asl20 ];
1497 license = [ pkgs.lib.licenses.asl20 ];
1498 };
1498 };
1499 };
1499 };
1500 rhodecode-enterprise-ce = super.buildPythonPackage {
1500 rhodecode-enterprise-ce = super.buildPythonPackage {
1501 name = "rhodecode-enterprise-ce-4.6.0";
1501 name = "rhodecode-enterprise-ce-4.6.0";
1502 buildInputs = with self; [WebTest configobj cssselect lxml mock pytest pytest-cov pytest-runner pytest-sugar];
1502 buildInputs = with self; [WebTest configobj cssselect lxml mock pytest pytest-cov pytest-runner pytest-sugar];
1503 doCheck = true;
1503 doCheck = true;
1504 propagatedBuildInputs = with self; [Babel Beaker FormEncode Mako Markdown MarkupSafe MySQL-python Paste PasteDeploy PasteScript Pygments pygments-markdown-lexer Pylons Pyro4 Routes SQLAlchemy Tempita URLObject WebError WebHelpers WebHelpers2 WebOb WebTest Whoosh alembic amqplib anyjson appenlight-client authomatic backport-ipaddress celery channelstream colander decorator deform docutils gevent gunicorn infrae.cache ipython iso8601 kombu msgpack-python packaging psycopg2 py-gfm pycrypto pycurl pyparsing pyramid pyramid-debugtoolbar pyramid-mako pyramid-beaker pysqlite python-dateutil python-ldap python-memcached python-pam recaptcha-client repoze.lru requests simplejson subprocess32 waitress zope.cachedescriptors dogpile.cache dogpile.core psutil py-bcrypt];
1504 propagatedBuildInputs = with self; [Babel Beaker FormEncode Mako Markdown MarkupSafe MySQL-python Paste PasteDeploy PasteScript Pygments pygments-markdown-lexer Pylons Pyro4 Routes SQLAlchemy Tempita URLObject WebError WebHelpers WebHelpers2 WebOb WebTest Whoosh alembic amqplib anyjson appenlight-client authomatic backport-ipaddress celery channelstream colander decorator deform docutils gevent gunicorn infrae.cache ipython iso8601 kombu msgpack-python packaging psycopg2 py-gfm pycrypto pycurl pyparsing pyramid pyramid-debugtoolbar pyramid-mako pyramid-beaker pysqlite python-dateutil python-ldap python-memcached python-pam recaptcha-client repoze.lru requests simplejson subprocess32 waitress zope.cachedescriptors dogpile.cache dogpile.core psutil py-bcrypt];
1505 src = ./.;
1505 src = ./.;
1506 meta = {
1506 meta = {
1507 license = [ { fullName = "AGPLv3, and Commercial License"; } ];
1507 license = [ { fullName = "AGPLv3, and Commercial License"; } ];
1508 };
1508 };
1509 };
1509 };
1510 rhodecode-tools = super.buildPythonPackage {
1510 rhodecode-tools = super.buildPythonPackage {
1511 name = "rhodecode-tools-0.10.2";
1511 name = "rhodecode-tools-0.10.2";
1512 buildInputs = with self; [];
1512 buildInputs = with self; [];
1513 doCheck = false;
1513 doCheck = false;
1514 propagatedBuildInputs = with self; [click future six Mako MarkupSafe requests Whoosh elasticsearch elasticsearch-dsl urllib3];
1514 propagatedBuildInputs = with self; [click future six Mako MarkupSafe requests Whoosh elasticsearch elasticsearch-dsl urllib3];
1515 src = fetchurl {
1515 src = fetchurl {
1516 url = "https://code.rhodecode.com/rhodecode-tools-ce/archive/v0.10.2.zip";
1516 url = "https://code.rhodecode.com/rhodecode-tools-ce/archive/v0.10.2.zip";
1517 md5 = "d2af3985a1a32a678944d4d48870cb04";
1517 md5 = "d2af3985a1a32a678944d4d48870cb04";
1518 };
1518 };
1519 meta = {
1519 meta = {
1520 license = [ { fullName = "AGPLv3 and Proprietary"; } ];
1520 license = [ { fullName = "AGPLv3 and Proprietary"; } ];
1521 };
1521 };
1522 };
1522 };
1523 serpent = super.buildPythonPackage {
1523 serpent = super.buildPythonPackage {
1524 name = "serpent-1.12";
1524 name = "serpent-1.12";
1525 buildInputs = with self; [];
1525 buildInputs = with self; [];
1526 doCheck = false;
1526 doCheck = false;
1527 propagatedBuildInputs = with self; [];
1527 propagatedBuildInputs = with self; [];
1528 src = fetchurl {
1528 src = fetchurl {
1529 url = "https://pypi.python.org/packages/3b/19/1e0e83b47c09edaef8398655088036e7e67386b5c48770218ebb339fbbd5/serpent-1.12.tar.gz";
1529 url = "https://pypi.python.org/packages/3b/19/1e0e83b47c09edaef8398655088036e7e67386b5c48770218ebb339fbbd5/serpent-1.12.tar.gz";
1530 md5 = "05869ac7b062828b34f8f927f0457b65";
1530 md5 = "05869ac7b062828b34f8f927f0457b65";
1531 };
1531 };
1532 meta = {
1532 meta = {
1533 license = [ pkgs.lib.licenses.mit ];
1533 license = [ pkgs.lib.licenses.mit ];
1534 };
1534 };
1535 };
1535 };
1536 setproctitle = super.buildPythonPackage {
1536 setproctitle = super.buildPythonPackage {
1537 name = "setproctitle-1.1.8";
1537 name = "setproctitle-1.1.8";
1538 buildInputs = with self; [];
1538 buildInputs = with self; [];
1539 doCheck = false;
1539 doCheck = false;
1540 propagatedBuildInputs = with self; [];
1540 propagatedBuildInputs = with self; [];
1541 src = fetchurl {
1541 src = fetchurl {
1542 url = "https://pypi.python.org/packages/33/c3/ad367a4f4f1ca90468863ae727ac62f6edb558fc09a003d344a02cfc6ea6/setproctitle-1.1.8.tar.gz";
1542 url = "https://pypi.python.org/packages/33/c3/ad367a4f4f1ca90468863ae727ac62f6edb558fc09a003d344a02cfc6ea6/setproctitle-1.1.8.tar.gz";
1543 md5 = "728f4c8c6031bbe56083a48594027edd";
1543 md5 = "728f4c8c6031bbe56083a48594027edd";
1544 };
1544 };
1545 meta = {
1545 meta = {
1546 license = [ pkgs.lib.licenses.bsdOriginal ];
1546 license = [ pkgs.lib.licenses.bsdOriginal ];
1547 };
1547 };
1548 };
1548 };
1549 setuptools = super.buildPythonPackage {
1549 setuptools = super.buildPythonPackage {
1550 name = "setuptools-20.8.1";
1550 name = "setuptools-20.8.1";
1551 buildInputs = with self; [];
1551 buildInputs = with self; [];
1552 doCheck = false;
1552 doCheck = false;
1553 propagatedBuildInputs = with self; [];
1553 propagatedBuildInputs = with self; [];
1554 src = fetchurl {
1554 src = fetchurl {
1555 url = "https://pypi.python.org/packages/c4/19/c1bdc88b53da654df43770f941079dbab4e4788c2dcb5658fb86259894c7/setuptools-20.8.1.zip";
1555 url = "https://pypi.python.org/packages/c4/19/c1bdc88b53da654df43770f941079dbab4e4788c2dcb5658fb86259894c7/setuptools-20.8.1.zip";
1556 md5 = "fe58a5cac0df20bb83942b252a4b0543";
1556 md5 = "fe58a5cac0df20bb83942b252a4b0543";
1557 };
1557 };
1558 meta = {
1558 meta = {
1559 license = [ pkgs.lib.licenses.mit ];
1559 license = [ pkgs.lib.licenses.mit ];
1560 };
1560 };
1561 };
1561 };
1562 setuptools-scm = super.buildPythonPackage {
1562 setuptools-scm = super.buildPythonPackage {
1563 name = "setuptools-scm-1.11.0";
1563 name = "setuptools-scm-1.11.0";
1564 buildInputs = with self; [];
1564 buildInputs = with self; [];
1565 doCheck = false;
1565 doCheck = false;
1566 propagatedBuildInputs = with self; [];
1566 propagatedBuildInputs = with self; [];
1567 src = fetchurl {
1567 src = fetchurl {
1568 url = "https://pypi.python.org/packages/cd/5f/e3a038292358058d83d764a47d09114aa5a8003ed4529518f9e580f1a94f/setuptools_scm-1.11.0.tar.gz";
1568 url = "https://pypi.python.org/packages/cd/5f/e3a038292358058d83d764a47d09114aa5a8003ed4529518f9e580f1a94f/setuptools_scm-1.11.0.tar.gz";
1569 md5 = "4c5c896ba52e134bbc3507bac6400087";
1569 md5 = "4c5c896ba52e134bbc3507bac6400087";
1570 };
1570 };
1571 meta = {
1571 meta = {
1572 license = [ pkgs.lib.licenses.mit ];
1572 license = [ pkgs.lib.licenses.mit ];
1573 };
1573 };
1574 };
1574 };
1575 simplegeneric = super.buildPythonPackage {
1575 simplegeneric = super.buildPythonPackage {
1576 name = "simplegeneric-0.8.1";
1576 name = "simplegeneric-0.8.1";
1577 buildInputs = with self; [];
1577 buildInputs = with self; [];
1578 doCheck = false;
1578 doCheck = false;
1579 propagatedBuildInputs = with self; [];
1579 propagatedBuildInputs = with self; [];
1580 src = fetchurl {
1580 src = fetchurl {
1581 url = "https://pypi.python.org/packages/3d/57/4d9c9e3ae9a255cd4e1106bb57e24056d3d0709fc01b2e3e345898e49d5b/simplegeneric-0.8.1.zip";
1581 url = "https://pypi.python.org/packages/3d/57/4d9c9e3ae9a255cd4e1106bb57e24056d3d0709fc01b2e3e345898e49d5b/simplegeneric-0.8.1.zip";
1582 md5 = "f9c1fab00fd981be588fc32759f474e3";
1582 md5 = "f9c1fab00fd981be588fc32759f474e3";
1583 };
1583 };
1584 meta = {
1584 meta = {
1585 license = [ pkgs.lib.licenses.zpt21 ];
1585 license = [ pkgs.lib.licenses.zpt21 ];
1586 };
1586 };
1587 };
1587 };
1588 simplejson = super.buildPythonPackage {
1588 simplejson = super.buildPythonPackage {
1589 name = "simplejson-3.7.2";
1589 name = "simplejson-3.7.2";
1590 buildInputs = with self; [];
1590 buildInputs = with self; [];
1591 doCheck = false;
1591 doCheck = false;
1592 propagatedBuildInputs = with self; [];
1592 propagatedBuildInputs = with self; [];
1593 src = fetchurl {
1593 src = fetchurl {
1594 url = "https://pypi.python.org/packages/6d/89/7f13f099344eea9d6722779a1f165087cb559598107844b1ac5dbd831fb1/simplejson-3.7.2.tar.gz";
1594 url = "https://pypi.python.org/packages/6d/89/7f13f099344eea9d6722779a1f165087cb559598107844b1ac5dbd831fb1/simplejson-3.7.2.tar.gz";
1595 md5 = "a5fc7d05d4cb38492285553def5d4b46";
1595 md5 = "a5fc7d05d4cb38492285553def5d4b46";
1596 };
1596 };
1597 meta = {
1597 meta = {
1598 license = [ { fullName = "Academic Free License (AFL)"; } pkgs.lib.licenses.mit ];
1598 license = [ { fullName = "Academic Free License (AFL)"; } pkgs.lib.licenses.mit ];
1599 };
1599 };
1600 };
1600 };
1601 six = super.buildPythonPackage {
1601 six = super.buildPythonPackage {
1602 name = "six-1.9.0";
1602 name = "six-1.9.0";
1603 buildInputs = with self; [];
1603 buildInputs = with self; [];
1604 doCheck = false;
1604 doCheck = false;
1605 propagatedBuildInputs = with self; [];
1605 propagatedBuildInputs = with self; [];
1606 src = fetchurl {
1606 src = fetchurl {
1607 url = "https://pypi.python.org/packages/16/64/1dc5e5976b17466fd7d712e59cbe9fb1e18bec153109e5ba3ed6c9102f1a/six-1.9.0.tar.gz";
1607 url = "https://pypi.python.org/packages/16/64/1dc5e5976b17466fd7d712e59cbe9fb1e18bec153109e5ba3ed6c9102f1a/six-1.9.0.tar.gz";
1608 md5 = "476881ef4012262dfc8adc645ee786c4";
1608 md5 = "476881ef4012262dfc8adc645ee786c4";
1609 };
1609 };
1610 meta = {
1610 meta = {
1611 license = [ pkgs.lib.licenses.mit ];
1611 license = [ pkgs.lib.licenses.mit ];
1612 };
1612 };
1613 };
1613 };
1614 subprocess32 = super.buildPythonPackage {
1614 subprocess32 = super.buildPythonPackage {
1615 name = "subprocess32-3.2.6";
1615 name = "subprocess32-3.2.6";
1616 buildInputs = with self; [];
1616 buildInputs = with self; [];
1617 doCheck = false;
1617 doCheck = false;
1618 propagatedBuildInputs = with self; [];
1618 propagatedBuildInputs = with self; [];
1619 src = fetchurl {
1619 src = fetchurl {
1620 url = "https://pypi.python.org/packages/28/8d/33ccbff51053f59ae6c357310cac0e79246bbed1d345ecc6188b176d72c3/subprocess32-3.2.6.tar.gz";
1620 url = "https://pypi.python.org/packages/28/8d/33ccbff51053f59ae6c357310cac0e79246bbed1d345ecc6188b176d72c3/subprocess32-3.2.6.tar.gz";
1621 md5 = "754c5ab9f533e764f931136974b618f1";
1621 md5 = "754c5ab9f533e764f931136974b618f1";
1622 };
1622 };
1623 meta = {
1623 meta = {
1624 license = [ pkgs.lib.licenses.psfl ];
1624 license = [ pkgs.lib.licenses.psfl ];
1625 };
1625 };
1626 };
1626 };
1627 supervisor = super.buildPythonPackage {
1627 supervisor = super.buildPythonPackage {
1628 name = "supervisor-3.3.0";
1628 name = "supervisor-3.3.0";
1629 buildInputs = with self; [];
1629 buildInputs = with self; [];
1630 doCheck = false;
1630 doCheck = false;
1631 propagatedBuildInputs = with self; [meld3];
1631 propagatedBuildInputs = with self; [meld3];
1632 src = fetchurl {
1632 src = fetchurl {
1633 url = "https://pypi.python.org/packages/44/80/d28047d120bfcc8158b4e41127706731ee6a3419c661e0a858fb0e7c4b2d/supervisor-3.3.0.tar.gz";
1633 url = "https://pypi.python.org/packages/44/80/d28047d120bfcc8158b4e41127706731ee6a3419c661e0a858fb0e7c4b2d/supervisor-3.3.0.tar.gz";
1634 md5 = "46bac00378d1eddb616752b990c67416";
1634 md5 = "46bac00378d1eddb616752b990c67416";
1635 };
1635 };
1636 meta = {
1636 meta = {
1637 license = [ { fullName = "BSD-derived (http://www.repoze.org/LICENSE.txt)"; } ];
1637 license = [ { fullName = "BSD-derived (http://www.repoze.org/LICENSE.txt)"; } ];
1638 };
1638 };
1639 };
1639 };
1640 traitlets = super.buildPythonPackage {
1640 traitlets = super.buildPythonPackage {
1641 name = "traitlets-4.3.1";
1641 name = "traitlets-4.3.1";
1642 buildInputs = with self; [];
1642 buildInputs = with self; [];
1643 doCheck = false;
1643 doCheck = false;
1644 propagatedBuildInputs = with self; [ipython-genutils six decorator enum34];
1644 propagatedBuildInputs = with self; [ipython-genutils six decorator enum34];
1645 src = fetchurl {
1645 src = fetchurl {
1646 url = "https://pypi.python.org/packages/b1/d6/5b5aa6d5c474691909b91493da1e8972e309c9f01ecfe4aeafd272eb3234/traitlets-4.3.1.tar.gz";
1646 url = "https://pypi.python.org/packages/b1/d6/5b5aa6d5c474691909b91493da1e8972e309c9f01ecfe4aeafd272eb3234/traitlets-4.3.1.tar.gz";
1647 md5 = "dd0b1b6e5d31ce446d55a4b5e5083c98";
1647 md5 = "dd0b1b6e5d31ce446d55a4b5e5083c98";
1648 };
1648 };
1649 meta = {
1649 meta = {
1650 license = [ pkgs.lib.licenses.bsdOriginal ];
1650 license = [ pkgs.lib.licenses.bsdOriginal ];
1651 };
1651 };
1652 };
1652 };
1653 transifex-client = super.buildPythonPackage {
1653 transifex-client = super.buildPythonPackage {
1654 name = "transifex-client-0.10";
1654 name = "transifex-client-0.10";
1655 buildInputs = with self; [];
1655 buildInputs = with self; [];
1656 doCheck = false;
1656 doCheck = false;
1657 propagatedBuildInputs = with self; [];
1657 propagatedBuildInputs = with self; [];
1658 src = fetchurl {
1658 src = fetchurl {
1659 url = "https://pypi.python.org/packages/f3/4e/7b925192aee656fb3e04fa6381c8b3dc40198047c3b4a356f6cfd642c809/transifex-client-0.10.tar.gz";
1659 url = "https://pypi.python.org/packages/f3/4e/7b925192aee656fb3e04fa6381c8b3dc40198047c3b4a356f6cfd642c809/transifex-client-0.10.tar.gz";
1660 md5 = "5549538d84b8eede6b254cd81ae024fa";
1660 md5 = "5549538d84b8eede6b254cd81ae024fa";
1661 };
1661 };
1662 meta = {
1662 meta = {
1663 license = [ pkgs.lib.licenses.gpl2 ];
1663 license = [ pkgs.lib.licenses.gpl2 ];
1664 };
1664 };
1665 };
1665 };
1666 translationstring = super.buildPythonPackage {
1666 translationstring = super.buildPythonPackage {
1667 name = "translationstring-1.3";
1667 name = "translationstring-1.3";
1668 buildInputs = with self; [];
1668 buildInputs = with self; [];
1669 doCheck = false;
1669 doCheck = false;
1670 propagatedBuildInputs = with self; [];
1670 propagatedBuildInputs = with self; [];
1671 src = fetchurl {
1671 src = fetchurl {
1672 url = "https://pypi.python.org/packages/5e/eb/bee578cc150b44c653b63f5ebe258b5d0d812ddac12497e5f80fcad5d0b4/translationstring-1.3.tar.gz";
1672 url = "https://pypi.python.org/packages/5e/eb/bee578cc150b44c653b63f5ebe258b5d0d812ddac12497e5f80fcad5d0b4/translationstring-1.3.tar.gz";
1673 md5 = "a4b62e0f3c189c783a1685b3027f7c90";
1673 md5 = "a4b62e0f3c189c783a1685b3027f7c90";
1674 };
1674 };
1675 meta = {
1675 meta = {
1676 license = [ { fullName = "BSD-like (http://repoze.org/license.html)"; } ];
1676 license = [ { fullName = "BSD-like (http://repoze.org/license.html)"; } ];
1677 };
1677 };
1678 };
1678 };
1679 trollius = super.buildPythonPackage {
1679 trollius = super.buildPythonPackage {
1680 name = "trollius-1.0.4";
1680 name = "trollius-1.0.4";
1681 buildInputs = with self; [];
1681 buildInputs = with self; [];
1682 doCheck = false;
1682 doCheck = false;
1683 propagatedBuildInputs = with self; [futures];
1683 propagatedBuildInputs = with self; [futures];
1684 src = fetchurl {
1684 src = fetchurl {
1685 url = "https://pypi.python.org/packages/aa/e6/4141db437f55e6ee7a3fb69663239e3fde7841a811b4bef293145ad6c836/trollius-1.0.4.tar.gz";
1685 url = "https://pypi.python.org/packages/aa/e6/4141db437f55e6ee7a3fb69663239e3fde7841a811b4bef293145ad6c836/trollius-1.0.4.tar.gz";
1686 md5 = "3631a464d49d0cbfd30ab2918ef2b783";
1686 md5 = "3631a464d49d0cbfd30ab2918ef2b783";
1687 };
1687 };
1688 meta = {
1688 meta = {
1689 license = [ pkgs.lib.licenses.asl20 ];
1689 license = [ pkgs.lib.licenses.asl20 ];
1690 };
1690 };
1691 };
1691 };
1692 uWSGI = super.buildPythonPackage {
1692 uWSGI = super.buildPythonPackage {
1693 name = "uWSGI-2.0.11.2";
1693 name = "uWSGI-2.0.11.2";
1694 buildInputs = with self; [];
1694 buildInputs = with self; [];
1695 doCheck = false;
1695 doCheck = false;
1696 propagatedBuildInputs = with self; [];
1696 propagatedBuildInputs = with self; [];
1697 src = fetchurl {
1697 src = fetchurl {
1698 url = "https://pypi.python.org/packages/9b/78/918db0cfab0546afa580c1e565209c49aaf1476bbfe491314eadbe47c556/uwsgi-2.0.11.2.tar.gz";
1698 url = "https://pypi.python.org/packages/9b/78/918db0cfab0546afa580c1e565209c49aaf1476bbfe491314eadbe47c556/uwsgi-2.0.11.2.tar.gz";
1699 md5 = "1f02dcbee7f6f61de4b1fd68350cf16f";
1699 md5 = "1f02dcbee7f6f61de4b1fd68350cf16f";
1700 };
1700 };
1701 meta = {
1701 meta = {
1702 license = [ pkgs.lib.licenses.gpl2 ];
1702 license = [ pkgs.lib.licenses.gpl2 ];
1703 };
1703 };
1704 };
1704 };
1705 urllib3 = super.buildPythonPackage {
1705 urllib3 = super.buildPythonPackage {
1706 name = "urllib3-1.16";
1706 name = "urllib3-1.16";
1707 buildInputs = with self; [];
1707 buildInputs = with self; [];
1708 doCheck = false;
1708 doCheck = false;
1709 propagatedBuildInputs = with self; [];
1709 propagatedBuildInputs = with self; [];
1710 src = fetchurl {
1710 src = fetchurl {
1711 url = "https://pypi.python.org/packages/3b/f0/e763169124e3f5db0926bc3dbfcd580a105f9ca44cf5d8e6c7a803c9f6b5/urllib3-1.16.tar.gz";
1711 url = "https://pypi.python.org/packages/3b/f0/e763169124e3f5db0926bc3dbfcd580a105f9ca44cf5d8e6c7a803c9f6b5/urllib3-1.16.tar.gz";
1712 md5 = "fcaab1c5385c57deeb7053d3d7d81d59";
1712 md5 = "fcaab1c5385c57deeb7053d3d7d81d59";
1713 };
1713 };
1714 meta = {
1714 meta = {
1715 license = [ pkgs.lib.licenses.mit ];
1715 license = [ pkgs.lib.licenses.mit ];
1716 };
1716 };
1717 };
1717 };
1718 venusian = super.buildPythonPackage {
1718 venusian = super.buildPythonPackage {
1719 name = "venusian-1.0";
1719 name = "venusian-1.0";
1720 buildInputs = with self; [];
1720 buildInputs = with self; [];
1721 doCheck = false;
1721 doCheck = false;
1722 propagatedBuildInputs = with self; [];
1722 propagatedBuildInputs = with self; [];
1723 src = fetchurl {
1723 src = fetchurl {
1724 url = "https://pypi.python.org/packages/86/20/1948e0dfc4930ddde3da8c33612f6a5717c0b4bc28f591a5c5cf014dd390/venusian-1.0.tar.gz";
1724 url = "https://pypi.python.org/packages/86/20/1948e0dfc4930ddde3da8c33612f6a5717c0b4bc28f591a5c5cf014dd390/venusian-1.0.tar.gz";
1725 md5 = "dccf2eafb7113759d60c86faf5538756";
1725 md5 = "dccf2eafb7113759d60c86faf5538756";
1726 };
1726 };
1727 meta = {
1727 meta = {
1728 license = [ { fullName = "BSD-derived (http://www.repoze.org/LICENSE.txt)"; } ];
1728 license = [ { fullName = "BSD-derived (http://www.repoze.org/LICENSE.txt)"; } ];
1729 };
1729 };
1730 };
1730 };
1731 waitress = super.buildPythonPackage {
1731 waitress = super.buildPythonPackage {
1732 name = "waitress-0.8.9";
1732 name = "waitress-0.8.9";
1733 buildInputs = with self; [];
1733 buildInputs = with self; [];
1734 doCheck = false;
1734 doCheck = false;
1735 propagatedBuildInputs = with self; [setuptools];
1735 propagatedBuildInputs = with self; [setuptools];
1736 src = fetchurl {
1736 src = fetchurl {
1737 url = "https://pypi.python.org/packages/ee/65/fc9dee74a909a1187ca51e4f15ad9c4d35476e4ab5813f73421505c48053/waitress-0.8.9.tar.gz";
1737 url = "https://pypi.python.org/packages/ee/65/fc9dee74a909a1187ca51e4f15ad9c4d35476e4ab5813f73421505c48053/waitress-0.8.9.tar.gz";
1738 md5 = "da3f2e62b3676be5dd630703a68e2a04";
1738 md5 = "da3f2e62b3676be5dd630703a68e2a04";
1739 };
1739 };
1740 meta = {
1740 meta = {
1741 license = [ pkgs.lib.licenses.zpt21 ];
1741 license = [ pkgs.lib.licenses.zpt21 ];
1742 };
1742 };
1743 };
1743 };
1744 wcwidth = super.buildPythonPackage {
1744 wcwidth = super.buildPythonPackage {
1745 name = "wcwidth-0.1.7";
1745 name = "wcwidth-0.1.7";
1746 buildInputs = with self; [];
1746 buildInputs = with self; [];
1747 doCheck = false;
1747 doCheck = false;
1748 propagatedBuildInputs = with self; [];
1748 propagatedBuildInputs = with self; [];
1749 src = fetchurl {
1749 src = fetchurl {
1750 url = "https://pypi.python.org/packages/55/11/e4a2bb08bb450fdbd42cc709dd40de4ed2c472cf0ccb9e64af22279c5495/wcwidth-0.1.7.tar.gz";
1750 url = "https://pypi.python.org/packages/55/11/e4a2bb08bb450fdbd42cc709dd40de4ed2c472cf0ccb9e64af22279c5495/wcwidth-0.1.7.tar.gz";
1751 md5 = "b3b6a0a08f0c8a34d1de8cf44150a4ad";
1751 md5 = "b3b6a0a08f0c8a34d1de8cf44150a4ad";
1752 };
1752 };
1753 meta = {
1753 meta = {
1754 license = [ pkgs.lib.licenses.mit ];
1754 license = [ pkgs.lib.licenses.mit ];
1755 };
1755 };
1756 };
1756 };
1757 ws4py = super.buildPythonPackage {
1757 ws4py = super.buildPythonPackage {
1758 name = "ws4py-0.3.5";
1758 name = "ws4py-0.3.5";
1759 buildInputs = with self; [];
1759 buildInputs = with self; [];
1760 doCheck = false;
1760 doCheck = false;
1761 propagatedBuildInputs = with self; [];
1761 propagatedBuildInputs = with self; [];
1762 src = fetchurl {
1762 src = fetchurl {
1763 url = "https://pypi.python.org/packages/b6/4f/34af703be86939629479e74d6e650e39f3bd73b3b09212c34e5125764cbc/ws4py-0.3.5.zip";
1763 url = "https://pypi.python.org/packages/b6/4f/34af703be86939629479e74d6e650e39f3bd73b3b09212c34e5125764cbc/ws4py-0.3.5.zip";
1764 md5 = "a261b75c20b980e55ce7451a3576a867";
1764 md5 = "a261b75c20b980e55ce7451a3576a867";
1765 };
1765 };
1766 meta = {
1766 meta = {
1767 license = [ pkgs.lib.licenses.bsdOriginal ];
1767 license = [ pkgs.lib.licenses.bsdOriginal ];
1768 };
1768 };
1769 };
1769 };
1770 wsgiref = super.buildPythonPackage {
1770 wsgiref = super.buildPythonPackage {
1771 name = "wsgiref-0.1.2";
1771 name = "wsgiref-0.1.2";
1772 buildInputs = with self; [];
1772 buildInputs = with self; [];
1773 doCheck = false;
1773 doCheck = false;
1774 propagatedBuildInputs = with self; [];
1774 propagatedBuildInputs = with self; [];
1775 src = fetchurl {
1775 src = fetchurl {
1776 url = "https://pypi.python.org/packages/41/9e/309259ce8dff8c596e8c26df86dbc4e848b9249fd36797fd60be456f03fc/wsgiref-0.1.2.zip";
1776 url = "https://pypi.python.org/packages/41/9e/309259ce8dff8c596e8c26df86dbc4e848b9249fd36797fd60be456f03fc/wsgiref-0.1.2.zip";
1777 md5 = "29b146e6ebd0f9fb119fe321f7bcf6cb";
1777 md5 = "29b146e6ebd0f9fb119fe321f7bcf6cb";
1778 };
1778 };
1779 meta = {
1779 meta = {
1780 license = [ { fullName = "PSF or ZPL"; } ];
1780 license = [ { fullName = "PSF or ZPL"; } ];
1781 };
1781 };
1782 };
1782 };
1783 zope.cachedescriptors = super.buildPythonPackage {
1783 zope.cachedescriptors = super.buildPythonPackage {
1784 name = "zope.cachedescriptors-4.0.0";
1784 name = "zope.cachedescriptors-4.0.0";
1785 buildInputs = with self; [];
1785 buildInputs = with self; [];
1786 doCheck = false;
1786 doCheck = false;
1787 propagatedBuildInputs = with self; [setuptools];
1787 propagatedBuildInputs = with self; [setuptools];
1788 src = fetchurl {
1788 src = fetchurl {
1789 url = "https://pypi.python.org/packages/40/33/694b6644c37f28553f4b9f20b3c3a20fb709a22574dff20b5bdffb09ecd5/zope.cachedescriptors-4.0.0.tar.gz";
1789 url = "https://pypi.python.org/packages/40/33/694b6644c37f28553f4b9f20b3c3a20fb709a22574dff20b5bdffb09ecd5/zope.cachedescriptors-4.0.0.tar.gz";
1790 md5 = "8d308de8c936792c8e758058fcb7d0f0";
1790 md5 = "8d308de8c936792c8e758058fcb7d0f0";
1791 };
1791 };
1792 meta = {
1792 meta = {
1793 license = [ pkgs.lib.licenses.zpt21 ];
1793 license = [ pkgs.lib.licenses.zpt21 ];
1794 };
1794 };
1795 };
1795 };
1796 zope.deprecation = super.buildPythonPackage {
1796 zope.deprecation = super.buildPythonPackage {
1797 name = "zope.deprecation-4.1.2";
1797 name = "zope.deprecation-4.1.2";
1798 buildInputs = with self; [];
1798 buildInputs = with self; [];
1799 doCheck = false;
1799 doCheck = false;
1800 propagatedBuildInputs = with self; [setuptools];
1800 propagatedBuildInputs = with self; [setuptools];
1801 src = fetchurl {
1801 src = fetchurl {
1802 url = "https://pypi.python.org/packages/c1/d3/3919492d5e57d8dd01b36f30b34fc8404a30577392b1eb817c303499ad20/zope.deprecation-4.1.2.tar.gz";
1802 url = "https://pypi.python.org/packages/c1/d3/3919492d5e57d8dd01b36f30b34fc8404a30577392b1eb817c303499ad20/zope.deprecation-4.1.2.tar.gz";
1803 md5 = "e9a663ded58f4f9f7881beb56cae2782";
1803 md5 = "e9a663ded58f4f9f7881beb56cae2782";
1804 };
1804 };
1805 meta = {
1805 meta = {
1806 license = [ pkgs.lib.licenses.zpt21 ];
1806 license = [ pkgs.lib.licenses.zpt21 ];
1807 };
1807 };
1808 };
1808 };
1809 zope.event = super.buildPythonPackage {
1809 zope.event = super.buildPythonPackage {
1810 name = "zope.event-4.0.3";
1810 name = "zope.event-4.0.3";
1811 buildInputs = with self; [];
1811 buildInputs = with self; [];
1812 doCheck = false;
1812 doCheck = false;
1813 propagatedBuildInputs = with self; [setuptools];
1813 propagatedBuildInputs = with self; [setuptools];
1814 src = fetchurl {
1814 src = fetchurl {
1815 url = "https://pypi.python.org/packages/c1/29/91ba884d7d6d96691df592e9e9c2bfa57a47040ec1ff47eff18c85137152/zope.event-4.0.3.tar.gz";
1815 url = "https://pypi.python.org/packages/c1/29/91ba884d7d6d96691df592e9e9c2bfa57a47040ec1ff47eff18c85137152/zope.event-4.0.3.tar.gz";
1816 md5 = "9a3780916332b18b8b85f522bcc3e249";
1816 md5 = "9a3780916332b18b8b85f522bcc3e249";
1817 };
1817 };
1818 meta = {
1818 meta = {
1819 license = [ pkgs.lib.licenses.zpt21 ];
1819 license = [ pkgs.lib.licenses.zpt21 ];
1820 };
1820 };
1821 };
1821 };
1822 zope.interface = super.buildPythonPackage {
1822 zope.interface = super.buildPythonPackage {
1823 name = "zope.interface-4.1.3";
1823 name = "zope.interface-4.1.3";
1824 buildInputs = with self; [];
1824 buildInputs = with self; [];
1825 doCheck = false;
1825 doCheck = false;
1826 propagatedBuildInputs = with self; [setuptools];
1826 propagatedBuildInputs = with self; [setuptools];
1827 src = fetchurl {
1827 src = fetchurl {
1828 url = "https://pypi.python.org/packages/9d/81/2509ca3c6f59080123c1a8a97125eb48414022618cec0e64eb1313727bfe/zope.interface-4.1.3.tar.gz";
1828 url = "https://pypi.python.org/packages/9d/81/2509ca3c6f59080123c1a8a97125eb48414022618cec0e64eb1313727bfe/zope.interface-4.1.3.tar.gz";
1829 md5 = "9ae3d24c0c7415deb249dd1a132f0f79";
1829 md5 = "9ae3d24c0c7415deb249dd1a132f0f79";
1830 };
1830 };
1831 meta = {
1831 meta = {
1832 license = [ pkgs.lib.licenses.zpt21 ];
1832 license = [ pkgs.lib.licenses.zpt21 ];
1833 };
1833 };
1834 };
1834 };
1835
1835
1836 ### Test requirements
1836 ### Test requirements
1837
1837
1838 pytest-sugar = super.buildPythonPackage {
1838 pytest-sugar = super.buildPythonPackage {
1839 name = "pytest-sugar-0.7.1";
1839 name = "pytest-sugar-0.7.1";
1840 buildInputs = with self; [];
1840 buildInputs = with self; [];
1841 doCheck = false;
1841 doCheck = false;
1842 propagatedBuildInputs = with self; [pytest termcolor];
1842 propagatedBuildInputs = with self; [pytest termcolor];
1843 src = fetchurl {
1843 src = fetchurl {
1844 url = "https://pypi.python.org/packages/03/97/05d988b4fa870e7373e8ee4582408543b9ca2bd35c3c67b569369c6f9c49/pytest-sugar-0.7.1.tar.gz";
1844 url = "https://pypi.python.org/packages/03/97/05d988b4fa870e7373e8ee4582408543b9ca2bd35c3c67b569369c6f9c49/pytest-sugar-0.7.1.tar.gz";
1845 md5 = "7400f7c11f3d572b2c2a3b60352d35fe";
1845 md5 = "7400f7c11f3d572b2c2a3b60352d35fe";
1846 };
1846 };
1847 meta = {
1847 meta = {
1848 license = [ pkgs.lib.licenses.bsdOriginal ];
1848 license = [ pkgs.lib.licenses.bsdOriginal ];
1849 };
1849 };
1850 };
1850 };
1851 termcolor = super.buildPythonPackage {
1851 termcolor = super.buildPythonPackage {
1852 name = "termcolor-1.1.0";
1852 name = "termcolor-1.1.0";
1853 buildInputs = with self; [];
1853 buildInputs = with self; [];
1854 doCheck = false;
1854 doCheck = false;
1855 propagatedBuildInputs = with self; [];
1855 propagatedBuildInputs = with self; [];
1856 src = fetchurl {
1856 src = fetchurl {
1857 url = "https://pypi.python.org/packages/8a/48/a76be51647d0eb9f10e2a4511bf3ffb8cc1e6b14e9e4fab46173aa79f981/termcolor-1.1.0.tar.gz";
1857 url = "https://pypi.python.org/packages/8a/48/a76be51647d0eb9f10e2a4511bf3ffb8cc1e6b14e9e4fab46173aa79f981/termcolor-1.1.0.tar.gz";
1858 md5 = "043e89644f8909d462fbbfa511c768df";
1858 md5 = "043e89644f8909d462fbbfa511c768df";
1859 };
1859 };
1860 meta = {
1860 meta = {
1861 license = [ pkgs.lib.licenses.mit ];
1861 license = [ pkgs.lib.licenses.mit ];
1862 };
1862 };
1863 };
1863 };
1864 }
1864 }
@@ -1,150 +1,154 b''
1 Babel==1.3
1 Babel==1.3
2 Beaker==1.7.0
2 Beaker==1.7.0
3 Chameleon==2.24
3 Chameleon==2.24
4 CProfileV==1.0.6
4 CProfileV==1.0.6
5 FormEncode==1.2.4
5 FormEncode==1.2.4
6 Jinja2==2.7.3
6 Jinja2==2.7.3
7 Mako==1.0.1
7 Mako==1.0.1
8 Markdown==2.6.2
8 Markdown==2.6.2
9 MarkupSafe==0.23
9 MarkupSafe==0.23
10 MySQL-python==1.2.5
10 MySQL-python==1.2.5
11 Paste==2.0.2
11 Paste==2.0.2
12 PasteDeploy==1.5.2
12 PasteDeploy==1.5.2
13 PasteScript==1.7.5
13 PasteScript==1.7.5
14 Pygments==2.1.3
14 Pygments==2.1.3
15 pygments-markdown-lexer==0.1.0.dev39
15 pygments-markdown-lexer==0.1.0.dev39
16
16
17 # TODO: This version is not available on PyPI
17 # TODO: This version is not available on PyPI
18 # Pylons==1.0.2.dev20160108
18 # Pylons==1.0.2.dev20160108
19 Pylons==1.0.1
19 Pylons==1.0.1
20
20
21 # TODO: This version is not available, but newer ones are
21 # TODO: This version is not available, but newer ones are
22 # Pyro4==4.35
22 # Pyro4==4.35
23 Pyro4==4.41
23 Pyro4==4.41
24
24
25 # TODO: This should probably not be in here
25 # TODO: This should probably not be in here
26 # -e hg+https://johbo@code.rhodecode.com/johbo/rhodecode-fork@3a454bd1f17c0b2b2a951cf2b111e0320d7942a9#egg=RhodeCodeEnterprise-dev
26 # -e hg+https://johbo@code.rhodecode.com/johbo/rhodecode-fork@3a454bd1f17c0b2b2a951cf2b111e0320d7942a9#egg=RhodeCodeEnterprise-dev
27
27
28 Routes==1.13
28 Routes==1.13
29 SQLAlchemy==0.9.9
29 SQLAlchemy==0.9.9
30 Sphinx==1.2.2
30 Sphinx==1.2.2
31 Tempita==0.5.2
31 Tempita==0.5.2
32 URLObject==2.4.0
32 URLObject==2.4.0
33 WebError==0.10.3
33 WebError==0.10.3
34
34
35 # TODO: This is modified by us, needs a better integration. For now
35 # TODO: This is modified by us, needs a better integration. For now
36 # using the latest version before.
36 # using the latest version before.
37 # WebHelpers==1.3.dev20150807
37 # WebHelpers==1.3.dev20150807
38 WebHelpers==1.3
38 WebHelpers==1.3
39
39
40 WebHelpers2==2.0
40 WebHelpers2==2.0
41 WebOb==1.3.1
41 WebOb==1.3.1
42 WebTest==1.4.3
43 Whoosh==2.7.0
42 Whoosh==2.7.0
44 alembic==0.8.4
43 alembic==0.8.4
45 amqplib==1.0.2
44 amqplib==1.0.2
46 anyjson==0.3.3
45 anyjson==0.3.3
47 appenlight-client==0.6.14
46 appenlight-client==0.6.14
48 authomatic==0.1.0.post1;
47 authomatic==0.1.0.post1;
49 backport-ipaddress==0.1
48 backport-ipaddress==0.1
50 bottle==0.12.8
49 bottle==0.12.8
51 bumpversion==0.5.3
50 bumpversion==0.5.3
52 celery==2.2.10
51 celery==2.2.10
53 channelstream==0.5.2
52 channelstream==0.5.2
54 click==5.1
53 click==5.1
55 colander==1.2
54 colander==1.2
56 configobj==5.0.6
55 configobj==5.0.6
57 cov-core==1.15.0
58 coverage==3.7.1
59 cssselect==0.9.1
56 cssselect==0.9.1
60 decorator==3.4.2
57 decorator==3.4.2
61 deform==2.0a2
58 deform==2.0a2
62 docutils==0.12
59 docutils==0.12
63 dogpile.cache==0.6.1
60 dogpile.cache==0.6.1
64 dogpile.core==0.4.1
61 dogpile.core==0.4.1
65 dulwich==0.12.0
62 dulwich==0.12.0
66 ecdsa==0.11
63 ecdsa==0.11
67 future==0.14.3
64 future==0.14.3
68 futures==3.0.2
65 futures==3.0.2
69 gevent==1.1.1
66 gevent==1.1.1
70 gprof2dot==2015.12.1
67 gprof2dot==2015.12.1
71 greenlet==0.4.9
68 greenlet==0.4.9
72 gunicorn==19.6.0
69 gunicorn==19.6.0
73
70
74 # TODO: Needs subvertpy and blows up without Subversion headers,
71 # TODO: Needs subvertpy and blows up without Subversion headers,
75 # actually we should not need this for Enterprise at all.
72 # actually we should not need this for Enterprise at all.
76 # hgsubversion==1.8.2
73 # hgsubversion==1.8.2
77
74
78 gnureadline==6.3.3
75 gnureadline==6.3.3
79 infrae.cache==1.0.1
76 infrae.cache==1.0.1
80 invoke==0.13.0
77 invoke==0.13.0
81 ipdb==0.10.1
78 ipdb==0.10.1
82 ipython==5.1.0
79 ipython==5.1.0
83 iso8601==0.1.11
80 iso8601==0.1.11
84 itsdangerous==0.24
81 itsdangerous==0.24
85 kombu==1.5.1
82 kombu==1.5.1
86 lxml==3.4.4
83 lxml==3.4.4
87 meld3==1.0.2
84 meld3==1.0.2
88 mock==1.0.1
89 msgpack-python==0.4.6
85 msgpack-python==0.4.6
90 nose==1.3.6
86 nose==1.3.6
91 objgraph==2.0.0
87 objgraph==2.0.0
92 packaging==15.2
88 packaging==15.2
93 paramiko==1.15.1
89 paramiko==1.15.1
94 psutil==4.3.1
90 psutil==4.3.1
95 psycopg2==2.6.1
91 psycopg2==2.6.1
96 py==1.4.29
97 py-bcrypt==0.4
92 py-bcrypt==0.4
98 py-gfm==0.1.3
93 py-gfm==0.1.3
99 pycrypto==2.6.1
94 pycrypto==2.6.1
100 pycurl==7.19.5
95 pycurl==7.19.5
101 pyflakes==0.8.1
96 pyflakes==0.8.1
102 pyparsing==1.5.7
97 pyparsing==1.5.7
103 pyramid==1.6.1
98 pyramid==1.6.1
104 pyramid-beaker==0.8
99 pyramid-beaker==0.8
105 pyramid-debugtoolbar==2.4.2
100 pyramid-debugtoolbar==2.4.2
106 pyramid-jinja2==2.5
101 pyramid-jinja2==2.5
107 pyramid-mako==1.0.2
102 pyramid-mako==1.0.2
108 pysqlite==2.6.3
103 pysqlite==2.6.3
109 pytest==2.8.5
110 pytest-runner==2.7.1
111 pytest-catchlog==1.2.2
112 pytest-cov==1.8.1
113 pytest-profiling==1.0.1
114 pytest-timeout==0.4
115 python-dateutil==1.5
104 python-dateutil==1.5
116 python-ldap==2.4.19
105 python-ldap==2.4.19
117 python-memcached==1.57
106 python-memcached==1.57
118 python-pam==1.8.2
107 python-pam==1.8.2
119 pytz==2015.4
108 pytz==2015.4
120 pyzmq==14.6.0
109 pyzmq==14.6.0
121
110
122 # TODO: This is not available in public
111 # TODO: This is not available in public
123 # rc-testdata==0.2.0
112 # rc-testdata==0.2.0
124
113
125 https://code.rhodecode.com/rhodecode-tools-ce/archive/v0.10.2.zip#md5=d2af3985a1a32a678944d4d48870cb04
114 https://code.rhodecode.com/rhodecode-tools-ce/archive/v0.10.2.zip#md5=d2af3985a1a32a678944d4d48870cb04
126
115
127
116
128 recaptcha-client==1.0.6
117 recaptcha-client==1.0.6
129 repoze.lru==0.6
118 repoze.lru==0.6
130 requests==2.9.1
119 requests==2.9.1
131 serpent==1.12
120 serpent==1.12
132 setproctitle==1.1.8
121 setproctitle==1.1.8
133 setuptools==20.8.1
122 setuptools==20.8.1
134 setuptools-scm==1.11.0
123 setuptools-scm==1.11.0
135 simplejson==3.7.2
124 simplejson==3.7.2
136 six==1.9.0
125 six==1.9.0
137 subprocess32==3.2.6
126 subprocess32==3.2.6
138 supervisor==3.3.0
127 supervisor==3.3.0
139 transifex-client==0.10
128 transifex-client==0.10
140 translationstring==1.3
129 translationstring==1.3
141 trollius==1.0.4
130 trollius==1.0.4
142 uWSGI==2.0.11.2
131 uWSGI==2.0.11.2
143 urllib3==1.16
132 urllib3==1.16
144 venusian==1.0
133 venusian==1.0
145 waitress==0.8.9
134 waitress==0.8.9
146 wsgiref==0.1.2
135 wsgiref==0.1.2
147 zope.cachedescriptors==4.0.0
136 zope.cachedescriptors==4.0.0
148 zope.deprecation==4.1.2
137 zope.deprecation==4.1.2
149 zope.event==4.0.3
138 zope.event==4.0.3
150 zope.interface==4.1.3
139 zope.interface==4.1.3
140
141 # test related requirements
142 pytest==3.0.5
143 py==1.4.31
144 pytest-runner==2.9.0
145 pytest-catchlog==1.2.2
146 pytest-cov==2.4.0
147 pytest-profiling==1.2.2
148 gprof2dot==2016.10.13
149 pytest-timeout==1.2.0
150 pytest-sugar==0.7.1
151 mock==1.0.1
152 WebTest==1.4.3
153 cov-core==1.15.0
154 coverage==3.7.1
@@ -1,388 +1,388 b''
1 # -*- coding: utf-8 -*-
1 # -*- coding: utf-8 -*-
2
2
3 # Copyright (C) 2010-2016 RhodeCode GmbH
3 # Copyright (C) 2010-2016 RhodeCode GmbH
4 #
4 #
5 # This program is free software: you can redistribute it and/or modify
5 # This program is free software: you can redistribute it and/or modify
6 # it under the terms of the GNU Affero General Public License, version 3
6 # it under the terms of the GNU Affero General Public License, version 3
7 # (only), as published by the Free Software Foundation.
7 # (only), as published by the Free Software Foundation.
8 #
8 #
9 # This program is distributed in the hope that it will be useful,
9 # This program is distributed in the hope that it will be useful,
10 # but WITHOUT ANY WARRANTY; without even the implied warranty of
10 # but WITHOUT ANY WARRANTY; without even the implied warranty of
11 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 # GNU General Public License for more details.
12 # GNU General Public License for more details.
13 #
13 #
14 # You should have received a copy of the GNU Affero General Public License
14 # You should have received a copy of the GNU Affero General Public License
15 # along with this program. If not, see <http://www.gnu.org/licenses/>.
15 # along with this program. If not, see <http://www.gnu.org/licenses/>.
16 #
16 #
17 # This program is dual-licensed. If you wish to learn more about the
17 # This program is dual-licensed. If you wish to learn more about the
18 # RhodeCode Enterprise Edition, including its added features, Support services,
18 # RhodeCode Enterprise Edition, including its added features, Support services,
19 # and proprietary license terms, please see https://rhodecode.com/licenses/
19 # and proprietary license terms, please see https://rhodecode.com/licenses/
20
20
21 import json
21 import json
22 import logging
22 import logging
23 from StringIO import StringIO
23 from StringIO import StringIO
24
24
25 import mock
25 import mock
26 import pytest
26 import pytest
27
27
28 from rhodecode.lib import hooks_daemon
28 from rhodecode.lib import hooks_daemon
29 from rhodecode.tests.utils import assert_message_in_log
29 from rhodecode.tests.utils import assert_message_in_log
30
30
31
31
32 class TestDummyHooksCallbackDaemon(object):
32 class TestDummyHooksCallbackDaemon(object):
33 def test_hooks_module_path_set_properly(self):
33 def test_hooks_module_path_set_properly(self):
34 daemon = hooks_daemon.DummyHooksCallbackDaemon()
34 daemon = hooks_daemon.DummyHooksCallbackDaemon()
35 assert daemon.hooks_module == 'rhodecode.lib.hooks_daemon'
35 assert daemon.hooks_module == 'rhodecode.lib.hooks_daemon'
36
36
37 def test_logs_entering_the_hook(self):
37 def test_logs_entering_the_hook(self):
38 daemon = hooks_daemon.DummyHooksCallbackDaemon()
38 daemon = hooks_daemon.DummyHooksCallbackDaemon()
39 with mock.patch.object(hooks_daemon.log, 'debug') as log_mock:
39 with mock.patch.object(hooks_daemon.log, 'debug') as log_mock:
40 with daemon as return_value:
40 with daemon as return_value:
41 log_mock.assert_called_once_with(
41 log_mock.assert_called_once_with(
42 'Running dummy hooks callback daemon')
42 'Running dummy hooks callback daemon')
43 assert return_value == daemon
43 assert return_value == daemon
44
44
45 def test_logs_exiting_the_hook(self):
45 def test_logs_exiting_the_hook(self):
46 daemon = hooks_daemon.DummyHooksCallbackDaemon()
46 daemon = hooks_daemon.DummyHooksCallbackDaemon()
47 with mock.patch.object(hooks_daemon.log, 'debug') as log_mock:
47 with mock.patch.object(hooks_daemon.log, 'debug') as log_mock:
48 with daemon:
48 with daemon:
49 pass
49 pass
50 log_mock.assert_called_with('Exiting dummy hooks callback daemon')
50 log_mock.assert_called_with('Exiting dummy hooks callback daemon')
51
51
52
52
53 class TestHooks(object):
53 class TestHooks(object):
54 def test_hooks_can_be_used_as_a_context_processor(self):
54 def test_hooks_can_be_used_as_a_context_processor(self):
55 hooks = hooks_daemon.Hooks()
55 hooks = hooks_daemon.Hooks()
56 with hooks as return_value:
56 with hooks as return_value:
57 pass
57 pass
58 assert hooks == return_value
58 assert hooks == return_value
59
59
60
60
61 class TestHooksHttpHandler(object):
61 class TestHooksHttpHandler(object):
62 def test_read_request_parses_method_name_and_arguments(self):
62 def test_read_request_parses_method_name_and_arguments(self):
63 data = {
63 data = {
64 'method': 'test',
64 'method': 'test',
65 'extras': {
65 'extras': {
66 'param1': 1,
66 'param1': 1,
67 'param2': 'a'
67 'param2': 'a'
68 }
68 }
69 }
69 }
70 request = self._generate_post_request(data)
70 request = self._generate_post_request(data)
71 hooks_patcher = mock.patch.object(
71 hooks_patcher = mock.patch.object(
72 hooks_daemon.Hooks, data['method'], create=True, return_value=1)
72 hooks_daemon.Hooks, data['method'], create=True, return_value=1)
73
73
74 with hooks_patcher as hooks_mock:
74 with hooks_patcher as hooks_mock:
75 MockServer(hooks_daemon.HooksHttpHandler, request)
75 MockServer(hooks_daemon.HooksHttpHandler, request)
76
76
77 hooks_mock.assert_called_once_with(data['extras'])
77 hooks_mock.assert_called_once_with(data['extras'])
78
78
79 def test_hooks_serialized_result_is_returned(self):
79 def test_hooks_serialized_result_is_returned(self):
80 request = self._generate_post_request({})
80 request = self._generate_post_request({})
81 rpc_method = 'test'
81 rpc_method = 'test'
82 hook_result = {
82 hook_result = {
83 'first': 'one',
83 'first': 'one',
84 'second': 2
84 'second': 2
85 }
85 }
86 read_patcher = mock.patch.object(
86 read_patcher = mock.patch.object(
87 hooks_daemon.HooksHttpHandler, '_read_request',
87 hooks_daemon.HooksHttpHandler, '_read_request',
88 return_value=(rpc_method, {}))
88 return_value=(rpc_method, {}))
89 hooks_patcher = mock.patch.object(
89 hooks_patcher = mock.patch.object(
90 hooks_daemon.Hooks, rpc_method, create=True,
90 hooks_daemon.Hooks, rpc_method, create=True,
91 return_value=hook_result)
91 return_value=hook_result)
92
92
93 with read_patcher, hooks_patcher:
93 with read_patcher, hooks_patcher:
94 server = MockServer(hooks_daemon.HooksHttpHandler, request)
94 server = MockServer(hooks_daemon.HooksHttpHandler, request)
95
95
96 expected_result = json.dumps(hook_result)
96 expected_result = json.dumps(hook_result)
97 assert server.request.output_stream.buflist[-1] == expected_result
97 assert server.request.output_stream.buflist[-1] == expected_result
98
98
99 def test_exception_is_returned_in_response(self):
99 def test_exception_is_returned_in_response(self):
100 request = self._generate_post_request({})
100 request = self._generate_post_request({})
101 rpc_method = 'test'
101 rpc_method = 'test'
102 read_patcher = mock.patch.object(
102 read_patcher = mock.patch.object(
103 hooks_daemon.HooksHttpHandler, '_read_request',
103 hooks_daemon.HooksHttpHandler, '_read_request',
104 return_value=(rpc_method, {}))
104 return_value=(rpc_method, {}))
105 hooks_patcher = mock.patch.object(
105 hooks_patcher = mock.patch.object(
106 hooks_daemon.Hooks, rpc_method, create=True,
106 hooks_daemon.Hooks, rpc_method, create=True,
107 side_effect=Exception('Test exception'))
107 side_effect=Exception('Test exception'))
108
108
109 with read_patcher, hooks_patcher:
109 with read_patcher, hooks_patcher:
110 server = MockServer(hooks_daemon.HooksHttpHandler, request)
110 server = MockServer(hooks_daemon.HooksHttpHandler, request)
111
111
112 expected_result = json.dumps({
112 expected_result = json.dumps({
113 'exception': 'Exception',
113 'exception': 'Exception',
114 'exception_args': ('Test exception', )
114 'exception_args': ('Test exception', )
115 })
115 })
116 assert server.request.output_stream.buflist[-1] == expected_result
116 assert server.request.output_stream.buflist[-1] == expected_result
117
117
118 def test_log_message_writes_to_debug_log(self, caplog):
118 def test_log_message_writes_to_debug_log(self, caplog):
119 ip_port = ('0.0.0.0', 8888)
119 ip_port = ('0.0.0.0', 8888)
120 handler = hooks_daemon.HooksHttpHandler(
120 handler = hooks_daemon.HooksHttpHandler(
121 MockRequest('POST /'), ip_port, mock.Mock())
121 MockRequest('POST /'), ip_port, mock.Mock())
122 fake_date = '1/Nov/2015 00:00:00'
122 fake_date = '1/Nov/2015 00:00:00'
123 date_patcher = mock.patch.object(
123 date_patcher = mock.patch.object(
124 handler, 'log_date_time_string', return_value=fake_date)
124 handler, 'log_date_time_string', return_value=fake_date)
125 with date_patcher, caplog.atLevel(logging.DEBUG):
125 with date_patcher, caplog.at_level(logging.DEBUG):
126 handler.log_message('Some message %d, %s', 123, 'string')
126 handler.log_message('Some message %d, %s', 123, 'string')
127
127
128 expected_message = '{} - - [{}] Some message 123, string'.format(
128 expected_message = '{} - - [{}] Some message 123, string'.format(
129 ip_port[0], fake_date)
129 ip_port[0], fake_date)
130 assert_message_in_log(
130 assert_message_in_log(
131 caplog.records(), expected_message,
131 caplog.records, expected_message,
132 levelno=logging.DEBUG, module='hooks_daemon')
132 levelno=logging.DEBUG, module='hooks_daemon')
133
133
134 def _generate_post_request(self, data):
134 def _generate_post_request(self, data):
135 payload = json.dumps(data)
135 payload = json.dumps(data)
136 return 'POST / HTTP/1.0\nContent-Length: {}\n\n{}'.format(
136 return 'POST / HTTP/1.0\nContent-Length: {}\n\n{}'.format(
137 len(payload), payload)
137 len(payload), payload)
138
138
139
139
140 class ThreadedHookCallbackDaemon(object):
140 class ThreadedHookCallbackDaemon(object):
141 def test_constructor_calls_prepare(self):
141 def test_constructor_calls_prepare(self):
142 prepare_daemon_patcher = mock.patch.object(
142 prepare_daemon_patcher = mock.patch.object(
143 hooks_daemon.ThreadedHookCallbackDaemon, '_prepare')
143 hooks_daemon.ThreadedHookCallbackDaemon, '_prepare')
144 with prepare_daemon_patcher as prepare_daemon_mock:
144 with prepare_daemon_patcher as prepare_daemon_mock:
145 hooks_daemon.ThreadedHookCallbackDaemon()
145 hooks_daemon.ThreadedHookCallbackDaemon()
146 prepare_daemon_mock.assert_called_once_with()
146 prepare_daemon_mock.assert_called_once_with()
147
147
148 def test_run_is_called_on_context_start(self):
148 def test_run_is_called_on_context_start(self):
149 patchers = mock.patch.multiple(
149 patchers = mock.patch.multiple(
150 hooks_daemon.ThreadedHookCallbackDaemon,
150 hooks_daemon.ThreadedHookCallbackDaemon,
151 _run=mock.DEFAULT, _prepare=mock.DEFAULT, __exit__=mock.DEFAULT)
151 _run=mock.DEFAULT, _prepare=mock.DEFAULT, __exit__=mock.DEFAULT)
152
152
153 with patchers as mocks:
153 with patchers as mocks:
154 daemon = hooks_daemon.ThreadedHookCallbackDaemon()
154 daemon = hooks_daemon.ThreadedHookCallbackDaemon()
155 with daemon as daemon_context:
155 with daemon as daemon_context:
156 pass
156 pass
157 mocks['_run'].assert_called_once_with()
157 mocks['_run'].assert_called_once_with()
158 assert daemon_context == daemon
158 assert daemon_context == daemon
159
159
160 def test_stop_is_called_on_context_exit(self):
160 def test_stop_is_called_on_context_exit(self):
161 patchers = mock.patch.multiple(
161 patchers = mock.patch.multiple(
162 hooks_daemon.ThreadedHookCallbackDaemon,
162 hooks_daemon.ThreadedHookCallbackDaemon,
163 _run=mock.DEFAULT, _prepare=mock.DEFAULT, _stop=mock.DEFAULT)
163 _run=mock.DEFAULT, _prepare=mock.DEFAULT, _stop=mock.DEFAULT)
164
164
165 with patchers as mocks:
165 with patchers as mocks:
166 daemon = hooks_daemon.ThreadedHookCallbackDaemon()
166 daemon = hooks_daemon.ThreadedHookCallbackDaemon()
167 with daemon as daemon_context:
167 with daemon as daemon_context:
168 assert mocks['_stop'].call_count == 0
168 assert mocks['_stop'].call_count == 0
169
169
170 mocks['_stop'].assert_called_once_with()
170 mocks['_stop'].assert_called_once_with()
171 assert daemon_context == daemon
171 assert daemon_context == daemon
172
172
173
173
174 class TestPyro4HooksCallbackDaemon(object):
174 class TestPyro4HooksCallbackDaemon(object):
175 def test_prepare_inits_pyro4_and_registers_hooks(self, caplog):
175 def test_prepare_inits_pyro4_and_registers_hooks(self, caplog):
176 pyro4_daemon = mock.Mock()
176 pyro4_daemon = mock.Mock()
177
177
178 with self._pyro4_patcher(pyro4_daemon), caplog.atLevel(logging.DEBUG):
178 with self._pyro4_patcher(pyro4_daemon), caplog.at_level(logging.DEBUG):
179 daemon = hooks_daemon.Pyro4HooksCallbackDaemon()
179 daemon = hooks_daemon.Pyro4HooksCallbackDaemon()
180
180
181 assert daemon._daemon == pyro4_daemon
181 assert daemon._daemon == pyro4_daemon
182
182
183 assert pyro4_daemon.register.call_count == 1
183 assert pyro4_daemon.register.call_count == 1
184 args, kwargs = pyro4_daemon.register.call_args
184 args, kwargs = pyro4_daemon.register.call_args
185 assert len(args) == 1
185 assert len(args) == 1
186 assert isinstance(args[0], hooks_daemon.Hooks)
186 assert isinstance(args[0], hooks_daemon.Hooks)
187
187
188 assert_message_in_log(
188 assert_message_in_log(
189 caplog.records(),
189 caplog.records,
190 'Preparing callback daemon and registering hook object',
190 'Preparing callback daemon and registering hook object',
191 levelno=logging.DEBUG, module='hooks_daemon')
191 levelno=logging.DEBUG, module='hooks_daemon')
192
192
193 def test_run_creates_a_thread(self):
193 def test_run_creates_a_thread(self):
194 thread = mock.Mock()
194 thread = mock.Mock()
195 pyro4_daemon = mock.Mock()
195 pyro4_daemon = mock.Mock()
196
196
197 with self._pyro4_patcher(pyro4_daemon):
197 with self._pyro4_patcher(pyro4_daemon):
198 daemon = hooks_daemon.Pyro4HooksCallbackDaemon()
198 daemon = hooks_daemon.Pyro4HooksCallbackDaemon()
199
199
200 with self._thread_patcher(thread) as thread_mock:
200 with self._thread_patcher(thread) as thread_mock:
201 daemon._run()
201 daemon._run()
202
202
203 assert thread_mock.call_count == 1
203 assert thread_mock.call_count == 1
204 args, kwargs = thread_mock.call_args
204 args, kwargs = thread_mock.call_args
205 assert args == ()
205 assert args == ()
206 assert kwargs['target'] == pyro4_daemon.requestLoop
206 assert kwargs['target'] == pyro4_daemon.requestLoop
207 assert kwargs['kwargs']['loopCondition']() is True
207 assert kwargs['kwargs']['loopCondition']() is True
208
208
209 def test_stop_cleans_up_the_connection(self, caplog):
209 def test_stop_cleans_up_the_connection(self, caplog):
210 thread = mock.Mock()
210 thread = mock.Mock()
211 pyro4_daemon = mock.Mock()
211 pyro4_daemon = mock.Mock()
212
212
213 with self._pyro4_patcher(pyro4_daemon):
213 with self._pyro4_patcher(pyro4_daemon):
214 daemon = hooks_daemon.Pyro4HooksCallbackDaemon()
214 daemon = hooks_daemon.Pyro4HooksCallbackDaemon()
215
215
216 with self._thread_patcher(thread), caplog.atLevel(logging.DEBUG):
216 with self._thread_patcher(thread), caplog.at_level(logging.DEBUG):
217 with daemon:
217 with daemon:
218 assert daemon._daemon == pyro4_daemon
218 assert daemon._daemon == pyro4_daemon
219 assert daemon._callback_thread == thread
219 assert daemon._callback_thread == thread
220
220
221 assert daemon._daemon is None
221 assert daemon._daemon is None
222 assert daemon._callback_thread is None
222 assert daemon._callback_thread is None
223 pyro4_daemon.close.assert_called_with()
223 pyro4_daemon.close.assert_called_with()
224 thread.join.assert_called_once_with()
224 thread.join.assert_called_once_with()
225
225
226 assert_message_in_log(
226 assert_message_in_log(
227 caplog.records(), 'Waiting for background thread to finish.',
227 caplog.records, 'Waiting for background thread to finish.',
228 levelno=logging.DEBUG, module='hooks_daemon')
228 levelno=logging.DEBUG, module='hooks_daemon')
229
229
230 def _pyro4_patcher(self, daemon):
230 def _pyro4_patcher(self, daemon):
231 return mock.patch.object(
231 return mock.patch.object(
232 hooks_daemon.Pyro4, 'Daemon', return_value=daemon)
232 hooks_daemon.Pyro4, 'Daemon', return_value=daemon)
233
233
234 def _thread_patcher(self, thread):
234 def _thread_patcher(self, thread):
235 return mock.patch.object(
235 return mock.patch.object(
236 hooks_daemon.threading, 'Thread', return_value=thread)
236 hooks_daemon.threading, 'Thread', return_value=thread)
237
237
238
238
239 class TestHttpHooksCallbackDaemon(object):
239 class TestHttpHooksCallbackDaemon(object):
240 def test_prepare_inits_daemon_variable(self, tcp_server, caplog):
240 def test_prepare_inits_daemon_variable(self, tcp_server, caplog):
241 with self._tcp_patcher(tcp_server), caplog.atLevel(logging.DEBUG):
241 with self._tcp_patcher(tcp_server), caplog.at_level(logging.DEBUG):
242 daemon = hooks_daemon.HttpHooksCallbackDaemon()
242 daemon = hooks_daemon.HttpHooksCallbackDaemon()
243 assert daemon._daemon == tcp_server
243 assert daemon._daemon == tcp_server
244
244
245 assert_message_in_log(
245 assert_message_in_log(
246 caplog.records(),
246 caplog.records,
247 'Preparing callback daemon and registering hook object',
247 'Preparing callback daemon and registering hook object',
248 levelno=logging.DEBUG, module='hooks_daemon')
248 levelno=logging.DEBUG, module='hooks_daemon')
249
249
250 def test_prepare_inits_hooks_uri_and_logs_it(
250 def test_prepare_inits_hooks_uri_and_logs_it(
251 self, tcp_server, caplog):
251 self, tcp_server, caplog):
252 with self._tcp_patcher(tcp_server), caplog.atLevel(logging.DEBUG):
252 with self._tcp_patcher(tcp_server), caplog.at_level(logging.DEBUG):
253 daemon = hooks_daemon.HttpHooksCallbackDaemon()
253 daemon = hooks_daemon.HttpHooksCallbackDaemon()
254
254
255 _, port = tcp_server.server_address
255 _, port = tcp_server.server_address
256 expected_uri = '{}:{}'.format(daemon.IP_ADDRESS, port)
256 expected_uri = '{}:{}'.format(daemon.IP_ADDRESS, port)
257 assert daemon.hooks_uri == expected_uri
257 assert daemon.hooks_uri == expected_uri
258
258
259 assert_message_in_log(
259 assert_message_in_log(
260 caplog.records(), 'Hooks uri is: {}'.format(expected_uri),
260 caplog.records, 'Hooks uri is: {}'.format(expected_uri),
261 levelno=logging.DEBUG, module='hooks_daemon')
261 levelno=logging.DEBUG, module='hooks_daemon')
262
262
263 def test_run_creates_a_thread(self, tcp_server):
263 def test_run_creates_a_thread(self, tcp_server):
264 thread = mock.Mock()
264 thread = mock.Mock()
265
265
266 with self._tcp_patcher(tcp_server):
266 with self._tcp_patcher(tcp_server):
267 daemon = hooks_daemon.HttpHooksCallbackDaemon()
267 daemon = hooks_daemon.HttpHooksCallbackDaemon()
268
268
269 with self._thread_patcher(thread) as thread_mock:
269 with self._thread_patcher(thread) as thread_mock:
270 daemon._run()
270 daemon._run()
271
271
272 thread_mock.assert_called_once_with(
272 thread_mock.assert_called_once_with(
273 target=tcp_server.serve_forever,
273 target=tcp_server.serve_forever,
274 kwargs={'poll_interval': daemon.POLL_INTERVAL})
274 kwargs={'poll_interval': daemon.POLL_INTERVAL})
275 assert thread.daemon is True
275 assert thread.daemon is True
276 thread.start.assert_called_once_with()
276 thread.start.assert_called_once_with()
277
277
278 def test_run_logs(self, tcp_server, caplog):
278 def test_run_logs(self, tcp_server, caplog):
279
279
280 with self._tcp_patcher(tcp_server):
280 with self._tcp_patcher(tcp_server):
281 daemon = hooks_daemon.HttpHooksCallbackDaemon()
281 daemon = hooks_daemon.HttpHooksCallbackDaemon()
282
282
283 with self._thread_patcher(mock.Mock()), caplog.atLevel(logging.DEBUG):
283 with self._thread_patcher(mock.Mock()), caplog.at_level(logging.DEBUG):
284 daemon._run()
284 daemon._run()
285
285
286 assert_message_in_log(
286 assert_message_in_log(
287 caplog.records(),
287 caplog.records,
288 'Running event loop of callback daemon in background thread',
288 'Running event loop of callback daemon in background thread',
289 levelno=logging.DEBUG, module='hooks_daemon')
289 levelno=logging.DEBUG, module='hooks_daemon')
290
290
291 def test_stop_cleans_up_the_connection(self, tcp_server, caplog):
291 def test_stop_cleans_up_the_connection(self, tcp_server, caplog):
292 thread = mock.Mock()
292 thread = mock.Mock()
293
293
294 with self._tcp_patcher(tcp_server):
294 with self._tcp_patcher(tcp_server):
295 daemon = hooks_daemon.HttpHooksCallbackDaemon()
295 daemon = hooks_daemon.HttpHooksCallbackDaemon()
296
296
297 with self._thread_patcher(thread), caplog.atLevel(logging.DEBUG):
297 with self._thread_patcher(thread), caplog.at_level(logging.DEBUG):
298 with daemon:
298 with daemon:
299 assert daemon._daemon == tcp_server
299 assert daemon._daemon == tcp_server
300 assert daemon._callback_thread == thread
300 assert daemon._callback_thread == thread
301
301
302 assert daemon._daemon is None
302 assert daemon._daemon is None
303 assert daemon._callback_thread is None
303 assert daemon._callback_thread is None
304 tcp_server.shutdown.assert_called_with()
304 tcp_server.shutdown.assert_called_with()
305 thread.join.assert_called_once_with()
305 thread.join.assert_called_once_with()
306
306
307 assert_message_in_log(
307 assert_message_in_log(
308 caplog.records(), 'Waiting for background thread to finish.',
308 caplog.records, 'Waiting for background thread to finish.',
309 levelno=logging.DEBUG, module='hooks_daemon')
309 levelno=logging.DEBUG, module='hooks_daemon')
310
310
311 def _tcp_patcher(self, tcp_server):
311 def _tcp_patcher(self, tcp_server):
312 return mock.patch.object(
312 return mock.patch.object(
313 hooks_daemon, 'TCPServer', return_value=tcp_server)
313 hooks_daemon, 'TCPServer', return_value=tcp_server)
314
314
315 def _thread_patcher(self, thread):
315 def _thread_patcher(self, thread):
316 return mock.patch.object(
316 return mock.patch.object(
317 hooks_daemon.threading, 'Thread', return_value=thread)
317 hooks_daemon.threading, 'Thread', return_value=thread)
318
318
319
319
320 class TestPrepareHooksDaemon(object):
320 class TestPrepareHooksDaemon(object):
321 @pytest.mark.parametrize('protocol', ('http', 'pyro4'))
321 @pytest.mark.parametrize('protocol', ('http', 'pyro4'))
322 def test_returns_dummy_hooks_callback_daemon_when_using_direct_calls(
322 def test_returns_dummy_hooks_callback_daemon_when_using_direct_calls(
323 self, protocol):
323 self, protocol):
324 expected_extras = {'extra1': 'value1'}
324 expected_extras = {'extra1': 'value1'}
325 callback, extras = hooks_daemon.prepare_callback_daemon(
325 callback, extras = hooks_daemon.prepare_callback_daemon(
326 expected_extras.copy(), protocol=protocol, use_direct_calls=True)
326 expected_extras.copy(), protocol=protocol, use_direct_calls=True)
327 assert isinstance(callback, hooks_daemon.DummyHooksCallbackDaemon)
327 assert isinstance(callback, hooks_daemon.DummyHooksCallbackDaemon)
328 expected_extras['hooks_module'] = 'rhodecode.lib.hooks_daemon'
328 expected_extras['hooks_module'] = 'rhodecode.lib.hooks_daemon'
329 assert extras == expected_extras
329 assert extras == expected_extras
330
330
331 @pytest.mark.parametrize('protocol, expected_class', (
331 @pytest.mark.parametrize('protocol, expected_class', (
332 ('pyro4', hooks_daemon.Pyro4HooksCallbackDaemon),
332 ('pyro4', hooks_daemon.Pyro4HooksCallbackDaemon),
333 ('http', hooks_daemon.HttpHooksCallbackDaemon)
333 ('http', hooks_daemon.HttpHooksCallbackDaemon)
334 ))
334 ))
335 def test_returns_real_hooks_callback_daemon_when_protocol_is_specified(
335 def test_returns_real_hooks_callback_daemon_when_protocol_is_specified(
336 self, protocol, expected_class):
336 self, protocol, expected_class):
337 expected_extras = {
337 expected_extras = {
338 'extra1': 'value1',
338 'extra1': 'value1',
339 'hooks_protocol': protocol.lower()
339 'hooks_protocol': protocol.lower()
340 }
340 }
341 callback, extras = hooks_daemon.prepare_callback_daemon(
341 callback, extras = hooks_daemon.prepare_callback_daemon(
342 expected_extras.copy(), protocol=protocol, use_direct_calls=False)
342 expected_extras.copy(), protocol=protocol, use_direct_calls=False)
343 assert isinstance(callback, expected_class)
343 assert isinstance(callback, expected_class)
344 hooks_uri = extras.pop('hooks_uri')
344 hooks_uri = extras.pop('hooks_uri')
345 assert extras == expected_extras
345 assert extras == expected_extras
346 if protocol.lower() == 'pyro4':
346 if protocol.lower() == 'pyro4':
347 assert hooks_uri.startswith('PYRO')
347 assert hooks_uri.startswith('PYRO')
348
348
349 @pytest.mark.parametrize('protocol', (
349 @pytest.mark.parametrize('protocol', (
350 'invalid',
350 'invalid',
351 'Pyro4',
351 'Pyro4',
352 'Http',
352 'Http',
353 'HTTP',
353 'HTTP',
354 ))
354 ))
355 def test_raises_on_invalid_protocol(self, protocol):
355 def test_raises_on_invalid_protocol(self, protocol):
356 expected_extras = {
356 expected_extras = {
357 'extra1': 'value1',
357 'extra1': 'value1',
358 'hooks_protocol': protocol.lower()
358 'hooks_protocol': protocol.lower()
359 }
359 }
360 with pytest.raises(Exception):
360 with pytest.raises(Exception):
361 callback, extras = hooks_daemon.prepare_callback_daemon(
361 callback, extras = hooks_daemon.prepare_callback_daemon(
362 expected_extras.copy(),
362 expected_extras.copy(),
363 protocol=protocol,
363 protocol=protocol,
364 use_direct_calls=False)
364 use_direct_calls=False)
365
365
366
366
367 class MockRequest(object):
367 class MockRequest(object):
368 def __init__(self, request):
368 def __init__(self, request):
369 self.request = request
369 self.request = request
370 self.input_stream = StringIO(b'{}'.format(self.request))
370 self.input_stream = StringIO(b'{}'.format(self.request))
371 self.output_stream = StringIO()
371 self.output_stream = StringIO()
372
372
373 def makefile(self, mode, *args, **kwargs):
373 def makefile(self, mode, *args, **kwargs):
374 return self.output_stream if mode == 'wb' else self.input_stream
374 return self.output_stream if mode == 'wb' else self.input_stream
375
375
376
376
377 class MockServer(object):
377 class MockServer(object):
378 def __init__(self, Handler, request):
378 def __init__(self, Handler, request):
379 ip_port = ('0.0.0.0', 8888)
379 ip_port = ('0.0.0.0', 8888)
380 self.request = MockRequest(request)
380 self.request = MockRequest(request)
381 self.handler = Handler(self.request, ip_port, self)
381 self.handler = Handler(self.request, ip_port, self)
382
382
383
383
384 @pytest.fixture
384 @pytest.fixture
385 def tcp_server():
385 def tcp_server():
386 server = mock.Mock()
386 server = mock.Mock()
387 server.server_address = ('127.0.0.1', 8881)
387 server.server_address = ('127.0.0.1', 8881)
388 return server
388 return server
@@ -1,100 +1,100 b''
1 # -*- coding: utf-8 -*-
1 # -*- coding: utf-8 -*-
2
2
3 # Copyright (C) 2010-2016 RhodeCode GmbH
3 # Copyright (C) 2010-2016 RhodeCode GmbH
4 #
4 #
5 # This program is free software: you can redistribute it and/or modify
5 # This program is free software: you can redistribute it and/or modify
6 # it under the terms of the GNU Affero General Public License, version 3
6 # it under the terms of the GNU Affero General Public License, version 3
7 # (only), as published by the Free Software Foundation.
7 # (only), as published by the Free Software Foundation.
8 #
8 #
9 # This program is distributed in the hope that it will be useful,
9 # This program is distributed in the hope that it will be useful,
10 # but WITHOUT ANY WARRANTY; without even the implied warranty of
10 # but WITHOUT ANY WARRANTY; without even the implied warranty of
11 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 # GNU General Public License for more details.
12 # GNU General Public License for more details.
13 #
13 #
14 # You should have received a copy of the GNU Affero General Public License
14 # You should have received a copy of the GNU Affero General Public License
15 # along with this program. If not, see <http://www.gnu.org/licenses/>.
15 # along with this program. If not, see <http://www.gnu.org/licenses/>.
16 #
16 #
17 # This program is dual-licensed. If you wish to learn more about the
17 # This program is dual-licensed. If you wish to learn more about the
18 # RhodeCode Enterprise Edition, including its added features, Support services,
18 # RhodeCode Enterprise Edition, including its added features, Support services,
19 # and proprietary license terms, please see https://rhodecode.com/licenses/
19 # and proprietary license terms, please see https://rhodecode.com/licenses/
20
20
21 import logging
21 import logging
22
22
23 import mock
23 import mock
24 import msgpack
24 import msgpack
25 import pytest
25 import pytest
26
26
27 from rhodecode.lib import vcs
27 from rhodecode.lib import vcs
28 from rhodecode.lib.vcs import client_http
28 from rhodecode.lib.vcs import client_http
29
29
30
30
31 def test_uses_persistent_http_connections(caplog, vcsbackend_hg):
31 def test_uses_persistent_http_connections(caplog, vcsbackend_hg):
32 repo = vcsbackend_hg.repo
32 repo = vcsbackend_hg.repo
33 remote_call = repo._remote.branches
33 remote_call = repo._remote.branches
34
34
35 with caplog.at_level(logging.INFO):
35 with caplog.at_level(logging.INFO):
36 for x in range(5):
36 for x in range(5):
37 remote_call(normal=True, closed=False)
37 remote_call(normal=True, closed=False)
38
38
39 new_connections = [
39 new_connections = [
40 r for r in caplog.record_tuples() if is_new_connection(*r)]
40 r for r in caplog.record_tuples if is_new_connection(*r)]
41 assert len(new_connections) <= 1
41 assert len(new_connections) <= 1
42
42
43
43
44 def is_new_connection(logger, level, message):
44 def is_new_connection(logger, level, message):
45 return (
45 return (
46 logger == 'requests.packages.urllib3.connectionpool' and
46 logger == 'requests.packages.urllib3.connectionpool' and
47 message.startswith('Starting new HTTP'))
47 message.startswith('Starting new HTTP'))
48
48
49
49
50 @pytest.fixture
50 @pytest.fixture
51 def stub_session():
51 def stub_session():
52 """
52 """
53 Stub of `requests.Session()`.
53 Stub of `requests.Session()`.
54 """
54 """
55 session = mock.Mock()
55 session = mock.Mock()
56 session.post().content = msgpack.packb({})
56 session.post().content = msgpack.packb({})
57 session.reset_mock()
57 session.reset_mock()
58 return session
58 return session
59
59
60
60
61 @pytest.fixture
61 @pytest.fixture
62 def stub_session_factory(stub_session):
62 def stub_session_factory(stub_session):
63 """
63 """
64 Stub of `rhodecode.lib.vcs.client_http.ThreadlocalSessionFactory`.
64 Stub of `rhodecode.lib.vcs.client_http.ThreadlocalSessionFactory`.
65 """
65 """
66 session_factory = mock.Mock()
66 session_factory = mock.Mock()
67 session_factory.return_value = stub_session
67 session_factory.return_value = stub_session
68 return session_factory
68 return session_factory
69
69
70
70
71 def test_repo_maker_uses_session_for_classmethods(stub_session_factory):
71 def test_repo_maker_uses_session_for_classmethods(stub_session_factory):
72 repo_maker = client_http.RepoMaker(
72 repo_maker = client_http.RepoMaker(
73 'server_and_port', 'endpoint', 'test_dummy_scm', stub_session_factory)
73 'server_and_port', 'endpoint', 'test_dummy_scm', stub_session_factory)
74 repo_maker.example_call()
74 repo_maker.example_call()
75 stub_session_factory().post.assert_called_with(
75 stub_session_factory().post.assert_called_with(
76 'http://server_and_port/endpoint', data=mock.ANY)
76 'http://server_and_port/endpoint', data=mock.ANY)
77
77
78
78
79 def test_repo_maker_uses_session_for_instance_methods(
79 def test_repo_maker_uses_session_for_instance_methods(
80 stub_session_factory, config):
80 stub_session_factory, config):
81 repo_maker = client_http.RepoMaker(
81 repo_maker = client_http.RepoMaker(
82 'server_and_port', 'endpoint', 'test_dummy_scm', stub_session_factory)
82 'server_and_port', 'endpoint', 'test_dummy_scm', stub_session_factory)
83 repo = repo_maker('stub_path', config)
83 repo = repo_maker('stub_path', config)
84 repo.example_call()
84 repo.example_call()
85 stub_session_factory().post.assert_called_with(
85 stub_session_factory().post.assert_called_with(
86 'http://server_and_port/endpoint', data=mock.ANY)
86 'http://server_and_port/endpoint', data=mock.ANY)
87
87
88
88
89 @mock.patch('rhodecode.lib.vcs.client_http.ThreadlocalSessionFactory')
89 @mock.patch('rhodecode.lib.vcs.client_http.ThreadlocalSessionFactory')
90 @mock.patch('rhodecode.lib.vcs.connection')
90 @mock.patch('rhodecode.lib.vcs.connection')
91 def test_connect_passes_in_the_same_session(
91 def test_connect_passes_in_the_same_session(
92 connection, session_factory_class, stub_session):
92 connection, session_factory_class, stub_session):
93 session_factory = session_factory_class.return_value
93 session_factory = session_factory_class.return_value
94 session_factory.return_value = stub_session
94 session_factory.return_value = stub_session
95
95
96 vcs.connect_http('server_and_port')
96 vcs.connect_http('server_and_port')
97
97
98 assert connection.Hg._session_factory() == stub_session
98 assert connection.Hg._session_factory() == stub_session
99 assert connection.Svn._session_factory() == stub_session
99 assert connection.Svn._session_factory() == stub_session
100 assert connection.Git._session_factory() == stub_session
100 assert connection.Git._session_factory() == stub_session
General Comments 0
You need to be logged in to leave comments. Login now