##// END OF EJS Templates
re-captcha: adjust for v2 that is the only left one supported since 1st of May.
marcink -
r2731:f80f9da7 default
parent child Browse files
Show More
@@ -1,257 +1,250 b''
1 # Overrides for the generated python-packages.nix
1 # Overrides for the generated python-packages.nix
2 #
2 #
3 # This function is intended to be used as an extension to the generated file
3 # This function is intended to be used as an extension to the generated file
4 # python-packages.nix. The main objective is to add needed dependencies of C
4 # python-packages.nix. The main objective is to add needed dependencies of C
5 # libraries and tweak the build instructions where needed.
5 # libraries and tweak the build instructions where needed.
6
6
7 { pkgs, basePythonPackages }:
7 { pkgs, basePythonPackages }:
8
8
9 let
9 let
10 sed = "sed -i";
10 sed = "sed -i";
11 localLicenses = {
11 localLicenses = {
12 repoze = {
12 repoze = {
13 fullName = "Repoze License";
13 fullName = "Repoze License";
14 url = http://www.repoze.org/LICENSE.txt;
14 url = http://www.repoze.org/LICENSE.txt;
15 };
15 };
16 };
16 };
17
17
18 in
18 in
19
19
20 self: super: {
20 self: super: {
21
21
22 appenlight-client = super.appenlight-client.override (attrs: {
22 appenlight-client = super.appenlight-client.override (attrs: {
23 meta = {
23 meta = {
24 license = [ pkgs.lib.licenses.bsdOriginal ];
24 license = [ pkgs.lib.licenses.bsdOriginal ];
25 };
25 };
26 });
26 });
27
27
28 beaker = super.beaker.override (attrs: {
28 beaker = super.beaker.override (attrs: {
29 patches = [
29 patches = [
30 ./patch-beaker-lock-func-debug.diff
30 ./patch-beaker-lock-func-debug.diff
31 ];
31 ];
32 });
32 });
33
33
34 future = super.future.override (attrs: {
34 future = super.future.override (attrs: {
35 meta = {
35 meta = {
36 license = [ pkgs.lib.licenses.mit ];
36 license = [ pkgs.lib.licenses.mit ];
37 };
37 };
38 });
38 });
39
39
40 testpath = super.testpath.override (attrs: {
40 testpath = super.testpath.override (attrs: {
41 meta = {
41 meta = {
42 license = [ pkgs.lib.licenses.mit ];
42 license = [ pkgs.lib.licenses.mit ];
43 };
43 };
44 });
44 });
45
45
46 gnureadline = super.gnureadline.override (attrs: {
46 gnureadline = super.gnureadline.override (attrs: {
47 buildInputs = attrs.buildInputs ++ [
47 buildInputs = attrs.buildInputs ++ [
48 pkgs.ncurses
48 pkgs.ncurses
49 ];
49 ];
50 patchPhase = ''
50 patchPhase = ''
51 substituteInPlace setup.py --replace "/bin/bash" "${pkgs.bash}/bin/bash"
51 substituteInPlace setup.py --replace "/bin/bash" "${pkgs.bash}/bin/bash"
52 '';
52 '';
53 });
53 });
54
54
55 gunicorn = super.gunicorn.override (attrs: {
55 gunicorn = super.gunicorn.override (attrs: {
56 propagatedBuildInputs = attrs.propagatedBuildInputs ++ [
56 propagatedBuildInputs = attrs.propagatedBuildInputs ++ [
57 # johbo: futures is needed as long as we are on Python 2, otherwise
57 # johbo: futures is needed as long as we are on Python 2, otherwise
58 # gunicorn explodes if used with multiple threads per worker.
58 # gunicorn explodes if used with multiple threads per worker.
59 self.futures
59 self.futures
60 ];
60 ];
61 });
61 });
62
62
63 nbconvert = super.nbconvert.override (attrs: {
63 nbconvert = super.nbconvert.override (attrs: {
64 propagatedBuildInputs = attrs.propagatedBuildInputs ++ [
64 propagatedBuildInputs = attrs.propagatedBuildInputs ++ [
65 # marcink: plug in jupyter-client for notebook rendering
65 # marcink: plug in jupyter-client for notebook rendering
66 self.jupyter-client
66 self.jupyter-client
67 ];
67 ];
68 });
68 });
69
69
70 ipython = super.ipython.override (attrs: {
70 ipython = super.ipython.override (attrs: {
71 propagatedBuildInputs = attrs.propagatedBuildInputs ++ [
71 propagatedBuildInputs = attrs.propagatedBuildInputs ++ [
72 self.gnureadline
72 self.gnureadline
73 ];
73 ];
74 });
74 });
75
75
76 lxml = super.lxml.override (attrs: {
76 lxml = super.lxml.override (attrs: {
77 # johbo: On 16.09 we need this to compile on darwin, otherwise compilation
77 # johbo: On 16.09 we need this to compile on darwin, otherwise compilation
78 # fails on Darwin.
78 # fails on Darwin.
79 hardeningDisable = if pkgs.stdenv.isDarwin then [ "format" ] else null;
79 hardeningDisable = if pkgs.stdenv.isDarwin then [ "format" ] else null;
80 buildInputs = with self; [
80 buildInputs = with self; [
81 pkgs.libxml2
81 pkgs.libxml2
82 pkgs.libxslt
82 pkgs.libxslt
83 ];
83 ];
84 });
84 });
85
85
86 mysql-python = super.mysql-python.override (attrs: {
86 mysql-python = super.mysql-python.override (attrs: {
87 buildInputs = attrs.buildInputs ++ [
87 buildInputs = attrs.buildInputs ++ [
88 pkgs.openssl
88 pkgs.openssl
89 ];
89 ];
90 propagatedBuildInputs = attrs.propagatedBuildInputs ++ [
90 propagatedBuildInputs = attrs.propagatedBuildInputs ++ [
91 pkgs.libmysql
91 pkgs.libmysql
92 pkgs.zlib
92 pkgs.zlib
93 ];
93 ];
94 });
94 });
95
95
96 psutil = super.psutil.override (attrs: {
96 psutil = super.psutil.override (attrs: {
97 buildInputs = attrs.buildInputs ++
97 buildInputs = attrs.buildInputs ++
98 pkgs.lib.optional pkgs.stdenv.isDarwin pkgs.darwin.IOKit;
98 pkgs.lib.optional pkgs.stdenv.isDarwin pkgs.darwin.IOKit;
99 });
99 });
100
100
101 psycopg2 = super.psycopg2.override (attrs: {
101 psycopg2 = super.psycopg2.override (attrs: {
102 buildInputs = attrs.buildInputs ++
102 buildInputs = attrs.buildInputs ++
103 pkgs.lib.optional pkgs.stdenv.isDarwin pkgs.openssl;
103 pkgs.lib.optional pkgs.stdenv.isDarwin pkgs.openssl;
104 propagatedBuildInputs = attrs.propagatedBuildInputs ++ [
104 propagatedBuildInputs = attrs.propagatedBuildInputs ++ [
105 pkgs.postgresql
105 pkgs.postgresql
106 ];
106 ];
107 meta = {
107 meta = {
108 license = pkgs.lib.licenses.lgpl3Plus;
108 license = pkgs.lib.licenses.lgpl3Plus;
109 };
109 };
110 });
110 });
111
111
112 pycurl = super.pycurl.override (attrs: {
112 pycurl = super.pycurl.override (attrs: {
113 propagatedBuildInputs = attrs.propagatedBuildInputs ++ [
113 propagatedBuildInputs = attrs.propagatedBuildInputs ++ [
114 pkgs.curl
114 pkgs.curl
115 pkgs.openssl
115 pkgs.openssl
116 ];
116 ];
117 preConfigure = ''
117 preConfigure = ''
118 substituteInPlace setup.py --replace '--static-libs' '--libs'
118 substituteInPlace setup.py --replace '--static-libs' '--libs'
119 export PYCURL_SSL_LIBRARY=openssl
119 export PYCURL_SSL_LIBRARY=openssl
120 '';
120 '';
121 meta = {
121 meta = {
122 # TODO: It is LGPL and MIT
122 # TODO: It is LGPL and MIT
123 license = pkgs.lib.licenses.mit;
123 license = pkgs.lib.licenses.mit;
124 };
124 };
125 });
125 });
126
126
127 pyramid = super.pyramid.override (attrs: {
127 pyramid = super.pyramid.override (attrs: {
128 postFixup = ''
128 postFixup = ''
129 wrapPythonPrograms
129 wrapPythonPrograms
130 # TODO: johbo: "wrapPython" adds this magic line which
130 # TODO: johbo: "wrapPython" adds this magic line which
131 # confuses pserve.
131 # confuses pserve.
132 ${sed} '/import sys; sys.argv/d' $out/bin/.pserve-wrapped
132 ${sed} '/import sys; sys.argv/d' $out/bin/.pserve-wrapped
133 '';
133 '';
134 meta = {
134 meta = {
135 license = localLicenses.repoze;
135 license = localLicenses.repoze;
136 };
136 };
137 });
137 });
138
138
139 pyramid-debugtoolbar = super.pyramid-debugtoolbar.override (attrs: {
139 pyramid-debugtoolbar = super.pyramid-debugtoolbar.override (attrs: {
140 meta = {
140 meta = {
141 license = [ pkgs.lib.licenses.bsdOriginal localLicenses.repoze ];
141 license = [ pkgs.lib.licenses.bsdOriginal localLicenses.repoze ];
142 };
142 };
143 });
143 });
144
144
145 pysqlite = super.pysqlite.override (attrs: {
145 pysqlite = super.pysqlite.override (attrs: {
146 propagatedBuildInputs = [
146 propagatedBuildInputs = [
147 pkgs.sqlite
147 pkgs.sqlite
148 ];
148 ];
149 meta = {
149 meta = {
150 license = [ pkgs.lib.licenses.zlib pkgs.lib.licenses.libpng ];
150 license = [ pkgs.lib.licenses.zlib pkgs.lib.licenses.libpng ];
151 };
151 };
152 });
152 });
153
153
154 pytest-runner = super.pytest-runner.override (attrs: {
154 pytest-runner = super.pytest-runner.override (attrs: {
155 propagatedBuildInputs = [
155 propagatedBuildInputs = [
156 self.setuptools-scm
156 self.setuptools-scm
157 ];
157 ];
158 });
158 });
159
159
160 python-ldap = super.python-ldap.override (attrs: {
160 python-ldap = super.python-ldap.override (attrs: {
161 propagatedBuildInputs = attrs.propagatedBuildInputs ++ [
161 propagatedBuildInputs = attrs.propagatedBuildInputs ++ [
162 pkgs.cyrus_sasl
162 pkgs.cyrus_sasl
163 pkgs.openldap
163 pkgs.openldap
164 pkgs.openssl
164 pkgs.openssl
165 ];
165 ];
166 # TODO: johbo: Remove the "or" once we drop 16.03 support.
166 # TODO: johbo: Remove the "or" once we drop 16.03 support.
167 NIX_CFLAGS_COMPILE = "-I${pkgs.cyrus_sasl.dev or pkgs.cyrus_sasl}/include/sasl";
167 NIX_CFLAGS_COMPILE = "-I${pkgs.cyrus_sasl.dev or pkgs.cyrus_sasl}/include/sasl";
168 });
168 });
169
169
170 python-pam = super.python-pam.override (attrs:
170 python-pam = super.python-pam.override (attrs:
171 let
171 let
172 includeLibPam = pkgs.stdenv.isLinux;
172 includeLibPam = pkgs.stdenv.isLinux;
173 in {
173 in {
174 # TODO: johbo: Move the option up into the default.nix, we should
174 # TODO: johbo: Move the option up into the default.nix, we should
175 # include python-pam only on supported platforms.
175 # include python-pam only on supported platforms.
176 propagatedBuildInputs = attrs.propagatedBuildInputs ++
176 propagatedBuildInputs = attrs.propagatedBuildInputs ++
177 pkgs.lib.optional includeLibPam [
177 pkgs.lib.optional includeLibPam [
178 pkgs.pam
178 pkgs.pam
179 ];
179 ];
180 # TODO: johbo: Check if this can be avoided, or transform into
180 # TODO: johbo: Check if this can be avoided, or transform into
181 # a real patch
181 # a real patch
182 patchPhase = pkgs.lib.optionals includeLibPam ''
182 patchPhase = pkgs.lib.optionals includeLibPam ''
183 substituteInPlace pam.py \
183 substituteInPlace pam.py \
184 --replace 'find_library("pam")' '"${pkgs.pam}/lib/libpam.so.0"'
184 --replace 'find_library("pam")' '"${pkgs.pam}/lib/libpam.so.0"'
185 '';
185 '';
186 });
186 });
187
187
188 urlobject = super.urlobject.override (attrs: {
188 urlobject = super.urlobject.override (attrs: {
189 meta = {
189 meta = {
190 license = {
190 license = {
191 spdxId = "Unlicense";
191 spdxId = "Unlicense";
192 fullName = "The Unlicense";
192 fullName = "The Unlicense";
193 url = http://unlicense.org/;
193 url = http://unlicense.org/;
194 };
194 };
195 };
195 };
196 });
196 });
197
197
198 docutils = super.docutils.override (attrs: {
198 docutils = super.docutils.override (attrs: {
199 meta = {
199 meta = {
200 license = pkgs.lib.licenses.bsd2;
200 license = pkgs.lib.licenses.bsd2;
201 };
201 };
202 });
202 });
203
203
204 colander = super.colander.override (attrs: {
204 colander = super.colander.override (attrs: {
205 meta = {
205 meta = {
206 license = localLicenses.repoze;
206 license = localLicenses.repoze;
207 };
207 };
208 });
208 });
209
209
210 pyramid-beaker = super.pyramid-beaker.override (attrs: {
210 pyramid-beaker = super.pyramid-beaker.override (attrs: {
211 meta = {
211 meta = {
212 license = localLicenses.repoze;
212 license = localLicenses.repoze;
213 };
213 };
214 });
214 });
215
215
216 pyramid-mako = super.pyramid-mako.override (attrs: {
216 pyramid-mako = super.pyramid-mako.override (attrs: {
217 meta = {
217 meta = {
218 license = localLicenses.repoze;
218 license = localLicenses.repoze;
219 };
219 };
220 });
220 });
221
221
222 repoze.lru = super.repoze.lru.override (attrs: {
222 repoze.lru = super.repoze.lru.override (attrs: {
223 meta = {
223 meta = {
224 license = localLicenses.repoze;
224 license = localLicenses.repoze;
225 };
225 };
226 });
226 });
227
227
228 recaptcha-client = super.recaptcha-client.override (attrs: {
229 meta = {
230 # TODO: It is MIT/X11
231 license = pkgs.lib.licenses.mit;
232 };
233 });
234
235 python-editor = super.python-editor.override (attrs: {
228 python-editor = super.python-editor.override (attrs: {
236 meta = {
229 meta = {
237 license = pkgs.lib.licenses.asl20;
230 license = pkgs.lib.licenses.asl20;
238 };
231 };
239 });
232 });
240
233
241 translationstring = super.translationstring.override (attrs: {
234 translationstring = super.translationstring.override (attrs: {
242 meta = {
235 meta = {
243 license = localLicenses.repoze;
236 license = localLicenses.repoze;
244 };
237 };
245 });
238 });
246
239
247 venusian = super.venusian.override (attrs: {
240 venusian = super.venusian.override (attrs: {
248 meta = {
241 meta = {
249 license = localLicenses.repoze;
242 license = localLicenses.repoze;
250 };
243 };
251 });
244 });
252
245
253 # Avoid that setuptools is replaced, this leads to trouble
246 # Avoid that setuptools is replaced, this leads to trouble
254 # with buildPythonPackage.
247 # with buildPythonPackage.
255 setuptools = basePythonPackages.setuptools;
248 setuptools = basePythonPackages.setuptools;
256
249
257 }
250 }
@@ -1,2073 +1,2060 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 alembic = super.buildPythonPackage {
5 alembic = super.buildPythonPackage {
6 name = "alembic-0.9.9";
6 name = "alembic-0.9.9";
7 buildInputs = with self; [];
7 buildInputs = with self; [];
8 doCheck = false;
8 doCheck = false;
9 propagatedBuildInputs = with self; [sqlalchemy mako python-editor python-dateutil];
9 propagatedBuildInputs = with self; [sqlalchemy mako python-editor python-dateutil];
10 src = fetchurl {
10 src = fetchurl {
11 url = "https://files.pythonhosted.org/packages/89/03/756d5b8e1c90bf283c3f435766aa3f20208d1c3887579dd8f2122e01d5f4/alembic-0.9.9.tar.gz";
11 url = "https://files.pythonhosted.org/packages/89/03/756d5b8e1c90bf283c3f435766aa3f20208d1c3887579dd8f2122e01d5f4/alembic-0.9.9.tar.gz";
12 sha256 = "85bd3ea7633024e4930900bc64fb58f9742dedbc6ebb6ecf25be2ea9a3c1b32e";
12 sha256 = "85bd3ea7633024e4930900bc64fb58f9742dedbc6ebb6ecf25be2ea9a3c1b32e";
13 };
13 };
14 meta = {
14 meta = {
15 license = [ pkgs.lib.licenses.mit ];
15 license = [ pkgs.lib.licenses.mit ];
16 };
16 };
17 };
17 };
18 amqp = super.buildPythonPackage {
18 amqp = super.buildPythonPackage {
19 name = "amqp-2.2.2";
19 name = "amqp-2.2.2";
20 buildInputs = with self; [];
20 buildInputs = with self; [];
21 doCheck = false;
21 doCheck = false;
22 propagatedBuildInputs = with self; [vine];
22 propagatedBuildInputs = with self; [vine];
23 src = fetchurl {
23 src = fetchurl {
24 url = "https://files.pythonhosted.org/packages/e0/70/9ab9ccd8247fb7d2adb717e9f6a0ed358c9e1ab2c349048b0352f9e80ee2/amqp-2.2.2.tar.gz";
24 url = "https://files.pythonhosted.org/packages/e0/70/9ab9ccd8247fb7d2adb717e9f6a0ed358c9e1ab2c349048b0352f9e80ee2/amqp-2.2.2.tar.gz";
25 sha256 = "cba1ace9d4ff6049b190d8b7991f9c1006b443a5238021aca96dd6ad2ac9da22";
25 sha256 = "cba1ace9d4ff6049b190d8b7991f9c1006b443a5238021aca96dd6ad2ac9da22";
26 };
26 };
27 meta = {
27 meta = {
28 license = [ pkgs.lib.licenses.bsdOriginal ];
28 license = [ pkgs.lib.licenses.bsdOriginal ];
29 };
29 };
30 };
30 };
31 appenlight-client = super.buildPythonPackage {
31 appenlight-client = super.buildPythonPackage {
32 name = "appenlight-client-0.6.25";
32 name = "appenlight-client-0.6.25";
33 buildInputs = with self; [];
33 buildInputs = with self; [];
34 doCheck = false;
34 doCheck = false;
35 propagatedBuildInputs = with self; [webob requests six];
35 propagatedBuildInputs = with self; [webob requests six];
36 src = fetchurl {
36 src = fetchurl {
37 url = "https://files.pythonhosted.org/packages/fa/44/2911ef85ea4f4fe65058fd22959d8dad598fab6a3c84e5bcb569d15c8783/appenlight_client-0.6.25.tar.gz";
37 url = "https://files.pythonhosted.org/packages/fa/44/2911ef85ea4f4fe65058fd22959d8dad598fab6a3c84e5bcb569d15c8783/appenlight_client-0.6.25.tar.gz";
38 sha256 = "47180fc8ef136feb906129dce09bf0ef07ed884fcbaf5615ecf61cf35c1634e5";
38 sha256 = "47180fc8ef136feb906129dce09bf0ef07ed884fcbaf5615ecf61cf35c1634e5";
39 };
39 };
40 meta = {
40 meta = {
41 license = [ pkgs.lib.licenses.bsdOriginal ];
41 license = [ pkgs.lib.licenses.bsdOriginal ];
42 };
42 };
43 };
43 };
44 authomatic = super.buildPythonPackage {
44 authomatic = super.buildPythonPackage {
45 name = "authomatic-0.1.0.post1";
45 name = "authomatic-0.1.0.post1";
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://files.pythonhosted.org/packages/08/1a/8a930461e604c2d5a7a871e1ac59fa82ccf994c32e807230c8d2fb07815a/Authomatic-0.1.0.post1.tar.gz";
50 url = "https://files.pythonhosted.org/packages/08/1a/8a930461e604c2d5a7a871e1ac59fa82ccf994c32e807230c8d2fb07815a/Authomatic-0.1.0.post1.tar.gz";
51 sha256 = "731e398f09e37abfc91dea86feca2f41693db97c4e10ee3e92e9a53455c16a68";
51 sha256 = "731e398f09e37abfc91dea86feca2f41693db97c4e10ee3e92e9a53455c16a68";
52 };
52 };
53 meta = {
53 meta = {
54 license = [ pkgs.lib.licenses.mit ];
54 license = [ pkgs.lib.licenses.mit ];
55 };
55 };
56 };
56 };
57 babel = super.buildPythonPackage {
57 babel = super.buildPythonPackage {
58 name = "babel-1.3";
58 name = "babel-1.3";
59 buildInputs = with self; [];
59 buildInputs = with self; [];
60 doCheck = false;
60 doCheck = false;
61 propagatedBuildInputs = with self; [pytz];
61 propagatedBuildInputs = with self; [pytz];
62 src = fetchurl {
62 src = fetchurl {
63 url = "https://files.pythonhosted.org/packages/33/27/e3978243a03a76398c384c83f7ca879bc6e8f1511233a621fcada135606e/Babel-1.3.tar.gz";
63 url = "https://files.pythonhosted.org/packages/33/27/e3978243a03a76398c384c83f7ca879bc6e8f1511233a621fcada135606e/Babel-1.3.tar.gz";
64 sha256 = "9f02d0357184de1f093c10012b52e7454a1008be6a5c185ab7a3307aceb1d12e";
64 sha256 = "9f02d0357184de1f093c10012b52e7454a1008be6a5c185ab7a3307aceb1d12e";
65 };
65 };
66 meta = {
66 meta = {
67 license = [ pkgs.lib.licenses.bsdOriginal ];
67 license = [ pkgs.lib.licenses.bsdOriginal ];
68 };
68 };
69 };
69 };
70 backports.shutil-get-terminal-size = super.buildPythonPackage {
70 backports.shutil-get-terminal-size = super.buildPythonPackage {
71 name = "backports.shutil-get-terminal-size-1.0.0";
71 name = "backports.shutil-get-terminal-size-1.0.0";
72 buildInputs = with self; [];
72 buildInputs = with self; [];
73 doCheck = false;
73 doCheck = false;
74 propagatedBuildInputs = with self; [];
74 propagatedBuildInputs = with self; [];
75 src = fetchurl {
75 src = fetchurl {
76 url = "https://files.pythonhosted.org/packages/ec/9c/368086faa9c016efce5da3e0e13ba392c9db79e3ab740b763fe28620b18b/backports.shutil_get_terminal_size-1.0.0.tar.gz";
76 url = "https://files.pythonhosted.org/packages/ec/9c/368086faa9c016efce5da3e0e13ba392c9db79e3ab740b763fe28620b18b/backports.shutil_get_terminal_size-1.0.0.tar.gz";
77 sha256 = "713e7a8228ae80341c70586d1cc0a8caa5207346927e23d09dcbcaf18eadec80";
77 sha256 = "713e7a8228ae80341c70586d1cc0a8caa5207346927e23d09dcbcaf18eadec80";
78 };
78 };
79 meta = {
79 meta = {
80 license = [ pkgs.lib.licenses.mit ];
80 license = [ pkgs.lib.licenses.mit ];
81 };
81 };
82 };
82 };
83 beaker = super.buildPythonPackage {
83 beaker = super.buildPythonPackage {
84 name = "beaker-1.9.1";
84 name = "beaker-1.9.1";
85 buildInputs = with self; [];
85 buildInputs = with self; [];
86 doCheck = false;
86 doCheck = false;
87 propagatedBuildInputs = with self; [funcsigs];
87 propagatedBuildInputs = with self; [funcsigs];
88 src = fetchurl {
88 src = fetchurl {
89 url = "https://files.pythonhosted.org/packages/ca/14/a626188d0d0c7b55dd7cf1902046c2743bd392a7078bb53073e13280eb1e/Beaker-1.9.1.tar.gz";
89 url = "https://files.pythonhosted.org/packages/ca/14/a626188d0d0c7b55dd7cf1902046c2743bd392a7078bb53073e13280eb1e/Beaker-1.9.1.tar.gz";
90 sha256 = "32276ed686ab7203baf60520452903e35d1c3515f632683ea4a5881c8cd55921";
90 sha256 = "32276ed686ab7203baf60520452903e35d1c3515f632683ea4a5881c8cd55921";
91 };
91 };
92 meta = {
92 meta = {
93 license = [ pkgs.lib.licenses.bsdOriginal ];
93 license = [ pkgs.lib.licenses.bsdOriginal ];
94 };
94 };
95 };
95 };
96 beautifulsoup4 = super.buildPythonPackage {
96 beautifulsoup4 = super.buildPythonPackage {
97 name = "beautifulsoup4-4.6.0";
97 name = "beautifulsoup4-4.6.0";
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://files.pythonhosted.org/packages/fa/8d/1d14391fdaed5abada4e0f63543fef49b8331a34ca60c88bd521bcf7f782/beautifulsoup4-4.6.0.tar.gz";
102 url = "https://files.pythonhosted.org/packages/fa/8d/1d14391fdaed5abada4e0f63543fef49b8331a34ca60c88bd521bcf7f782/beautifulsoup4-4.6.0.tar.gz";
103 sha256 = "808b6ac932dccb0a4126558f7dfdcf41710dd44a4ef497a0bb59a77f9f078e89";
103 sha256 = "808b6ac932dccb0a4126558f7dfdcf41710dd44a4ef497a0bb59a77f9f078e89";
104 };
104 };
105 meta = {
105 meta = {
106 license = [ pkgs.lib.licenses.mit ];
106 license = [ pkgs.lib.licenses.mit ];
107 };
107 };
108 };
108 };
109 billiard = super.buildPythonPackage {
109 billiard = super.buildPythonPackage {
110 name = "billiard-3.5.0.3";
110 name = "billiard-3.5.0.3";
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://files.pythonhosted.org/packages/39/ac/f5571210cca2e4f4532e38aaff242f26c8654c5e2436bee966c230647ccc/billiard-3.5.0.3.tar.gz";
115 url = "https://files.pythonhosted.org/packages/39/ac/f5571210cca2e4f4532e38aaff242f26c8654c5e2436bee966c230647ccc/billiard-3.5.0.3.tar.gz";
116 sha256 = "1d7b22bdc47aa52841120fcd22a74ae4fc8c13e9d3935643098184f5788c3ce6";
116 sha256 = "1d7b22bdc47aa52841120fcd22a74ae4fc8c13e9d3935643098184f5788c3ce6";
117 };
117 };
118 meta = {
118 meta = {
119 license = [ pkgs.lib.licenses.bsdOriginal ];
119 license = [ pkgs.lib.licenses.bsdOriginal ];
120 };
120 };
121 };
121 };
122 bleach = super.buildPythonPackage {
122 bleach = super.buildPythonPackage {
123 name = "bleach-2.1.3";
123 name = "bleach-2.1.3";
124 buildInputs = with self; [];
124 buildInputs = with self; [];
125 doCheck = false;
125 doCheck = false;
126 propagatedBuildInputs = with self; [six html5lib];
126 propagatedBuildInputs = with self; [six html5lib];
127 src = fetchurl {
127 src = fetchurl {
128 url = "https://files.pythonhosted.org/packages/eb/ea/58428609442130dc31d3a59010bf6cbd263a16c589d01d23b7c1e6997e3b/bleach-2.1.3.tar.gz";
128 url = "https://files.pythonhosted.org/packages/eb/ea/58428609442130dc31d3a59010bf6cbd263a16c589d01d23b7c1e6997e3b/bleach-2.1.3.tar.gz";
129 sha256 = "eb7386f632349d10d9ce9d4a838b134d4731571851149f9cc2c05a9a837a9a44";
129 sha256 = "eb7386f632349d10d9ce9d4a838b134d4731571851149f9cc2c05a9a837a9a44";
130 };
130 };
131 meta = {
131 meta = {
132 license = [ pkgs.lib.licenses.asl20 ];
132 license = [ pkgs.lib.licenses.asl20 ];
133 };
133 };
134 };
134 };
135 bottle = super.buildPythonPackage {
135 bottle = super.buildPythonPackage {
136 name = "bottle-0.12.13";
136 name = "bottle-0.12.13";
137 buildInputs = with self; [];
137 buildInputs = with self; [];
138 doCheck = false;
138 doCheck = false;
139 propagatedBuildInputs = with self; [];
139 propagatedBuildInputs = with self; [];
140 src = fetchurl {
140 src = fetchurl {
141 url = "https://files.pythonhosted.org/packages/bd/99/04dc59ced52a8261ee0f965a8968717a255ea84a36013e527944dbf3468c/bottle-0.12.13.tar.gz";
141 url = "https://files.pythonhosted.org/packages/bd/99/04dc59ced52a8261ee0f965a8968717a255ea84a36013e527944dbf3468c/bottle-0.12.13.tar.gz";
142 sha256 = "39b751aee0b167be8dffb63ca81b735bbf1dd0905b3bc42761efedee8f123355";
142 sha256 = "39b751aee0b167be8dffb63ca81b735bbf1dd0905b3bc42761efedee8f123355";
143 };
143 };
144 meta = {
144 meta = {
145 license = [ pkgs.lib.licenses.mit ];
145 license = [ pkgs.lib.licenses.mit ];
146 };
146 };
147 };
147 };
148 bumpversion = super.buildPythonPackage {
148 bumpversion = super.buildPythonPackage {
149 name = "bumpversion-0.5.3";
149 name = "bumpversion-0.5.3";
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://files.pythonhosted.org/packages/14/41/8c9da3549f8e00c84f0432c3a8cf8ed6898374714676aab91501d48760db/bumpversion-0.5.3.tar.gz";
154 url = "https://files.pythonhosted.org/packages/14/41/8c9da3549f8e00c84f0432c3a8cf8ed6898374714676aab91501d48760db/bumpversion-0.5.3.tar.gz";
155 sha256 = "6744c873dd7aafc24453d8b6a1a0d6d109faf63cd0cd19cb78fd46e74932c77e";
155 sha256 = "6744c873dd7aafc24453d8b6a1a0d6d109faf63cd0cd19cb78fd46e74932c77e";
156 };
156 };
157 meta = {
157 meta = {
158 license = [ pkgs.lib.licenses.mit ];
158 license = [ pkgs.lib.licenses.mit ];
159 };
159 };
160 };
160 };
161 celery = super.buildPythonPackage {
161 celery = super.buildPythonPackage {
162 name = "celery-4.1.0";
162 name = "celery-4.1.0";
163 buildInputs = with self; [];
163 buildInputs = with self; [];
164 doCheck = false;
164 doCheck = false;
165 propagatedBuildInputs = with self; [pytz billiard kombu];
165 propagatedBuildInputs = with self; [pytz billiard kombu];
166 src = fetchurl {
166 src = fetchurl {
167 url = "https://files.pythonhosted.org/packages/07/65/88a2a45fc80f487872c93121a701a53bbbc3d3d832016876fac84fc8d46a/celery-4.1.0.tar.gz";
167 url = "https://files.pythonhosted.org/packages/07/65/88a2a45fc80f487872c93121a701a53bbbc3d3d832016876fac84fc8d46a/celery-4.1.0.tar.gz";
168 sha256 = "77ff3730198d6a17b3c1f05579ebe570b579efb35f6d7e13dba3b1368d068b35";
168 sha256 = "77ff3730198d6a17b3c1f05579ebe570b579efb35f6d7e13dba3b1368d068b35";
169 };
169 };
170 meta = {
170 meta = {
171 license = [ pkgs.lib.licenses.bsdOriginal ];
171 license = [ pkgs.lib.licenses.bsdOriginal ];
172 };
172 };
173 };
173 };
174 chameleon = super.buildPythonPackage {
174 chameleon = super.buildPythonPackage {
175 name = "chameleon-2.24";
175 name = "chameleon-2.24";
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://files.pythonhosted.org/packages/5a/9e/637379ffa13c5172b5c0e704833ffea6bf51cec7567f93fd6e903d53ed74/Chameleon-2.24.tar.gz";
180 url = "https://files.pythonhosted.org/packages/5a/9e/637379ffa13c5172b5c0e704833ffea6bf51cec7567f93fd6e903d53ed74/Chameleon-2.24.tar.gz";
181 sha256 = "452e9580040ed8541062b16e21eaef4231dd5ed8da3ad9548246b9eef5c9787a";
181 sha256 = "452e9580040ed8541062b16e21eaef4231dd5ed8da3ad9548246b9eef5c9787a";
182 };
182 };
183 meta = {
183 meta = {
184 license = [ { fullName = "BSD-like (http://repoze.org/license.html)"; } ];
184 license = [ { fullName = "BSD-like (http://repoze.org/license.html)"; } ];
185 };
185 };
186 };
186 };
187 channelstream = super.buildPythonPackage {
187 channelstream = super.buildPythonPackage {
188 name = "channelstream-0.5.2";
188 name = "channelstream-0.5.2";
189 buildInputs = with self; [];
189 buildInputs = with self; [];
190 doCheck = false;
190 doCheck = false;
191 propagatedBuildInputs = with self; [gevent ws4py pyramid pyramid-jinja2 itsdangerous requests six];
191 propagatedBuildInputs = with self; [gevent ws4py pyramid pyramid-jinja2 itsdangerous requests six];
192 src = fetchurl {
192 src = fetchurl {
193 url = "https://files.pythonhosted.org/packages/2b/31/29a8e085cf5bf97fa88e7b947adabfc581a18a3463adf77fb6dada34a65f/channelstream-0.5.2.tar.gz";
193 url = "https://files.pythonhosted.org/packages/2b/31/29a8e085cf5bf97fa88e7b947adabfc581a18a3463adf77fb6dada34a65f/channelstream-0.5.2.tar.gz";
194 sha256 = "359bf5316688341e54a881a7b331c2388fc7ec32a4f4818c92d3c1425b2775e1";
194 sha256 = "359bf5316688341e54a881a7b331c2388fc7ec32a4f4818c92d3c1425b2775e1";
195 };
195 };
196 meta = {
196 meta = {
197 license = [ pkgs.lib.licenses.bsdOriginal ];
197 license = [ pkgs.lib.licenses.bsdOriginal ];
198 };
198 };
199 };
199 };
200 click = super.buildPythonPackage {
200 click = super.buildPythonPackage {
201 name = "click-6.6";
201 name = "click-6.6";
202 buildInputs = with self; [];
202 buildInputs = with self; [];
203 doCheck = false;
203 doCheck = false;
204 propagatedBuildInputs = with self; [];
204 propagatedBuildInputs = with self; [];
205 src = fetchurl {
205 src = fetchurl {
206 url = "https://files.pythonhosted.org/packages/7a/00/c14926d8232b36b08218067bcd5853caefb4737cda3f0a47437151344792/click-6.6.tar.gz";
206 url = "https://files.pythonhosted.org/packages/7a/00/c14926d8232b36b08218067bcd5853caefb4737cda3f0a47437151344792/click-6.6.tar.gz";
207 sha256 = "cc6a19da8ebff6e7074f731447ef7e112bd23adf3de5c597cf9989f2fd8defe9";
207 sha256 = "cc6a19da8ebff6e7074f731447ef7e112bd23adf3de5c597cf9989f2fd8defe9";
208 };
208 };
209 meta = {
209 meta = {
210 license = [ pkgs.lib.licenses.bsdOriginal ];
210 license = [ pkgs.lib.licenses.bsdOriginal ];
211 };
211 };
212 };
212 };
213 colander = super.buildPythonPackage {
213 colander = super.buildPythonPackage {
214 name = "colander-1.4";
214 name = "colander-1.4";
215 buildInputs = with self; [];
215 buildInputs = with self; [];
216 doCheck = false;
216 doCheck = false;
217 propagatedBuildInputs = with self; [translationstring iso8601];
217 propagatedBuildInputs = with self; [translationstring iso8601];
218 src = fetchurl {
218 src = fetchurl {
219 url = "https://files.pythonhosted.org/packages/cc/e2/c4e716ac4a426d8ad4dfe306c34f0018a22275d2420815784005bf771c84/colander-1.4.tar.gz";
219 url = "https://files.pythonhosted.org/packages/cc/e2/c4e716ac4a426d8ad4dfe306c34f0018a22275d2420815784005bf771c84/colander-1.4.tar.gz";
220 sha256 = "e20e9acf190e5711cf96aa65a5405dac04b6e841028fc361d953a9923dbc4e72";
220 sha256 = "e20e9acf190e5711cf96aa65a5405dac04b6e841028fc361d953a9923dbc4e72";
221 };
221 };
222 meta = {
222 meta = {
223 license = [ { fullName = "BSD-derived (http://www.repoze.org/LICENSE.txt)"; } ];
223 license = [ { fullName = "BSD-derived (http://www.repoze.org/LICENSE.txt)"; } ];
224 };
224 };
225 };
225 };
226 configobj = super.buildPythonPackage {
226 configobj = super.buildPythonPackage {
227 name = "configobj-5.0.6";
227 name = "configobj-5.0.6";
228 buildInputs = with self; [];
228 buildInputs = with self; [];
229 doCheck = false;
229 doCheck = false;
230 propagatedBuildInputs = with self; [six];
230 propagatedBuildInputs = with self; [six];
231 src = fetchurl {
231 src = fetchurl {
232 url = "https://files.pythonhosted.org/packages/64/61/079eb60459c44929e684fa7d9e2fdca403f67d64dd9dbac27296be2e0fab/configobj-5.0.6.tar.gz";
232 url = "https://files.pythonhosted.org/packages/64/61/079eb60459c44929e684fa7d9e2fdca403f67d64dd9dbac27296be2e0fab/configobj-5.0.6.tar.gz";
233 sha256 = "a2f5650770e1c87fb335af19a9b7eb73fc05ccf22144eb68db7d00cd2bcb0902";
233 sha256 = "a2f5650770e1c87fb335af19a9b7eb73fc05ccf22144eb68db7d00cd2bcb0902";
234 };
234 };
235 meta = {
235 meta = {
236 license = [ pkgs.lib.licenses.bsdOriginal ];
236 license = [ pkgs.lib.licenses.bsdOriginal ];
237 };
237 };
238 };
238 };
239 configparser = super.buildPythonPackage {
239 configparser = super.buildPythonPackage {
240 name = "configparser-3.5.0";
240 name = "configparser-3.5.0";
241 buildInputs = with self; [];
241 buildInputs = with self; [];
242 doCheck = false;
242 doCheck = false;
243 propagatedBuildInputs = with self; [];
243 propagatedBuildInputs = with self; [];
244 src = fetchurl {
244 src = fetchurl {
245 url = "https://files.pythonhosted.org/packages/7c/69/c2ce7e91c89dc073eb1aa74c0621c3eefbffe8216b3f9af9d3885265c01c/configparser-3.5.0.tar.gz";
245 url = "https://files.pythonhosted.org/packages/7c/69/c2ce7e91c89dc073eb1aa74c0621c3eefbffe8216b3f9af9d3885265c01c/configparser-3.5.0.tar.gz";
246 sha256 = "5308b47021bc2340965c371f0f058cc6971a04502638d4244225c49d80db273a";
246 sha256 = "5308b47021bc2340965c371f0f058cc6971a04502638d4244225c49d80db273a";
247 };
247 };
248 meta = {
248 meta = {
249 license = [ pkgs.lib.licenses.mit ];
249 license = [ pkgs.lib.licenses.mit ];
250 };
250 };
251 };
251 };
252 cov-core = super.buildPythonPackage {
252 cov-core = super.buildPythonPackage {
253 name = "cov-core-1.15.0";
253 name = "cov-core-1.15.0";
254 buildInputs = with self; [];
254 buildInputs = with self; [];
255 doCheck = false;
255 doCheck = false;
256 propagatedBuildInputs = with self; [coverage];
256 propagatedBuildInputs = with self; [coverage];
257 src = fetchurl {
257 src = fetchurl {
258 url = "https://files.pythonhosted.org/packages/4b/87/13e75a47b4ba1be06f29f6d807ca99638bedc6b57fa491cd3de891ca2923/cov-core-1.15.0.tar.gz";
258 url = "https://files.pythonhosted.org/packages/4b/87/13e75a47b4ba1be06f29f6d807ca99638bedc6b57fa491cd3de891ca2923/cov-core-1.15.0.tar.gz";
259 sha256 = "4a14c67d520fda9d42b0da6134638578caae1d374b9bb462d8de00587dba764c";
259 sha256 = "4a14c67d520fda9d42b0da6134638578caae1d374b9bb462d8de00587dba764c";
260 };
260 };
261 meta = {
261 meta = {
262 license = [ pkgs.lib.licenses.mit ];
262 license = [ pkgs.lib.licenses.mit ];
263 };
263 };
264 };
264 };
265 coverage = super.buildPythonPackage {
265 coverage = super.buildPythonPackage {
266 name = "coverage-3.7.1";
266 name = "coverage-3.7.1";
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://files.pythonhosted.org/packages/09/4f/89b06c7fdc09687bca507dc411c342556ef9c5a3b26756137a4878ff19bf/coverage-3.7.1.tar.gz";
271 url = "https://files.pythonhosted.org/packages/09/4f/89b06c7fdc09687bca507dc411c342556ef9c5a3b26756137a4878ff19bf/coverage-3.7.1.tar.gz";
272 sha256 = "d1aea1c4aa61b8366d6a42dd3650622fbf9c634ed24eaf7f379c8b970e5ed44e";
272 sha256 = "d1aea1c4aa61b8366d6a42dd3650622fbf9c634ed24eaf7f379c8b970e5ed44e";
273 };
273 };
274 meta = {
274 meta = {
275 license = [ pkgs.lib.licenses.bsdOriginal ];
275 license = [ pkgs.lib.licenses.bsdOriginal ];
276 };
276 };
277 };
277 };
278 cprofilev = super.buildPythonPackage {
278 cprofilev = super.buildPythonPackage {
279 name = "cprofilev-1.0.7";
279 name = "cprofilev-1.0.7";
280 buildInputs = with self; [];
280 buildInputs = with self; [];
281 doCheck = false;
281 doCheck = false;
282 propagatedBuildInputs = with self; [bottle];
282 propagatedBuildInputs = with self; [bottle];
283 src = fetchurl {
283 src = fetchurl {
284 url = "https://files.pythonhosted.org/packages/df/50/d8c1ada7d537c64b0f76453fa31dedb6af6e27b82fcf0331e5f71a4cf98b/CProfileV-1.0.7.tar.gz";
284 url = "https://files.pythonhosted.org/packages/df/50/d8c1ada7d537c64b0f76453fa31dedb6af6e27b82fcf0331e5f71a4cf98b/CProfileV-1.0.7.tar.gz";
285 sha256 = "8791748b1f3d3468c2c927c3fd5f905080b84d8f2d217ca764b7d9d7a1fb9a77";
285 sha256 = "8791748b1f3d3468c2c927c3fd5f905080b84d8f2d217ca764b7d9d7a1fb9a77";
286 };
286 };
287 meta = {
287 meta = {
288 license = [ pkgs.lib.licenses.mit ];
288 license = [ pkgs.lib.licenses.mit ];
289 };
289 };
290 };
290 };
291 cssselect = super.buildPythonPackage {
291 cssselect = super.buildPythonPackage {
292 name = "cssselect-1.0.1";
292 name = "cssselect-1.0.1";
293 buildInputs = with self; [];
293 buildInputs = with self; [];
294 doCheck = false;
294 doCheck = false;
295 propagatedBuildInputs = with self; [];
295 propagatedBuildInputs = with self; [];
296 src = fetchurl {
296 src = fetchurl {
297 url = "https://files.pythonhosted.org/packages/77/ff/9c865275cd19290feba56344eba570e719efb7ca5b34d67ed12b22ebbb0d/cssselect-1.0.1.tar.gz";
297 url = "https://files.pythonhosted.org/packages/77/ff/9c865275cd19290feba56344eba570e719efb7ca5b34d67ed12b22ebbb0d/cssselect-1.0.1.tar.gz";
298 sha256 = "73db1c054b9348409e2862fc6c0dde5c4e4fbe4da64c5c5a9e05fbea45744077";
298 sha256 = "73db1c054b9348409e2862fc6c0dde5c4e4fbe4da64c5c5a9e05fbea45744077";
299 };
299 };
300 meta = {
300 meta = {
301 license = [ pkgs.lib.licenses.bsdOriginal ];
301 license = [ pkgs.lib.licenses.bsdOriginal ];
302 };
302 };
303 };
303 };
304 decorator = super.buildPythonPackage {
304 decorator = super.buildPythonPackage {
305 name = "decorator-4.1.2";
305 name = "decorator-4.1.2";
306 buildInputs = with self; [];
306 buildInputs = with self; [];
307 doCheck = false;
307 doCheck = false;
308 propagatedBuildInputs = with self; [];
308 propagatedBuildInputs = with self; [];
309 src = fetchurl {
309 src = fetchurl {
310 url = "https://files.pythonhosted.org/packages/bb/e0/f6e41e9091e130bf16d4437dabbac3993908e4d6485ecbc985ef1352db94/decorator-4.1.2.tar.gz";
310 url = "https://files.pythonhosted.org/packages/bb/e0/f6e41e9091e130bf16d4437dabbac3993908e4d6485ecbc985ef1352db94/decorator-4.1.2.tar.gz";
311 sha256 = "7cb64d38cb8002971710c8899fbdfb859a23a364b7c99dab19d1f719c2ba16b5";
311 sha256 = "7cb64d38cb8002971710c8899fbdfb859a23a364b7c99dab19d1f719c2ba16b5";
312 };
312 };
313 meta = {
313 meta = {
314 license = [ pkgs.lib.licenses.bsdOriginal { fullName = "new BSD License"; } ];
314 license = [ pkgs.lib.licenses.bsdOriginal { fullName = "new BSD License"; } ];
315 };
315 };
316 };
316 };
317 deform = super.buildPythonPackage {
317 deform = super.buildPythonPackage {
318 name = "deform-2.0.5";
318 name = "deform-2.0.5";
319 buildInputs = with self; [];
319 buildInputs = with self; [];
320 doCheck = false;
320 doCheck = false;
321 propagatedBuildInputs = with self; [chameleon colander iso8601 peppercorn translationstring zope.deprecation];
321 propagatedBuildInputs = with self; [chameleon colander iso8601 peppercorn translationstring zope.deprecation];
322 src = fetchurl {
322 src = fetchurl {
323 url = "https://files.pythonhosted.org/packages/0c/b1/ba711d5808c12538c8504f534d79c124ed834f19ac36f0ac5391c3bbd1c1/deform-2.0.5.tar.gz";
323 url = "https://files.pythonhosted.org/packages/0c/b1/ba711d5808c12538c8504f534d79c124ed834f19ac36f0ac5391c3bbd1c1/deform-2.0.5.tar.gz";
324 sha256 = "874d3346a02c500432efdcc73b1a7174aa0ea69cd52a99bb9a812967f54f6f79";
324 sha256 = "874d3346a02c500432efdcc73b1a7174aa0ea69cd52a99bb9a812967f54f6f79";
325 };
325 };
326 meta = {
326 meta = {
327 license = [ { fullName = "BSD-derived (http://www.repoze.org/LICENSE.txt)"; } ];
327 license = [ { fullName = "BSD-derived (http://www.repoze.org/LICENSE.txt)"; } ];
328 };
328 };
329 };
329 };
330 docutils = super.buildPythonPackage {
330 docutils = super.buildPythonPackage {
331 name = "docutils-0.14";
331 name = "docutils-0.14";
332 buildInputs = with self; [];
332 buildInputs = with self; [];
333 doCheck = false;
333 doCheck = false;
334 propagatedBuildInputs = with self; [];
334 propagatedBuildInputs = with self; [];
335 src = fetchurl {
335 src = fetchurl {
336 url = "https://files.pythonhosted.org/packages/84/f4/5771e41fdf52aabebbadecc9381d11dea0fa34e4759b4071244fa094804c/docutils-0.14.tar.gz";
336 url = "https://files.pythonhosted.org/packages/84/f4/5771e41fdf52aabebbadecc9381d11dea0fa34e4759b4071244fa094804c/docutils-0.14.tar.gz";
337 sha256 = "51e64ef2ebfb29cae1faa133b3710143496eca21c530f3f71424d77687764274";
337 sha256 = "51e64ef2ebfb29cae1faa133b3710143496eca21c530f3f71424d77687764274";
338 };
338 };
339 meta = {
339 meta = {
340 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 ];
340 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 ];
341 };
341 };
342 };
342 };
343 dogpile.cache = super.buildPythonPackage {
343 dogpile.cache = super.buildPythonPackage {
344 name = "dogpile.cache-0.6.5";
344 name = "dogpile.cache-0.6.5";
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://files.pythonhosted.org/packages/65/24/7bd97e9d486c37ac03ef6ae3a590db1a8e02183e5d7ce9071bcca9d86c44/dogpile.cache-0.6.5.tar.gz";
349 url = "https://files.pythonhosted.org/packages/65/24/7bd97e9d486c37ac03ef6ae3a590db1a8e02183e5d7ce9071bcca9d86c44/dogpile.cache-0.6.5.tar.gz";
350 sha256 = "631197e78b4471bb0e93d0a86264c45736bc9ae43b4205d581dcc34fbe9b5f31";
350 sha256 = "631197e78b4471bb0e93d0a86264c45736bc9ae43b4205d581dcc34fbe9b5f31";
351 };
351 };
352 meta = {
352 meta = {
353 license = [ pkgs.lib.licenses.bsdOriginal ];
353 license = [ pkgs.lib.licenses.bsdOriginal ];
354 };
354 };
355 };
355 };
356 dogpile.core = super.buildPythonPackage {
356 dogpile.core = super.buildPythonPackage {
357 name = "dogpile.core-0.4.1";
357 name = "dogpile.core-0.4.1";
358 buildInputs = with self; [];
358 buildInputs = with self; [];
359 doCheck = false;
359 doCheck = false;
360 propagatedBuildInputs = with self; [];
360 propagatedBuildInputs = with self; [];
361 src = fetchurl {
361 src = fetchurl {
362 url = "https://files.pythonhosted.org/packages/0e/77/e72abc04c22aedf874301861e5c1e761231c288b5de369c18be8f4b5c9bb/dogpile.core-0.4.1.tar.gz";
362 url = "https://files.pythonhosted.org/packages/0e/77/e72abc04c22aedf874301861e5c1e761231c288b5de369c18be8f4b5c9bb/dogpile.core-0.4.1.tar.gz";
363 sha256 = "be652fb11a8eaf66f7e5c94d418d2eaa60a2fe81dae500f3743a863cc9dbed76";
363 sha256 = "be652fb11a8eaf66f7e5c94d418d2eaa60a2fe81dae500f3743a863cc9dbed76";
364 };
364 };
365 meta = {
365 meta = {
366 license = [ pkgs.lib.licenses.bsdOriginal ];
366 license = [ pkgs.lib.licenses.bsdOriginal ];
367 };
367 };
368 };
368 };
369 ecdsa = super.buildPythonPackage {
369 ecdsa = super.buildPythonPackage {
370 name = "ecdsa-0.13";
370 name = "ecdsa-0.13";
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://files.pythonhosted.org/packages/f9/e5/99ebb176e47f150ac115ffeda5fedb6a3dbb3c00c74a59fd84ddf12f5857/ecdsa-0.13.tar.gz";
375 url = "https://files.pythonhosted.org/packages/f9/e5/99ebb176e47f150ac115ffeda5fedb6a3dbb3c00c74a59fd84ddf12f5857/ecdsa-0.13.tar.gz";
376 sha256 = "64cf1ee26d1cde3c73c6d7d107f835fed7c6a2904aef9eac223d57ad800c43fa";
376 sha256 = "64cf1ee26d1cde3c73c6d7d107f835fed7c6a2904aef9eac223d57ad800c43fa";
377 };
377 };
378 meta = {
378 meta = {
379 license = [ pkgs.lib.licenses.mit ];
379 license = [ pkgs.lib.licenses.mit ];
380 };
380 };
381 };
381 };
382 elasticsearch = super.buildPythonPackage {
382 elasticsearch = super.buildPythonPackage {
383 name = "elasticsearch-2.3.0";
383 name = "elasticsearch-2.3.0";
384 buildInputs = with self; [];
384 buildInputs = with self; [];
385 doCheck = false;
385 doCheck = false;
386 propagatedBuildInputs = with self; [urllib3];
386 propagatedBuildInputs = with self; [urllib3];
387 src = fetchurl {
387 src = fetchurl {
388 url = "https://files.pythonhosted.org/packages/10/35/5fd52c5f0b0ee405ed4b5195e8bce44c5e041787680dc7b94b8071cac600/elasticsearch-2.3.0.tar.gz";
388 url = "https://files.pythonhosted.org/packages/10/35/5fd52c5f0b0ee405ed4b5195e8bce44c5e041787680dc7b94b8071cac600/elasticsearch-2.3.0.tar.gz";
389 sha256 = "be3080a2bf32dff0a9f9fcc1c087515a25a357645673a976d25ef77166134d81";
389 sha256 = "be3080a2bf32dff0a9f9fcc1c087515a25a357645673a976d25ef77166134d81";
390 };
390 };
391 meta = {
391 meta = {
392 license = [ pkgs.lib.licenses.asl20 ];
392 license = [ pkgs.lib.licenses.asl20 ];
393 };
393 };
394 };
394 };
395 elasticsearch-dsl = super.buildPythonPackage {
395 elasticsearch-dsl = super.buildPythonPackage {
396 name = "elasticsearch-dsl-2.2.0";
396 name = "elasticsearch-dsl-2.2.0";
397 buildInputs = with self; [];
397 buildInputs = with self; [];
398 doCheck = false;
398 doCheck = false;
399 propagatedBuildInputs = with self; [six python-dateutil elasticsearch];
399 propagatedBuildInputs = with self; [six python-dateutil elasticsearch];
400 src = fetchurl {
400 src = fetchurl {
401 url = "https://files.pythonhosted.org/packages/66/2f/52a086968788e58461641570f45c3207a52d46ebbe9b77dc22b6a8ffda66/elasticsearch-dsl-2.2.0.tar.gz";
401 url = "https://files.pythonhosted.org/packages/66/2f/52a086968788e58461641570f45c3207a52d46ebbe9b77dc22b6a8ffda66/elasticsearch-dsl-2.2.0.tar.gz";
402 sha256 = "99bbb4dcbcfb5db4f57499237f24acf1397543e895e99994a09af2a6fbef93bc";
402 sha256 = "99bbb4dcbcfb5db4f57499237f24acf1397543e895e99994a09af2a6fbef93bc";
403 };
403 };
404 meta = {
404 meta = {
405 license = [ pkgs.lib.licenses.asl20 ];
405 license = [ pkgs.lib.licenses.asl20 ];
406 };
406 };
407 };
407 };
408 entrypoints = super.buildPythonPackage {
408 entrypoints = super.buildPythonPackage {
409 name = "entrypoints-0.2.2";
409 name = "entrypoints-0.2.2";
410 buildInputs = with self; [];
410 buildInputs = with self; [];
411 doCheck = false;
411 doCheck = false;
412 propagatedBuildInputs = with self; [configparser];
412 propagatedBuildInputs = with self; [configparser];
413 src = fetchurl {
413 src = fetchurl {
414 url = "https://code.rhodecode.com/upstream/entrypoints/archive/96e6d645684e1af3d7df5b5272f3fe85a546b233.tar.gz?md5=7db37771aea9ac9fefe093e5d6987313";
414 url = "https://code.rhodecode.com/upstream/entrypoints/archive/96e6d645684e1af3d7df5b5272f3fe85a546b233.tar.gz?md5=7db37771aea9ac9fefe093e5d6987313";
415 md5 = "7db37771aea9ac9fefe093e5d6987313";
415 md5 = "7db37771aea9ac9fefe093e5d6987313";
416 };
416 };
417 meta = {
417 meta = {
418 license = [ pkgs.lib.licenses.mit ];
418 license = [ pkgs.lib.licenses.mit ];
419 };
419 };
420 };
420 };
421 enum34 = super.buildPythonPackage {
421 enum34 = super.buildPythonPackage {
422 name = "enum34-1.1.6";
422 name = "enum34-1.1.6";
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://files.pythonhosted.org/packages/bf/3e/31d502c25302814a7c2f1d3959d2a3b3f78e509002ba91aea64993936876/enum34-1.1.6.tar.gz";
427 url = "https://files.pythonhosted.org/packages/bf/3e/31d502c25302814a7c2f1d3959d2a3b3f78e509002ba91aea64993936876/enum34-1.1.6.tar.gz";
428 sha256 = "8ad8c4783bf61ded74527bffb48ed9b54166685e4230386a9ed9b1279e2df5b1";
428 sha256 = "8ad8c4783bf61ded74527bffb48ed9b54166685e4230386a9ed9b1279e2df5b1";
429 };
429 };
430 meta = {
430 meta = {
431 license = [ pkgs.lib.licenses.bsdOriginal ];
431 license = [ pkgs.lib.licenses.bsdOriginal ];
432 };
432 };
433 };
433 };
434 formencode = super.buildPythonPackage {
434 formencode = super.buildPythonPackage {
435 name = "formencode-1.2.4";
435 name = "formencode-1.2.4";
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://files.pythonhosted.org/packages/8e/59/0174271a6f004512e0201188593e6d319db139d14cb7490e488bbb078015/FormEncode-1.2.4.tar.gz";
440 url = "https://files.pythonhosted.org/packages/8e/59/0174271a6f004512e0201188593e6d319db139d14cb7490e488bbb078015/FormEncode-1.2.4.tar.gz";
441 sha256 = "8270840ee832055463b3d3328f8ae4b881e1fbe84353c97af1d913df3401feb9";
441 sha256 = "8270840ee832055463b3d3328f8ae4b881e1fbe84353c97af1d913df3401feb9";
442 };
442 };
443 meta = {
443 meta = {
444 license = [ pkgs.lib.licenses.psfl ];
444 license = [ pkgs.lib.licenses.psfl ];
445 };
445 };
446 };
446 };
447 funcsigs = super.buildPythonPackage {
447 funcsigs = super.buildPythonPackage {
448 name = "funcsigs-1.0.2";
448 name = "funcsigs-1.0.2";
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://files.pythonhosted.org/packages/94/4a/db842e7a0545de1cdb0439bb80e6e42dfe82aaeaadd4072f2263a4fbed23/funcsigs-1.0.2.tar.gz";
453 url = "https://files.pythonhosted.org/packages/94/4a/db842e7a0545de1cdb0439bb80e6e42dfe82aaeaadd4072f2263a4fbed23/funcsigs-1.0.2.tar.gz";
454 sha256 = "a7bb0f2cf3a3fd1ab2732cb49eba4252c2af4240442415b4abce3b87022a8f50";
454 sha256 = "a7bb0f2cf3a3fd1ab2732cb49eba4252c2af4240442415b4abce3b87022a8f50";
455 };
455 };
456 meta = {
456 meta = {
457 license = [ { fullName = "ASL"; } pkgs.lib.licenses.asl20 ];
457 license = [ { fullName = "ASL"; } pkgs.lib.licenses.asl20 ];
458 };
458 };
459 };
459 };
460 functools32 = super.buildPythonPackage {
460 functools32 = super.buildPythonPackage {
461 name = "functools32-3.2.3.post2";
461 name = "functools32-3.2.3.post2";
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://files.pythonhosted.org/packages/c5/60/6ac26ad05857c601308d8fb9e87fa36d0ebf889423f47c3502ef034365db/functools32-3.2.3-2.tar.gz";
466 url = "https://files.pythonhosted.org/packages/c5/60/6ac26ad05857c601308d8fb9e87fa36d0ebf889423f47c3502ef034365db/functools32-3.2.3-2.tar.gz";
467 sha256 = "f6253dfbe0538ad2e387bd8fdfd9293c925d63553f5813c4e587745416501e6d";
467 sha256 = "f6253dfbe0538ad2e387bd8fdfd9293c925d63553f5813c4e587745416501e6d";
468 };
468 };
469 meta = {
469 meta = {
470 license = [ pkgs.lib.licenses.psfl ];
470 license = [ pkgs.lib.licenses.psfl ];
471 };
471 };
472 };
472 };
473 future = super.buildPythonPackage {
473 future = super.buildPythonPackage {
474 name = "future-0.14.3";
474 name = "future-0.14.3";
475 buildInputs = with self; [];
475 buildInputs = with self; [];
476 doCheck = false;
476 doCheck = false;
477 propagatedBuildInputs = with self; [];
477 propagatedBuildInputs = with self; [];
478 src = fetchurl {
478 src = fetchurl {
479 url = "https://files.pythonhosted.org/packages/83/80/8ef3a11a15f8eaafafa0937b20c1b3f73527e69ab6b3fa1cf94a5a96aabb/future-0.14.3.tar.gz";
479 url = "https://files.pythonhosted.org/packages/83/80/8ef3a11a15f8eaafafa0937b20c1b3f73527e69ab6b3fa1cf94a5a96aabb/future-0.14.3.tar.gz";
480 sha256 = "62857d51881d97dd5492b9295b9f51d92108a52a4c88e2c40054c1d3e5995be9";
480 sha256 = "62857d51881d97dd5492b9295b9f51d92108a52a4c88e2c40054c1d3e5995be9";
481 };
481 };
482 meta = {
482 meta = {
483 license = [ { fullName = "OSI Approved"; } pkgs.lib.licenses.mit ];
483 license = [ { fullName = "OSI Approved"; } pkgs.lib.licenses.mit ];
484 };
484 };
485 };
485 };
486 futures = super.buildPythonPackage {
486 futures = super.buildPythonPackage {
487 name = "futures-3.0.2";
487 name = "futures-3.0.2";
488 buildInputs = with self; [];
488 buildInputs = with self; [];
489 doCheck = false;
489 doCheck = false;
490 propagatedBuildInputs = with self; [];
490 propagatedBuildInputs = with self; [];
491 src = fetchurl {
491 src = fetchurl {
492 url = "https://files.pythonhosted.org/packages/f8/e7/fc0fcbeb9193ba2d4de00b065e7fd5aecd0679e93ce95a07322b2b1434f4/futures-3.0.2.tar.gz";
492 url = "https://files.pythonhosted.org/packages/f8/e7/fc0fcbeb9193ba2d4de00b065e7fd5aecd0679e93ce95a07322b2b1434f4/futures-3.0.2.tar.gz";
493 sha256 = "dc3fc91508e49e0fd2f8625f0132d16e49c80f882e7e1d565c56b0d5dfbae257";
493 sha256 = "dc3fc91508e49e0fd2f8625f0132d16e49c80f882e7e1d565c56b0d5dfbae257";
494 };
494 };
495 meta = {
495 meta = {
496 license = [ pkgs.lib.licenses.bsdOriginal ];
496 license = [ pkgs.lib.licenses.bsdOriginal ];
497 };
497 };
498 };
498 };
499 gevent = super.buildPythonPackage {
499 gevent = super.buildPythonPackage {
500 name = "gevent-1.2.2";
500 name = "gevent-1.2.2";
501 buildInputs = with self; [];
501 buildInputs = with self; [];
502 doCheck = false;
502 doCheck = false;
503 propagatedBuildInputs = with self; [greenlet];
503 propagatedBuildInputs = with self; [greenlet];
504 src = fetchurl {
504 src = fetchurl {
505 url = "https://files.pythonhosted.org/packages/1b/92/b111f76e54d2be11375b47b213b56687214f258fd9dae703546d30b837be/gevent-1.2.2.tar.gz";
505 url = "https://files.pythonhosted.org/packages/1b/92/b111f76e54d2be11375b47b213b56687214f258fd9dae703546d30b837be/gevent-1.2.2.tar.gz";
506 sha256 = "4791c8ae9c57d6f153354736e1ccab1e2baf6c8d9ae5a77a9ac90f41e2966b2d";
506 sha256 = "4791c8ae9c57d6f153354736e1ccab1e2baf6c8d9ae5a77a9ac90f41e2966b2d";
507 };
507 };
508 meta = {
508 meta = {
509 license = [ pkgs.lib.licenses.mit ];
509 license = [ pkgs.lib.licenses.mit ];
510 };
510 };
511 };
511 };
512 gnureadline = super.buildPythonPackage {
512 gnureadline = super.buildPythonPackage {
513 name = "gnureadline-6.3.8";
513 name = "gnureadline-6.3.8";
514 buildInputs = with self; [];
514 buildInputs = with self; [];
515 doCheck = false;
515 doCheck = false;
516 propagatedBuildInputs = with self; [];
516 propagatedBuildInputs = with self; [];
517 src = fetchurl {
517 src = fetchurl {
518 url = "https://files.pythonhosted.org/packages/50/64/86085c823cd78f9df9d8e33dce0baa71618016f8860460b82cf6610e1eb3/gnureadline-6.3.8.tar.gz";
518 url = "https://files.pythonhosted.org/packages/50/64/86085c823cd78f9df9d8e33dce0baa71618016f8860460b82cf6610e1eb3/gnureadline-6.3.8.tar.gz";
519 sha256 = "58e208ed34a53456ecf58bc11eacbe332c50d322b329457e2c645bd15192b035";
519 sha256 = "58e208ed34a53456ecf58bc11eacbe332c50d322b329457e2c645bd15192b035";
520 };
520 };
521 meta = {
521 meta = {
522 license = [ { fullName = "GNU General Public License v3 (GPLv3)"; } pkgs.lib.licenses.gpl1 ];
522 license = [ { fullName = "GNU General Public License v3 (GPLv3)"; } pkgs.lib.licenses.gpl1 ];
523 };
523 };
524 };
524 };
525 gprof2dot = super.buildPythonPackage {
525 gprof2dot = super.buildPythonPackage {
526 name = "gprof2dot-2017.9.19";
526 name = "gprof2dot-2017.9.19";
527 buildInputs = with self; [];
527 buildInputs = with self; [];
528 doCheck = false;
528 doCheck = false;
529 propagatedBuildInputs = with self; [];
529 propagatedBuildInputs = with self; [];
530 src = fetchurl {
530 src = fetchurl {
531 url = "https://files.pythonhosted.org/packages/9d/36/f977122502979f3dfb50704979c9ed70e6b620787942b089bf1af15f5aba/gprof2dot-2017.9.19.tar.gz";
531 url = "https://files.pythonhosted.org/packages/9d/36/f977122502979f3dfb50704979c9ed70e6b620787942b089bf1af15f5aba/gprof2dot-2017.9.19.tar.gz";
532 sha256 = "cebc7aa2782fd813ead415ea1fae3409524343485eadc7fb60ef5bd1e810309e";
532 sha256 = "cebc7aa2782fd813ead415ea1fae3409524343485eadc7fb60ef5bd1e810309e";
533 };
533 };
534 meta = {
534 meta = {
535 license = [ { fullName = "GNU Lesser General Public License v3 or later (LGPLv3+)"; } { fullName = "LGPL"; } ];
535 license = [ { fullName = "GNU Lesser General Public License v3 or later (LGPLv3+)"; } { fullName = "LGPL"; } ];
536 };
536 };
537 };
537 };
538 graphviz = super.buildPythonPackage {
538 graphviz = super.buildPythonPackage {
539 name = "graphviz-0.8.2";
539 name = "graphviz-0.8.2";
540 buildInputs = with self; [];
540 buildInputs = with self; [];
541 doCheck = false;
541 doCheck = false;
542 propagatedBuildInputs = with self; [];
542 propagatedBuildInputs = with self; [];
543 src = fetchurl {
543 src = fetchurl {
544 url = "https://files.pythonhosted.org/packages/fa/d1/63b62dee9e55368f60b5ea445e6afb361bb47e692fc27553f3672e16efb8/graphviz-0.8.2.zip";
544 url = "https://files.pythonhosted.org/packages/fa/d1/63b62dee9e55368f60b5ea445e6afb361bb47e692fc27553f3672e16efb8/graphviz-0.8.2.zip";
545 sha256 = "606741c028acc54b1a065b33045f8c89ee0927ea77273ec409ac988f2c3d1091";
545 sha256 = "606741c028acc54b1a065b33045f8c89ee0927ea77273ec409ac988f2c3d1091";
546 };
546 };
547 meta = {
547 meta = {
548 license = [ pkgs.lib.licenses.mit ];
548 license = [ pkgs.lib.licenses.mit ];
549 };
549 };
550 };
550 };
551 greenlet = super.buildPythonPackage {
551 greenlet = super.buildPythonPackage {
552 name = "greenlet-0.4.13";
552 name = "greenlet-0.4.13";
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://files.pythonhosted.org/packages/13/de/ba92335e9e76040ca7274224942282a80d54f85e342a5e33c5277c7f87eb/greenlet-0.4.13.tar.gz";
557 url = "https://files.pythonhosted.org/packages/13/de/ba92335e9e76040ca7274224942282a80d54f85e342a5e33c5277c7f87eb/greenlet-0.4.13.tar.gz";
558 sha256 = "0fef83d43bf87a5196c91e73cb9772f945a4caaff91242766c5916d1dd1381e4";
558 sha256 = "0fef83d43bf87a5196c91e73cb9772f945a4caaff91242766c5916d1dd1381e4";
559 };
559 };
560 meta = {
560 meta = {
561 license = [ pkgs.lib.licenses.mit ];
561 license = [ pkgs.lib.licenses.mit ];
562 };
562 };
563 };
563 };
564 gunicorn = super.buildPythonPackage {
564 gunicorn = super.buildPythonPackage {
565 name = "gunicorn-19.7.1";
565 name = "gunicorn-19.7.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://files.pythonhosted.org/packages/30/3a/10bb213cede0cc4d13ac2263316c872a64bf4c819000c8ccd801f1d5f822/gunicorn-19.7.1.tar.gz";
570 url = "https://files.pythonhosted.org/packages/30/3a/10bb213cede0cc4d13ac2263316c872a64bf4c819000c8ccd801f1d5f822/gunicorn-19.7.1.tar.gz";
571 sha256 = "eee1169f0ca667be05db3351a0960765620dad53f53434262ff8901b68a1b622";
571 sha256 = "eee1169f0ca667be05db3351a0960765620dad53f53434262ff8901b68a1b622";
572 };
572 };
573 meta = {
573 meta = {
574 license = [ pkgs.lib.licenses.mit ];
574 license = [ pkgs.lib.licenses.mit ];
575 };
575 };
576 };
576 };
577 html5lib = super.buildPythonPackage {
577 html5lib = super.buildPythonPackage {
578 name = "html5lib-1.0.1";
578 name = "html5lib-1.0.1";
579 buildInputs = with self; [];
579 buildInputs = with self; [];
580 doCheck = false;
580 doCheck = false;
581 propagatedBuildInputs = with self; [six webencodings];
581 propagatedBuildInputs = with self; [six webencodings];
582 src = fetchurl {
582 src = fetchurl {
583 url = "https://files.pythonhosted.org/packages/85/3e/cf449cf1b5004e87510b9368e7a5f1acd8831c2d6691edd3c62a0823f98f/html5lib-1.0.1.tar.gz";
583 url = "https://files.pythonhosted.org/packages/85/3e/cf449cf1b5004e87510b9368e7a5f1acd8831c2d6691edd3c62a0823f98f/html5lib-1.0.1.tar.gz";
584 sha256 = "66cb0dcfdbbc4f9c3ba1a63fdb511ffdbd4f513b2b6d81b80cd26ce6b3fb3736";
584 sha256 = "66cb0dcfdbbc4f9c3ba1a63fdb511ffdbd4f513b2b6d81b80cd26ce6b3fb3736";
585 };
585 };
586 meta = {
586 meta = {
587 license = [ pkgs.lib.licenses.mit ];
587 license = [ pkgs.lib.licenses.mit ];
588 };
588 };
589 };
589 };
590 hupper = super.buildPythonPackage {
590 hupper = super.buildPythonPackage {
591 name = "hupper-1.1";
591 name = "hupper-1.1";
592 buildInputs = with self; [];
592 buildInputs = with self; [];
593 doCheck = false;
593 doCheck = false;
594 propagatedBuildInputs = with self; [];
594 propagatedBuildInputs = with self; [];
595 src = fetchurl {
595 src = fetchurl {
596 url = "https://files.pythonhosted.org/packages/21/0d/b7832396df00564836b204ac23aadd6ff177d1c0e68ce40e5ccaccc1dd86/hupper-1.1.tar.gz";
596 url = "https://files.pythonhosted.org/packages/21/0d/b7832396df00564836b204ac23aadd6ff177d1c0e68ce40e5ccaccc1dd86/hupper-1.1.tar.gz";
597 sha256 = "e18037fa43fb4af7c00bd262ca6f5d7bcd22debd5d71e43b0fb1437f56e78035";
597 sha256 = "e18037fa43fb4af7c00bd262ca6f5d7bcd22debd5d71e43b0fb1437f56e78035";
598 };
598 };
599 meta = {
599 meta = {
600 license = [ pkgs.lib.licenses.mit ];
600 license = [ pkgs.lib.licenses.mit ];
601 };
601 };
602 };
602 };
603 infrae.cache = super.buildPythonPackage {
603 infrae.cache = super.buildPythonPackage {
604 name = "infrae.cache-1.0.1";
604 name = "infrae.cache-1.0.1";
605 buildInputs = with self; [];
605 buildInputs = with self; [];
606 doCheck = false;
606 doCheck = false;
607 propagatedBuildInputs = with self; [beaker repoze.lru];
607 propagatedBuildInputs = with self; [beaker repoze.lru];
608 src = fetchurl {
608 src = fetchurl {
609 url = "https://files.pythonhosted.org/packages/bb/f0/e7d5e984cf6592fd2807dc7bc44a93f9d18e04e6a61f87fdfb2622422d74/infrae.cache-1.0.1.tar.gz";
609 url = "https://files.pythonhosted.org/packages/bb/f0/e7d5e984cf6592fd2807dc7bc44a93f9d18e04e6a61f87fdfb2622422d74/infrae.cache-1.0.1.tar.gz";
610 sha256 = "844b1baa0ab7613159c7e2ee368a5ec4d574e409ff86963e1f45f08dacd478b7";
610 sha256 = "844b1baa0ab7613159c7e2ee368a5ec4d574e409ff86963e1f45f08dacd478b7";
611 };
611 };
612 meta = {
612 meta = {
613 license = [ pkgs.lib.licenses.zpt21 ];
613 license = [ pkgs.lib.licenses.zpt21 ];
614 };
614 };
615 };
615 };
616 invoke = super.buildPythonPackage {
616 invoke = super.buildPythonPackage {
617 name = "invoke-0.13.0";
617 name = "invoke-0.13.0";
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://files.pythonhosted.org/packages/47/bf/d07ef52fa1ac645468858bbac7cb95b246a972a045e821493d17d89c81be/invoke-0.13.0.tar.gz";
622 url = "https://files.pythonhosted.org/packages/47/bf/d07ef52fa1ac645468858bbac7cb95b246a972a045e821493d17d89c81be/invoke-0.13.0.tar.gz";
623 sha256 = "1a1992fac5292b97448d1c85dc0793e309c4c376acbc39ff067056d71fdc241d";
623 sha256 = "1a1992fac5292b97448d1c85dc0793e309c4c376acbc39ff067056d71fdc241d";
624 };
624 };
625 meta = {
625 meta = {
626 license = [ pkgs.lib.licenses.bsdOriginal ];
626 license = [ pkgs.lib.licenses.bsdOriginal ];
627 };
627 };
628 };
628 };
629 ipaddress = super.buildPythonPackage {
629 ipaddress = super.buildPythonPackage {
630 name = "ipaddress-1.0.22";
630 name = "ipaddress-1.0.22";
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://files.pythonhosted.org/packages/97/8d/77b8cedcfbf93676148518036c6b1ce7f8e14bf07e95d7fd4ddcb8cc052f/ipaddress-1.0.22.tar.gz";
635 url = "https://files.pythonhosted.org/packages/97/8d/77b8cedcfbf93676148518036c6b1ce7f8e14bf07e95d7fd4ddcb8cc052f/ipaddress-1.0.22.tar.gz";
636 sha256 = "b146c751ea45cad6188dd6cf2d9b757f6f4f8d6ffb96a023e6f2e26eea02a72c";
636 sha256 = "b146c751ea45cad6188dd6cf2d9b757f6f4f8d6ffb96a023e6f2e26eea02a72c";
637 };
637 };
638 meta = {
638 meta = {
639 license = [ pkgs.lib.licenses.psfl ];
639 license = [ pkgs.lib.licenses.psfl ];
640 };
640 };
641 };
641 };
642 ipdb = super.buildPythonPackage {
642 ipdb = super.buildPythonPackage {
643 name = "ipdb-0.11";
643 name = "ipdb-0.11";
644 buildInputs = with self; [];
644 buildInputs = with self; [];
645 doCheck = false;
645 doCheck = false;
646 propagatedBuildInputs = with self; [setuptools ipython];
646 propagatedBuildInputs = with self; [setuptools ipython];
647 src = fetchurl {
647 src = fetchurl {
648 url = "https://files.pythonhosted.org/packages/80/fe/4564de08f174f3846364b3add8426d14cebee228f741c27e702b2877e85b/ipdb-0.11.tar.gz";
648 url = "https://files.pythonhosted.org/packages/80/fe/4564de08f174f3846364b3add8426d14cebee228f741c27e702b2877e85b/ipdb-0.11.tar.gz";
649 sha256 = "7081c65ed7bfe7737f83fa4213ca8afd9617b42ff6b3f1daf9a3419839a2a00a";
649 sha256 = "7081c65ed7bfe7737f83fa4213ca8afd9617b42ff6b3f1daf9a3419839a2a00a";
650 };
650 };
651 meta = {
651 meta = {
652 license = [ pkgs.lib.licenses.bsdOriginal ];
652 license = [ pkgs.lib.licenses.bsdOriginal ];
653 };
653 };
654 };
654 };
655 ipython = super.buildPythonPackage {
655 ipython = super.buildPythonPackage {
656 name = "ipython-5.1.0";
656 name = "ipython-5.1.0";
657 buildInputs = with self; [];
657 buildInputs = with self; [];
658 doCheck = false;
658 doCheck = false;
659 propagatedBuildInputs = with self; [setuptools decorator pickleshare simplegeneric traitlets prompt-toolkit pygments pexpect backports.shutil-get-terminal-size pathlib2 pexpect];
659 propagatedBuildInputs = with self; [setuptools decorator pickleshare simplegeneric traitlets prompt-toolkit pygments pexpect backports.shutil-get-terminal-size pathlib2 pexpect];
660 src = fetchurl {
660 src = fetchurl {
661 url = "https://files.pythonhosted.org/packages/89/63/a9292f7cd9d0090a0f995e1167f3f17d5889dcbc9a175261719c513b9848/ipython-5.1.0.tar.gz";
661 url = "https://files.pythonhosted.org/packages/89/63/a9292f7cd9d0090a0f995e1167f3f17d5889dcbc9a175261719c513b9848/ipython-5.1.0.tar.gz";
662 sha256 = "7ef4694e1345913182126b219aaa4a0047e191af414256da6772cf249571b961";
662 sha256 = "7ef4694e1345913182126b219aaa4a0047e191af414256da6772cf249571b961";
663 };
663 };
664 meta = {
664 meta = {
665 license = [ pkgs.lib.licenses.bsdOriginal ];
665 license = [ pkgs.lib.licenses.bsdOriginal ];
666 };
666 };
667 };
667 };
668 ipython-genutils = super.buildPythonPackage {
668 ipython-genutils = super.buildPythonPackage {
669 name = "ipython-genutils-0.2.0";
669 name = "ipython-genutils-0.2.0";
670 buildInputs = with self; [];
670 buildInputs = with self; [];
671 doCheck = false;
671 doCheck = false;
672 propagatedBuildInputs = with self; [];
672 propagatedBuildInputs = with self; [];
673 src = fetchurl {
673 src = fetchurl {
674 url = "https://files.pythonhosted.org/packages/e8/69/fbeffffc05236398ebfcfb512b6d2511c622871dca1746361006da310399/ipython_genutils-0.2.0.tar.gz";
674 url = "https://files.pythonhosted.org/packages/e8/69/fbeffffc05236398ebfcfb512b6d2511c622871dca1746361006da310399/ipython_genutils-0.2.0.tar.gz";
675 sha256 = "eb2e116e75ecef9d4d228fdc66af54269afa26ab4463042e33785b887c628ba8";
675 sha256 = "eb2e116e75ecef9d4d228fdc66af54269afa26ab4463042e33785b887c628ba8";
676 };
676 };
677 meta = {
677 meta = {
678 license = [ pkgs.lib.licenses.bsdOriginal ];
678 license = [ pkgs.lib.licenses.bsdOriginal ];
679 };
679 };
680 };
680 };
681 iso8601 = super.buildPythonPackage {
681 iso8601 = super.buildPythonPackage {
682 name = "iso8601-0.1.11";
682 name = "iso8601-0.1.11";
683 buildInputs = with self; [];
683 buildInputs = with self; [];
684 doCheck = false;
684 doCheck = false;
685 propagatedBuildInputs = with self; [];
685 propagatedBuildInputs = with self; [];
686 src = fetchurl {
686 src = fetchurl {
687 url = "https://files.pythonhosted.org/packages/c0/75/c9209ee4d1b5975eb8c2cba4428bde6b61bd55664a98290dd015cdb18e98/iso8601-0.1.11.tar.gz";
687 url = "https://files.pythonhosted.org/packages/c0/75/c9209ee4d1b5975eb8c2cba4428bde6b61bd55664a98290dd015cdb18e98/iso8601-0.1.11.tar.gz";
688 sha256 = "e8fb52f78880ae063336c94eb5b87b181e6a0cc33a6c008511bac9a6e980ef30";
688 sha256 = "e8fb52f78880ae063336c94eb5b87b181e6a0cc33a6c008511bac9a6e980ef30";
689 };
689 };
690 meta = {
690 meta = {
691 license = [ pkgs.lib.licenses.mit ];
691 license = [ pkgs.lib.licenses.mit ];
692 };
692 };
693 };
693 };
694 itsdangerous = super.buildPythonPackage {
694 itsdangerous = super.buildPythonPackage {
695 name = "itsdangerous-0.24";
695 name = "itsdangerous-0.24";
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://files.pythonhosted.org/packages/dc/b4/a60bcdba945c00f6d608d8975131ab3f25b22f2bcfe1dab221165194b2d4/itsdangerous-0.24.tar.gz";
700 url = "https://files.pythonhosted.org/packages/dc/b4/a60bcdba945c00f6d608d8975131ab3f25b22f2bcfe1dab221165194b2d4/itsdangerous-0.24.tar.gz";
701 sha256 = "cbb3fcf8d3e33df861709ecaf89d9e6629cff0a217bc2848f1b41cd30d360519";
701 sha256 = "cbb3fcf8d3e33df861709ecaf89d9e6629cff0a217bc2848f1b41cd30d360519";
702 };
702 };
703 meta = {
703 meta = {
704 license = [ pkgs.lib.licenses.bsdOriginal ];
704 license = [ pkgs.lib.licenses.bsdOriginal ];
705 };
705 };
706 };
706 };
707 jinja2 = super.buildPythonPackage {
707 jinja2 = super.buildPythonPackage {
708 name = "jinja2-2.9.6";
708 name = "jinja2-2.9.6";
709 buildInputs = with self; [];
709 buildInputs = with self; [];
710 doCheck = false;
710 doCheck = false;
711 propagatedBuildInputs = with self; [markupsafe];
711 propagatedBuildInputs = with self; [markupsafe];
712 src = fetchurl {
712 src = fetchurl {
713 url = "https://files.pythonhosted.org/packages/90/61/f820ff0076a2599dd39406dcb858ecb239438c02ce706c8e91131ab9c7f1/Jinja2-2.9.6.tar.gz";
713 url = "https://files.pythonhosted.org/packages/90/61/f820ff0076a2599dd39406dcb858ecb239438c02ce706c8e91131ab9c7f1/Jinja2-2.9.6.tar.gz";
714 sha256 = "ddaa01a212cd6d641401cb01b605f4a4d9f37bfc93043d7f760ec70fb99ff9ff";
714 sha256 = "ddaa01a212cd6d641401cb01b605f4a4d9f37bfc93043d7f760ec70fb99ff9ff";
715 };
715 };
716 meta = {
716 meta = {
717 license = [ pkgs.lib.licenses.bsdOriginal ];
717 license = [ pkgs.lib.licenses.bsdOriginal ];
718 };
718 };
719 };
719 };
720 jsonschema = super.buildPythonPackage {
720 jsonschema = super.buildPythonPackage {
721 name = "jsonschema-2.6.0";
721 name = "jsonschema-2.6.0";
722 buildInputs = with self; [];
722 buildInputs = with self; [];
723 doCheck = false;
723 doCheck = false;
724 propagatedBuildInputs = with self; [functools32];
724 propagatedBuildInputs = with self; [functools32];
725 src = fetchurl {
725 src = fetchurl {
726 url = "https://files.pythonhosted.org/packages/58/b9/171dbb07e18c6346090a37f03c7e74410a1a56123f847efed59af260a298/jsonschema-2.6.0.tar.gz";
726 url = "https://files.pythonhosted.org/packages/58/b9/171dbb07e18c6346090a37f03c7e74410a1a56123f847efed59af260a298/jsonschema-2.6.0.tar.gz";
727 sha256 = "6ff5f3180870836cae40f06fa10419f557208175f13ad7bc26caa77beb1f6e02";
727 sha256 = "6ff5f3180870836cae40f06fa10419f557208175f13ad7bc26caa77beb1f6e02";
728 };
728 };
729 meta = {
729 meta = {
730 license = [ pkgs.lib.licenses.mit ];
730 license = [ pkgs.lib.licenses.mit ];
731 };
731 };
732 };
732 };
733 jupyter-client = super.buildPythonPackage {
733 jupyter-client = super.buildPythonPackage {
734 name = "jupyter-client-5.0.0";
734 name = "jupyter-client-5.0.0";
735 buildInputs = with self; [];
735 buildInputs = with self; [];
736 doCheck = false;
736 doCheck = false;
737 propagatedBuildInputs = with self; [traitlets jupyter-core pyzmq python-dateutil];
737 propagatedBuildInputs = with self; [traitlets jupyter-core pyzmq python-dateutil];
738 src = fetchurl {
738 src = fetchurl {
739 url = "https://files.pythonhosted.org/packages/e5/6f/65412ed462202b90134b7e761b0b7e7f949e07a549c1755475333727b3d0/jupyter_client-5.0.0.tar.gz";
739 url = "https://files.pythonhosted.org/packages/e5/6f/65412ed462202b90134b7e761b0b7e7f949e07a549c1755475333727b3d0/jupyter_client-5.0.0.tar.gz";
740 sha256 = "2766f9c2deb9ae826e65d53a56a36d69b184f63d0dcb7710835273327126bc5b";
740 sha256 = "2766f9c2deb9ae826e65d53a56a36d69b184f63d0dcb7710835273327126bc5b";
741 };
741 };
742 meta = {
742 meta = {
743 license = [ pkgs.lib.licenses.bsdOriginal ];
743 license = [ pkgs.lib.licenses.bsdOriginal ];
744 };
744 };
745 };
745 };
746 jupyter-core = super.buildPythonPackage {
746 jupyter-core = super.buildPythonPackage {
747 name = "jupyter-core-4.4.0";
747 name = "jupyter-core-4.4.0";
748 buildInputs = with self; [];
748 buildInputs = with self; [];
749 doCheck = false;
749 doCheck = false;
750 propagatedBuildInputs = with self; [traitlets];
750 propagatedBuildInputs = with self; [traitlets];
751 src = fetchurl {
751 src = fetchurl {
752 url = "https://files.pythonhosted.org/packages/b6/2d/2804f4de3a95583f65e5dcb4d7c8c7183124882323758996e867f47e72af/jupyter_core-4.4.0.tar.gz";
752 url = "https://files.pythonhosted.org/packages/b6/2d/2804f4de3a95583f65e5dcb4d7c8c7183124882323758996e867f47e72af/jupyter_core-4.4.0.tar.gz";
753 sha256 = "ba70754aa680300306c699790128f6fbd8c306ee5927976cbe48adacf240c0b7";
753 sha256 = "ba70754aa680300306c699790128f6fbd8c306ee5927976cbe48adacf240c0b7";
754 };
754 };
755 meta = {
755 meta = {
756 license = [ pkgs.lib.licenses.bsdOriginal ];
756 license = [ pkgs.lib.licenses.bsdOriginal ];
757 };
757 };
758 };
758 };
759 kombu = super.buildPythonPackage {
759 kombu = super.buildPythonPackage {
760 name = "kombu-4.1.0";
760 name = "kombu-4.1.0";
761 buildInputs = with self; [];
761 buildInputs = with self; [];
762 doCheck = false;
762 doCheck = false;
763 propagatedBuildInputs = with self; [amqp];
763 propagatedBuildInputs = with self; [amqp];
764 src = fetchurl {
764 src = fetchurl {
765 url = "https://files.pythonhosted.org/packages/03/5e/1a47d1e543d4943d65330af4e4406049f443878818fb65bfdc651bb93a96/kombu-4.1.0.tar.gz";
765 url = "https://files.pythonhosted.org/packages/03/5e/1a47d1e543d4943d65330af4e4406049f443878818fb65bfdc651bb93a96/kombu-4.1.0.tar.gz";
766 sha256 = "4249d9dd9dbf1fcec471d1c2def20653c9310dd1a217272d77e4844f9d5273cb";
766 sha256 = "4249d9dd9dbf1fcec471d1c2def20653c9310dd1a217272d77e4844f9d5273cb";
767 };
767 };
768 meta = {
768 meta = {
769 license = [ pkgs.lib.licenses.bsdOriginal ];
769 license = [ pkgs.lib.licenses.bsdOriginal ];
770 };
770 };
771 };
771 };
772 lxml = super.buildPythonPackage {
772 lxml = super.buildPythonPackage {
773 name = "lxml-3.7.3";
773 name = "lxml-3.7.3";
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://files.pythonhosted.org/packages/39/e8/a8e0b1fa65dd021d48fe21464f71783655f39a41f218293c1c590d54eb82/lxml-3.7.3.tar.gz";
778 url = "https://files.pythonhosted.org/packages/39/e8/a8e0b1fa65dd021d48fe21464f71783655f39a41f218293c1c590d54eb82/lxml-3.7.3.tar.gz";
779 sha256 = "aa502d78a51ee7d127b4824ff96500f0181d3c7826e6ee7b800d068be79361c7";
779 sha256 = "aa502d78a51ee7d127b4824ff96500f0181d3c7826e6ee7b800d068be79361c7";
780 };
780 };
781 meta = {
781 meta = {
782 license = [ pkgs.lib.licenses.bsdOriginal ];
782 license = [ pkgs.lib.licenses.bsdOriginal ];
783 };
783 };
784 };
784 };
785 mako = super.buildPythonPackage {
785 mako = super.buildPythonPackage {
786 name = "mako-1.0.7";
786 name = "mako-1.0.7";
787 buildInputs = with self; [];
787 buildInputs = with self; [];
788 doCheck = false;
788 doCheck = false;
789 propagatedBuildInputs = with self; [markupsafe];
789 propagatedBuildInputs = with self; [markupsafe];
790 src = fetchurl {
790 src = fetchurl {
791 url = "https://files.pythonhosted.org/packages/eb/f3/67579bb486517c0d49547f9697e36582cd19dafb5df9e687ed8e22de57fa/Mako-1.0.7.tar.gz";
791 url = "https://files.pythonhosted.org/packages/eb/f3/67579bb486517c0d49547f9697e36582cd19dafb5df9e687ed8e22de57fa/Mako-1.0.7.tar.gz";
792 sha256 = "4e02fde57bd4abb5ec400181e4c314f56ac3e49ba4fb8b0d50bba18cb27d25ae";
792 sha256 = "4e02fde57bd4abb5ec400181e4c314f56ac3e49ba4fb8b0d50bba18cb27d25ae";
793 };
793 };
794 meta = {
794 meta = {
795 license = [ pkgs.lib.licenses.mit ];
795 license = [ pkgs.lib.licenses.mit ];
796 };
796 };
797 };
797 };
798 markdown = super.buildPythonPackage {
798 markdown = super.buildPythonPackage {
799 name = "markdown-2.6.11";
799 name = "markdown-2.6.11";
800 buildInputs = with self; [];
800 buildInputs = with self; [];
801 doCheck = false;
801 doCheck = false;
802 propagatedBuildInputs = with self; [];
802 propagatedBuildInputs = with self; [];
803 src = fetchurl {
803 src = fetchurl {
804 url = "https://files.pythonhosted.org/packages/b3/73/fc5c850f44af5889192dff783b7b0d8f3fe8d30b65c8e3f78f8f0265fecf/Markdown-2.6.11.tar.gz";
804 url = "https://files.pythonhosted.org/packages/b3/73/fc5c850f44af5889192dff783b7b0d8f3fe8d30b65c8e3f78f8f0265fecf/Markdown-2.6.11.tar.gz";
805 sha256 = "a856869c7ff079ad84a3e19cd87a64998350c2b94e9e08e44270faef33400f81";
805 sha256 = "a856869c7ff079ad84a3e19cd87a64998350c2b94e9e08e44270faef33400f81";
806 };
806 };
807 meta = {
807 meta = {
808 license = [ pkgs.lib.licenses.bsdOriginal ];
808 license = [ pkgs.lib.licenses.bsdOriginal ];
809 };
809 };
810 };
810 };
811 markupsafe = super.buildPythonPackage {
811 markupsafe = super.buildPythonPackage {
812 name = "markupsafe-1.0";
812 name = "markupsafe-1.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://files.pythonhosted.org/packages/4d/de/32d741db316d8fdb7680822dd37001ef7a448255de9699ab4bfcbdf4172b/MarkupSafe-1.0.tar.gz";
817 url = "https://files.pythonhosted.org/packages/4d/de/32d741db316d8fdb7680822dd37001ef7a448255de9699ab4bfcbdf4172b/MarkupSafe-1.0.tar.gz";
818 sha256 = "a6be69091dac236ea9c6bc7d012beab42010fa914c459791d627dad4910eb665";
818 sha256 = "a6be69091dac236ea9c6bc7d012beab42010fa914c459791d627dad4910eb665";
819 };
819 };
820 meta = {
820 meta = {
821 license = [ pkgs.lib.licenses.bsdOriginal ];
821 license = [ pkgs.lib.licenses.bsdOriginal ];
822 };
822 };
823 };
823 };
824 meld3 = super.buildPythonPackage {
824 meld3 = super.buildPythonPackage {
825 name = "meld3-1.0.2";
825 name = "meld3-1.0.2";
826 buildInputs = with self; [];
826 buildInputs = with self; [];
827 doCheck = false;
827 doCheck = false;
828 propagatedBuildInputs = with self; [];
828 propagatedBuildInputs = with self; [];
829 src = fetchurl {
829 src = fetchurl {
830 url = "https://files.pythonhosted.org/packages/45/a0/317c6422b26c12fe0161e936fc35f36552069ba8e6f7ecbd99bbffe32a5f/meld3-1.0.2.tar.gz";
830 url = "https://files.pythonhosted.org/packages/45/a0/317c6422b26c12fe0161e936fc35f36552069ba8e6f7ecbd99bbffe32a5f/meld3-1.0.2.tar.gz";
831 sha256 = "f7b754a0fde7a4429b2ebe49409db240b5699385a572501bb0d5627d299f9558";
831 sha256 = "f7b754a0fde7a4429b2ebe49409db240b5699385a572501bb0d5627d299f9558";
832 };
832 };
833 meta = {
833 meta = {
834 license = [ { fullName = "BSD-derived (http://www.repoze.org/LICENSE.txt)"; } ];
834 license = [ { fullName = "BSD-derived (http://www.repoze.org/LICENSE.txt)"; } ];
835 };
835 };
836 };
836 };
837 mistune = super.buildPythonPackage {
837 mistune = super.buildPythonPackage {
838 name = "mistune-0.8.3";
838 name = "mistune-0.8.3";
839 buildInputs = with self; [];
839 buildInputs = with self; [];
840 doCheck = false;
840 doCheck = false;
841 propagatedBuildInputs = with self; [];
841 propagatedBuildInputs = with self; [];
842 src = fetchurl {
842 src = fetchurl {
843 url = "https://files.pythonhosted.org/packages/9d/be/e06d4346cc608a01dec6bf770d7d0303a4fd6db588b318ced18f5f257145/mistune-0.8.3.tar.gz";
843 url = "https://files.pythonhosted.org/packages/9d/be/e06d4346cc608a01dec6bf770d7d0303a4fd6db588b318ced18f5f257145/mistune-0.8.3.tar.gz";
844 sha256 = "bc10c33bfdcaa4e749b779f62f60d6e12f8215c46a292d05e486b869ae306619";
844 sha256 = "bc10c33bfdcaa4e749b779f62f60d6e12f8215c46a292d05e486b869ae306619";
845 };
845 };
846 meta = {
846 meta = {
847 license = [ pkgs.lib.licenses.bsdOriginal ];
847 license = [ pkgs.lib.licenses.bsdOriginal ];
848 };
848 };
849 };
849 };
850 mock = super.buildPythonPackage {
850 mock = super.buildPythonPackage {
851 name = "mock-1.0.1";
851 name = "mock-1.0.1";
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://files.pythonhosted.org/packages/a2/52/7edcd94f0afb721a2d559a5b9aae8af4f8f2c79bc63fdbe8a8a6c9b23bbe/mock-1.0.1.tar.gz";
856 url = "https://files.pythonhosted.org/packages/a2/52/7edcd94f0afb721a2d559a5b9aae8af4f8f2c79bc63fdbe8a8a6c9b23bbe/mock-1.0.1.tar.gz";
857 sha256 = "b839dd2d9c117c701430c149956918a423a9863b48b09c90e30a6013e7d2f44f";
857 sha256 = "b839dd2d9c117c701430c149956918a423a9863b48b09c90e30a6013e7d2f44f";
858 };
858 };
859 meta = {
859 meta = {
860 license = [ pkgs.lib.licenses.bsdOriginal ];
860 license = [ pkgs.lib.licenses.bsdOriginal ];
861 };
861 };
862 };
862 };
863 msgpack-python = super.buildPythonPackage {
863 msgpack-python = super.buildPythonPackage {
864 name = "msgpack-python-0.4.8";
864 name = "msgpack-python-0.4.8";
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://files.pythonhosted.org/packages/21/27/8a1d82041c7a2a51fcc73675875a5f9ea06c2663e02fcfeb708be1d081a0/msgpack-python-0.4.8.tar.gz";
869 url = "https://files.pythonhosted.org/packages/21/27/8a1d82041c7a2a51fcc73675875a5f9ea06c2663e02fcfeb708be1d081a0/msgpack-python-0.4.8.tar.gz";
870 sha256 = "1a2b19df0f03519ec7f19f826afb935b202d8979b0856c6fb3dc28955799f886";
870 sha256 = "1a2b19df0f03519ec7f19f826afb935b202d8979b0856c6fb3dc28955799f886";
871 };
871 };
872 meta = {
872 meta = {
873 license = [ pkgs.lib.licenses.asl20 ];
873 license = [ pkgs.lib.licenses.asl20 ];
874 };
874 };
875 };
875 };
876 mysql-python = super.buildPythonPackage {
876 mysql-python = super.buildPythonPackage {
877 name = "mysql-python-1.2.5";
877 name = "mysql-python-1.2.5";
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://files.pythonhosted.org/packages/a5/e9/51b544da85a36a68debe7a7091f068d802fc515a3a202652828c73453cad/MySQL-python-1.2.5.zip";
882 url = "https://files.pythonhosted.org/packages/a5/e9/51b544da85a36a68debe7a7091f068d802fc515a3a202652828c73453cad/MySQL-python-1.2.5.zip";
883 sha256 = "811040b647e5d5686f84db415efd697e6250008b112b6909ba77ac059e140c74";
883 sha256 = "811040b647e5d5686f84db415efd697e6250008b112b6909ba77ac059e140c74";
884 };
884 };
885 meta = {
885 meta = {
886 license = [ pkgs.lib.licenses.gpl1 ];
886 license = [ pkgs.lib.licenses.gpl1 ];
887 };
887 };
888 };
888 };
889 nbconvert = super.buildPythonPackage {
889 nbconvert = super.buildPythonPackage {
890 name = "nbconvert-5.3.1";
890 name = "nbconvert-5.3.1";
891 buildInputs = with self; [];
891 buildInputs = with self; [];
892 doCheck = false;
892 doCheck = false;
893 propagatedBuildInputs = with self; [mistune jinja2 pygments traitlets jupyter-core nbformat entrypoints bleach pandocfilters testpath];
893 propagatedBuildInputs = with self; [mistune jinja2 pygments traitlets jupyter-core nbformat entrypoints bleach pandocfilters testpath];
894 src = fetchurl {
894 src = fetchurl {
895 url = "https://files.pythonhosted.org/packages/b9/a4/d0a0938ad6f5eeb4dea4e73d255c617ef94b0b2849d51194c9bbdb838412/nbconvert-5.3.1.tar.gz";
895 url = "https://files.pythonhosted.org/packages/b9/a4/d0a0938ad6f5eeb4dea4e73d255c617ef94b0b2849d51194c9bbdb838412/nbconvert-5.3.1.tar.gz";
896 sha256 = "12b1a4671d4463ab73af6e4cbcc965b62254e05d182cd54995dda0d0ef9e2db9";
896 sha256 = "12b1a4671d4463ab73af6e4cbcc965b62254e05d182cd54995dda0d0ef9e2db9";
897 };
897 };
898 meta = {
898 meta = {
899 license = [ pkgs.lib.licenses.bsdOriginal ];
899 license = [ pkgs.lib.licenses.bsdOriginal ];
900 };
900 };
901 };
901 };
902 nbformat = super.buildPythonPackage {
902 nbformat = super.buildPythonPackage {
903 name = "nbformat-4.4.0";
903 name = "nbformat-4.4.0";
904 buildInputs = with self; [];
904 buildInputs = with self; [];
905 doCheck = false;
905 doCheck = false;
906 propagatedBuildInputs = with self; [ipython-genutils traitlets jsonschema jupyter-core];
906 propagatedBuildInputs = with self; [ipython-genutils traitlets jsonschema jupyter-core];
907 src = fetchurl {
907 src = fetchurl {
908 url = "https://files.pythonhosted.org/packages/6e/0e/160754f7ae3e984863f585a3743b0ed1702043a81245907c8fae2d537155/nbformat-4.4.0.tar.gz";
908 url = "https://files.pythonhosted.org/packages/6e/0e/160754f7ae3e984863f585a3743b0ed1702043a81245907c8fae2d537155/nbformat-4.4.0.tar.gz";
909 sha256 = "f7494ef0df60766b7cabe0a3651556345a963b74dbc16bc7c18479041170d402";
909 sha256 = "f7494ef0df60766b7cabe0a3651556345a963b74dbc16bc7c18479041170d402";
910 };
910 };
911 meta = {
911 meta = {
912 license = [ pkgs.lib.licenses.bsdOriginal ];
912 license = [ pkgs.lib.licenses.bsdOriginal ];
913 };
913 };
914 };
914 };
915 objgraph = super.buildPythonPackage {
915 objgraph = super.buildPythonPackage {
916 name = "objgraph-3.1.1";
916 name = "objgraph-3.1.1";
917 buildInputs = with self; [];
917 buildInputs = with self; [];
918 doCheck = false;
918 doCheck = false;
919 propagatedBuildInputs = with self; [graphviz];
919 propagatedBuildInputs = with self; [graphviz];
920 src = fetchurl {
920 src = fetchurl {
921 url = "https://files.pythonhosted.org/packages/be/58/9ca81a20cc837054e94866df1475d899caaa94f3732b8a46006858b015f7/objgraph-3.1.1.tar.gz";
921 url = "https://files.pythonhosted.org/packages/be/58/9ca81a20cc837054e94866df1475d899caaa94f3732b8a46006858b015f7/objgraph-3.1.1.tar.gz";
922 sha256 = "8c2de13d7d68235eab95d115f5f95c230c5648874006d391dc3cdaa83823589d";
922 sha256 = "8c2de13d7d68235eab95d115f5f95c230c5648874006d391dc3cdaa83823589d";
923 };
923 };
924 meta = {
924 meta = {
925 license = [ pkgs.lib.licenses.mit ];
925 license = [ pkgs.lib.licenses.mit ];
926 };
926 };
927 };
927 };
928 packaging = super.buildPythonPackage {
928 packaging = super.buildPythonPackage {
929 name = "packaging-15.2";
929 name = "packaging-15.2";
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://files.pythonhosted.org/packages/24/c4/185da1304f07047dc9e0c46c31db75c0351bd73458ac3efad7da3dbcfbe1/packaging-15.2.tar.gz";
934 url = "https://files.pythonhosted.org/packages/24/c4/185da1304f07047dc9e0c46c31db75c0351bd73458ac3efad7da3dbcfbe1/packaging-15.2.tar.gz";
935 sha256 = "cf92396a51d269eb10660367c7c40cea1aa3180a6a3a773d377cf7451007c6fe";
935 sha256 = "cf92396a51d269eb10660367c7c40cea1aa3180a6a3a773d377cf7451007c6fe";
936 };
936 };
937 meta = {
937 meta = {
938 license = [ pkgs.lib.licenses.asl20 ];
938 license = [ pkgs.lib.licenses.asl20 ];
939 };
939 };
940 };
940 };
941 pandocfilters = super.buildPythonPackage {
941 pandocfilters = super.buildPythonPackage {
942 name = "pandocfilters-1.4.2";
942 name = "pandocfilters-1.4.2";
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://files.pythonhosted.org/packages/4c/ea/236e2584af67bb6df960832731a6e5325fd4441de001767da328c33368ce/pandocfilters-1.4.2.tar.gz";
947 url = "https://files.pythonhosted.org/packages/4c/ea/236e2584af67bb6df960832731a6e5325fd4441de001767da328c33368ce/pandocfilters-1.4.2.tar.gz";
948 sha256 = "b3dd70e169bb5449e6bc6ff96aea89c5eea8c5f6ab5e207fc2f521a2cf4a0da9";
948 sha256 = "b3dd70e169bb5449e6bc6ff96aea89c5eea8c5f6ab5e207fc2f521a2cf4a0da9";
949 };
949 };
950 meta = {
950 meta = {
951 license = [ pkgs.lib.licenses.bsdOriginal ];
951 license = [ pkgs.lib.licenses.bsdOriginal ];
952 };
952 };
953 };
953 };
954 paste = super.buildPythonPackage {
954 paste = super.buildPythonPackage {
955 name = "paste-2.0.3";
955 name = "paste-2.0.3";
956 buildInputs = with self; [];
956 buildInputs = with self; [];
957 doCheck = false;
957 doCheck = false;
958 propagatedBuildInputs = with self; [six];
958 propagatedBuildInputs = with self; [six];
959 src = fetchurl {
959 src = fetchurl {
960 url = "https://files.pythonhosted.org/packages/30/c3/5c2f7c7a02e4f58d4454353fa1c32c94f79fa4e36d07a67c0ac295ea369e/Paste-2.0.3.tar.gz";
960 url = "https://files.pythonhosted.org/packages/30/c3/5c2f7c7a02e4f58d4454353fa1c32c94f79fa4e36d07a67c0ac295ea369e/Paste-2.0.3.tar.gz";
961 sha256 = "2346a347824c32641bf020c17967b49ae74d3310ec1bc9b958d4b84e2d985218";
961 sha256 = "2346a347824c32641bf020c17967b49ae74d3310ec1bc9b958d4b84e2d985218";
962 };
962 };
963 meta = {
963 meta = {
964 license = [ pkgs.lib.licenses.mit ];
964 license = [ pkgs.lib.licenses.mit ];
965 };
965 };
966 };
966 };
967 pastedeploy = super.buildPythonPackage {
967 pastedeploy = super.buildPythonPackage {
968 name = "pastedeploy-1.5.2";
968 name = "pastedeploy-1.5.2";
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://files.pythonhosted.org/packages/0f/90/8e20cdae206c543ea10793cbf4136eb9a8b3f417e04e40a29d72d9922cbd/PasteDeploy-1.5.2.tar.gz";
973 url = "https://files.pythonhosted.org/packages/0f/90/8e20cdae206c543ea10793cbf4136eb9a8b3f417e04e40a29d72d9922cbd/PasteDeploy-1.5.2.tar.gz";
974 sha256 = "d5858f89a255e6294e63ed46b73613c56e3b9a2d82a42f1df4d06c8421a9e3cb";
974 sha256 = "d5858f89a255e6294e63ed46b73613c56e3b9a2d82a42f1df4d06c8421a9e3cb";
975 };
975 };
976 meta = {
976 meta = {
977 license = [ pkgs.lib.licenses.mit ];
977 license = [ pkgs.lib.licenses.mit ];
978 };
978 };
979 };
979 };
980 pastescript = super.buildPythonPackage {
980 pastescript = super.buildPythonPackage {
981 name = "pastescript-2.0.2";
981 name = "pastescript-2.0.2";
982 buildInputs = with self; [];
982 buildInputs = with self; [];
983 doCheck = false;
983 doCheck = false;
984 propagatedBuildInputs = with self; [paste pastedeploy six];
984 propagatedBuildInputs = with self; [paste pastedeploy six];
985 src = fetchurl {
985 src = fetchurl {
986 url = "https://files.pythonhosted.org/packages/e5/f0/78e766c3dcc61a4f3a6f71dd8c95168ae9c7a31722b5663d19c1fdf62cb6/PasteScript-2.0.2.tar.gz";
986 url = "https://files.pythonhosted.org/packages/e5/f0/78e766c3dcc61a4f3a6f71dd8c95168ae9c7a31722b5663d19c1fdf62cb6/PasteScript-2.0.2.tar.gz";
987 sha256 = "c03f249805538cc2328741ae8d262a9200ae1c993119b3d9bac4cd422cb476c0";
987 sha256 = "c03f249805538cc2328741ae8d262a9200ae1c993119b3d9bac4cd422cb476c0";
988 };
988 };
989 meta = {
989 meta = {
990 license = [ pkgs.lib.licenses.mit ];
990 license = [ pkgs.lib.licenses.mit ];
991 };
991 };
992 };
992 };
993 pathlib2 = super.buildPythonPackage {
993 pathlib2 = super.buildPythonPackage {
994 name = "pathlib2-2.3.0";
994 name = "pathlib2-2.3.0";
995 buildInputs = with self; [];
995 buildInputs = with self; [];
996 doCheck = false;
996 doCheck = false;
997 propagatedBuildInputs = with self; [six scandir];
997 propagatedBuildInputs = with self; [six scandir];
998 src = fetchurl {
998 src = fetchurl {
999 url = "https://files.pythonhosted.org/packages/a1/14/df0deb867c2733f7d857523c10942b3d6612a1b222502fdffa9439943dfb/pathlib2-2.3.0.tar.gz";
999 url = "https://files.pythonhosted.org/packages/a1/14/df0deb867c2733f7d857523c10942b3d6612a1b222502fdffa9439943dfb/pathlib2-2.3.0.tar.gz";
1000 sha256 = "d32550b75a818b289bd4c1f96b60c89957811da205afcceab75bc8b4857ea5b3";
1000 sha256 = "d32550b75a818b289bd4c1f96b60c89957811da205afcceab75bc8b4857ea5b3";
1001 };
1001 };
1002 meta = {
1002 meta = {
1003 license = [ pkgs.lib.licenses.mit ];
1003 license = [ pkgs.lib.licenses.mit ];
1004 };
1004 };
1005 };
1005 };
1006 peppercorn = super.buildPythonPackage {
1006 peppercorn = super.buildPythonPackage {
1007 name = "peppercorn-0.5";
1007 name = "peppercorn-0.5";
1008 buildInputs = with self; [];
1008 buildInputs = with self; [];
1009 doCheck = false;
1009 doCheck = false;
1010 propagatedBuildInputs = with self; [];
1010 propagatedBuildInputs = with self; [];
1011 src = fetchurl {
1011 src = fetchurl {
1012 url = "https://files.pythonhosted.org/packages/45/ec/a62ec317d1324a01567c5221b420742f094f05ee48097e5157d32be3755c/peppercorn-0.5.tar.gz";
1012 url = "https://files.pythonhosted.org/packages/45/ec/a62ec317d1324a01567c5221b420742f094f05ee48097e5157d32be3755c/peppercorn-0.5.tar.gz";
1013 sha256 = "921cba5d51fa211e6da0fbd2120b9a98d663422a80f5bb669ad81ffb0909774b";
1013 sha256 = "921cba5d51fa211e6da0fbd2120b9a98d663422a80f5bb669ad81ffb0909774b";
1014 };
1014 };
1015 meta = {
1015 meta = {
1016 license = [ { fullName = "BSD-derived (http://www.repoze.org/LICENSE.txt)"; } ];
1016 license = [ { fullName = "BSD-derived (http://www.repoze.org/LICENSE.txt)"; } ];
1017 };
1017 };
1018 };
1018 };
1019 pexpect = super.buildPythonPackage {
1019 pexpect = super.buildPythonPackage {
1020 name = "pexpect-4.5.0";
1020 name = "pexpect-4.5.0";
1021 buildInputs = with self; [];
1021 buildInputs = with self; [];
1022 doCheck = false;
1022 doCheck = false;
1023 propagatedBuildInputs = with self; [ptyprocess];
1023 propagatedBuildInputs = with self; [ptyprocess];
1024 src = fetchurl {
1024 src = fetchurl {
1025 url = "https://files.pythonhosted.org/packages/09/0e/75f0c093654988b8f17416afb80f7621bcf7d36bbd6afb4f823acdb4bcdc/pexpect-4.5.0.tar.gz";
1025 url = "https://files.pythonhosted.org/packages/09/0e/75f0c093654988b8f17416afb80f7621bcf7d36bbd6afb4f823acdb4bcdc/pexpect-4.5.0.tar.gz";
1026 sha256 = "9f8eb3277716a01faafaba553d629d3d60a1a624c7cf45daa600d2148c30020c";
1026 sha256 = "9f8eb3277716a01faafaba553d629d3d60a1a624c7cf45daa600d2148c30020c";
1027 };
1027 };
1028 meta = {
1028 meta = {
1029 license = [ pkgs.lib.licenses.isc { fullName = "ISC License (ISCL)"; } ];
1029 license = [ pkgs.lib.licenses.isc { fullName = "ISC License (ISCL)"; } ];
1030 };
1030 };
1031 };
1031 };
1032 pickleshare = super.buildPythonPackage {
1032 pickleshare = super.buildPythonPackage {
1033 name = "pickleshare-0.7.4";
1033 name = "pickleshare-0.7.4";
1034 buildInputs = with self; [];
1034 buildInputs = with self; [];
1035 doCheck = false;
1035 doCheck = false;
1036 propagatedBuildInputs = with self; [pathlib2];
1036 propagatedBuildInputs = with self; [pathlib2];
1037 src = fetchurl {
1037 src = fetchurl {
1038 url = "https://files.pythonhosted.org/packages/69/fe/dd137d84daa0fd13a709e448138e310d9ea93070620c9db5454e234af525/pickleshare-0.7.4.tar.gz";
1038 url = "https://files.pythonhosted.org/packages/69/fe/dd137d84daa0fd13a709e448138e310d9ea93070620c9db5454e234af525/pickleshare-0.7.4.tar.gz";
1039 sha256 = "84a9257227dfdd6fe1b4be1319096c20eb85ff1e82c7932f36efccfe1b09737b";
1039 sha256 = "84a9257227dfdd6fe1b4be1319096c20eb85ff1e82c7932f36efccfe1b09737b";
1040 };
1040 };
1041 meta = {
1041 meta = {
1042 license = [ pkgs.lib.licenses.mit ];
1042 license = [ pkgs.lib.licenses.mit ];
1043 };
1043 };
1044 };
1044 };
1045 plaster = super.buildPythonPackage {
1045 plaster = super.buildPythonPackage {
1046 name = "plaster-1.0";
1046 name = "plaster-1.0";
1047 buildInputs = with self; [];
1047 buildInputs = with self; [];
1048 doCheck = false;
1048 doCheck = false;
1049 propagatedBuildInputs = with self; [setuptools];
1049 propagatedBuildInputs = with self; [setuptools];
1050 src = fetchurl {
1050 src = fetchurl {
1051 url = "https://files.pythonhosted.org/packages/37/e1/56d04382d718d32751017d32f351214384e529b794084eee20bb52405563/plaster-1.0.tar.gz";
1051 url = "https://files.pythonhosted.org/packages/37/e1/56d04382d718d32751017d32f351214384e529b794084eee20bb52405563/plaster-1.0.tar.gz";
1052 sha256 = "8351c7c7efdf33084c1de88dd0f422cbe7342534537b553c49b857b12d98c8c3";
1052 sha256 = "8351c7c7efdf33084c1de88dd0f422cbe7342534537b553c49b857b12d98c8c3";
1053 };
1053 };
1054 meta = {
1054 meta = {
1055 license = [ pkgs.lib.licenses.mit ];
1055 license = [ pkgs.lib.licenses.mit ];
1056 };
1056 };
1057 };
1057 };
1058 plaster-pastedeploy = super.buildPythonPackage {
1058 plaster-pastedeploy = super.buildPythonPackage {
1059 name = "plaster-pastedeploy-0.5";
1059 name = "plaster-pastedeploy-0.5";
1060 buildInputs = with self; [];
1060 buildInputs = with self; [];
1061 doCheck = false;
1061 doCheck = false;
1062 propagatedBuildInputs = with self; [pastedeploy plaster];
1062 propagatedBuildInputs = with self; [pastedeploy plaster];
1063 src = fetchurl {
1063 src = fetchurl {
1064 url = "https://files.pythonhosted.org/packages/e7/05/cc12d9d3efaa10046b6ec5de91b16486c95de4847dc57599bf58021a3d5c/plaster_pastedeploy-0.5.tar.gz";
1064 url = "https://files.pythonhosted.org/packages/e7/05/cc12d9d3efaa10046b6ec5de91b16486c95de4847dc57599bf58021a3d5c/plaster_pastedeploy-0.5.tar.gz";
1065 sha256 = "70a3185b2a3336996a26e9987968cf35e84cf13390b7e8a0a9a91eb8f6f85ba9";
1065 sha256 = "70a3185b2a3336996a26e9987968cf35e84cf13390b7e8a0a9a91eb8f6f85ba9";
1066 };
1066 };
1067 meta = {
1067 meta = {
1068 license = [ pkgs.lib.licenses.mit ];
1068 license = [ pkgs.lib.licenses.mit ];
1069 };
1069 };
1070 };
1070 };
1071 prompt-toolkit = super.buildPythonPackage {
1071 prompt-toolkit = super.buildPythonPackage {
1072 name = "prompt-toolkit-1.0.15";
1072 name = "prompt-toolkit-1.0.15";
1073 buildInputs = with self; [];
1073 buildInputs = with self; [];
1074 doCheck = false;
1074 doCheck = false;
1075 propagatedBuildInputs = with self; [six wcwidth];
1075 propagatedBuildInputs = with self; [six wcwidth];
1076 src = fetchurl {
1076 src = fetchurl {
1077 url = "https://files.pythonhosted.org/packages/8a/ad/cf6b128866e78ad6d7f1dc5b7f99885fb813393d9860778b2984582e81b5/prompt_toolkit-1.0.15.tar.gz";
1077 url = "https://files.pythonhosted.org/packages/8a/ad/cf6b128866e78ad6d7f1dc5b7f99885fb813393d9860778b2984582e81b5/prompt_toolkit-1.0.15.tar.gz";
1078 sha256 = "858588f1983ca497f1cf4ffde01d978a3ea02b01c8a26a8bbc5cd2e66d816917";
1078 sha256 = "858588f1983ca497f1cf4ffde01d978a3ea02b01c8a26a8bbc5cd2e66d816917";
1079 };
1079 };
1080 meta = {
1080 meta = {
1081 license = [ pkgs.lib.licenses.bsdOriginal ];
1081 license = [ pkgs.lib.licenses.bsdOriginal ];
1082 };
1082 };
1083 };
1083 };
1084 psutil = super.buildPythonPackage {
1084 psutil = super.buildPythonPackage {
1085 name = "psutil-5.4.3";
1085 name = "psutil-5.4.3";
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://files.pythonhosted.org/packages/e2/e1/600326635f97fee89bf8426fef14c5c29f4849c79f68fd79f433d8c1bd96/psutil-5.4.3.tar.gz";
1090 url = "https://files.pythonhosted.org/packages/e2/e1/600326635f97fee89bf8426fef14c5c29f4849c79f68fd79f433d8c1bd96/psutil-5.4.3.tar.gz";
1091 sha256 = "e2467e9312c2fa191687b89ff4bc2ad8843be4af6fb4dc95a7cc5f7d7a327b18";
1091 sha256 = "e2467e9312c2fa191687b89ff4bc2ad8843be4af6fb4dc95a7cc5f7d7a327b18";
1092 };
1092 };
1093 meta = {
1093 meta = {
1094 license = [ pkgs.lib.licenses.bsdOriginal ];
1094 license = [ pkgs.lib.licenses.bsdOriginal ];
1095 };
1095 };
1096 };
1096 };
1097 psycopg2 = super.buildPythonPackage {
1097 psycopg2 = super.buildPythonPackage {
1098 name = "psycopg2-2.7.4";
1098 name = "psycopg2-2.7.4";
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://files.pythonhosted.org/packages/74/83/51580322ed0e82cba7ad8e0af590b8fb2cf11bd5aaa1ed872661bd36f462/psycopg2-2.7.4.tar.gz";
1103 url = "https://files.pythonhosted.org/packages/74/83/51580322ed0e82cba7ad8e0af590b8fb2cf11bd5aaa1ed872661bd36f462/psycopg2-2.7.4.tar.gz";
1104 sha256 = "8bf51191d60f6987482ef0cfe8511bbf4877a5aa7f313d7b488b53189cf26209";
1104 sha256 = "8bf51191d60f6987482ef0cfe8511bbf4877a5aa7f313d7b488b53189cf26209";
1105 };
1105 };
1106 meta = {
1106 meta = {
1107 license = [ pkgs.lib.licenses.zpt21 { fullName = "GNU Library or Lesser General Public License (LGPL)"; } { fullName = "LGPL with exceptions or ZPL"; } ];
1107 license = [ pkgs.lib.licenses.zpt21 { fullName = "GNU Library or Lesser General Public License (LGPL)"; } { fullName = "LGPL with exceptions or ZPL"; } ];
1108 };
1108 };
1109 };
1109 };
1110 ptyprocess = super.buildPythonPackage {
1110 ptyprocess = super.buildPythonPackage {
1111 name = "ptyprocess-0.5.2";
1111 name = "ptyprocess-0.5.2";
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://files.pythonhosted.org/packages/51/83/5d07dc35534640b06f9d9f1a1d2bc2513fb9cc7595a1b0e28ae5477056ce/ptyprocess-0.5.2.tar.gz";
1116 url = "https://files.pythonhosted.org/packages/51/83/5d07dc35534640b06f9d9f1a1d2bc2513fb9cc7595a1b0e28ae5477056ce/ptyprocess-0.5.2.tar.gz";
1117 sha256 = "e64193f0047ad603b71f202332ab5527c5e52aa7c8b609704fc28c0dc20c4365";
1117 sha256 = "e64193f0047ad603b71f202332ab5527c5e52aa7c8b609704fc28c0dc20c4365";
1118 };
1118 };
1119 meta = {
1119 meta = {
1120 license = [ ];
1120 license = [ ];
1121 };
1121 };
1122 };
1122 };
1123 py = super.buildPythonPackage {
1123 py = super.buildPythonPackage {
1124 name = "py-1.5.2";
1124 name = "py-1.5.2";
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://files.pythonhosted.org/packages/90/e3/e075127d39d35f09a500ebb4a90afd10f9ef0a1d28a6d09abeec0e444fdd/py-1.5.2.tar.gz";
1129 url = "https://files.pythonhosted.org/packages/90/e3/e075127d39d35f09a500ebb4a90afd10f9ef0a1d28a6d09abeec0e444fdd/py-1.5.2.tar.gz";
1130 sha256 = "ca18943e28235417756316bfada6cd96b23ce60dd532642690dcfdaba988a76d";
1130 sha256 = "ca18943e28235417756316bfada6cd96b23ce60dd532642690dcfdaba988a76d";
1131 };
1131 };
1132 meta = {
1132 meta = {
1133 license = [ pkgs.lib.licenses.mit ];
1133 license = [ pkgs.lib.licenses.mit ];
1134 };
1134 };
1135 };
1135 };
1136 py-bcrypt = super.buildPythonPackage {
1136 py-bcrypt = super.buildPythonPackage {
1137 name = "py-bcrypt-0.4";
1137 name = "py-bcrypt-0.4";
1138 buildInputs = with self; [];
1138 buildInputs = with self; [];
1139 doCheck = false;
1139 doCheck = false;
1140 propagatedBuildInputs = with self; [];
1140 propagatedBuildInputs = with self; [];
1141 src = fetchurl {
1141 src = fetchurl {
1142 url = "https://files.pythonhosted.org/packages/68/b1/1c3068c5c4d2e35c48b38dcc865301ebfdf45f54507086ac65ced1fd3b3d/py-bcrypt-0.4.tar.gz";
1142 url = "https://files.pythonhosted.org/packages/68/b1/1c3068c5c4d2e35c48b38dcc865301ebfdf45f54507086ac65ced1fd3b3d/py-bcrypt-0.4.tar.gz";
1143 sha256 = "5fa13bce551468350d66c4883694850570f3da28d6866bb638ba44fe5eabda78";
1143 sha256 = "5fa13bce551468350d66c4883694850570f3da28d6866bb638ba44fe5eabda78";
1144 };
1144 };
1145 meta = {
1145 meta = {
1146 license = [ pkgs.lib.licenses.bsdOriginal ];
1146 license = [ pkgs.lib.licenses.bsdOriginal ];
1147 };
1147 };
1148 };
1148 };
1149 py-gfm = super.buildPythonPackage {
1149 py-gfm = super.buildPythonPackage {
1150 name = "py-gfm-0.1.3";
1150 name = "py-gfm-0.1.3";
1151 buildInputs = with self; [];
1151 buildInputs = with self; [];
1152 doCheck = false;
1152 doCheck = false;
1153 propagatedBuildInputs = with self; [setuptools markdown];
1153 propagatedBuildInputs = with self; [setuptools markdown];
1154 src = fetchurl {
1154 src = fetchurl {
1155 url = "https://files.pythonhosted.org/packages/12/e4/6b3d8678da04f97d7490d8264d8de51c2dc9fb91209ccee9c515c95e14c5/py-gfm-0.1.3.tar.gz";
1155 url = "https://files.pythonhosted.org/packages/12/e4/6b3d8678da04f97d7490d8264d8de51c2dc9fb91209ccee9c515c95e14c5/py-gfm-0.1.3.tar.gz";
1156 sha256 = "f107e43248eba6236b19ceda78531f40c7bdb85ba4a219f478c92920397f4f98";
1156 sha256 = "f107e43248eba6236b19ceda78531f40c7bdb85ba4a219f478c92920397f4f98";
1157 };
1157 };
1158 meta = {
1158 meta = {
1159 license = [ pkgs.lib.licenses.bsdOriginal ];
1159 license = [ pkgs.lib.licenses.bsdOriginal ];
1160 };
1160 };
1161 };
1161 };
1162 pycrypto = super.buildPythonPackage {
1162 pycrypto = super.buildPythonPackage {
1163 name = "pycrypto-2.6.1";
1163 name = "pycrypto-2.6.1";
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://files.pythonhosted.org/packages/60/db/645aa9af249f059cc3a368b118de33889219e0362141e75d4eaf6f80f163/pycrypto-2.6.1.tar.gz";
1168 url = "https://files.pythonhosted.org/packages/60/db/645aa9af249f059cc3a368b118de33889219e0362141e75d4eaf6f80f163/pycrypto-2.6.1.tar.gz";
1169 sha256 = "f2ce1e989b272cfcb677616763e0a2e7ec659effa67a88aa92b3a65528f60a3c";
1169 sha256 = "f2ce1e989b272cfcb677616763e0a2e7ec659effa67a88aa92b3a65528f60a3c";
1170 };
1170 };
1171 meta = {
1171 meta = {
1172 license = [ pkgs.lib.licenses.publicDomain ];
1172 license = [ pkgs.lib.licenses.publicDomain ];
1173 };
1173 };
1174 };
1174 };
1175 pycurl = super.buildPythonPackage {
1175 pycurl = super.buildPythonPackage {
1176 name = "pycurl-7.19.5";
1176 name = "pycurl-7.19.5";
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://files.pythonhosted.org/packages/6c/48/13bad289ef6f4869b1d8fc11ae54de8cfb3cc4a2eb9f7419c506f763be46/pycurl-7.19.5.tar.gz";
1181 url = "https://files.pythonhosted.org/packages/6c/48/13bad289ef6f4869b1d8fc11ae54de8cfb3cc4a2eb9f7419c506f763be46/pycurl-7.19.5.tar.gz";
1182 sha256 = "69a0aa7c9dddbfe4cebf4d1f674c490faccf739fc930d85d8990ce2fd0551a43";
1182 sha256 = "69a0aa7c9dddbfe4cebf4d1f674c490faccf739fc930d85d8990ce2fd0551a43";
1183 };
1183 };
1184 meta = {
1184 meta = {
1185 license = [ pkgs.lib.licenses.mit { fullName = "LGPL/MIT"; } { fullName = "GNU Library or Lesser General Public License (LGPL)"; } ];
1185 license = [ pkgs.lib.licenses.mit { fullName = "LGPL/MIT"; } { fullName = "GNU Library or Lesser General Public License (LGPL)"; } ];
1186 };
1186 };
1187 };
1187 };
1188 pyflakes = super.buildPythonPackage {
1188 pyflakes = super.buildPythonPackage {
1189 name = "pyflakes-0.8.1";
1189 name = "pyflakes-0.8.1";
1190 buildInputs = with self; [];
1190 buildInputs = with self; [];
1191 doCheck = false;
1191 doCheck = false;
1192 propagatedBuildInputs = with self; [];
1192 propagatedBuildInputs = with self; [];
1193 src = fetchurl {
1193 src = fetchurl {
1194 url = "https://files.pythonhosted.org/packages/75/22/a90ec0252f4f87f3ffb6336504de71fe16a49d69c4538dae2f12b9360a38/pyflakes-0.8.1.tar.gz";
1194 url = "https://files.pythonhosted.org/packages/75/22/a90ec0252f4f87f3ffb6336504de71fe16a49d69c4538dae2f12b9360a38/pyflakes-0.8.1.tar.gz";
1195 sha256 = "3fa80a10b36d51686bf7744f5dc99622cd5c98ce8ed64022e629868aafc17769";
1195 sha256 = "3fa80a10b36d51686bf7744f5dc99622cd5c98ce8ed64022e629868aafc17769";
1196 };
1196 };
1197 meta = {
1197 meta = {
1198 license = [ pkgs.lib.licenses.mit ];
1198 license = [ pkgs.lib.licenses.mit ];
1199 };
1199 };
1200 };
1200 };
1201 pygments = super.buildPythonPackage {
1201 pygments = super.buildPythonPackage {
1202 name = "pygments-2.2.0";
1202 name = "pygments-2.2.0";
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://files.pythonhosted.org/packages/71/2a/2e4e77803a8bd6408a2903340ac498cb0a2181811af7c9ec92cb70b0308a/Pygments-2.2.0.tar.gz";
1207 url = "https://files.pythonhosted.org/packages/71/2a/2e4e77803a8bd6408a2903340ac498cb0a2181811af7c9ec92cb70b0308a/Pygments-2.2.0.tar.gz";
1208 sha256 = "dbae1046def0efb574852fab9e90209b23f556367b5a320c0bcb871c77c3e8cc";
1208 sha256 = "dbae1046def0efb574852fab9e90209b23f556367b5a320c0bcb871c77c3e8cc";
1209 };
1209 };
1210 meta = {
1210 meta = {
1211 license = [ pkgs.lib.licenses.bsdOriginal ];
1211 license = [ pkgs.lib.licenses.bsdOriginal ];
1212 };
1212 };
1213 };
1213 };
1214 pygments-markdown-lexer = super.buildPythonPackage {
1214 pygments-markdown-lexer = super.buildPythonPackage {
1215 name = "pygments-markdown-lexer-0.1.0.dev39";
1215 name = "pygments-markdown-lexer-0.1.0.dev39";
1216 buildInputs = with self; [];
1216 buildInputs = with self; [];
1217 doCheck = false;
1217 doCheck = false;
1218 propagatedBuildInputs = with self; [pygments];
1218 propagatedBuildInputs = with self; [pygments];
1219 src = fetchurl {
1219 src = fetchurl {
1220 url = "https://files.pythonhosted.org/packages/c3/12/674cdee66635d638cedb2c5d9c85ce507b7b2f91bdba29e482f1b1160ff6/pygments-markdown-lexer-0.1.0.dev39.zip";
1220 url = "https://files.pythonhosted.org/packages/c3/12/674cdee66635d638cedb2c5d9c85ce507b7b2f91bdba29e482f1b1160ff6/pygments-markdown-lexer-0.1.0.dev39.zip";
1221 sha256 = "4c128c26450b5886521c674d759f95fc3768b8955a7d9c81866ee0213c2febdf";
1221 sha256 = "4c128c26450b5886521c674d759f95fc3768b8955a7d9c81866ee0213c2febdf";
1222 };
1222 };
1223 meta = {
1223 meta = {
1224 license = [ pkgs.lib.licenses.asl20 ];
1224 license = [ pkgs.lib.licenses.asl20 ];
1225 };
1225 };
1226 };
1226 };
1227 pyparsing = super.buildPythonPackage {
1227 pyparsing = super.buildPythonPackage {
1228 name = "pyparsing-1.5.7";
1228 name = "pyparsing-1.5.7";
1229 buildInputs = with self; [];
1229 buildInputs = with self; [];
1230 doCheck = false;
1230 doCheck = false;
1231 propagatedBuildInputs = with self; [];
1231 propagatedBuildInputs = with self; [];
1232 src = fetchurl {
1232 src = fetchurl {
1233 url = "https://files.pythonhosted.org/packages/6f/2c/47457771c02a8ff0f302b695e094ec309e30452232bd79198ee94fda689f/pyparsing-1.5.7.tar.gz";
1233 url = "https://files.pythonhosted.org/packages/6f/2c/47457771c02a8ff0f302b695e094ec309e30452232bd79198ee94fda689f/pyparsing-1.5.7.tar.gz";
1234 sha256 = "646e14f90b3689b005c19ac9b6b390c9a39bf976481849993e277d7380e6e79f";
1234 sha256 = "646e14f90b3689b005c19ac9b6b390c9a39bf976481849993e277d7380e6e79f";
1235 };
1235 };
1236 meta = {
1236 meta = {
1237 license = [ pkgs.lib.licenses.mit ];
1237 license = [ pkgs.lib.licenses.mit ];
1238 };
1238 };
1239 };
1239 };
1240 pyramid = super.buildPythonPackage {
1240 pyramid = super.buildPythonPackage {
1241 name = "pyramid-1.9.2";
1241 name = "pyramid-1.9.2";
1242 buildInputs = with self; [];
1242 buildInputs = with self; [];
1243 doCheck = false;
1243 doCheck = false;
1244 propagatedBuildInputs = with self; [setuptools webob repoze.lru zope.interface zope.deprecation venusian translationstring pastedeploy plaster plaster-pastedeploy hupper];
1244 propagatedBuildInputs = with self; [setuptools webob repoze.lru zope.interface zope.deprecation venusian translationstring pastedeploy plaster plaster-pastedeploy hupper];
1245 src = fetchurl {
1245 src = fetchurl {
1246 url = "https://files.pythonhosted.org/packages/a0/c1/b321d07cfc4870541989ad131c86a1d593bfe802af0eca9718a0dadfb97a/pyramid-1.9.2.tar.gz";
1246 url = "https://files.pythonhosted.org/packages/a0/c1/b321d07cfc4870541989ad131c86a1d593bfe802af0eca9718a0dadfb97a/pyramid-1.9.2.tar.gz";
1247 sha256 = "cf89a48cb899291639686bf3d4a883b39e496151fa4871fb83cc1a3200d5b925";
1247 sha256 = "cf89a48cb899291639686bf3d4a883b39e496151fa4871fb83cc1a3200d5b925";
1248 };
1248 };
1249 meta = {
1249 meta = {
1250 license = [ { fullName = "Repoze Public License"; } { fullName = "BSD-derived (http://www.repoze.org/LICENSE.txt)"; } ];
1250 license = [ { fullName = "Repoze Public License"; } { fullName = "BSD-derived (http://www.repoze.org/LICENSE.txt)"; } ];
1251 };
1251 };
1252 };
1252 };
1253 pyramid-beaker = super.buildPythonPackage {
1253 pyramid-beaker = super.buildPythonPackage {
1254 name = "pyramid-beaker-0.8";
1254 name = "pyramid-beaker-0.8";
1255 buildInputs = with self; [];
1255 buildInputs = with self; [];
1256 doCheck = false;
1256 doCheck = false;
1257 propagatedBuildInputs = with self; [pyramid beaker];
1257 propagatedBuildInputs = with self; [pyramid beaker];
1258 src = fetchurl {
1258 src = fetchurl {
1259 url = "https://files.pythonhosted.org/packages/d9/6e/b85426e00fd3d57f4545f74e1c3828552d8700f13ededeef9233f7bca8be/pyramid_beaker-0.8.tar.gz";
1259 url = "https://files.pythonhosted.org/packages/d9/6e/b85426e00fd3d57f4545f74e1c3828552d8700f13ededeef9233f7bca8be/pyramid_beaker-0.8.tar.gz";
1260 sha256 = "77dc658c2c84c8c384b6c07f60dd9d2ccaa30df97a147c790db43636f1e8d441";
1260 sha256 = "77dc658c2c84c8c384b6c07f60dd9d2ccaa30df97a147c790db43636f1e8d441";
1261 };
1261 };
1262 meta = {
1262 meta = {
1263 license = [ { fullName = "BSD-derived (http://www.repoze.org/LICENSE.txt)"; } ];
1263 license = [ { fullName = "BSD-derived (http://www.repoze.org/LICENSE.txt)"; } ];
1264 };
1264 };
1265 };
1265 };
1266 pyramid-debugtoolbar = super.buildPythonPackage {
1266 pyramid-debugtoolbar = super.buildPythonPackage {
1267 name = "pyramid-debugtoolbar-4.4";
1267 name = "pyramid-debugtoolbar-4.4";
1268 buildInputs = with self; [];
1268 buildInputs = with self; [];
1269 doCheck = false;
1269 doCheck = false;
1270 propagatedBuildInputs = with self; [pyramid pyramid-mako repoze.lru pygments ipaddress];
1270 propagatedBuildInputs = with self; [pyramid pyramid-mako repoze.lru pygments ipaddress];
1271 src = fetchurl {
1271 src = fetchurl {
1272 url = "https://files.pythonhosted.org/packages/00/6f/c04eb4e715a7a5a4b24079ab7ffd1dceb1f70b2e24fc17686a2922dbac0a/pyramid_debugtoolbar-4.4.tar.gz";
1272 url = "https://files.pythonhosted.org/packages/00/6f/c04eb4e715a7a5a4b24079ab7ffd1dceb1f70b2e24fc17686a2922dbac0a/pyramid_debugtoolbar-4.4.tar.gz";
1273 sha256 = "5f779aa242009c4aace848f67807da44af2970b303aa1c9682c2efab76b7e79e";
1273 sha256 = "5f779aa242009c4aace848f67807da44af2970b303aa1c9682c2efab76b7e79e";
1274 };
1274 };
1275 meta = {
1275 meta = {
1276 license = [ { fullName = "Repoze Public License"; } pkgs.lib.licenses.bsdOriginal ];
1276 license = [ { fullName = "Repoze Public License"; } pkgs.lib.licenses.bsdOriginal ];
1277 };
1277 };
1278 };
1278 };
1279 pyramid-jinja2 = super.buildPythonPackage {
1279 pyramid-jinja2 = super.buildPythonPackage {
1280 name = "pyramid-jinja2-2.7";
1280 name = "pyramid-jinja2-2.7";
1281 buildInputs = with self; [];
1281 buildInputs = with self; [];
1282 doCheck = false;
1282 doCheck = false;
1283 propagatedBuildInputs = with self; [pyramid zope.deprecation jinja2 markupsafe];
1283 propagatedBuildInputs = with self; [pyramid zope.deprecation jinja2 markupsafe];
1284 src = fetchurl {
1284 src = fetchurl {
1285 url = "https://files.pythonhosted.org/packages/d8/80/d60a7233823de22ce77bd864a8a83736a1fe8b49884b08303a2e68b2c853/pyramid_jinja2-2.7.tar.gz";
1285 url = "https://files.pythonhosted.org/packages/d8/80/d60a7233823de22ce77bd864a8a83736a1fe8b49884b08303a2e68b2c853/pyramid_jinja2-2.7.tar.gz";
1286 sha256 = "5c21081f65a5bec0b76957990c2b89ed41f4fd11257121387110cb722fd0e5eb";
1286 sha256 = "5c21081f65a5bec0b76957990c2b89ed41f4fd11257121387110cb722fd0e5eb";
1287 };
1287 };
1288 meta = {
1288 meta = {
1289 license = [ { fullName = "Repoze Public License"; } { fullName = "BSD-derived (http://www.repoze.org/LICENSE.txt)"; } ];
1289 license = [ { fullName = "Repoze Public License"; } { fullName = "BSD-derived (http://www.repoze.org/LICENSE.txt)"; } ];
1290 };
1290 };
1291 };
1291 };
1292 pyramid-mako = super.buildPythonPackage {
1292 pyramid-mako = super.buildPythonPackage {
1293 name = "pyramid-mako-1.0.2";
1293 name = "pyramid-mako-1.0.2";
1294 buildInputs = with self; [];
1294 buildInputs = with self; [];
1295 doCheck = false;
1295 doCheck = false;
1296 propagatedBuildInputs = with self; [pyramid mako];
1296 propagatedBuildInputs = with self; [pyramid mako];
1297 src = fetchurl {
1297 src = fetchurl {
1298 url = "https://files.pythonhosted.org/packages/f1/92/7e69bcf09676d286a71cb3bbb887b16595b96f9ba7adbdc239ffdd4b1eb9/pyramid_mako-1.0.2.tar.gz";
1298 url = "https://files.pythonhosted.org/packages/f1/92/7e69bcf09676d286a71cb3bbb887b16595b96f9ba7adbdc239ffdd4b1eb9/pyramid_mako-1.0.2.tar.gz";
1299 sha256 = "6da0987b9874cf53e72139624665a73965bbd7fbde504d1753e4231ce916f3a1";
1299 sha256 = "6da0987b9874cf53e72139624665a73965bbd7fbde504d1753e4231ce916f3a1";
1300 };
1300 };
1301 meta = {
1301 meta = {
1302 license = [ { fullName = "Repoze Public License"; } { fullName = "BSD-derived (http://www.repoze.org/LICENSE.txt)"; } ];
1302 license = [ { fullName = "Repoze Public License"; } { fullName = "BSD-derived (http://www.repoze.org/LICENSE.txt)"; } ];
1303 };
1303 };
1304 };
1304 };
1305 pysqlite = super.buildPythonPackage {
1305 pysqlite = super.buildPythonPackage {
1306 name = "pysqlite-2.8.3";
1306 name = "pysqlite-2.8.3";
1307 buildInputs = with self; [];
1307 buildInputs = with self; [];
1308 doCheck = false;
1308 doCheck = false;
1309 propagatedBuildInputs = with self; [];
1309 propagatedBuildInputs = with self; [];
1310 src = fetchurl {
1310 src = fetchurl {
1311 url = "https://files.pythonhosted.org/packages/42/02/981b6703e3c83c5b25a829c6e77aad059f9481b0bbacb47e6e8ca12bd731/pysqlite-2.8.3.tar.gz";
1311 url = "https://files.pythonhosted.org/packages/42/02/981b6703e3c83c5b25a829c6e77aad059f9481b0bbacb47e6e8ca12bd731/pysqlite-2.8.3.tar.gz";
1312 sha256 = "17d3335863e8cf8392eea71add33dab3f96d060666fe68ab7382469d307f4490";
1312 sha256 = "17d3335863e8cf8392eea71add33dab3f96d060666fe68ab7382469d307f4490";
1313 };
1313 };
1314 meta = {
1314 meta = {
1315 license = [ { fullName = "zlib/libpng License"; } { fullName = "zlib/libpng license"; } ];
1315 license = [ { fullName = "zlib/libpng License"; } { fullName = "zlib/libpng license"; } ];
1316 };
1316 };
1317 };
1317 };
1318 pytest = super.buildPythonPackage {
1318 pytest = super.buildPythonPackage {
1319 name = "pytest-3.2.5";
1319 name = "pytest-3.2.5";
1320 buildInputs = with self; [];
1320 buildInputs = with self; [];
1321 doCheck = false;
1321 doCheck = false;
1322 propagatedBuildInputs = with self; [py setuptools];
1322 propagatedBuildInputs = with self; [py setuptools];
1323 src = fetchurl {
1323 src = fetchurl {
1324 url = "https://files.pythonhosted.org/packages/1f/f8/8cd74c16952163ce0db0bd95fdd8810cbf093c08be00e6e665ebf0dc3138/pytest-3.2.5.tar.gz";
1324 url = "https://files.pythonhosted.org/packages/1f/f8/8cd74c16952163ce0db0bd95fdd8810cbf093c08be00e6e665ebf0dc3138/pytest-3.2.5.tar.gz";
1325 sha256 = "6d5bd4f7113b444c55a3bbb5c738a3dd80d43563d063fc42dcb0aaefbdd78b81";
1325 sha256 = "6d5bd4f7113b444c55a3bbb5c738a3dd80d43563d063fc42dcb0aaefbdd78b81";
1326 };
1326 };
1327 meta = {
1327 meta = {
1328 license = [ pkgs.lib.licenses.mit ];
1328 license = [ pkgs.lib.licenses.mit ];
1329 };
1329 };
1330 };
1330 };
1331 pytest-catchlog = super.buildPythonPackage {
1331 pytest-catchlog = super.buildPythonPackage {
1332 name = "pytest-catchlog-1.2.2";
1332 name = "pytest-catchlog-1.2.2";
1333 buildInputs = with self; [];
1333 buildInputs = with self; [];
1334 doCheck = false;
1334 doCheck = false;
1335 propagatedBuildInputs = with self; [py pytest];
1335 propagatedBuildInputs = with self; [py pytest];
1336 src = fetchurl {
1336 src = fetchurl {
1337 url = "https://files.pythonhosted.org/packages/f2/2b/2faccdb1a978fab9dd0bf31cca9f6847fbe9184a0bdcc3011ac41dd44191/pytest-catchlog-1.2.2.zip";
1337 url = "https://files.pythonhosted.org/packages/f2/2b/2faccdb1a978fab9dd0bf31cca9f6847fbe9184a0bdcc3011ac41dd44191/pytest-catchlog-1.2.2.zip";
1338 sha256 = "4be15dc5ac1750f83960897f591453040dff044b5966fe24a91c2f7d04ecfcf0";
1338 sha256 = "4be15dc5ac1750f83960897f591453040dff044b5966fe24a91c2f7d04ecfcf0";
1339 };
1339 };
1340 meta = {
1340 meta = {
1341 license = [ pkgs.lib.licenses.mit ];
1341 license = [ pkgs.lib.licenses.mit ];
1342 };
1342 };
1343 };
1343 };
1344 pytest-cov = super.buildPythonPackage {
1344 pytest-cov = super.buildPythonPackage {
1345 name = "pytest-cov-2.5.1";
1345 name = "pytest-cov-2.5.1";
1346 buildInputs = with self; [];
1346 buildInputs = with self; [];
1347 doCheck = false;
1347 doCheck = false;
1348 propagatedBuildInputs = with self; [pytest coverage];
1348 propagatedBuildInputs = with self; [pytest coverage];
1349 src = fetchurl {
1349 src = fetchurl {
1350 url = "https://files.pythonhosted.org/packages/24/b4/7290d65b2f3633db51393bdf8ae66309b37620bc3ec116c5e357e3e37238/pytest-cov-2.5.1.tar.gz";
1350 url = "https://files.pythonhosted.org/packages/24/b4/7290d65b2f3633db51393bdf8ae66309b37620bc3ec116c5e357e3e37238/pytest-cov-2.5.1.tar.gz";
1351 sha256 = "03aa752cf11db41d281ea1d807d954c4eda35cfa1b21d6971966cc041bbf6e2d";
1351 sha256 = "03aa752cf11db41d281ea1d807d954c4eda35cfa1b21d6971966cc041bbf6e2d";
1352 };
1352 };
1353 meta = {
1353 meta = {
1354 license = [ pkgs.lib.licenses.bsdOriginal pkgs.lib.licenses.mit ];
1354 license = [ pkgs.lib.licenses.bsdOriginal pkgs.lib.licenses.mit ];
1355 };
1355 };
1356 };
1356 };
1357 pytest-profiling = super.buildPythonPackage {
1357 pytest-profiling = super.buildPythonPackage {
1358 name = "pytest-profiling-1.2.11";
1358 name = "pytest-profiling-1.2.11";
1359 buildInputs = with self; [];
1359 buildInputs = with self; [];
1360 doCheck = false;
1360 doCheck = false;
1361 propagatedBuildInputs = with self; [six pytest gprof2dot];
1361 propagatedBuildInputs = with self; [six pytest gprof2dot];
1362 src = fetchurl {
1362 src = fetchurl {
1363 url = "https://files.pythonhosted.org/packages/c0/4a/b4aa786e93c07a86f1f87c581a36bf355a9e06a9da7e00dbd05047626bd2/pytest-profiling-1.2.11.tar.gz";
1363 url = "https://files.pythonhosted.org/packages/c0/4a/b4aa786e93c07a86f1f87c581a36bf355a9e06a9da7e00dbd05047626bd2/pytest-profiling-1.2.11.tar.gz";
1364 sha256 = "8904f9a1ed31d6be2c0b586c4e2fbc14cc17fb0afae2c01a6c0f701978a1c9a4";
1364 sha256 = "8904f9a1ed31d6be2c0b586c4e2fbc14cc17fb0afae2c01a6c0f701978a1c9a4";
1365 };
1365 };
1366 meta = {
1366 meta = {
1367 license = [ pkgs.lib.licenses.mit ];
1367 license = [ pkgs.lib.licenses.mit ];
1368 };
1368 };
1369 };
1369 };
1370 pytest-runner = super.buildPythonPackage {
1370 pytest-runner = super.buildPythonPackage {
1371 name = "pytest-runner-3.0";
1371 name = "pytest-runner-3.0";
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://files.pythonhosted.org/packages/65/b4/ae89338cd2d81e2cc54bd6db2e962bfe948f612303610d68ab24539ac2d1/pytest-runner-3.0.tar.gz";
1376 url = "https://files.pythonhosted.org/packages/65/b4/ae89338cd2d81e2cc54bd6db2e962bfe948f612303610d68ab24539ac2d1/pytest-runner-3.0.tar.gz";
1377 sha256 = "0f7c3a3cf5aead13f54baaa01ceb49e5ae92aba5d3ff1928e81e189c40bc6703";
1377 sha256 = "0f7c3a3cf5aead13f54baaa01ceb49e5ae92aba5d3ff1928e81e189c40bc6703";
1378 };
1378 };
1379 meta = {
1379 meta = {
1380 license = [ pkgs.lib.licenses.mit ];
1380 license = [ pkgs.lib.licenses.mit ];
1381 };
1381 };
1382 };
1382 };
1383 pytest-sugar = super.buildPythonPackage {
1383 pytest-sugar = super.buildPythonPackage {
1384 name = "pytest-sugar-0.9.0";
1384 name = "pytest-sugar-0.9.0";
1385 buildInputs = with self; [];
1385 buildInputs = with self; [];
1386 doCheck = false;
1386 doCheck = false;
1387 propagatedBuildInputs = with self; [pytest termcolor];
1387 propagatedBuildInputs = with self; [pytest termcolor];
1388 src = fetchurl {
1388 src = fetchurl {
1389 url = "https://files.pythonhosted.org/packages/49/d8/c5ff6cca3ce2ebd8b73eec89779bf6b4a7737456a70e8ea4d44c1ff90f71/pytest-sugar-0.9.0.tar.gz";
1389 url = "https://files.pythonhosted.org/packages/49/d8/c5ff6cca3ce2ebd8b73eec89779bf6b4a7737456a70e8ea4d44c1ff90f71/pytest-sugar-0.9.0.tar.gz";
1390 sha256 = "8f1aca70235559f95abe2d7508a029d933e9c9961888d74d423e6460678a9686";
1390 sha256 = "8f1aca70235559f95abe2d7508a029d933e9c9961888d74d423e6460678a9686";
1391 };
1391 };
1392 meta = {
1392 meta = {
1393 license = [ pkgs.lib.licenses.bsdOriginal ];
1393 license = [ pkgs.lib.licenses.bsdOriginal ];
1394 };
1394 };
1395 };
1395 };
1396 pytest-timeout = super.buildPythonPackage {
1396 pytest-timeout = super.buildPythonPackage {
1397 name = "pytest-timeout-1.2.0";
1397 name = "pytest-timeout-1.2.0";
1398 buildInputs = with self; [];
1398 buildInputs = with self; [];
1399 doCheck = false;
1399 doCheck = false;
1400 propagatedBuildInputs = with self; [pytest];
1400 propagatedBuildInputs = with self; [pytest];
1401 src = fetchurl {
1401 src = fetchurl {
1402 url = "https://files.pythonhosted.org/packages/cc/b7/b2a61365ea6b6d2e8881360ae7ed8dad0327ad2df89f2f0be4a02304deb2/pytest-timeout-1.2.0.tar.gz";
1402 url = "https://files.pythonhosted.org/packages/cc/b7/b2a61365ea6b6d2e8881360ae7ed8dad0327ad2df89f2f0be4a02304deb2/pytest-timeout-1.2.0.tar.gz";
1403 sha256 = "c29e3168f10897728059bd6b8ca20b28733d7fe6b8f6c09bb9d89f6146f27cb8";
1403 sha256 = "c29e3168f10897728059bd6b8ca20b28733d7fe6b8f6c09bb9d89f6146f27cb8";
1404 };
1404 };
1405 meta = {
1405 meta = {
1406 license = [ pkgs.lib.licenses.mit { fullName = "DFSG approved"; } ];
1406 license = [ pkgs.lib.licenses.mit { fullName = "DFSG approved"; } ];
1407 };
1407 };
1408 };
1408 };
1409 python-dateutil = super.buildPythonPackage {
1409 python-dateutil = super.buildPythonPackage {
1410 name = "python-dateutil-2.7.2";
1410 name = "python-dateutil-2.7.2";
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://files.pythonhosted.org/packages/c5/39/4da7c2dbc4f023fba5fb2325febcadf0d0ce0efdc8bd12083a0f65d20653/python-dateutil-2.7.2.tar.gz";
1415 url = "https://files.pythonhosted.org/packages/c5/39/4da7c2dbc4f023fba5fb2325febcadf0d0ce0efdc8bd12083a0f65d20653/python-dateutil-2.7.2.tar.gz";
1416 sha256 = "9d8074be4c993fbe4947878ce593052f71dac82932a677d49194d8ce9778002e";
1416 sha256 = "9d8074be4c993fbe4947878ce593052f71dac82932a677d49194d8ce9778002e";
1417 };
1417 };
1418 meta = {
1418 meta = {
1419 license = [ pkgs.lib.licenses.bsdOriginal { fullName = "Simplified BSD"; } ];
1419 license = [ pkgs.lib.licenses.bsdOriginal { fullName = "Simplified BSD"; } ];
1420 };
1420 };
1421 };
1421 };
1422 python-editor = super.buildPythonPackage {
1422 python-editor = super.buildPythonPackage {
1423 name = "python-editor-1.0.3";
1423 name = "python-editor-1.0.3";
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://files.pythonhosted.org/packages/65/1e/adf6e000ea5dc909aa420352d6ba37f16434c8a3c2fa030445411a1ed545/python-editor-1.0.3.tar.gz";
1428 url = "https://files.pythonhosted.org/packages/65/1e/adf6e000ea5dc909aa420352d6ba37f16434c8a3c2fa030445411a1ed545/python-editor-1.0.3.tar.gz";
1429 sha256 = "a3c066acee22a1c94f63938341d4fb374e3fdd69366ed6603d7b24bed1efc565";
1429 sha256 = "a3c066acee22a1c94f63938341d4fb374e3fdd69366ed6603d7b24bed1efc565";
1430 };
1430 };
1431 meta = {
1431 meta = {
1432 license = [ pkgs.lib.licenses.asl20 { fullName = "Apache"; } ];
1432 license = [ pkgs.lib.licenses.asl20 { fullName = "Apache"; } ];
1433 };
1433 };
1434 };
1434 };
1435 python-ldap = super.buildPythonPackage {
1435 python-ldap = super.buildPythonPackage {
1436 name = "python-ldap-2.4.45";
1436 name = "python-ldap-2.4.45";
1437 buildInputs = with self; [];
1437 buildInputs = with self; [];
1438 doCheck = false;
1438 doCheck = false;
1439 propagatedBuildInputs = with self; [setuptools];
1439 propagatedBuildInputs = with self; [setuptools];
1440 src = fetchurl {
1440 src = fetchurl {
1441 url = "https://files.pythonhosted.org/packages/ce/52/6b5372d0166820f4a4b0a88ed73dc7504219355049fc1d266d8ccdb7942e/python-ldap-2.4.45.tar.gz";
1441 url = "https://files.pythonhosted.org/packages/ce/52/6b5372d0166820f4a4b0a88ed73dc7504219355049fc1d266d8ccdb7942e/python-ldap-2.4.45.tar.gz";
1442 sha256 = "824fde180a53772e23edc031c4dd64ac1af4a3eade78f00d9d510937d562f64e";
1442 sha256 = "824fde180a53772e23edc031c4dd64ac1af4a3eade78f00d9d510937d562f64e";
1443 };
1443 };
1444 meta = {
1444 meta = {
1445 license = [ pkgs.lib.licenses.psfl ];
1445 license = [ pkgs.lib.licenses.psfl ];
1446 };
1446 };
1447 };
1447 };
1448 python-memcached = super.buildPythonPackage {
1448 python-memcached = super.buildPythonPackage {
1449 name = "python-memcached-1.59";
1449 name = "python-memcached-1.59";
1450 buildInputs = with self; [];
1450 buildInputs = with self; [];
1451 doCheck = false;
1451 doCheck = false;
1452 propagatedBuildInputs = with self; [six];
1452 propagatedBuildInputs = with self; [six];
1453 src = fetchurl {
1453 src = fetchurl {
1454 url = "https://files.pythonhosted.org/packages/90/59/5faf6e3cd8a568dd4f737ddae4f2e54204fd8c51f90bf8df99aca6c22318/python-memcached-1.59.tar.gz";
1454 url = "https://files.pythonhosted.org/packages/90/59/5faf6e3cd8a568dd4f737ddae4f2e54204fd8c51f90bf8df99aca6c22318/python-memcached-1.59.tar.gz";
1455 sha256 = "a2e28637be13ee0bf1a8b6843e7490f9456fd3f2a4cb60471733c7b5d5557e4f";
1455 sha256 = "a2e28637be13ee0bf1a8b6843e7490f9456fd3f2a4cb60471733c7b5d5557e4f";
1456 };
1456 };
1457 meta = {
1457 meta = {
1458 license = [ pkgs.lib.licenses.psfl ];
1458 license = [ pkgs.lib.licenses.psfl ];
1459 };
1459 };
1460 };
1460 };
1461 python-pam = super.buildPythonPackage {
1461 python-pam = super.buildPythonPackage {
1462 name = "python-pam-1.8.2";
1462 name = "python-pam-1.8.2";
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://files.pythonhosted.org/packages/de/8c/f8f5d38b4f26893af267ea0b39023d4951705ab0413a39e0cf7cf4900505/python-pam-1.8.2.tar.gz";
1467 url = "https://files.pythonhosted.org/packages/de/8c/f8f5d38b4f26893af267ea0b39023d4951705ab0413a39e0cf7cf4900505/python-pam-1.8.2.tar.gz";
1468 sha256 = "26efe4e79b869b10f97cd8c4a6bbb04a4e54d41186364e975b4108c9c071812c";
1468 sha256 = "26efe4e79b869b10f97cd8c4a6bbb04a4e54d41186364e975b4108c9c071812c";
1469 };
1469 };
1470 meta = {
1470 meta = {
1471 license = [ { fullName = "License :: OSI Approved :: MIT License"; } pkgs.lib.licenses.mit ];
1471 license = [ { fullName = "License :: OSI Approved :: MIT License"; } pkgs.lib.licenses.mit ];
1472 };
1472 };
1473 };
1473 };
1474 pytz = super.buildPythonPackage {
1474 pytz = super.buildPythonPackage {
1475 name = "pytz-2018.4";
1475 name = "pytz-2018.4";
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://files.pythonhosted.org/packages/10/76/52efda4ef98e7544321fd8d5d512e11739c1df18b0649551aeccfb1c8376/pytz-2018.4.tar.gz";
1480 url = "https://files.pythonhosted.org/packages/10/76/52efda4ef98e7544321fd8d5d512e11739c1df18b0649551aeccfb1c8376/pytz-2018.4.tar.gz";
1481 sha256 = "c06425302f2cf668f1bba7a0a03f3c1d34d4ebeef2c72003da308b3947c7f749";
1481 sha256 = "c06425302f2cf668f1bba7a0a03f3c1d34d4ebeef2c72003da308b3947c7f749";
1482 };
1482 };
1483 meta = {
1483 meta = {
1484 license = [ pkgs.lib.licenses.mit ];
1484 license = [ pkgs.lib.licenses.mit ];
1485 };
1485 };
1486 };
1486 };
1487 pyzmq = super.buildPythonPackage {
1487 pyzmq = super.buildPythonPackage {
1488 name = "pyzmq-14.6.0";
1488 name = "pyzmq-14.6.0";
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://files.pythonhosted.org/packages/8a/3b/5463d5a9d712cd8bbdac335daece0d69f6a6792da4e3dd89956c0db4e4e6/pyzmq-14.6.0.tar.gz";
1493 url = "https://files.pythonhosted.org/packages/8a/3b/5463d5a9d712cd8bbdac335daece0d69f6a6792da4e3dd89956c0db4e4e6/pyzmq-14.6.0.tar.gz";
1494 sha256 = "7746806ff94f1e8c1e843644c6bbd3b9aaeb1203c2eaf38879adc23dbd5c35bb";
1494 sha256 = "7746806ff94f1e8c1e843644c6bbd3b9aaeb1203c2eaf38879adc23dbd5c35bb";
1495 };
1495 };
1496 meta = {
1496 meta = {
1497 license = [ pkgs.lib.licenses.bsdOriginal { fullName = "LGPL+BSD"; } { fullName = "GNU Library or Lesser General Public License (LGPL)"; } ];
1497 license = [ pkgs.lib.licenses.bsdOriginal { fullName = "LGPL+BSD"; } { fullName = "GNU Library or Lesser General Public License (LGPL)"; } ];
1498 };
1498 };
1499 };
1499 };
1500 recaptcha-client = super.buildPythonPackage {
1501 name = "recaptcha-client-1.0.6";
1502 buildInputs = with self; [];
1503 doCheck = false;
1504 propagatedBuildInputs = with self; [];
1505 src = fetchurl {
1506 url = "https://files.pythonhosted.org/packages/0a/ea/5f2fbbfd894bdac1c68ef8d92019066cfcf9fbff5fe3d728d2b5c25c8db4/recaptcha-client-1.0.6.tar.gz";
1507 sha256 = "28c6853c1d13d365b7dc71a6b05e5ffb56471f70a850de318af50d3d7c0dea2f";
1508 };
1509 meta = {
1510 license = [ { fullName = "MIT/X11"; } ];
1511 };
1512 };
1513 redis = super.buildPythonPackage {
1500 redis = super.buildPythonPackage {
1514 name = "redis-2.10.6";
1501 name = "redis-2.10.6";
1515 buildInputs = with self; [];
1502 buildInputs = with self; [];
1516 doCheck = false;
1503 doCheck = false;
1517 propagatedBuildInputs = with self; [];
1504 propagatedBuildInputs = with self; [];
1518 src = fetchurl {
1505 src = fetchurl {
1519 url = "https://files.pythonhosted.org/packages/09/8d/6d34b75326bf96d4139a2ddd8e74b80840f800a0a79f9294399e212cb9a7/redis-2.10.6.tar.gz";
1506 url = "https://files.pythonhosted.org/packages/09/8d/6d34b75326bf96d4139a2ddd8e74b80840f800a0a79f9294399e212cb9a7/redis-2.10.6.tar.gz";
1520 sha256 = "a22ca993cea2962dbb588f9f30d0015ac4afcc45bee27d3978c0dbe9e97c6c0f";
1507 sha256 = "a22ca993cea2962dbb588f9f30d0015ac4afcc45bee27d3978c0dbe9e97c6c0f";
1521 };
1508 };
1522 meta = {
1509 meta = {
1523 license = [ pkgs.lib.licenses.mit ];
1510 license = [ pkgs.lib.licenses.mit ];
1524 };
1511 };
1525 };
1512 };
1526 repoze.lru = super.buildPythonPackage {
1513 repoze.lru = super.buildPythonPackage {
1527 name = "repoze.lru-0.7";
1514 name = "repoze.lru-0.7";
1528 buildInputs = with self; [];
1515 buildInputs = with self; [];
1529 doCheck = false;
1516 doCheck = false;
1530 propagatedBuildInputs = with self; [];
1517 propagatedBuildInputs = with self; [];
1531 src = fetchurl {
1518 src = fetchurl {
1532 url = "https://files.pythonhosted.org/packages/12/bc/595a77c4b5e204847fdf19268314ef59c85193a9dc9f83630fc459c0fee5/repoze.lru-0.7.tar.gz";
1519 url = "https://files.pythonhosted.org/packages/12/bc/595a77c4b5e204847fdf19268314ef59c85193a9dc9f83630fc459c0fee5/repoze.lru-0.7.tar.gz";
1533 sha256 = "0429a75e19380e4ed50c0694e26ac8819b4ea7851ee1fc7583c8572db80aff77";
1520 sha256 = "0429a75e19380e4ed50c0694e26ac8819b4ea7851ee1fc7583c8572db80aff77";
1534 };
1521 };
1535 meta = {
1522 meta = {
1536 license = [ { fullName = "Repoze Public License"; } { fullName = "BSD-derived (http://www.repoze.org/LICENSE.txt)"; } ];
1523 license = [ { fullName = "Repoze Public License"; } { fullName = "BSD-derived (http://www.repoze.org/LICENSE.txt)"; } ];
1537 };
1524 };
1538 };
1525 };
1539 requests = super.buildPythonPackage {
1526 requests = super.buildPythonPackage {
1540 name = "requests-2.9.1";
1527 name = "requests-2.9.1";
1541 buildInputs = with self; [];
1528 buildInputs = with self; [];
1542 doCheck = false;
1529 doCheck = false;
1543 propagatedBuildInputs = with self; [];
1530 propagatedBuildInputs = with self; [];
1544 src = fetchurl {
1531 src = fetchurl {
1545 url = "https://files.pythonhosted.org/packages/f9/6d/07c44fb1ebe04d069459a189e7dab9e4abfe9432adcd4477367c25332748/requests-2.9.1.tar.gz";
1532 url = "https://files.pythonhosted.org/packages/f9/6d/07c44fb1ebe04d069459a189e7dab9e4abfe9432adcd4477367c25332748/requests-2.9.1.tar.gz";
1546 sha256 = "c577815dd00f1394203fc44eb979724b098f88264a9ef898ee45b8e5e9cf587f";
1533 sha256 = "c577815dd00f1394203fc44eb979724b098f88264a9ef898ee45b8e5e9cf587f";
1547 };
1534 };
1548 meta = {
1535 meta = {
1549 license = [ pkgs.lib.licenses.asl20 ];
1536 license = [ pkgs.lib.licenses.asl20 ];
1550 };
1537 };
1551 };
1538 };
1552 rhodecode-enterprise-ce = super.buildPythonPackage {
1539 rhodecode-enterprise-ce = super.buildPythonPackage {
1553 name = "rhodecode-enterprise-ce-4.13.0";
1540 name = "rhodecode-enterprise-ce-4.13.0";
1554 buildInputs = with self; [pytest py pytest-cov pytest-sugar pytest-runner pytest-catchlog pytest-profiling gprof2dot pytest-timeout mock webtest cov-core coverage configobj];
1541 buildInputs = with self; [pytest py pytest-cov pytest-sugar pytest-runner pytest-catchlog pytest-profiling gprof2dot pytest-timeout mock webtest cov-core coverage configobj];
1555 doCheck = true;
1542 doCheck = true;
1556 propagatedBuildInputs = with self; [setuptools-scm amqp authomatic babel beaker celery chameleon channelstream click colander configobj cssselect decorator deform docutils dogpile.cache dogpile.core ecdsa formencode future futures gnureadline infrae.cache iso8601 itsdangerous jinja2 billiard kombu lxml mako markdown markupsafe msgpack-python mysql-python objgraph packaging paste pastedeploy pastescript pathlib2 peppercorn psutil psycopg2 py-bcrypt pycrypto pycurl pyflakes pygments-markdown-lexer pygments pyparsing pyramid-beaker pyramid-debugtoolbar pyramid-jinja2 pyramid-mako pyramid pysqlite python-dateutil python-ldap python-memcached python-pam pytz tzlocal pyzmq py-gfm recaptcha-client redis repoze.lru requests routes setproctitle simplejson six sqlalchemy sshpubkeys subprocess32 supervisor tempita translationstring trollius urllib3 urlobject venusian weberror webhelpers2 webhelpers webob whoosh wsgiref zope.cachedescriptors zope.deprecation zope.event zope.interface nbconvert bleach nbformat jupyter-client alembic invoke bumpversion gevent greenlet gunicorn waitress ipdb ipython cprofilev bottle rhodecode-tools appenlight-client pytest py pytest-cov pytest-sugar pytest-runner pytest-catchlog pytest-profiling gprof2dot pytest-timeout mock webtest cov-core coverage];
1543 propagatedBuildInputs = with self; [setuptools-scm amqp authomatic babel beaker celery chameleon channelstream click colander configobj cssselect decorator deform docutils dogpile.cache dogpile.core ecdsa formencode future futures gnureadline infrae.cache iso8601 itsdangerous jinja2 billiard kombu lxml mako markdown markupsafe msgpack-python mysql-python objgraph packaging paste pastedeploy pastescript pathlib2 peppercorn psutil psycopg2 py-bcrypt pycrypto pycurl pyflakes pygments-markdown-lexer pygments pyparsing pyramid-beaker pyramid-debugtoolbar pyramid-jinja2 pyramid-mako pyramid pysqlite python-dateutil python-ldap python-memcached python-pam pytz tzlocal pyzmq py-gfm redis repoze.lru requests routes setproctitle simplejson six sqlalchemy sshpubkeys subprocess32 supervisor tempita translationstring trollius urllib3 urlobject venusian weberror webhelpers2 webhelpers webob whoosh wsgiref zope.cachedescriptors zope.deprecation zope.event zope.interface nbconvert bleach nbformat jupyter-client alembic invoke bumpversion gevent greenlet gunicorn waitress ipdb ipython cprofilev bottle rhodecode-tools appenlight-client pytest py pytest-cov pytest-sugar pytest-runner pytest-catchlog pytest-profiling gprof2dot pytest-timeout mock webtest cov-core coverage];
1557 src = ./.;
1544 src = ./.;
1558 meta = {
1545 meta = {
1559 license = [ { fullName = "Affero GNU General Public License v3 or later (AGPLv3+)"; } { fullName = "AGPLv3, and Commercial License"; } ];
1546 license = [ { fullName = "Affero GNU General Public License v3 or later (AGPLv3+)"; } { fullName = "AGPLv3, and Commercial License"; } ];
1560 };
1547 };
1561 };
1548 };
1562 rhodecode-tools = super.buildPythonPackage {
1549 rhodecode-tools = super.buildPythonPackage {
1563 name = "rhodecode-tools-0.15.0";
1550 name = "rhodecode-tools-0.15.0";
1564 buildInputs = with self; [];
1551 buildInputs = with self; [];
1565 doCheck = false;
1552 doCheck = false;
1566 propagatedBuildInputs = with self; [click future six mako markupsafe requests elasticsearch elasticsearch-dsl urllib3 whoosh];
1553 propagatedBuildInputs = with self; [click future six mako markupsafe requests elasticsearch elasticsearch-dsl urllib3 whoosh];
1567 src = fetchurl {
1554 src = fetchurl {
1568 url = "https://code.rhodecode.com/rhodecode-tools-ce/archive/v0.15.0.tar.gz?md5=1046043b8c8d52480f7bca63185729b5";
1555 url = "https://code.rhodecode.com/rhodecode-tools-ce/archive/v0.15.0.tar.gz?md5=1046043b8c8d52480f7bca63185729b5";
1569 md5 = "1046043b8c8d52480f7bca63185729b5";
1556 md5 = "1046043b8c8d52480f7bca63185729b5";
1570 };
1557 };
1571 meta = {
1558 meta = {
1572 license = [ { fullName = "AGPLv3 and Proprietary"; } ];
1559 license = [ { fullName = "AGPLv3 and Proprietary"; } ];
1573 };
1560 };
1574 };
1561 };
1575 routes = super.buildPythonPackage {
1562 routes = super.buildPythonPackage {
1576 name = "routes-2.4.1";
1563 name = "routes-2.4.1";
1577 buildInputs = with self; [];
1564 buildInputs = with self; [];
1578 doCheck = false;
1565 doCheck = false;
1579 propagatedBuildInputs = with self; [six repoze.lru];
1566 propagatedBuildInputs = with self; [six repoze.lru];
1580 src = fetchurl {
1567 src = fetchurl {
1581 url = "https://files.pythonhosted.org/packages/33/38/ea827837e68d9c7dde4cff7ec122a93c319f0effc08ce92a17095576603f/Routes-2.4.1.tar.gz";
1568 url = "https://files.pythonhosted.org/packages/33/38/ea827837e68d9c7dde4cff7ec122a93c319f0effc08ce92a17095576603f/Routes-2.4.1.tar.gz";
1582 sha256 = "26ee43340fca5a32769ffe0c58edcb396ccce6bc1dfa689ddf844d50877355fd";
1569 sha256 = "26ee43340fca5a32769ffe0c58edcb396ccce6bc1dfa689ddf844d50877355fd";
1583 };
1570 };
1584 meta = {
1571 meta = {
1585 license = [ pkgs.lib.licenses.mit ];
1572 license = [ pkgs.lib.licenses.mit ];
1586 };
1573 };
1587 };
1574 };
1588 scandir = super.buildPythonPackage {
1575 scandir = super.buildPythonPackage {
1589 name = "scandir-1.7";
1576 name = "scandir-1.7";
1590 buildInputs = with self; [];
1577 buildInputs = with self; [];
1591 doCheck = false;
1578 doCheck = false;
1592 propagatedBuildInputs = with self; [];
1579 propagatedBuildInputs = with self; [];
1593 src = fetchurl {
1580 src = fetchurl {
1594 url = "https://files.pythonhosted.org/packages/13/bb/e541b74230bbf7a20a3949a2ee6631be299378a784f5445aa5d0047c192b/scandir-1.7.tar.gz";
1581 url = "https://files.pythonhosted.org/packages/13/bb/e541b74230bbf7a20a3949a2ee6631be299378a784f5445aa5d0047c192b/scandir-1.7.tar.gz";
1595 sha256 = "b2d55be869c4f716084a19b1e16932f0769711316ba62de941320bf2be84763d";
1582 sha256 = "b2d55be869c4f716084a19b1e16932f0769711316ba62de941320bf2be84763d";
1596 };
1583 };
1597 meta = {
1584 meta = {
1598 license = [ pkgs.lib.licenses.bsdOriginal { fullName = "New BSD License"; } ];
1585 license = [ pkgs.lib.licenses.bsdOriginal { fullName = "New BSD License"; } ];
1599 };
1586 };
1600 };
1587 };
1601 setproctitle = super.buildPythonPackage {
1588 setproctitle = super.buildPythonPackage {
1602 name = "setproctitle-1.1.10";
1589 name = "setproctitle-1.1.10";
1603 buildInputs = with self; [];
1590 buildInputs = with self; [];
1604 doCheck = false;
1591 doCheck = false;
1605 propagatedBuildInputs = with self; [];
1592 propagatedBuildInputs = with self; [];
1606 src = fetchurl {
1593 src = fetchurl {
1607 url = "https://files.pythonhosted.org/packages/5a/0d/dc0d2234aacba6cf1a729964383e3452c52096dc695581248b548786f2b3/setproctitle-1.1.10.tar.gz";
1594 url = "https://files.pythonhosted.org/packages/5a/0d/dc0d2234aacba6cf1a729964383e3452c52096dc695581248b548786f2b3/setproctitle-1.1.10.tar.gz";
1608 sha256 = "6283b7a58477dd8478fbb9e76defb37968ee4ba47b05ec1c053cb39638bd7398";
1595 sha256 = "6283b7a58477dd8478fbb9e76defb37968ee4ba47b05ec1c053cb39638bd7398";
1609 };
1596 };
1610 meta = {
1597 meta = {
1611 license = [ pkgs.lib.licenses.bsdOriginal ];
1598 license = [ pkgs.lib.licenses.bsdOriginal ];
1612 };
1599 };
1613 };
1600 };
1614 setuptools = super.buildPythonPackage {
1601 setuptools = super.buildPythonPackage {
1615 name = "setuptools-30.1.0";
1602 name = "setuptools-30.1.0";
1616 buildInputs = with self; [];
1603 buildInputs = with self; [];
1617 doCheck = false;
1604 doCheck = false;
1618 propagatedBuildInputs = with self; [];
1605 propagatedBuildInputs = with self; [];
1619 src = fetchurl {
1606 src = fetchurl {
1620 url = "https://files.pythonhosted.org/packages/1e/43/002c8616db9a3e7be23c2556e39b90a32bb40ba0dc652de1999d5334d372/setuptools-30.1.0.tar.gz";
1607 url = "https://files.pythonhosted.org/packages/1e/43/002c8616db9a3e7be23c2556e39b90a32bb40ba0dc652de1999d5334d372/setuptools-30.1.0.tar.gz";
1621 sha256 = "73c7f183260cec2ef870128c77106ba7a978649b8c4cddc320ec3547615e885f";
1608 sha256 = "73c7f183260cec2ef870128c77106ba7a978649b8c4cddc320ec3547615e885f";
1622 };
1609 };
1623 meta = {
1610 meta = {
1624 license = [ pkgs.lib.licenses.mit ];
1611 license = [ pkgs.lib.licenses.mit ];
1625 };
1612 };
1626 };
1613 };
1627 setuptools-scm = super.buildPythonPackage {
1614 setuptools-scm = super.buildPythonPackage {
1628 name = "setuptools-scm-1.15.6";
1615 name = "setuptools-scm-1.15.6";
1629 buildInputs = with self; [];
1616 buildInputs = with self; [];
1630 doCheck = false;
1617 doCheck = false;
1631 propagatedBuildInputs = with self; [];
1618 propagatedBuildInputs = with self; [];
1632 src = fetchurl {
1619 src = fetchurl {
1633 url = "https://files.pythonhosted.org/packages/03/6d/aafdd01edd227ee879b691455bf19895091872af7e48192bea1758c82032/setuptools_scm-1.15.6.tar.gz";
1620 url = "https://files.pythonhosted.org/packages/03/6d/aafdd01edd227ee879b691455bf19895091872af7e48192bea1758c82032/setuptools_scm-1.15.6.tar.gz";
1634 sha256 = "49ab4685589986a42da85706b3311a2f74f1af567d39fee6cb1e088d7a75fb5f";
1621 sha256 = "49ab4685589986a42da85706b3311a2f74f1af567d39fee6cb1e088d7a75fb5f";
1635 };
1622 };
1636 meta = {
1623 meta = {
1637 license = [ pkgs.lib.licenses.mit ];
1624 license = [ pkgs.lib.licenses.mit ];
1638 };
1625 };
1639 };
1626 };
1640 simplegeneric = super.buildPythonPackage {
1627 simplegeneric = super.buildPythonPackage {
1641 name = "simplegeneric-0.8.1";
1628 name = "simplegeneric-0.8.1";
1642 buildInputs = with self; [];
1629 buildInputs = with self; [];
1643 doCheck = false;
1630 doCheck = false;
1644 propagatedBuildInputs = with self; [];
1631 propagatedBuildInputs = with self; [];
1645 src = fetchurl {
1632 src = fetchurl {
1646 url = "https://files.pythonhosted.org/packages/3d/57/4d9c9e3ae9a255cd4e1106bb57e24056d3d0709fc01b2e3e345898e49d5b/simplegeneric-0.8.1.zip";
1633 url = "https://files.pythonhosted.org/packages/3d/57/4d9c9e3ae9a255cd4e1106bb57e24056d3d0709fc01b2e3e345898e49d5b/simplegeneric-0.8.1.zip";
1647 sha256 = "dc972e06094b9af5b855b3df4a646395e43d1c9d0d39ed345b7393560d0b9173";
1634 sha256 = "dc972e06094b9af5b855b3df4a646395e43d1c9d0d39ed345b7393560d0b9173";
1648 };
1635 };
1649 meta = {
1636 meta = {
1650 license = [ pkgs.lib.licenses.zpt21 ];
1637 license = [ pkgs.lib.licenses.zpt21 ];
1651 };
1638 };
1652 };
1639 };
1653 simplejson = super.buildPythonPackage {
1640 simplejson = super.buildPythonPackage {
1654 name = "simplejson-3.11.1";
1641 name = "simplejson-3.11.1";
1655 buildInputs = with self; [];
1642 buildInputs = with self; [];
1656 doCheck = false;
1643 doCheck = false;
1657 propagatedBuildInputs = with self; [];
1644 propagatedBuildInputs = with self; [];
1658 src = fetchurl {
1645 src = fetchurl {
1659 url = "https://files.pythonhosted.org/packages/08/48/c97b668d6da7d7bebe7ea1817a6f76394b0ec959cb04214ca833c34359df/simplejson-3.11.1.tar.gz";
1646 url = "https://files.pythonhosted.org/packages/08/48/c97b668d6da7d7bebe7ea1817a6f76394b0ec959cb04214ca833c34359df/simplejson-3.11.1.tar.gz";
1660 sha256 = "01a22d49ddd9a168b136f26cac87d9a335660ce07aa5c630b8e3607d6f4325e7";
1647 sha256 = "01a22d49ddd9a168b136f26cac87d9a335660ce07aa5c630b8e3607d6f4325e7";
1661 };
1648 };
1662 meta = {
1649 meta = {
1663 license = [ { fullName = "Academic Free License (AFL)"; } pkgs.lib.licenses.mit ];
1650 license = [ { fullName = "Academic Free License (AFL)"; } pkgs.lib.licenses.mit ];
1664 };
1651 };
1665 };
1652 };
1666 six = super.buildPythonPackage {
1653 six = super.buildPythonPackage {
1667 name = "six-1.11.0";
1654 name = "six-1.11.0";
1668 buildInputs = with self; [];
1655 buildInputs = with self; [];
1669 doCheck = false;
1656 doCheck = false;
1670 propagatedBuildInputs = with self; [];
1657 propagatedBuildInputs = with self; [];
1671 src = fetchurl {
1658 src = fetchurl {
1672 url = "https://files.pythonhosted.org/packages/16/d8/bc6316cf98419719bd59c91742194c111b6f2e85abac88e496adefaf7afe/six-1.11.0.tar.gz";
1659 url = "https://files.pythonhosted.org/packages/16/d8/bc6316cf98419719bd59c91742194c111b6f2e85abac88e496adefaf7afe/six-1.11.0.tar.gz";
1673 sha256 = "70e8a77beed4562e7f14fe23a786b54f6296e34344c23bc42f07b15018ff98e9";
1660 sha256 = "70e8a77beed4562e7f14fe23a786b54f6296e34344c23bc42f07b15018ff98e9";
1674 };
1661 };
1675 meta = {
1662 meta = {
1676 license = [ pkgs.lib.licenses.mit ];
1663 license = [ pkgs.lib.licenses.mit ];
1677 };
1664 };
1678 };
1665 };
1679 sqlalchemy = super.buildPythonPackage {
1666 sqlalchemy = super.buildPythonPackage {
1680 name = "sqlalchemy-1.1.18";
1667 name = "sqlalchemy-1.1.18";
1681 buildInputs = with self; [];
1668 buildInputs = with self; [];
1682 doCheck = false;
1669 doCheck = false;
1683 propagatedBuildInputs = with self; [];
1670 propagatedBuildInputs = with self; [];
1684 src = fetchurl {
1671 src = fetchurl {
1685 url = "https://files.pythonhosted.org/packages/cc/4d/96d93ff77cd67aca7618e402191eee3490d8f5f245d6ab7622d35fe504f4/SQLAlchemy-1.1.18.tar.gz";
1672 url = "https://files.pythonhosted.org/packages/cc/4d/96d93ff77cd67aca7618e402191eee3490d8f5f245d6ab7622d35fe504f4/SQLAlchemy-1.1.18.tar.gz";
1686 sha256 = "8b0ec71af9291191ba83a91c03d157b19ab3e7119e27da97932a4773a3f664a9";
1673 sha256 = "8b0ec71af9291191ba83a91c03d157b19ab3e7119e27da97932a4773a3f664a9";
1687 };
1674 };
1688 meta = {
1675 meta = {
1689 license = [ pkgs.lib.licenses.mit ];
1676 license = [ pkgs.lib.licenses.mit ];
1690 };
1677 };
1691 };
1678 };
1692 sshpubkeys = super.buildPythonPackage {
1679 sshpubkeys = super.buildPythonPackage {
1693 name = "sshpubkeys-2.2.0";
1680 name = "sshpubkeys-2.2.0";
1694 buildInputs = with self; [];
1681 buildInputs = with self; [];
1695 doCheck = false;
1682 doCheck = false;
1696 propagatedBuildInputs = with self; [pycrypto ecdsa];
1683 propagatedBuildInputs = with self; [pycrypto ecdsa];
1697 src = fetchurl {
1684 src = fetchurl {
1698 url = "https://files.pythonhosted.org/packages/27/da/337fabeb3dca6b62039a93ceaa636f25065e0ae92b575b1235342076cf0a/sshpubkeys-2.2.0.tar.gz";
1685 url = "https://files.pythonhosted.org/packages/27/da/337fabeb3dca6b62039a93ceaa636f25065e0ae92b575b1235342076cf0a/sshpubkeys-2.2.0.tar.gz";
1699 sha256 = "b59b0cb3cf021f10f5737aec84c2c4d60d56db9991d26b4a17caa4573fbf9364";
1686 sha256 = "b59b0cb3cf021f10f5737aec84c2c4d60d56db9991d26b4a17caa4573fbf9364";
1700 };
1687 };
1701 meta = {
1688 meta = {
1702 license = [ pkgs.lib.licenses.bsdOriginal ];
1689 license = [ pkgs.lib.licenses.bsdOriginal ];
1703 };
1690 };
1704 };
1691 };
1705 subprocess32 = super.buildPythonPackage {
1692 subprocess32 = super.buildPythonPackage {
1706 name = "subprocess32-3.2.7";
1693 name = "subprocess32-3.2.7";
1707 buildInputs = with self; [];
1694 buildInputs = with self; [];
1708 doCheck = false;
1695 doCheck = false;
1709 propagatedBuildInputs = with self; [];
1696 propagatedBuildInputs = with self; [];
1710 src = fetchurl {
1697 src = fetchurl {
1711 url = "https://files.pythonhosted.org/packages/b8/2f/49e53b0d0e94611a2dc624a1ad24d41b6d94d0f1b0a078443407ea2214c2/subprocess32-3.2.7.tar.gz";
1698 url = "https://files.pythonhosted.org/packages/b8/2f/49e53b0d0e94611a2dc624a1ad24d41b6d94d0f1b0a078443407ea2214c2/subprocess32-3.2.7.tar.gz";
1712 sha256 = "1e450a4a4c53bf197ad6402c564b9f7a53539385918ef8f12bdf430a61036590";
1699 sha256 = "1e450a4a4c53bf197ad6402c564b9f7a53539385918ef8f12bdf430a61036590";
1713 };
1700 };
1714 meta = {
1701 meta = {
1715 license = [ pkgs.lib.licenses.psfl ];
1702 license = [ pkgs.lib.licenses.psfl ];
1716 };
1703 };
1717 };
1704 };
1718 supervisor = super.buildPythonPackage {
1705 supervisor = super.buildPythonPackage {
1719 name = "supervisor-3.3.4";
1706 name = "supervisor-3.3.4";
1720 buildInputs = with self; [];
1707 buildInputs = with self; [];
1721 doCheck = false;
1708 doCheck = false;
1722 propagatedBuildInputs = with self; [meld3];
1709 propagatedBuildInputs = with self; [meld3];
1723 src = fetchurl {
1710 src = fetchurl {
1724 url = "https://files.pythonhosted.org/packages/44/60/698e54b4a4a9b956b2d709b4b7b676119c833d811d53ee2500f1b5e96dc3/supervisor-3.3.4.tar.gz";
1711 url = "https://files.pythonhosted.org/packages/44/60/698e54b4a4a9b956b2d709b4b7b676119c833d811d53ee2500f1b5e96dc3/supervisor-3.3.4.tar.gz";
1725 sha256 = "212201a3fd1d35c150ef0c35bf0676fd1a6c195fb60bf0f2147fe7dbd317e672";
1712 sha256 = "212201a3fd1d35c150ef0c35bf0676fd1a6c195fb60bf0f2147fe7dbd317e672";
1726 };
1713 };
1727 meta = {
1714 meta = {
1728 license = [ { fullName = "BSD-derived (http://www.repoze.org/LICENSE.txt)"; } ];
1715 license = [ { fullName = "BSD-derived (http://www.repoze.org/LICENSE.txt)"; } ];
1729 };
1716 };
1730 };
1717 };
1731 tempita = super.buildPythonPackage {
1718 tempita = super.buildPythonPackage {
1732 name = "tempita-0.5.2";
1719 name = "tempita-0.5.2";
1733 buildInputs = with self; [];
1720 buildInputs = with self; [];
1734 doCheck = false;
1721 doCheck = false;
1735 propagatedBuildInputs = with self; [];
1722 propagatedBuildInputs = with self; [];
1736 src = fetchurl {
1723 src = fetchurl {
1737 url = "https://files.pythonhosted.org/packages/56/c8/8ed6eee83dbddf7b0fc64dd5d4454bc05e6ccaafff47991f73f2894d9ff4/Tempita-0.5.2.tar.gz";
1724 url = "https://files.pythonhosted.org/packages/56/c8/8ed6eee83dbddf7b0fc64dd5d4454bc05e6ccaafff47991f73f2894d9ff4/Tempita-0.5.2.tar.gz";
1738 sha256 = "cacecf0baa674d356641f1d406b8bff1d756d739c46b869a54de515d08e6fc9c";
1725 sha256 = "cacecf0baa674d356641f1d406b8bff1d756d739c46b869a54de515d08e6fc9c";
1739 };
1726 };
1740 meta = {
1727 meta = {
1741 license = [ pkgs.lib.licenses.mit ];
1728 license = [ pkgs.lib.licenses.mit ];
1742 };
1729 };
1743 };
1730 };
1744 termcolor = super.buildPythonPackage {
1731 termcolor = super.buildPythonPackage {
1745 name = "termcolor-1.1.0";
1732 name = "termcolor-1.1.0";
1746 buildInputs = with self; [];
1733 buildInputs = with self; [];
1747 doCheck = false;
1734 doCheck = false;
1748 propagatedBuildInputs = with self; [];
1735 propagatedBuildInputs = with self; [];
1749 src = fetchurl {
1736 src = fetchurl {
1750 url = "https://files.pythonhosted.org/packages/8a/48/a76be51647d0eb9f10e2a4511bf3ffb8cc1e6b14e9e4fab46173aa79f981/termcolor-1.1.0.tar.gz";
1737 url = "https://files.pythonhosted.org/packages/8a/48/a76be51647d0eb9f10e2a4511bf3ffb8cc1e6b14e9e4fab46173aa79f981/termcolor-1.1.0.tar.gz";
1751 sha256 = "1d6d69ce66211143803fbc56652b41d73b4a400a2891d7bf7a1cdf4c02de613b";
1738 sha256 = "1d6d69ce66211143803fbc56652b41d73b4a400a2891d7bf7a1cdf4c02de613b";
1752 };
1739 };
1753 meta = {
1740 meta = {
1754 license = [ pkgs.lib.licenses.mit ];
1741 license = [ pkgs.lib.licenses.mit ];
1755 };
1742 };
1756 };
1743 };
1757 testpath = super.buildPythonPackage {
1744 testpath = super.buildPythonPackage {
1758 name = "testpath-0.3.1";
1745 name = "testpath-0.3.1";
1759 buildInputs = with self; [];
1746 buildInputs = with self; [];
1760 doCheck = false;
1747 doCheck = false;
1761 propagatedBuildInputs = with self; [];
1748 propagatedBuildInputs = with self; [];
1762 src = fetchurl {
1749 src = fetchurl {
1763 url = "https://files.pythonhosted.org/packages/f4/8b/b71e9ee10e5f751e9d959bc750ab122ba04187f5aa52aabdc4e63b0e31a7/testpath-0.3.1.tar.gz";
1750 url = "https://files.pythonhosted.org/packages/f4/8b/b71e9ee10e5f751e9d959bc750ab122ba04187f5aa52aabdc4e63b0e31a7/testpath-0.3.1.tar.gz";
1764 sha256 = "0d5337839c788da5900df70f8e01015aec141aa3fe7936cb0d0a2953f7ac7609";
1751 sha256 = "0d5337839c788da5900df70f8e01015aec141aa3fe7936cb0d0a2953f7ac7609";
1765 };
1752 };
1766 meta = {
1753 meta = {
1767 license = [ pkgs.lib.licenses.mit ];
1754 license = [ pkgs.lib.licenses.mit ];
1768 };
1755 };
1769 };
1756 };
1770 traitlets = super.buildPythonPackage {
1757 traitlets = super.buildPythonPackage {
1771 name = "traitlets-4.3.2";
1758 name = "traitlets-4.3.2";
1772 buildInputs = with self; [];
1759 buildInputs = with self; [];
1773 doCheck = false;
1760 doCheck = false;
1774 propagatedBuildInputs = with self; [ipython-genutils six decorator enum34];
1761 propagatedBuildInputs = with self; [ipython-genutils six decorator enum34];
1775 src = fetchurl {
1762 src = fetchurl {
1776 url = "https://files.pythonhosted.org/packages/a5/98/7f5ef2fe9e9e071813aaf9cb91d1a732e0a68b6c44a32b38cb8e14c3f069/traitlets-4.3.2.tar.gz";
1763 url = "https://files.pythonhosted.org/packages/a5/98/7f5ef2fe9e9e071813aaf9cb91d1a732e0a68b6c44a32b38cb8e14c3f069/traitlets-4.3.2.tar.gz";
1777 sha256 = "9c4bd2d267b7153df9152698efb1050a5d84982d3384a37b2c1f7723ba3e7835";
1764 sha256 = "9c4bd2d267b7153df9152698efb1050a5d84982d3384a37b2c1f7723ba3e7835";
1778 };
1765 };
1779 meta = {
1766 meta = {
1780 license = [ pkgs.lib.licenses.bsdOriginal ];
1767 license = [ pkgs.lib.licenses.bsdOriginal ];
1781 };
1768 };
1782 };
1769 };
1783 translationstring = super.buildPythonPackage {
1770 translationstring = super.buildPythonPackage {
1784 name = "translationstring-1.3";
1771 name = "translationstring-1.3";
1785 buildInputs = with self; [];
1772 buildInputs = with self; [];
1786 doCheck = false;
1773 doCheck = false;
1787 propagatedBuildInputs = with self; [];
1774 propagatedBuildInputs = with self; [];
1788 src = fetchurl {
1775 src = fetchurl {
1789 url = "https://files.pythonhosted.org/packages/5e/eb/bee578cc150b44c653b63f5ebe258b5d0d812ddac12497e5f80fcad5d0b4/translationstring-1.3.tar.gz";
1776 url = "https://files.pythonhosted.org/packages/5e/eb/bee578cc150b44c653b63f5ebe258b5d0d812ddac12497e5f80fcad5d0b4/translationstring-1.3.tar.gz";
1790 sha256 = "4ee44cfa58c52ade8910ea0ebc3d2d84bdcad9fa0422405b1801ec9b9a65b72d";
1777 sha256 = "4ee44cfa58c52ade8910ea0ebc3d2d84bdcad9fa0422405b1801ec9b9a65b72d";
1791 };
1778 };
1792 meta = {
1779 meta = {
1793 license = [ { fullName = "BSD-like (http://repoze.org/license.html)"; } ];
1780 license = [ { fullName = "BSD-like (http://repoze.org/license.html)"; } ];
1794 };
1781 };
1795 };
1782 };
1796 trollius = super.buildPythonPackage {
1783 trollius = super.buildPythonPackage {
1797 name = "trollius-1.0.4";
1784 name = "trollius-1.0.4";
1798 buildInputs = with self; [];
1785 buildInputs = with self; [];
1799 doCheck = false;
1786 doCheck = false;
1800 propagatedBuildInputs = with self; [futures];
1787 propagatedBuildInputs = with self; [futures];
1801 src = fetchurl {
1788 src = fetchurl {
1802 url = "https://files.pythonhosted.org/packages/aa/e6/4141db437f55e6ee7a3fb69663239e3fde7841a811b4bef293145ad6c836/trollius-1.0.4.tar.gz";
1789 url = "https://files.pythonhosted.org/packages/aa/e6/4141db437f55e6ee7a3fb69663239e3fde7841a811b4bef293145ad6c836/trollius-1.0.4.tar.gz";
1803 sha256 = "8884cae4ec6a2d593abcffd5e700626ad4618f42b11beb2b75998f2e8247de76";
1790 sha256 = "8884cae4ec6a2d593abcffd5e700626ad4618f42b11beb2b75998f2e8247de76";
1804 };
1791 };
1805 meta = {
1792 meta = {
1806 license = [ pkgs.lib.licenses.asl20 ];
1793 license = [ pkgs.lib.licenses.asl20 ];
1807 };
1794 };
1808 };
1795 };
1809 tzlocal = super.buildPythonPackage {
1796 tzlocal = super.buildPythonPackage {
1810 name = "tzlocal-1.5.1";
1797 name = "tzlocal-1.5.1";
1811 buildInputs = with self; [];
1798 buildInputs = with self; [];
1812 doCheck = false;
1799 doCheck = false;
1813 propagatedBuildInputs = with self; [pytz];
1800 propagatedBuildInputs = with self; [pytz];
1814 src = fetchurl {
1801 src = fetchurl {
1815 url = "https://files.pythonhosted.org/packages/cb/89/e3687d3ed99bc882793f82634e9824e62499fdfdc4b1ae39e211c5b05017/tzlocal-1.5.1.tar.gz";
1802 url = "https://files.pythonhosted.org/packages/cb/89/e3687d3ed99bc882793f82634e9824e62499fdfdc4b1ae39e211c5b05017/tzlocal-1.5.1.tar.gz";
1816 sha256 = "4ebeb848845ac898da6519b9b31879cf13b6626f7184c496037b818e238f2c4e";
1803 sha256 = "4ebeb848845ac898da6519b9b31879cf13b6626f7184c496037b818e238f2c4e";
1817 };
1804 };
1818 meta = {
1805 meta = {
1819 license = [ pkgs.lib.licenses.mit ];
1806 license = [ pkgs.lib.licenses.mit ];
1820 };
1807 };
1821 };
1808 };
1822 urllib3 = super.buildPythonPackage {
1809 urllib3 = super.buildPythonPackage {
1823 name = "urllib3-1.21";
1810 name = "urllib3-1.21";
1824 buildInputs = with self; [];
1811 buildInputs = with self; [];
1825 doCheck = false;
1812 doCheck = false;
1826 propagatedBuildInputs = with self; [];
1813 propagatedBuildInputs = with self; [];
1827 src = fetchurl {
1814 src = fetchurl {
1828 url = "https://files.pythonhosted.org/packages/34/95/7b28259d0006ed681c424cd71a668363265eac92b67dddd018eb9a22bff8/urllib3-1.21.tar.gz";
1815 url = "https://files.pythonhosted.org/packages/34/95/7b28259d0006ed681c424cd71a668363265eac92b67dddd018eb9a22bff8/urllib3-1.21.tar.gz";
1829 sha256 = "d0f08f1472754890c8b228106eb831a7a68c93565bd0818936c30bb839913647";
1816 sha256 = "d0f08f1472754890c8b228106eb831a7a68c93565bd0818936c30bb839913647";
1830 };
1817 };
1831 meta = {
1818 meta = {
1832 license = [ pkgs.lib.licenses.mit ];
1819 license = [ pkgs.lib.licenses.mit ];
1833 };
1820 };
1834 };
1821 };
1835 urlobject = super.buildPythonPackage {
1822 urlobject = super.buildPythonPackage {
1836 name = "urlobject-2.4.3";
1823 name = "urlobject-2.4.3";
1837 buildInputs = with self; [];
1824 buildInputs = with self; [];
1838 doCheck = false;
1825 doCheck = false;
1839 propagatedBuildInputs = with self; [];
1826 propagatedBuildInputs = with self; [];
1840 src = fetchurl {
1827 src = fetchurl {
1841 url = "https://files.pythonhosted.org/packages/e2/b8/1d0a916f4b34c4618846e6da0e4eeaa8fcb4a2f39e006434fe38acb74b34/URLObject-2.4.3.tar.gz";
1828 url = "https://files.pythonhosted.org/packages/e2/b8/1d0a916f4b34c4618846e6da0e4eeaa8fcb4a2f39e006434fe38acb74b34/URLObject-2.4.3.tar.gz";
1842 sha256 = "47b2e20e6ab9c8366b2f4a3566b6ff4053025dad311c4bb71279bbcfa2430caa";
1829 sha256 = "47b2e20e6ab9c8366b2f4a3566b6ff4053025dad311c4bb71279bbcfa2430caa";
1843 };
1830 };
1844 meta = {
1831 meta = {
1845 license = [ pkgs.lib.licenses.publicDomain ];
1832 license = [ pkgs.lib.licenses.publicDomain ];
1846 };
1833 };
1847 };
1834 };
1848 venusian = super.buildPythonPackage {
1835 venusian = super.buildPythonPackage {
1849 name = "venusian-1.1.0";
1836 name = "venusian-1.1.0";
1850 buildInputs = with self; [];
1837 buildInputs = with self; [];
1851 doCheck = false;
1838 doCheck = false;
1852 propagatedBuildInputs = with self; [];
1839 propagatedBuildInputs = with self; [];
1853 src = fetchurl {
1840 src = fetchurl {
1854 url = "https://files.pythonhosted.org/packages/38/24/b4b470ab9e0a2e2e9b9030c7735828c8934b4c6b45befd1bb713ec2aeb2d/venusian-1.1.0.tar.gz";
1841 url = "https://files.pythonhosted.org/packages/38/24/b4b470ab9e0a2e2e9b9030c7735828c8934b4c6b45befd1bb713ec2aeb2d/venusian-1.1.0.tar.gz";
1855 sha256 = "9902e492c71a89a241a18b2f9950bea7e41d025cc8f3af1ea8d8201346f8577d";
1842 sha256 = "9902e492c71a89a241a18b2f9950bea7e41d025cc8f3af1ea8d8201346f8577d";
1856 };
1843 };
1857 meta = {
1844 meta = {
1858 license = [ { fullName = "BSD-derived (http://www.repoze.org/LICENSE.txt)"; } ];
1845 license = [ { fullName = "BSD-derived (http://www.repoze.org/LICENSE.txt)"; } ];
1859 };
1846 };
1860 };
1847 };
1861 vine = super.buildPythonPackage {
1848 vine = super.buildPythonPackage {
1862 name = "vine-1.1.4";
1849 name = "vine-1.1.4";
1863 buildInputs = with self; [];
1850 buildInputs = with self; [];
1864 doCheck = false;
1851 doCheck = false;
1865 propagatedBuildInputs = with self; [];
1852 propagatedBuildInputs = with self; [];
1866 src = fetchurl {
1853 src = fetchurl {
1867 url = "https://files.pythonhosted.org/packages/32/23/36284986e011f3c130d802c3c66abd8f1aef371eae110ddf80c5ae22e1ff/vine-1.1.4.tar.gz";
1854 url = "https://files.pythonhosted.org/packages/32/23/36284986e011f3c130d802c3c66abd8f1aef371eae110ddf80c5ae22e1ff/vine-1.1.4.tar.gz";
1868 sha256 = "52116d59bc45392af9fdd3b75ed98ae48a93e822cee21e5fda249105c59a7a72";
1855 sha256 = "52116d59bc45392af9fdd3b75ed98ae48a93e822cee21e5fda249105c59a7a72";
1869 };
1856 };
1870 meta = {
1857 meta = {
1871 license = [ pkgs.lib.licenses.bsdOriginal ];
1858 license = [ pkgs.lib.licenses.bsdOriginal ];
1872 };
1859 };
1873 };
1860 };
1874 waitress = super.buildPythonPackage {
1861 waitress = super.buildPythonPackage {
1875 name = "waitress-1.1.0";
1862 name = "waitress-1.1.0";
1876 buildInputs = with self; [];
1863 buildInputs = with self; [];
1877 doCheck = false;
1864 doCheck = false;
1878 propagatedBuildInputs = with self; [];
1865 propagatedBuildInputs = with self; [];
1879 src = fetchurl {
1866 src = fetchurl {
1880 url = "https://files.pythonhosted.org/packages/3c/68/1c10dd5c556872ceebe88483b0436140048d39de83a84a06a8baa8136f4f/waitress-1.1.0.tar.gz";
1867 url = "https://files.pythonhosted.org/packages/3c/68/1c10dd5c556872ceebe88483b0436140048d39de83a84a06a8baa8136f4f/waitress-1.1.0.tar.gz";
1881 sha256 = "d33cd3d62426c0f1b3cd84ee3d65779c7003aae3fc060dee60524d10a57f05a9";
1868 sha256 = "d33cd3d62426c0f1b3cd84ee3d65779c7003aae3fc060dee60524d10a57f05a9";
1882 };
1869 };
1883 meta = {
1870 meta = {
1884 license = [ pkgs.lib.licenses.zpt21 ];
1871 license = [ pkgs.lib.licenses.zpt21 ];
1885 };
1872 };
1886 };
1873 };
1887 wcwidth = super.buildPythonPackage {
1874 wcwidth = super.buildPythonPackage {
1888 name = "wcwidth-0.1.7";
1875 name = "wcwidth-0.1.7";
1889 buildInputs = with self; [];
1876 buildInputs = with self; [];
1890 doCheck = false;
1877 doCheck = false;
1891 propagatedBuildInputs = with self; [];
1878 propagatedBuildInputs = with self; [];
1892 src = fetchurl {
1879 src = fetchurl {
1893 url = "https://files.pythonhosted.org/packages/55/11/e4a2bb08bb450fdbd42cc709dd40de4ed2c472cf0ccb9e64af22279c5495/wcwidth-0.1.7.tar.gz";
1880 url = "https://files.pythonhosted.org/packages/55/11/e4a2bb08bb450fdbd42cc709dd40de4ed2c472cf0ccb9e64af22279c5495/wcwidth-0.1.7.tar.gz";
1894 sha256 = "3df37372226d6e63e1b1e1eda15c594bca98a22d33a23832a90998faa96bc65e";
1881 sha256 = "3df37372226d6e63e1b1e1eda15c594bca98a22d33a23832a90998faa96bc65e";
1895 };
1882 };
1896 meta = {
1883 meta = {
1897 license = [ pkgs.lib.licenses.mit ];
1884 license = [ pkgs.lib.licenses.mit ];
1898 };
1885 };
1899 };
1886 };
1900 webencodings = super.buildPythonPackage {
1887 webencodings = super.buildPythonPackage {
1901 name = "webencodings-0.5.1";
1888 name = "webencodings-0.5.1";
1902 buildInputs = with self; [];
1889 buildInputs = with self; [];
1903 doCheck = false;
1890 doCheck = false;
1904 propagatedBuildInputs = with self; [];
1891 propagatedBuildInputs = with self; [];
1905 src = fetchurl {
1892 src = fetchurl {
1906 url = "https://files.pythonhosted.org/packages/0b/02/ae6ceac1baeda530866a85075641cec12989bd8d31af6d5ab4a3e8c92f47/webencodings-0.5.1.tar.gz";
1893 url = "https://files.pythonhosted.org/packages/0b/02/ae6ceac1baeda530866a85075641cec12989bd8d31af6d5ab4a3e8c92f47/webencodings-0.5.1.tar.gz";
1907 sha256 = "b36a1c245f2d304965eb4e0a82848379241dc04b865afcc4aab16748587e1923";
1894 sha256 = "b36a1c245f2d304965eb4e0a82848379241dc04b865afcc4aab16748587e1923";
1908 };
1895 };
1909 meta = {
1896 meta = {
1910 license = [ pkgs.lib.licenses.bsdOriginal ];
1897 license = [ pkgs.lib.licenses.bsdOriginal ];
1911 };
1898 };
1912 };
1899 };
1913 weberror = super.buildPythonPackage {
1900 weberror = super.buildPythonPackage {
1914 name = "weberror-0.10.3";
1901 name = "weberror-0.10.3";
1915 buildInputs = with self; [];
1902 buildInputs = with self; [];
1916 doCheck = false;
1903 doCheck = false;
1917 propagatedBuildInputs = with self; [webob tempita pygments paste];
1904 propagatedBuildInputs = with self; [webob tempita pygments paste];
1918 src = fetchurl {
1905 src = fetchurl {
1919 url = "https://files.pythonhosted.org/packages/35/76/e7e5c2ce7e9c7f31b54c1ff295a495886d1279a002557d74dd8957346a79/WebError-0.10.3.tar.gz";
1906 url = "https://files.pythonhosted.org/packages/35/76/e7e5c2ce7e9c7f31b54c1ff295a495886d1279a002557d74dd8957346a79/WebError-0.10.3.tar.gz";
1920 sha256 = "a6cb354ff921aad008336599b5e56622ebbe8c76d86985e22af262e6f7242f3b";
1907 sha256 = "a6cb354ff921aad008336599b5e56622ebbe8c76d86985e22af262e6f7242f3b";
1921 };
1908 };
1922 meta = {
1909 meta = {
1923 license = [ pkgs.lib.licenses.mit ];
1910 license = [ pkgs.lib.licenses.mit ];
1924 };
1911 };
1925 };
1912 };
1926 webhelpers = super.buildPythonPackage {
1913 webhelpers = super.buildPythonPackage {
1927 name = "webhelpers-1.3";
1914 name = "webhelpers-1.3";
1928 buildInputs = with self; [];
1915 buildInputs = with self; [];
1929 doCheck = false;
1916 doCheck = false;
1930 propagatedBuildInputs = with self; [markupsafe];
1917 propagatedBuildInputs = with self; [markupsafe];
1931 src = fetchurl {
1918 src = fetchurl {
1932 url = "https://files.pythonhosted.org/packages/ee/68/4d07672821d514184357f1552f2dad923324f597e722de3b016ca4f7844f/WebHelpers-1.3.tar.gz";
1919 url = "https://files.pythonhosted.org/packages/ee/68/4d07672821d514184357f1552f2dad923324f597e722de3b016ca4f7844f/WebHelpers-1.3.tar.gz";
1933 sha256 = "ea86f284e929366b77424ba9a89341f43ae8dee3cbeb8702f73bcf86058aa583";
1920 sha256 = "ea86f284e929366b77424ba9a89341f43ae8dee3cbeb8702f73bcf86058aa583";
1934 };
1921 };
1935 meta = {
1922 meta = {
1936 license = [ pkgs.lib.licenses.bsdOriginal ];
1923 license = [ pkgs.lib.licenses.bsdOriginal ];
1937 };
1924 };
1938 };
1925 };
1939 webhelpers2 = super.buildPythonPackage {
1926 webhelpers2 = super.buildPythonPackage {
1940 name = "webhelpers2-2.0";
1927 name = "webhelpers2-2.0";
1941 buildInputs = with self; [];
1928 buildInputs = with self; [];
1942 doCheck = false;
1929 doCheck = false;
1943 propagatedBuildInputs = with self; [markupsafe six];
1930 propagatedBuildInputs = with self; [markupsafe six];
1944 src = fetchurl {
1931 src = fetchurl {
1945 url = "https://files.pythonhosted.org/packages/ff/30/56342c6ea522439e3662427c8d7b5e5b390dff4ff2dc92d8afcb8ab68b75/WebHelpers2-2.0.tar.gz";
1932 url = "https://files.pythonhosted.org/packages/ff/30/56342c6ea522439e3662427c8d7b5e5b390dff4ff2dc92d8afcb8ab68b75/WebHelpers2-2.0.tar.gz";
1946 sha256 = "9a557ea31252a5beb654e52f67d7cf9ad4419a2b6e941b801d08f68a83daf02a";
1933 sha256 = "9a557ea31252a5beb654e52f67d7cf9ad4419a2b6e941b801d08f68a83daf02a";
1947 };
1934 };
1948 meta = {
1935 meta = {
1949 license = [ pkgs.lib.licenses.mit ];
1936 license = [ pkgs.lib.licenses.mit ];
1950 };
1937 };
1951 };
1938 };
1952 webob = super.buildPythonPackage {
1939 webob = super.buildPythonPackage {
1953 name = "webob-1.7.4";
1940 name = "webob-1.7.4";
1954 buildInputs = with self; [];
1941 buildInputs = with self; [];
1955 doCheck = false;
1942 doCheck = false;
1956 propagatedBuildInputs = with self; [];
1943 propagatedBuildInputs = with self; [];
1957 src = fetchurl {
1944 src = fetchurl {
1958 url = "https://files.pythonhosted.org/packages/75/34/731e23f52371852dfe7490a61644826ba7fe70fd52a377aaca0f4956ba7f/WebOb-1.7.4.tar.gz";
1945 url = "https://files.pythonhosted.org/packages/75/34/731e23f52371852dfe7490a61644826ba7fe70fd52a377aaca0f4956ba7f/WebOb-1.7.4.tar.gz";
1959 sha256 = "8d10af182fda4b92193113ee1edeb687ab9dc44336b37d6804e413f0240d40d9";
1946 sha256 = "8d10af182fda4b92193113ee1edeb687ab9dc44336b37d6804e413f0240d40d9";
1960 };
1947 };
1961 meta = {
1948 meta = {
1962 license = [ pkgs.lib.licenses.mit ];
1949 license = [ pkgs.lib.licenses.mit ];
1963 };
1950 };
1964 };
1951 };
1965 webtest = super.buildPythonPackage {
1952 webtest = super.buildPythonPackage {
1966 name = "webtest-2.0.29";
1953 name = "webtest-2.0.29";
1967 buildInputs = with self; [];
1954 buildInputs = with self; [];
1968 doCheck = false;
1955 doCheck = false;
1969 propagatedBuildInputs = with self; [six webob waitress beautifulsoup4];
1956 propagatedBuildInputs = with self; [six webob waitress beautifulsoup4];
1970 src = fetchurl {
1957 src = fetchurl {
1971 url = "https://files.pythonhosted.org/packages/94/de/8f94738be649997da99c47b104aa3c3984ecec51a1d8153ed09638253d56/WebTest-2.0.29.tar.gz";
1958 url = "https://files.pythonhosted.org/packages/94/de/8f94738be649997da99c47b104aa3c3984ecec51a1d8153ed09638253d56/WebTest-2.0.29.tar.gz";
1972 sha256 = "dbbccc15ac2465066c95dc3a7de0d30cde3791e886ccbd7e91d5d2a2580c922d";
1959 sha256 = "dbbccc15ac2465066c95dc3a7de0d30cde3791e886ccbd7e91d5d2a2580c922d";
1973 };
1960 };
1974 meta = {
1961 meta = {
1975 license = [ pkgs.lib.licenses.mit ];
1962 license = [ pkgs.lib.licenses.mit ];
1976 };
1963 };
1977 };
1964 };
1978 whoosh = super.buildPythonPackage {
1965 whoosh = super.buildPythonPackage {
1979 name = "whoosh-2.7.4";
1966 name = "whoosh-2.7.4";
1980 buildInputs = with self; [];
1967 buildInputs = with self; [];
1981 doCheck = false;
1968 doCheck = false;
1982 propagatedBuildInputs = with self; [];
1969 propagatedBuildInputs = with self; [];
1983 src = fetchurl {
1970 src = fetchurl {
1984 url = "https://files.pythonhosted.org/packages/25/2b/6beed2107b148edc1321da0d489afc4617b9ed317ef7b72d4993cad9b684/Whoosh-2.7.4.tar.gz";
1971 url = "https://files.pythonhosted.org/packages/25/2b/6beed2107b148edc1321da0d489afc4617b9ed317ef7b72d4993cad9b684/Whoosh-2.7.4.tar.gz";
1985 sha256 = "7ca5633dbfa9e0e0fa400d3151a8a0c4bec53bd2ecedc0a67705b17565c31a83";
1972 sha256 = "7ca5633dbfa9e0e0fa400d3151a8a0c4bec53bd2ecedc0a67705b17565c31a83";
1986 };
1973 };
1987 meta = {
1974 meta = {
1988 license = [ pkgs.lib.licenses.bsdOriginal pkgs.lib.licenses.bsd2 ];
1975 license = [ pkgs.lib.licenses.bsdOriginal pkgs.lib.licenses.bsd2 ];
1989 };
1976 };
1990 };
1977 };
1991 ws4py = super.buildPythonPackage {
1978 ws4py = super.buildPythonPackage {
1992 name = "ws4py-0.5.1";
1979 name = "ws4py-0.5.1";
1993 buildInputs = with self; [];
1980 buildInputs = with self; [];
1994 doCheck = false;
1981 doCheck = false;
1995 propagatedBuildInputs = with self; [];
1982 propagatedBuildInputs = with self; [];
1996 src = fetchurl {
1983 src = fetchurl {
1997 url = "https://files.pythonhosted.org/packages/53/20/4019a739b2eefe9282d3822ef6a225250af964b117356971bd55e274193c/ws4py-0.5.1.tar.gz";
1984 url = "https://files.pythonhosted.org/packages/53/20/4019a739b2eefe9282d3822ef6a225250af964b117356971bd55e274193c/ws4py-0.5.1.tar.gz";
1998 sha256 = "29d073d7f2e006373e6a848b1d00951a1107eb81f3742952be905429dc5a5483";
1985 sha256 = "29d073d7f2e006373e6a848b1d00951a1107eb81f3742952be905429dc5a5483";
1999 };
1986 };
2000 meta = {
1987 meta = {
2001 license = [ pkgs.lib.licenses.bsdOriginal ];
1988 license = [ pkgs.lib.licenses.bsdOriginal ];
2002 };
1989 };
2003 };
1990 };
2004 wsgiref = super.buildPythonPackage {
1991 wsgiref = super.buildPythonPackage {
2005 name = "wsgiref-0.1.2";
1992 name = "wsgiref-0.1.2";
2006 buildInputs = with self; [];
1993 buildInputs = with self; [];
2007 doCheck = false;
1994 doCheck = false;
2008 propagatedBuildInputs = with self; [];
1995 propagatedBuildInputs = with self; [];
2009 src = fetchurl {
1996 src = fetchurl {
2010 url = "https://files.pythonhosted.org/packages/41/9e/309259ce8dff8c596e8c26df86dbc4e848b9249fd36797fd60be456f03fc/wsgiref-0.1.2.zip";
1997 url = "https://files.pythonhosted.org/packages/41/9e/309259ce8dff8c596e8c26df86dbc4e848b9249fd36797fd60be456f03fc/wsgiref-0.1.2.zip";
2011 sha256 = "c7e610c800957046c04c8014aab8cce8f0b9f0495c8cd349e57c1f7cabf40e79";
1998 sha256 = "c7e610c800957046c04c8014aab8cce8f0b9f0495c8cd349e57c1f7cabf40e79";
2012 };
1999 };
2013 meta = {
2000 meta = {
2014 license = [ { fullName = "PSF or ZPL"; } ];
2001 license = [ { fullName = "PSF or ZPL"; } ];
2015 };
2002 };
2016 };
2003 };
2017 zope.cachedescriptors = super.buildPythonPackage {
2004 zope.cachedescriptors = super.buildPythonPackage {
2018 name = "zope.cachedescriptors-4.3.1";
2005 name = "zope.cachedescriptors-4.3.1";
2019 buildInputs = with self; [];
2006 buildInputs = with self; [];
2020 doCheck = false;
2007 doCheck = false;
2021 propagatedBuildInputs = with self; [setuptools];
2008 propagatedBuildInputs = with self; [setuptools];
2022 src = fetchurl {
2009 src = fetchurl {
2023 url = "https://files.pythonhosted.org/packages/2f/89/ebe1890cc6d3291ebc935558fa764d5fffe571018dbbee200e9db78762cb/zope.cachedescriptors-4.3.1.tar.gz";
2010 url = "https://files.pythonhosted.org/packages/2f/89/ebe1890cc6d3291ebc935558fa764d5fffe571018dbbee200e9db78762cb/zope.cachedescriptors-4.3.1.tar.gz";
2024 sha256 = "1f4d1a702f2ea3d177a1ffb404235551bb85560100ec88e6c98691734b1d194a";
2011 sha256 = "1f4d1a702f2ea3d177a1ffb404235551bb85560100ec88e6c98691734b1d194a";
2025 };
2012 };
2026 meta = {
2013 meta = {
2027 license = [ pkgs.lib.licenses.zpt21 ];
2014 license = [ pkgs.lib.licenses.zpt21 ];
2028 };
2015 };
2029 };
2016 };
2030 zope.deprecation = super.buildPythonPackage {
2017 zope.deprecation = super.buildPythonPackage {
2031 name = "zope.deprecation-4.3.0";
2018 name = "zope.deprecation-4.3.0";
2032 buildInputs = with self; [];
2019 buildInputs = with self; [];
2033 doCheck = false;
2020 doCheck = false;
2034 propagatedBuildInputs = with self; [setuptools];
2021 propagatedBuildInputs = with self; [setuptools];
2035 src = fetchurl {
2022 src = fetchurl {
2036 url = "https://files.pythonhosted.org/packages/a1/18/2dc5e6bfe64fdc3b79411b67464c55bb0b43b127051a20f7f492ab767758/zope.deprecation-4.3.0.tar.gz";
2023 url = "https://files.pythonhosted.org/packages/a1/18/2dc5e6bfe64fdc3b79411b67464c55bb0b43b127051a20f7f492ab767758/zope.deprecation-4.3.0.tar.gz";
2037 sha256 = "7d52e134bbaaa0d72e1e2bc90f0587f1adc116c4bdf15912afaf2f1e8856b224";
2024 sha256 = "7d52e134bbaaa0d72e1e2bc90f0587f1adc116c4bdf15912afaf2f1e8856b224";
2038 };
2025 };
2039 meta = {
2026 meta = {
2040 license = [ pkgs.lib.licenses.zpt21 ];
2027 license = [ pkgs.lib.licenses.zpt21 ];
2041 };
2028 };
2042 };
2029 };
2043 zope.event = super.buildPythonPackage {
2030 zope.event = super.buildPythonPackage {
2044 name = "zope.event-4.3.0";
2031 name = "zope.event-4.3.0";
2045 buildInputs = with self; [];
2032 buildInputs = with self; [];
2046 doCheck = false;
2033 doCheck = false;
2047 propagatedBuildInputs = with self; [setuptools];
2034 propagatedBuildInputs = with self; [setuptools];
2048 src = fetchurl {
2035 src = fetchurl {
2049 url = "https://files.pythonhosted.org/packages/9e/d0/54ba59f19a0635f6591b74be259cf6fbf67e73f4edda27b5cd0cf4d26efa/zope.event-4.3.0.tar.gz";
2036 url = "https://files.pythonhosted.org/packages/9e/d0/54ba59f19a0635f6591b74be259cf6fbf67e73f4edda27b5cd0cf4d26efa/zope.event-4.3.0.tar.gz";
2050 sha256 = "e0ecea24247a837c71c106b0341a7a997e3653da820d21ef6c08b32548f733e7";
2037 sha256 = "e0ecea24247a837c71c106b0341a7a997e3653da820d21ef6c08b32548f733e7";
2051 };
2038 };
2052 meta = {
2039 meta = {
2053 license = [ pkgs.lib.licenses.zpt21 ];
2040 license = [ pkgs.lib.licenses.zpt21 ];
2054 };
2041 };
2055 };
2042 };
2056 zope.interface = super.buildPythonPackage {
2043 zope.interface = super.buildPythonPackage {
2057 name = "zope.interface-4.5.0";
2044 name = "zope.interface-4.5.0";
2058 buildInputs = with self; [];
2045 buildInputs = with self; [];
2059 doCheck = false;
2046 doCheck = false;
2060 propagatedBuildInputs = with self; [setuptools];
2047 propagatedBuildInputs = with self; [setuptools];
2061 src = fetchurl {
2048 src = fetchurl {
2062 url = "https://files.pythonhosted.org/packages/ac/8a/657532df378c2cd2a1fe6b12be3b4097521570769d4852ec02c24bd3594e/zope.interface-4.5.0.tar.gz";
2049 url = "https://files.pythonhosted.org/packages/ac/8a/657532df378c2cd2a1fe6b12be3b4097521570769d4852ec02c24bd3594e/zope.interface-4.5.0.tar.gz";
2063 sha256 = "57c38470d9f57e37afb460c399eb254e7193ac7fb8042bd09bdc001981a9c74c";
2050 sha256 = "57c38470d9f57e37afb460c399eb254e7193ac7fb8042bd09bdc001981a9c74c";
2064 };
2051 };
2065 meta = {
2052 meta = {
2066 license = [ pkgs.lib.licenses.zpt21 ];
2053 license = [ pkgs.lib.licenses.zpt21 ];
2067 };
2054 };
2068 };
2055 };
2069
2056
2070 ### Test requirements
2057 ### Test requirements
2071
2058
2072
2059
2073 }
2060 }
@@ -1,130 +1,129 b''
1 ## core
1 ## core
2 setuptools==30.1.0
2 setuptools==30.1.0
3 setuptools-scm==1.15.6
3 setuptools-scm==1.15.6
4
4
5 amqp==2.2.2
5 amqp==2.2.2
6 authomatic==0.1.0.post1
6 authomatic==0.1.0.post1
7 babel==1.3
7 babel==1.3
8 beaker==1.9.1
8 beaker==1.9.1
9 celery==4.1.0
9 celery==4.1.0
10 chameleon==2.24
10 chameleon==2.24
11 channelstream==0.5.2
11 channelstream==0.5.2
12 click==6.6
12 click==6.6
13 colander==1.4.0
13 colander==1.4.0
14 configobj==5.0.6
14 configobj==5.0.6
15 cssselect==1.0.1
15 cssselect==1.0.1
16 decorator==4.1.2
16 decorator==4.1.2
17 deform==2.0.5
17 deform==2.0.5
18 docutils==0.14.0
18 docutils==0.14.0
19 dogpile.cache==0.6.5
19 dogpile.cache==0.6.5
20 dogpile.core==0.4.1
20 dogpile.core==0.4.1
21 ecdsa==0.13
21 ecdsa==0.13
22 formencode==1.2.4
22 formencode==1.2.4
23 future==0.14.3
23 future==0.14.3
24 futures==3.0.2
24 futures==3.0.2
25 gnureadline==6.3.8
25 gnureadline==6.3.8
26 infrae.cache==1.0.1
26 infrae.cache==1.0.1
27 iso8601==0.1.11
27 iso8601==0.1.11
28 itsdangerous==0.24
28 itsdangerous==0.24
29 jinja2==2.9.6
29 jinja2==2.9.6
30 billiard==3.5.0.3
30 billiard==3.5.0.3
31 kombu==4.1.0
31 kombu==4.1.0
32 lxml==3.7.3
32 lxml==3.7.3
33 mako==1.0.7
33 mako==1.0.7
34 markdown==2.6.11
34 markdown==2.6.11
35 markupsafe==1.0.0
35 markupsafe==1.0.0
36 msgpack-python==0.4.8
36 msgpack-python==0.4.8
37 mysql-python==1.2.5
37 mysql-python==1.2.5
38 objgraph==3.1.1
38 objgraph==3.1.1
39 packaging==15.2
39 packaging==15.2
40 paste==2.0.3
40 paste==2.0.3
41 pastedeploy==1.5.2
41 pastedeploy==1.5.2
42 pastescript==2.0.2
42 pastescript==2.0.2
43 pathlib2==2.3.0
43 pathlib2==2.3.0
44 peppercorn==0.5
44 peppercorn==0.5
45 psutil==5.4.3
45 psutil==5.4.3
46 psycopg2==2.7.4
46 psycopg2==2.7.4
47 py-bcrypt==0.4
47 py-bcrypt==0.4
48 pycrypto==2.6.1
48 pycrypto==2.6.1
49 pycurl==7.19.5
49 pycurl==7.19.5
50 pyflakes==0.8.1
50 pyflakes==0.8.1
51 pygments-markdown-lexer==0.1.0.dev39
51 pygments-markdown-lexer==0.1.0.dev39
52 pygments==2.2.0
52 pygments==2.2.0
53 pyparsing==1.5.7
53 pyparsing==1.5.7
54 pyramid-beaker==0.8
54 pyramid-beaker==0.8
55 pyramid-debugtoolbar==4.4.0
55 pyramid-debugtoolbar==4.4.0
56 pyramid-jinja2==2.7
56 pyramid-jinja2==2.7
57 pyramid-mako==1.0.2
57 pyramid-mako==1.0.2
58 pyramid==1.9.2
58 pyramid==1.9.2
59 pysqlite==2.8.3
59 pysqlite==2.8.3
60 python-dateutil
60 python-dateutil
61 python-ldap==2.4.45
61 python-ldap==2.4.45
62 python-memcached==1.59
62 python-memcached==1.59
63 python-pam==1.8.2
63 python-pam==1.8.2
64 pytz==2018.4
64 pytz==2018.4
65 tzlocal==1.5.1
65 tzlocal==1.5.1
66 pyzmq==14.6.0
66 pyzmq==14.6.0
67 py-gfm==0.1.3
67 py-gfm==0.1.3
68 recaptcha-client==1.0.6
69 redis==2.10.6
68 redis==2.10.6
70 repoze.lru==0.7
69 repoze.lru==0.7
71 requests==2.9.1
70 requests==2.9.1
72 routes==2.4.1
71 routes==2.4.1
73 setproctitle==1.1.10
72 setproctitle==1.1.10
74 simplejson==3.11.1
73 simplejson==3.11.1
75 six==1.11.0
74 six==1.11.0
76 sqlalchemy==1.1.18
75 sqlalchemy==1.1.18
77 sshpubkeys==2.2.0
76 sshpubkeys==2.2.0
78 subprocess32==3.2.7
77 subprocess32==3.2.7
79 supervisor==3.3.4
78 supervisor==3.3.4
80 tempita==0.5.2
79 tempita==0.5.2
81 translationstring==1.3
80 translationstring==1.3
82 trollius==1.0.4
81 trollius==1.0.4
83 urllib3==1.21
82 urllib3==1.21
84 urlobject==2.4.3
83 urlobject==2.4.3
85 venusian==1.1.0
84 venusian==1.1.0
86 weberror==0.10.3
85 weberror==0.10.3
87 webhelpers2==2.0
86 webhelpers2==2.0
88 webhelpers==1.3
87 webhelpers==1.3
89 webob==1.7.4
88 webob==1.7.4
90 whoosh==2.7.4
89 whoosh==2.7.4
91 wsgiref==0.1.2
90 wsgiref==0.1.2
92 zope.cachedescriptors==4.3.1
91 zope.cachedescriptors==4.3.1
93 zope.deprecation==4.3.0
92 zope.deprecation==4.3.0
94 zope.event==4.3.0
93 zope.event==4.3.0
95 zope.interface==4.5.0
94 zope.interface==4.5.0
96
95
97
96
98 # IPYTHON RENDERING
97 # IPYTHON RENDERING
99 # entrypoints backport, pypi version doesn't support egg installs
98 # entrypoints backport, pypi version doesn't support egg installs
100 https://code.rhodecode.com/upstream/entrypoints/archive/96e6d645684e1af3d7df5b5272f3fe85a546b233.tar.gz?md5=7db37771aea9ac9fefe093e5d6987313#egg=entrypoints==0.2.2.rhodecode-upstream1
99 https://code.rhodecode.com/upstream/entrypoints/archive/96e6d645684e1af3d7df5b5272f3fe85a546b233.tar.gz?md5=7db37771aea9ac9fefe093e5d6987313#egg=entrypoints==0.2.2.rhodecode-upstream1
101 nbconvert==5.3.1
100 nbconvert==5.3.1
102 bleach==2.1.3
101 bleach==2.1.3
103 nbformat==4.4.0
102 nbformat==4.4.0
104 jupyter_client==5.0.0
103 jupyter_client==5.0.0
105
104
106 ## cli tools
105 ## cli tools
107 alembic==0.9.9
106 alembic==0.9.9
108 invoke==0.13.0
107 invoke==0.13.0
109 bumpversion==0.5.3
108 bumpversion==0.5.3
110
109
111 ## http servers
110 ## http servers
112 gevent==1.2.2
111 gevent==1.2.2
113 greenlet==0.4.13
112 greenlet==0.4.13
114 gunicorn==19.7.1
113 gunicorn==19.7.1
115 waitress==1.1.0
114 waitress==1.1.0
116
115
117 ## debug
116 ## debug
118 ipdb==0.11.0
117 ipdb==0.11.0
119 ipython==5.1.0
118 ipython==5.1.0
120 cprofilev==1.0.7
119 cprofilev==1.0.7
121 bottle==0.12.13
120 bottle==0.12.13
122
121
123 ## rhodecode-tools, special case
122 ## rhodecode-tools, special case
124 https://code.rhodecode.com/rhodecode-tools-ce/archive/v0.15.0.tar.gz?md5=1046043b8c8d52480f7bca63185729b5#egg=rhodecode-tools==0.15.0
123 https://code.rhodecode.com/rhodecode-tools-ce/archive/v0.15.0.tar.gz?md5=1046043b8c8d52480f7bca63185729b5#egg=rhodecode-tools==0.15.0
125
124
126 ## appenlight
125 ## appenlight
127 appenlight-client==0.6.25
126 appenlight-client==0.6.25
128
127
129 ## test related requirements
128 ## test related requirements
130 -r requirements_test.txt
129 -r requirements_test.txt
@@ -1,133 +1,133 b''
1 # -*- coding: utf-8 -*-
1 # -*- coding: utf-8 -*-
2
2
3 # Copyright (C) 2016-2018 RhodeCode GmbH
3 # Copyright (C) 2016-2018 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
21
22 import mock
22 import mock
23 import pytest
23 import pytest
24
24
25 from rhodecode.apps._base import ADMIN_PREFIX
25 from rhodecode.apps._base import ADMIN_PREFIX
26 from rhodecode.apps.login.views import LoginView, CaptchaData
26 from rhodecode.apps.login.views import LoginView, CaptchaData
27 from rhodecode.model.settings import SettingsModel
27 from rhodecode.model.settings import SettingsModel
28 from rhodecode.lib.utils2 import AttributeDict
28 from rhodecode.lib.utils2 import AttributeDict
29 from rhodecode.tests.utils import AssertResponse
29 from rhodecode.tests.utils import AssertResponse
30
30
31
31
32 class RhodeCodeSetting(object):
32 class RhodeCodeSetting(object):
33 def __init__(self, name, value):
33 def __init__(self, name, value):
34 self.name = name
34 self.name = name
35 self.value = value
35 self.value = value
36
36
37 def __enter__(self):
37 def __enter__(self):
38 from rhodecode.model.settings import SettingsModel
38 from rhodecode.model.settings import SettingsModel
39 model = SettingsModel()
39 model = SettingsModel()
40 self.old_setting = model.get_setting_by_name(self.name)
40 self.old_setting = model.get_setting_by_name(self.name)
41 model.create_or_update_setting(name=self.name, val=self.value)
41 model.create_or_update_setting(name=self.name, val=self.value)
42 return self
42 return self
43
43
44 def __exit__(self, exc_type, exc_val, exc_tb):
44 def __exit__(self, exc_type, exc_val, exc_tb):
45 model = SettingsModel()
45 model = SettingsModel()
46 if self.old_setting:
46 if self.old_setting:
47 model.create_or_update_setting(
47 model.create_or_update_setting(
48 name=self.name, val=self.old_setting.app_settings_value)
48 name=self.name, val=self.old_setting.app_settings_value)
49 else:
49 else:
50 model.create_or_update_setting(name=self.name)
50 model.create_or_update_setting(name=self.name)
51
51
52
52
53 class TestRegisterCaptcha(object):
53 class TestRegisterCaptcha(object):
54
54
55 @pytest.mark.parametrize('private_key, public_key, expected', [
55 @pytest.mark.parametrize('private_key, public_key, expected', [
56 ('', '', CaptchaData(False, '', '')),
56 ('', '', CaptchaData(False, '', '')),
57 ('', 'pubkey', CaptchaData(False, '', 'pubkey')),
57 ('', 'pubkey', CaptchaData(False, '', 'pubkey')),
58 ('privkey', '', CaptchaData(True, 'privkey', '')),
58 ('privkey', '', CaptchaData(True, 'privkey', '')),
59 ('privkey', 'pubkey', CaptchaData(True, 'privkey', 'pubkey')),
59 ('privkey', 'pubkey', CaptchaData(True, 'privkey', 'pubkey')),
60 ])
60 ])
61 def test_get_captcha_data(self, private_key, public_key, expected,
61 def test_get_captcha_data(self, private_key, public_key, expected,
62 request_stub, user_util):
62 request_stub, user_util):
63 request_stub.user = user_util.create_user().AuthUser()
63 request_stub.user = user_util.create_user().AuthUser()
64 request_stub.matched_route = AttributeDict({'name': 'login'})
64 request_stub.matched_route = AttributeDict({'name': 'login'})
65 login_view = LoginView(mock.Mock(), request_stub)
65 login_view = LoginView(mock.Mock(), request_stub)
66
66
67 with RhodeCodeSetting('captcha_private_key', private_key):
67 with RhodeCodeSetting('captcha_private_key', private_key):
68 with RhodeCodeSetting('captcha_public_key', public_key):
68 with RhodeCodeSetting('captcha_public_key', public_key):
69 captcha = login_view._get_captcha_data()
69 captcha = login_view._get_captcha_data()
70 assert captcha == expected
70 assert captcha == expected
71
71
72 @pytest.mark.parametrize('active', [False, True])
72 @pytest.mark.parametrize('active', [False, True])
73 @mock.patch.object(LoginView, '_get_captcha_data')
73 @mock.patch.object(LoginView, '_get_captcha_data')
74 def test_private_key_does_not_leak_to_html(
74 def test_private_key_does_not_leak_to_html(
75 self, m_get_captcha_data, active, app):
75 self, m_get_captcha_data, active, app):
76 captcha = CaptchaData(
76 captcha = CaptchaData(
77 active=active, private_key='PRIVATE_KEY', public_key='PUBLIC_KEY')
77 active=active, private_key='PRIVATE_KEY', public_key='PUBLIC_KEY')
78 m_get_captcha_data.return_value = captcha
78 m_get_captcha_data.return_value = captcha
79
79
80 response = app.get(ADMIN_PREFIX + '/register')
80 response = app.get(ADMIN_PREFIX + '/register')
81 assert 'PRIVATE_KEY' not in response
81 assert 'PRIVATE_KEY' not in response
82
82
83 @pytest.mark.parametrize('active', [False, True])
83 @pytest.mark.parametrize('active', [False, True])
84 @mock.patch.object(LoginView, '_get_captcha_data')
84 @mock.patch.object(LoginView, '_get_captcha_data')
85 def test_register_view_renders_captcha(
85 def test_register_view_renders_captcha(
86 self, m_get_captcha_data, active, app):
86 self, m_get_captcha_data, active, app):
87 captcha = CaptchaData(
87 captcha = CaptchaData(
88 active=active, private_key='PRIVATE_KEY', public_key='PUBLIC_KEY')
88 active=active, private_key='PRIVATE_KEY', public_key='PUBLIC_KEY')
89 m_get_captcha_data.return_value = captcha
89 m_get_captcha_data.return_value = captcha
90
90
91 response = app.get(ADMIN_PREFIX + '/register')
91 response = app.get(ADMIN_PREFIX + '/register')
92
92
93 assertr = AssertResponse(response)
93 assertr = AssertResponse(response)
94 if active:
94 if active:
95 assertr.one_element_exists('#recaptcha_field')
95 assertr.one_element_exists('#recaptcha_field')
96 else:
96 else:
97 assertr.no_element_exists('#recaptcha_field')
97 assertr.no_element_exists('#recaptcha_field')
98
98
99 @pytest.mark.parametrize('valid', [False, True])
99 @pytest.mark.parametrize('valid', [False, True])
100 @mock.patch('rhodecode.apps.login.views.submit')
100 @mock.patch.object(LoginView, 'validate_captcha')
101 @mock.patch.object(LoginView, '_get_captcha_data')
101 @mock.patch.object(LoginView, '_get_captcha_data')
102 def test_register_with_active_captcha(
102 def test_register_with_active_captcha(
103 self, m_get_captcha_data, m_submit, valid, app, csrf_token):
103 self, m_get_captcha_data, m_validate_captcha, valid, app, csrf_token):
104 captcha = CaptchaData(
104 captcha = CaptchaData(
105 active=True, private_key='PRIVATE_KEY', public_key='PUBLIC_KEY')
105 active=True, private_key='PRIVATE_KEY', public_key='PUBLIC_KEY')
106 m_get_captcha_data.return_value = captcha
106 m_get_captcha_data.return_value = captcha
107 m_response = mock.Mock()
107 m_response = mock.Mock()
108 m_response.is_valid = valid
108 m_response.is_valid = valid
109 m_submit.return_value = m_response
109 m_validate_captcha.return_value = valid, 'ok'
110
110
111 params = {
111 params = {
112 'csrf_token': csrf_token,
112 'csrf_token': csrf_token,
113 'email': 'pytest@example.com',
113 'email': 'pytest@example.com',
114 'firstname': 'pytest-firstname',
114 'firstname': 'pytest-firstname',
115 'lastname': 'pytest-lastname',
115 'lastname': 'pytest-lastname',
116 'password': 'secret',
116 'password': 'secret',
117 'password_confirmation': 'secret',
117 'password_confirmation': 'secret',
118 'username': 'pytest',
118 'username': 'pytest',
119 }
119 }
120 response = app.post(ADMIN_PREFIX + '/register', params=params)
120 response = app.post(ADMIN_PREFIX + '/register', params=params)
121
121
122 if valid:
122 if valid:
123 # If we provided a valid captcha input we expect a successful
123 # If we provided a valid captcha input we expect a successful
124 # registration and redirect to the login page.
124 # registration and redirect to the login page.
125 assert response.status_int == 302
125 assert response.status_int == 302
126 assert 'location' in response.headers
126 assert 'location' in response.headers
127 assert ADMIN_PREFIX + '/login' in response.headers['location']
127 assert ADMIN_PREFIX + '/login' in response.headers['location']
128 else:
128 else:
129 # If captche input is invalid we expect to stay on the registration
129 # If captche input is invalid we expect to stay on the registration
130 # page with an error message displayed.
130 # page with an error message displayed.
131 assertr = AssertResponse(response)
131 assertr = AssertResponse(response)
132 assert response.status_int == 200
132 assert response.status_int == 200
133 assertr.one_element_exists('#recaptcha_field ~ span.error-message')
133 assertr.one_element_exists('#recaptcha_field ~ span.error-message')
@@ -1,435 +1,454 b''
1 # -*- coding: utf-8 -*-
1 # -*- coding: utf-8 -*-
2
2
3 # Copyright (C) 2016-2018 RhodeCode GmbH
3 # Copyright (C) 2016-2018 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 time
21 import time
22 import collections
22 import collections
23 import datetime
23 import datetime
24 import formencode
24 import formencode
25 import formencode.htmlfill
25 import formencode.htmlfill
26 import logging
26 import logging
27 import urlparse
27 import urlparse
28 import requests
28
29
29 from pyramid.httpexceptions import HTTPFound
30 from pyramid.httpexceptions import HTTPFound
30 from pyramid.view import view_config
31 from pyramid.view import view_config
31 from recaptcha.client.captcha import submit
32
32
33 from rhodecode.apps._base import BaseAppView
33 from rhodecode.apps._base import BaseAppView
34 from rhodecode.authentication.base import authenticate, HTTP_TYPE
34 from rhodecode.authentication.base import authenticate, HTTP_TYPE
35 from rhodecode.events import UserRegistered, trigger
35 from rhodecode.events import UserRegistered, trigger
36 from rhodecode.lib import helpers as h
36 from rhodecode.lib import helpers as h
37 from rhodecode.lib import audit_logger
37 from rhodecode.lib import audit_logger
38 from rhodecode.lib.auth import (
38 from rhodecode.lib.auth import (
39 AuthUser, HasPermissionAnyDecorator, CSRFRequired)
39 AuthUser, HasPermissionAnyDecorator, CSRFRequired)
40 from rhodecode.lib.base import get_ip_addr
40 from rhodecode.lib.base import get_ip_addr
41 from rhodecode.lib.exceptions import UserCreationError
41 from rhodecode.lib.exceptions import UserCreationError
42 from rhodecode.lib.utils2 import safe_str
42 from rhodecode.lib.utils2 import safe_str
43 from rhodecode.model.db import User, UserApiKeys
43 from rhodecode.model.db import User, UserApiKeys
44 from rhodecode.model.forms import LoginForm, RegisterForm, PasswordResetForm
44 from rhodecode.model.forms import LoginForm, RegisterForm, PasswordResetForm
45 from rhodecode.model.meta import Session
45 from rhodecode.model.meta import Session
46 from rhodecode.model.auth_token import AuthTokenModel
46 from rhodecode.model.auth_token import AuthTokenModel
47 from rhodecode.model.settings import SettingsModel
47 from rhodecode.model.settings import SettingsModel
48 from rhodecode.model.user import UserModel
48 from rhodecode.model.user import UserModel
49 from rhodecode.translation import _
49 from rhodecode.translation import _
50
50
51
51
52 log = logging.getLogger(__name__)
52 log = logging.getLogger(__name__)
53
53
54 CaptchaData = collections.namedtuple(
54 CaptchaData = collections.namedtuple(
55 'CaptchaData', 'active, private_key, public_key')
55 'CaptchaData', 'active, private_key, public_key')
56
56
57
57
58 def _store_user_in_session(session, username, remember=False):
58 def _store_user_in_session(session, username, remember=False):
59 user = User.get_by_username(username, case_insensitive=True)
59 user = User.get_by_username(username, case_insensitive=True)
60 auth_user = AuthUser(user.user_id)
60 auth_user = AuthUser(user.user_id)
61 auth_user.set_authenticated()
61 auth_user.set_authenticated()
62 cs = auth_user.get_cookie_store()
62 cs = auth_user.get_cookie_store()
63 session['rhodecode_user'] = cs
63 session['rhodecode_user'] = cs
64 user.update_lastlogin()
64 user.update_lastlogin()
65 Session().commit()
65 Session().commit()
66
66
67 # If they want to be remembered, update the cookie
67 # If they want to be remembered, update the cookie
68 if remember:
68 if remember:
69 _year = (datetime.datetime.now() +
69 _year = (datetime.datetime.now() +
70 datetime.timedelta(seconds=60 * 60 * 24 * 365))
70 datetime.timedelta(seconds=60 * 60 * 24 * 365))
71 session._set_cookie_expires(_year)
71 session._set_cookie_expires(_year)
72
72
73 session.save()
73 session.save()
74
74
75 safe_cs = cs.copy()
75 safe_cs = cs.copy()
76 safe_cs['password'] = '****'
76 safe_cs['password'] = '****'
77 log.info('user %s is now authenticated and stored in '
77 log.info('user %s is now authenticated and stored in '
78 'session, session attrs %s', username, safe_cs)
78 'session, session attrs %s', username, safe_cs)
79
79
80 # dumps session attrs back to cookie
80 # dumps session attrs back to cookie
81 session._update_cookie_out()
81 session._update_cookie_out()
82 # we set new cookie
82 # we set new cookie
83 headers = None
83 headers = None
84 if session.request['set_cookie']:
84 if session.request['set_cookie']:
85 # send set-cookie headers back to response to update cookie
85 # send set-cookie headers back to response to update cookie
86 headers = [('Set-Cookie', session.request['cookie_out'])]
86 headers = [('Set-Cookie', session.request['cookie_out'])]
87 return headers
87 return headers
88
88
89
89
90 def get_came_from(request):
90 def get_came_from(request):
91 came_from = safe_str(request.GET.get('came_from', ''))
91 came_from = safe_str(request.GET.get('came_from', ''))
92 parsed = urlparse.urlparse(came_from)
92 parsed = urlparse.urlparse(came_from)
93 allowed_schemes = ['http', 'https']
93 allowed_schemes = ['http', 'https']
94 default_came_from = h.route_path('home')
94 default_came_from = h.route_path('home')
95 if parsed.scheme and parsed.scheme not in allowed_schemes:
95 if parsed.scheme and parsed.scheme not in allowed_schemes:
96 log.error('Suspicious URL scheme detected %s for url %s' %
96 log.error('Suspicious URL scheme detected %s for url %s' %
97 (parsed.scheme, parsed))
97 (parsed.scheme, parsed))
98 came_from = default_came_from
98 came_from = default_came_from
99 elif parsed.netloc and request.host != parsed.netloc:
99 elif parsed.netloc and request.host != parsed.netloc:
100 log.error('Suspicious NETLOC detected %s for url %s server url '
100 log.error('Suspicious NETLOC detected %s for url %s server url '
101 'is: %s' % (parsed.netloc, parsed, request.host))
101 'is: %s' % (parsed.netloc, parsed, request.host))
102 came_from = default_came_from
102 came_from = default_came_from
103 elif any(bad_str in parsed.path for bad_str in ('\r', '\n')):
103 elif any(bad_str in parsed.path for bad_str in ('\r', '\n')):
104 log.error('Header injection detected `%s` for url %s server url ' %
104 log.error('Header injection detected `%s` for url %s server url ' %
105 (parsed.path, parsed))
105 (parsed.path, parsed))
106 came_from = default_came_from
106 came_from = default_came_from
107
107
108 return came_from or default_came_from
108 return came_from or default_came_from
109
109
110
110
111 class LoginView(BaseAppView):
111 class LoginView(BaseAppView):
112
112
113 def load_default_context(self):
113 def load_default_context(self):
114 c = self._get_local_tmpl_context()
114 c = self._get_local_tmpl_context()
115 c.came_from = get_came_from(self.request)
115 c.came_from = get_came_from(self.request)
116
116
117 return c
117 return c
118
118
119 def _get_captcha_data(self):
119 def _get_captcha_data(self):
120 settings = SettingsModel().get_all_settings()
120 settings = SettingsModel().get_all_settings()
121 private_key = settings.get('rhodecode_captcha_private_key')
121 private_key = settings.get('rhodecode_captcha_private_key')
122 public_key = settings.get('rhodecode_captcha_public_key')
122 public_key = settings.get('rhodecode_captcha_public_key')
123 active = bool(private_key)
123 active = bool(private_key)
124 return CaptchaData(
124 return CaptchaData(
125 active=active, private_key=private_key, public_key=public_key)
125 active=active, private_key=private_key, public_key=public_key)
126
126
127 def validate_captcha(self, private_key):
128
129 captcha_rs = self.request.POST.get('g-recaptcha-response')
130 url = "https://www.google.com/recaptcha/api/siteverify"
131 params = {
132 'secret': private_key,
133 'response': captcha_rs,
134 'remoteip': get_ip_addr(self.request.environ)
135 }
136 verify_rs = requests.get(url, params=params, verify=True)
137 verify_rs = verify_rs.json()
138 captcha_status = verify_rs.get('success', False)
139 captcha_errors = verify_rs.get('error-codes', [])
140 if not isinstance(captcha_errors, list):
141 captcha_errors = [captcha_errors]
142 captcha_errors = ', '.join(captcha_errors)
143 captcha_message = ''
144 if captcha_status is False:
145 captcha_message = "Bad captcha. Errors: {}".format(
146 captcha_errors)
147
148 return captcha_status, captcha_message
149
127 @view_config(
150 @view_config(
128 route_name='login', request_method='GET',
151 route_name='login', request_method='GET',
129 renderer='rhodecode:templates/login.mako')
152 renderer='rhodecode:templates/login.mako')
130 def login(self):
153 def login(self):
131 c = self.load_default_context()
154 c = self.load_default_context()
132 auth_user = self._rhodecode_user
155 auth_user = self._rhodecode_user
133
156
134 # redirect if already logged in
157 # redirect if already logged in
135 if (auth_user.is_authenticated and
158 if (auth_user.is_authenticated and
136 not auth_user.is_default and auth_user.ip_allowed):
159 not auth_user.is_default and auth_user.ip_allowed):
137 raise HTTPFound(c.came_from)
160 raise HTTPFound(c.came_from)
138
161
139 # check if we use headers plugin, and try to login using it.
162 # check if we use headers plugin, and try to login using it.
140 try:
163 try:
141 log.debug('Running PRE-AUTH for headers based authentication')
164 log.debug('Running PRE-AUTH for headers based authentication')
142 auth_info = authenticate(
165 auth_info = authenticate(
143 '', '', self.request.environ, HTTP_TYPE, skip_missing=True)
166 '', '', self.request.environ, HTTP_TYPE, skip_missing=True)
144 if auth_info:
167 if auth_info:
145 headers = _store_user_in_session(
168 headers = _store_user_in_session(
146 self.session, auth_info.get('username'))
169 self.session, auth_info.get('username'))
147 raise HTTPFound(c.came_from, headers=headers)
170 raise HTTPFound(c.came_from, headers=headers)
148 except UserCreationError as e:
171 except UserCreationError as e:
149 log.error(e)
172 log.error(e)
150 h.flash(e, category='error')
173 h.flash(e, category='error')
151
174
152 return self._get_template_context(c)
175 return self._get_template_context(c)
153
176
154 @view_config(
177 @view_config(
155 route_name='login', request_method='POST',
178 route_name='login', request_method='POST',
156 renderer='rhodecode:templates/login.mako')
179 renderer='rhodecode:templates/login.mako')
157 def login_post(self):
180 def login_post(self):
158 c = self.load_default_context()
181 c = self.load_default_context()
159
182
160 login_form = LoginForm(self.request.translate)()
183 login_form = LoginForm(self.request.translate)()
161
184
162 try:
185 try:
163 self.session.invalidate()
186 self.session.invalidate()
164 form_result = login_form.to_python(self.request.POST)
187 form_result = login_form.to_python(self.request.POST)
165 # form checks for username/password, now we're authenticated
188 # form checks for username/password, now we're authenticated
166 headers = _store_user_in_session(
189 headers = _store_user_in_session(
167 self.session,
190 self.session,
168 username=form_result['username'],
191 username=form_result['username'],
169 remember=form_result['remember'])
192 remember=form_result['remember'])
170 log.debug('Redirecting to "%s" after login.', c.came_from)
193 log.debug('Redirecting to "%s" after login.', c.came_from)
171
194
172 audit_user = audit_logger.UserWrap(
195 audit_user = audit_logger.UserWrap(
173 username=self.request.POST.get('username'),
196 username=self.request.POST.get('username'),
174 ip_addr=self.request.remote_addr)
197 ip_addr=self.request.remote_addr)
175 action_data = {'user_agent': self.request.user_agent}
198 action_data = {'user_agent': self.request.user_agent}
176 audit_logger.store_web(
199 audit_logger.store_web(
177 'user.login.success', action_data=action_data,
200 'user.login.success', action_data=action_data,
178 user=audit_user, commit=True)
201 user=audit_user, commit=True)
179
202
180 raise HTTPFound(c.came_from, headers=headers)
203 raise HTTPFound(c.came_from, headers=headers)
181 except formencode.Invalid as errors:
204 except formencode.Invalid as errors:
182 defaults = errors.value
205 defaults = errors.value
183 # remove password from filling in form again
206 # remove password from filling in form again
184 defaults.pop('password', None)
207 defaults.pop('password', None)
185 render_ctx = {
208 render_ctx = {
186 'errors': errors.error_dict,
209 'errors': errors.error_dict,
187 'defaults': defaults,
210 'defaults': defaults,
188 }
211 }
189
212
190 audit_user = audit_logger.UserWrap(
213 audit_user = audit_logger.UserWrap(
191 username=self.request.POST.get('username'),
214 username=self.request.POST.get('username'),
192 ip_addr=self.request.remote_addr)
215 ip_addr=self.request.remote_addr)
193 action_data = {'user_agent': self.request.user_agent}
216 action_data = {'user_agent': self.request.user_agent}
194 audit_logger.store_web(
217 audit_logger.store_web(
195 'user.login.failure', action_data=action_data,
218 'user.login.failure', action_data=action_data,
196 user=audit_user, commit=True)
219 user=audit_user, commit=True)
197 return self._get_template_context(c, **render_ctx)
220 return self._get_template_context(c, **render_ctx)
198
221
199 except UserCreationError as e:
222 except UserCreationError as e:
200 # headers auth or other auth functions that create users on
223 # headers auth or other auth functions that create users on
201 # the fly can throw this exception signaling that there's issue
224 # the fly can throw this exception signaling that there's issue
202 # with user creation, explanation should be provided in
225 # with user creation, explanation should be provided in
203 # Exception itself
226 # Exception itself
204 h.flash(e, category='error')
227 h.flash(e, category='error')
205 return self._get_template_context(c)
228 return self._get_template_context(c)
206
229
207 @CSRFRequired()
230 @CSRFRequired()
208 @view_config(route_name='logout', request_method='POST')
231 @view_config(route_name='logout', request_method='POST')
209 def logout(self):
232 def logout(self):
210 auth_user = self._rhodecode_user
233 auth_user = self._rhodecode_user
211 log.info('Deleting session for user: `%s`', auth_user)
234 log.info('Deleting session for user: `%s`', auth_user)
212
235
213 action_data = {'user_agent': self.request.user_agent}
236 action_data = {'user_agent': self.request.user_agent}
214 audit_logger.store_web(
237 audit_logger.store_web(
215 'user.logout', action_data=action_data,
238 'user.logout', action_data=action_data,
216 user=auth_user, commit=True)
239 user=auth_user, commit=True)
217 self.session.delete()
240 self.session.delete()
218 return HTTPFound(h.route_path('home'))
241 return HTTPFound(h.route_path('home'))
219
242
220 @HasPermissionAnyDecorator(
243 @HasPermissionAnyDecorator(
221 'hg.admin', 'hg.register.auto_activate', 'hg.register.manual_activate')
244 'hg.admin', 'hg.register.auto_activate', 'hg.register.manual_activate')
222 @view_config(
245 @view_config(
223 route_name='register', request_method='GET',
246 route_name='register', request_method='GET',
224 renderer='rhodecode:templates/register.mako',)
247 renderer='rhodecode:templates/register.mako',)
225 def register(self, defaults=None, errors=None):
248 def register(self, defaults=None, errors=None):
226 c = self.load_default_context()
249 c = self.load_default_context()
227 defaults = defaults or {}
250 defaults = defaults or {}
228 errors = errors or {}
251 errors = errors or {}
229
252
230 settings = SettingsModel().get_all_settings()
253 settings = SettingsModel().get_all_settings()
231 register_message = settings.get('rhodecode_register_message') or ''
254 register_message = settings.get('rhodecode_register_message') or ''
232 captcha = self._get_captcha_data()
255 captcha = self._get_captcha_data()
233 auto_active = 'hg.register.auto_activate' in User.get_default_user()\
256 auto_active = 'hg.register.auto_activate' in User.get_default_user()\
234 .AuthUser().permissions['global']
257 .AuthUser().permissions['global']
235
258
236 render_ctx = self._get_template_context(c)
259 render_ctx = self._get_template_context(c)
237 render_ctx.update({
260 render_ctx.update({
238 'defaults': defaults,
261 'defaults': defaults,
239 'errors': errors,
262 'errors': errors,
240 'auto_active': auto_active,
263 'auto_active': auto_active,
241 'captcha_active': captcha.active,
264 'captcha_active': captcha.active,
242 'captcha_public_key': captcha.public_key,
265 'captcha_public_key': captcha.public_key,
243 'register_message': register_message,
266 'register_message': register_message,
244 })
267 })
245 return render_ctx
268 return render_ctx
246
269
247 @HasPermissionAnyDecorator(
270 @HasPermissionAnyDecorator(
248 'hg.admin', 'hg.register.auto_activate', 'hg.register.manual_activate')
271 'hg.admin', 'hg.register.auto_activate', 'hg.register.manual_activate')
249 @view_config(
272 @view_config(
250 route_name='register', request_method='POST',
273 route_name='register', request_method='POST',
251 renderer='rhodecode:templates/register.mako')
274 renderer='rhodecode:templates/register.mako')
252 def register_post(self):
275 def register_post(self):
253 self.load_default_context()
276 self.load_default_context()
254 captcha = self._get_captcha_data()
277 captcha = self._get_captcha_data()
255 auto_active = 'hg.register.auto_activate' in User.get_default_user()\
278 auto_active = 'hg.register.auto_activate' in User.get_default_user()\
256 .AuthUser().permissions['global']
279 .AuthUser().permissions['global']
257
280
258 register_form = RegisterForm(self.request.translate)()
281 register_form = RegisterForm(self.request.translate)()
259 try:
282 try:
260
283
261 form_result = register_form.to_python(self.request.POST)
284 form_result = register_form.to_python(self.request.POST)
262 form_result['active'] = auto_active
285 form_result['active'] = auto_active
263
286
264 if captcha.active:
287 if captcha.active:
265 response = submit(
288 captcha_status, captcha_message = self.validate_captcha(
266 self.request.POST.get('recaptcha_challenge_field'),
289 captcha.private_key)
267 self.request.POST.get('recaptcha_response_field'),
290
268 private_key=captcha.private_key,
291 if not captcha_status:
269 remoteip=get_ip_addr(self.request.environ))
270 if not response.is_valid:
271 _value = form_result
292 _value = form_result
272 _msg = _('Bad captcha')
293 _msg = _('Bad captcha')
273 error_dict = {'recaptcha_field': _msg}
294 error_dict = {'recaptcha_field': captcha_message}
274 raise formencode.Invalid(_msg, _value, None,
295 raise formencode.Invalid(
275 error_dict=error_dict)
296 _msg, _value, None, error_dict=error_dict)
276
297
277 new_user = UserModel().create_registration(form_result)
298 new_user = UserModel().create_registration(form_result)
278
299
279 action_data = {'data': new_user.get_api_data(),
300 action_data = {'data': new_user.get_api_data(),
280 'user_agent': self.request.user_agent}
301 'user_agent': self.request.user_agent}
281 audit_logger.store_web(
302 audit_logger.store_web(
282 'user.register', action_data=action_data,
303 'user.register', action_data=action_data,
283 user=new_user)
304 user=new_user)
284
305
285 event = UserRegistered(user=new_user, session=self.session)
306 event = UserRegistered(user=new_user, session=self.session)
286 trigger(event)
307 trigger(event)
287 h.flash(
308 h.flash(
288 _('You have successfully registered with RhodeCode'),
309 _('You have successfully registered with RhodeCode'),
289 category='success')
310 category='success')
290 Session().commit()
311 Session().commit()
291
312
292 redirect_ro = self.request.route_path('login')
313 redirect_ro = self.request.route_path('login')
293 raise HTTPFound(redirect_ro)
314 raise HTTPFound(redirect_ro)
294
315
295 except formencode.Invalid as errors:
316 except formencode.Invalid as errors:
296 errors.value.pop('password', None)
317 errors.value.pop('password', None)
297 errors.value.pop('password_confirmation', None)
318 errors.value.pop('password_confirmation', None)
298 return self.register(
319 return self.register(
299 defaults=errors.value, errors=errors.error_dict)
320 defaults=errors.value, errors=errors.error_dict)
300
321
301 except UserCreationError as e:
322 except UserCreationError as e:
302 # container auth or other auth functions that create users on
323 # container auth or other auth functions that create users on
303 # the fly can throw this exception signaling that there's issue
324 # the fly can throw this exception signaling that there's issue
304 # with user creation, explanation should be provided in
325 # with user creation, explanation should be provided in
305 # Exception itself
326 # Exception itself
306 h.flash(e, category='error')
327 h.flash(e, category='error')
307 return self.register()
328 return self.register()
308
329
309 @view_config(
330 @view_config(
310 route_name='reset_password', request_method=('GET', 'POST'),
331 route_name='reset_password', request_method=('GET', 'POST'),
311 renderer='rhodecode:templates/password_reset.mako')
332 renderer='rhodecode:templates/password_reset.mako')
312 def password_reset(self):
333 def password_reset(self):
313 c = self.load_default_context()
334 c = self.load_default_context()
314 captcha = self._get_captcha_data()
335 captcha = self._get_captcha_data()
315
336
316 template_context = {
337 template_context = {
317 'captcha_active': captcha.active,
338 'captcha_active': captcha.active,
318 'captcha_public_key': captcha.public_key,
339 'captcha_public_key': captcha.public_key,
319 'defaults': {},
340 'defaults': {},
320 'errors': {},
341 'errors': {},
321 }
342 }
322
343
323 # always send implicit message to prevent from discovery of
344 # always send implicit message to prevent from discovery of
324 # matching emails
345 # matching emails
325 msg = _('If such email exists, a password reset link was sent to it.')
346 msg = _('If such email exists, a password reset link was sent to it.')
326
347
327 if self.request.POST:
348 if self.request.POST:
328 if h.HasPermissionAny('hg.password_reset.disabled')():
349 if h.HasPermissionAny('hg.password_reset.disabled')():
329 _email = self.request.POST.get('email', '')
350 _email = self.request.POST.get('email', '')
330 log.error('Failed attempt to reset password for `%s`.', _email)
351 log.error('Failed attempt to reset password for `%s`.', _email)
331 h.flash(_('Password reset has been disabled.'),
352 h.flash(_('Password reset has been disabled.'),
332 category='error')
353 category='error')
333 return HTTPFound(self.request.route_path('reset_password'))
354 return HTTPFound(self.request.route_path('reset_password'))
334
355
335 password_reset_form = PasswordResetForm(self.request.translate)()
356 password_reset_form = PasswordResetForm(self.request.translate)()
336 try:
357 try:
337 form_result = password_reset_form.to_python(
358 form_result = password_reset_form.to_python(
338 self.request.POST)
359 self.request.POST)
339 user_email = form_result['email']
360 user_email = form_result['email']
340
361
341 if captcha.active:
362 if captcha.active:
342 response = submit(
363 captcha_status, captcha_message = self.validate_captcha(
343 self.request.POST.get('recaptcha_challenge_field'),
364 captcha.private_key)
344 self.request.POST.get('recaptcha_response_field'),
365
345 private_key=captcha.private_key,
366 if not captcha_status:
346 remoteip=get_ip_addr(self.request.environ))
347 if not response.is_valid:
348 _value = form_result
367 _value = form_result
349 _msg = _('Bad captcha')
368 _msg = _('Bad captcha')
350 error_dict = {'recaptcha_field': _msg}
369 error_dict = {'recaptcha_field': captcha_message}
351 raise formencode.Invalid(
370 raise formencode.Invalid(
352 _msg, _value, None, error_dict=error_dict)
371 _msg, _value, None, error_dict=error_dict)
353
372
354 # Generate reset URL and send mail.
373 # Generate reset URL and send mail.
355 user = User.get_by_email(user_email)
374 user = User.get_by_email(user_email)
356
375
357 # generate password reset token that expires in 10minutes
376 # generate password reset token that expires in 10minutes
358 desc = 'Generated token for password reset from {}'.format(
377 desc = 'Generated token for password reset from {}'.format(
359 datetime.datetime.now().isoformat())
378 datetime.datetime.now().isoformat())
360 reset_token = AuthTokenModel().create(
379 reset_token = AuthTokenModel().create(
361 user, lifetime=10,
380 user, lifetime=10,
362 description=desc,
381 description=desc,
363 role=UserApiKeys.ROLE_PASSWORD_RESET)
382 role=UserApiKeys.ROLE_PASSWORD_RESET)
364 Session().commit()
383 Session().commit()
365
384
366 log.debug('Successfully created password recovery token')
385 log.debug('Successfully created password recovery token')
367 password_reset_url = self.request.route_url(
386 password_reset_url = self.request.route_url(
368 'reset_password_confirmation',
387 'reset_password_confirmation',
369 _query={'key': reset_token.api_key})
388 _query={'key': reset_token.api_key})
370 UserModel().reset_password_link(
389 UserModel().reset_password_link(
371 form_result, password_reset_url)
390 form_result, password_reset_url)
372 # Display success message and redirect.
391 # Display success message and redirect.
373 h.flash(msg, category='success')
392 h.flash(msg, category='success')
374
393
375 action_data = {'email': user_email,
394 action_data = {'email': user_email,
376 'user_agent': self.request.user_agent}
395 'user_agent': self.request.user_agent}
377 audit_logger.store_web(
396 audit_logger.store_web(
378 'user.password.reset_request', action_data=action_data,
397 'user.password.reset_request', action_data=action_data,
379 user=self._rhodecode_user, commit=True)
398 user=self._rhodecode_user, commit=True)
380 return HTTPFound(self.request.route_path('reset_password'))
399 return HTTPFound(self.request.route_path('reset_password'))
381
400
382 except formencode.Invalid as errors:
401 except formencode.Invalid as errors:
383 template_context.update({
402 template_context.update({
384 'defaults': errors.value,
403 'defaults': errors.value,
385 'errors': errors.error_dict,
404 'errors': errors.error_dict,
386 })
405 })
387 if not self.request.POST.get('email'):
406 if not self.request.POST.get('email'):
388 # case of empty email, we want to report that
407 # case of empty email, we want to report that
389 return self._get_template_context(c, **template_context)
408 return self._get_template_context(c, **template_context)
390
409
391 if 'recaptcha_field' in errors.error_dict:
410 if 'recaptcha_field' in errors.error_dict:
392 # case of failed captcha
411 # case of failed captcha
393 return self._get_template_context(c, **template_context)
412 return self._get_template_context(c, **template_context)
394
413
395 log.debug('faking response on invalid password reset')
414 log.debug('faking response on invalid password reset')
396 # make this take 2s, to prevent brute forcing.
415 # make this take 2s, to prevent brute forcing.
397 time.sleep(2)
416 time.sleep(2)
398 h.flash(msg, category='success')
417 h.flash(msg, category='success')
399 return HTTPFound(self.request.route_path('reset_password'))
418 return HTTPFound(self.request.route_path('reset_password'))
400
419
401 return self._get_template_context(c, **template_context)
420 return self._get_template_context(c, **template_context)
402
421
403 @view_config(route_name='reset_password_confirmation',
422 @view_config(route_name='reset_password_confirmation',
404 request_method='GET')
423 request_method='GET')
405 def password_reset_confirmation(self):
424 def password_reset_confirmation(self):
406 self.load_default_context()
425 self.load_default_context()
407 if self.request.GET and self.request.GET.get('key'):
426 if self.request.GET and self.request.GET.get('key'):
408 # make this take 2s, to prevent brute forcing.
427 # make this take 2s, to prevent brute forcing.
409 time.sleep(2)
428 time.sleep(2)
410
429
411 token = AuthTokenModel().get_auth_token(
430 token = AuthTokenModel().get_auth_token(
412 self.request.GET.get('key'))
431 self.request.GET.get('key'))
413
432
414 # verify token is the correct role
433 # verify token is the correct role
415 if token is None or token.role != UserApiKeys.ROLE_PASSWORD_RESET:
434 if token is None or token.role != UserApiKeys.ROLE_PASSWORD_RESET:
416 log.debug('Got token with role:%s expected is %s',
435 log.debug('Got token with role:%s expected is %s',
417 getattr(token, 'role', 'EMPTY_TOKEN'),
436 getattr(token, 'role', 'EMPTY_TOKEN'),
418 UserApiKeys.ROLE_PASSWORD_RESET)
437 UserApiKeys.ROLE_PASSWORD_RESET)
419 h.flash(
438 h.flash(
420 _('Given reset token is invalid'), category='error')
439 _('Given reset token is invalid'), category='error')
421 return HTTPFound(self.request.route_path('reset_password'))
440 return HTTPFound(self.request.route_path('reset_password'))
422
441
423 try:
442 try:
424 owner = token.user
443 owner = token.user
425 data = {'email': owner.email, 'token': token.api_key}
444 data = {'email': owner.email, 'token': token.api_key}
426 UserModel().reset_password(data)
445 UserModel().reset_password(data)
427 h.flash(
446 h.flash(
428 _('Your password reset was successful, '
447 _('Your password reset was successful, '
429 'a new password has been sent to your email'),
448 'a new password has been sent to your email'),
430 category='success')
449 category='success')
431 except Exception as e:
450 except Exception as e:
432 log.error(e)
451 log.error(e)
433 return HTTPFound(self.request.route_path('reset_password'))
452 return HTTPFound(self.request.route_path('reset_password'))
434
453
435 return HTTPFound(self.request.route_path('login'))
454 return HTTPFound(self.request.route_path('login'))
@@ -1,376 +1,373 b''
1 {
1 {
2 "libnghttp2-1.7.1": {
2 "libnghttp2-1.7.1": {
3 "MIT License": "http://spdx.org/licenses/MIT"
3 "MIT License": "http://spdx.org/licenses/MIT"
4 },
4 },
5 "nodejs-4.3.1": {
5 "nodejs-4.3.1": {
6 "MIT License": "http://spdx.org/licenses/MIT"
6 "MIT License": "http://spdx.org/licenses/MIT"
7 },
7 },
8 "python-2.7.12": {
8 "python-2.7.12": {
9 "Python Software Foundation License version 2": "http://spdx.org/licenses/Python-2.0"
9 "Python Software Foundation License version 2": "http://spdx.org/licenses/Python-2.0"
10 },
10 },
11 "python2.7-Babel-1.3": {
11 "python2.7-Babel-1.3": {
12 "BSD 4-clause \"Original\" or \"Old\" License": "http://spdx.org/licenses/BSD-4-Clause"
12 "BSD 4-clause \"Original\" or \"Old\" License": "http://spdx.org/licenses/BSD-4-Clause"
13 },
13 },
14 "python2.7-Beaker-1.7.0": {
14 "python2.7-Beaker-1.7.0": {
15 "BSD 4-clause \"Original\" or \"Old\" License": "http://spdx.org/licenses/BSD-4-Clause"
15 "BSD 4-clause \"Original\" or \"Old\" License": "http://spdx.org/licenses/BSD-4-Clause"
16 },
16 },
17 "python2.7-Chameleon-2.24": {
17 "python2.7-Chameleon-2.24": {
18 "BSD-like": "http://repoze.org/license.html"
18 "BSD-like": "http://repoze.org/license.html"
19 },
19 },
20 "python2.7-FormEncode-1.2.4": {
20 "python2.7-FormEncode-1.2.4": {
21 "Python Software Foundation License version 2": "http://spdx.org/licenses/Python-2.0"
21 "Python Software Foundation License version 2": "http://spdx.org/licenses/Python-2.0"
22 },
22 },
23 "python2.7-Jinja2-2.7.3": {
23 "python2.7-Jinja2-2.7.3": {
24 "BSD 4-clause \"Original\" or \"Old\" License": "http://spdx.org/licenses/BSD-4-Clause"
24 "BSD 4-clause \"Original\" or \"Old\" License": "http://spdx.org/licenses/BSD-4-Clause"
25 },
25 },
26 "python2.7-Mako-1.0.6": {
26 "python2.7-Mako-1.0.6": {
27 "MIT License": "http://spdx.org/licenses/MIT"
27 "MIT License": "http://spdx.org/licenses/MIT"
28 },
28 },
29 "python2.7-Markdown-2.6.7": {
29 "python2.7-Markdown-2.6.7": {
30 "BSD 4-clause \"Original\" or \"Old\" License": "http://spdx.org/licenses/BSD-4-Clause"
30 "BSD 4-clause \"Original\" or \"Old\" License": "http://spdx.org/licenses/BSD-4-Clause"
31 },
31 },
32 "python2.7-MarkupSafe-0.23": {
32 "python2.7-MarkupSafe-0.23": {
33 "BSD 4-clause \"Original\" or \"Old\" License": "http://spdx.org/licenses/BSD-4-Clause"
33 "BSD 4-clause \"Original\" or \"Old\" License": "http://spdx.org/licenses/BSD-4-Clause"
34 },
34 },
35 "python2.7-Paste-2.0.3": {
35 "python2.7-Paste-2.0.3": {
36 "MIT License": "http://spdx.org/licenses/MIT"
36 "MIT License": "http://spdx.org/licenses/MIT"
37 },
37 },
38 "python2.7-PasteDeploy-1.5.2": {
38 "python2.7-PasteDeploy-1.5.2": {
39 "MIT License": "http://spdx.org/licenses/MIT"
39 "MIT License": "http://spdx.org/licenses/MIT"
40 },
40 },
41 "python2.7-PasteScript-1.7.5": {
41 "python2.7-PasteScript-1.7.5": {
42 "MIT License": "http://spdx.org/licenses/MIT"
42 "MIT License": "http://spdx.org/licenses/MIT"
43 },
43 },
44 "python2.7-Pygments-2.2.0": {
44 "python2.7-Pygments-2.2.0": {
45 "BSD 4-clause \"Original\" or \"Old\" License": "http://spdx.org/licenses/BSD-4-Clause"
45 "BSD 4-clause \"Original\" or \"Old\" License": "http://spdx.org/licenses/BSD-4-Clause"
46 },
46 },
47 "python2.7-Routes-1.13": {
47 "python2.7-Routes-1.13": {
48 "BSD 4-clause \"Original\" or \"Old\" License": "http://spdx.org/licenses/BSD-4-Clause"
48 "BSD 4-clause \"Original\" or \"Old\" License": "http://spdx.org/licenses/BSD-4-Clause"
49 },
49 },
50 "python2.7-SQLAlchemy-0.9.9": {
50 "python2.7-SQLAlchemy-0.9.9": {
51 "MIT License": "http://spdx.org/licenses/MIT"
51 "MIT License": "http://spdx.org/licenses/MIT"
52 },
52 },
53 "python2.7-Tempita-0.5.2": {
53 "python2.7-Tempita-0.5.2": {
54 "MIT License": "http://spdx.org/licenses/MIT"
54 "MIT License": "http://spdx.org/licenses/MIT"
55 },
55 },
56 "python2.7-URLObject-2.4.0": {
56 "python2.7-URLObject-2.4.0": {
57 "The Unlicense": "http://unlicense.org/"
57 "The Unlicense": "http://unlicense.org/"
58 },
58 },
59 "python2.7-WebError-0.10.3": {
59 "python2.7-WebError-0.10.3": {
60 "MIT License": "http://spdx.org/licenses/MIT"
60 "MIT License": "http://spdx.org/licenses/MIT"
61 },
61 },
62 "python2.7-WebHelpers-1.3": {
62 "python2.7-WebHelpers-1.3": {
63 "BSD 4-clause \"Original\" or \"Old\" License": "http://spdx.org/licenses/BSD-4-Clause"
63 "BSD 4-clause \"Original\" or \"Old\" License": "http://spdx.org/licenses/BSD-4-Clause"
64 },
64 },
65 "python2.7-WebHelpers2-2.0": {
65 "python2.7-WebHelpers2-2.0": {
66 "MIT License": "http://spdx.org/licenses/MIT"
66 "MIT License": "http://spdx.org/licenses/MIT"
67 },
67 },
68 "python2.7-WebOb-1.3.1": {
68 "python2.7-WebOb-1.3.1": {
69 "MIT License": "http://spdx.org/licenses/MIT"
69 "MIT License": "http://spdx.org/licenses/MIT"
70 },
70 },
71 "python2.7-Whoosh-2.7.4": {
71 "python2.7-Whoosh-2.7.4": {
72 "BSD 2-clause \"Simplified\" License": "http://spdx.org/licenses/BSD-2-Clause",
72 "BSD 2-clause \"Simplified\" License": "http://spdx.org/licenses/BSD-2-Clause",
73 "BSD 4-clause \"Original\" or \"Old\" License": "http://spdx.org/licenses/BSD-4-Clause"
73 "BSD 4-clause \"Original\" or \"Old\" License": "http://spdx.org/licenses/BSD-4-Clause"
74 },
74 },
75 "python2.7-alembic-0.8.4": {
75 "python2.7-alembic-0.8.4": {
76 "MIT License": "http://spdx.org/licenses/MIT"
76 "MIT License": "http://spdx.org/licenses/MIT"
77 },
77 },
78 "python2.7-appenlight-client-0.6.14": {
78 "python2.7-appenlight-client-0.6.14": {
79 "BSD 4-clause \"Original\" or \"Old\" License": "http://spdx.org/licenses/BSD-4-Clause"
79 "BSD 4-clause \"Original\" or \"Old\" License": "http://spdx.org/licenses/BSD-4-Clause"
80 },
80 },
81 "python2.7-authomatic-0.1.0.post1": {
81 "python2.7-authomatic-0.1.0.post1": {
82 "MIT License": "http://spdx.org/licenses/MIT"
82 "MIT License": "http://spdx.org/licenses/MIT"
83 },
83 },
84 "python2.7-backports.shutil-get-terminal-size-1.0.0": {
84 "python2.7-backports.shutil-get-terminal-size-1.0.0": {
85 "MIT License": "http://spdx.org/licenses/MIT"
85 "MIT License": "http://spdx.org/licenses/MIT"
86 },
86 },
87 "python2.7-bleach-1.5.0": {
87 "python2.7-bleach-1.5.0": {
88 "Apache License 2.0": "http://spdx.org/licenses/Apache-2.0"
88 "Apache License 2.0": "http://spdx.org/licenses/Apache-2.0"
89 },
89 },
90 "python2.7-celery-2.2.10": {
90 "python2.7-celery-2.2.10": {
91 "BSD 4-clause \"Original\" or \"Old\" License": "http://spdx.org/licenses/BSD-4-Clause"
91 "BSD 4-clause \"Original\" or \"Old\" License": "http://spdx.org/licenses/BSD-4-Clause"
92 },
92 },
93 "python2.7-channelstream-0.5.2": {
93 "python2.7-channelstream-0.5.2": {
94 "BSD 4-clause \"Original\" or \"Old\" License": "http://spdx.org/licenses/BSD-4-Clause"
94 "BSD 4-clause \"Original\" or \"Old\" License": "http://spdx.org/licenses/BSD-4-Clause"
95 },
95 },
96 "python2.7-click-5.1": {
96 "python2.7-click-5.1": {
97 "BSD 4-clause \"Original\" or \"Old\" License": "http://spdx.org/licenses/BSD-4-Clause"
97 "BSD 4-clause \"Original\" or \"Old\" License": "http://spdx.org/licenses/BSD-4-Clause"
98 },
98 },
99 "python2.7-colander-1.2": {
99 "python2.7-colander-1.2": {
100 "Repoze License": "http://www.repoze.org/LICENSE.txt"
100 "Repoze License": "http://www.repoze.org/LICENSE.txt"
101 },
101 },
102 "python2.7-configobj-5.0.6": {
102 "python2.7-configobj-5.0.6": {
103 "BSD 4-clause \"Original\" or \"Old\" License": "http://spdx.org/licenses/BSD-4-Clause"
103 "BSD 4-clause \"Original\" or \"Old\" License": "http://spdx.org/licenses/BSD-4-Clause"
104 },
104 },
105 "python2.7-configparser-3.5.0": {
105 "python2.7-configparser-3.5.0": {
106 "MIT License": "http://spdx.org/licenses/MIT"
106 "MIT License": "http://spdx.org/licenses/MIT"
107 },
107 },
108 "python2.7-cssselect-1.0.1": {
108 "python2.7-cssselect-1.0.1": {
109 "BSD 4-clause \"Original\" or \"Old\" License": "http://spdx.org/licenses/BSD-4-Clause"
109 "BSD 4-clause \"Original\" or \"Old\" License": "http://spdx.org/licenses/BSD-4-Clause"
110 },
110 },
111 "python2.7-decorator-4.0.11": {
111 "python2.7-decorator-4.0.11": {
112 "BSD 4-clause \"Original\" or \"Old\" License": "http://spdx.org/licenses/BSD-4-Clause"
112 "BSD 4-clause \"Original\" or \"Old\" License": "http://spdx.org/licenses/BSD-4-Clause"
113 },
113 },
114 "python2.7-deform-2.0a2": {
114 "python2.7-deform-2.0a2": {
115 "BSD-derived": "http://www.repoze.org/LICENSE.txt"
115 "BSD-derived": "http://www.repoze.org/LICENSE.txt"
116 },
116 },
117 "python2.7-docutils-0.12": {
117 "python2.7-docutils-0.12": {
118 "BSD 2-clause \"Simplified\" License": "http://spdx.org/licenses/BSD-2-Clause"
118 "BSD 2-clause \"Simplified\" License": "http://spdx.org/licenses/BSD-2-Clause"
119 },
119 },
120 "python2.7-dogpile.cache-0.6.1": {
120 "python2.7-dogpile.cache-0.6.1": {
121 "BSD 4-clause \"Original\" or \"Old\" License": "http://spdx.org/licenses/BSD-4-Clause"
121 "BSD 4-clause \"Original\" or \"Old\" License": "http://spdx.org/licenses/BSD-4-Clause"
122 },
122 },
123 "python2.7-dogpile.core-0.4.1": {
123 "python2.7-dogpile.core-0.4.1": {
124 "BSD 4-clause \"Original\" or \"Old\" License": "http://spdx.org/licenses/BSD-4-Clause"
124 "BSD 4-clause \"Original\" or \"Old\" License": "http://spdx.org/licenses/BSD-4-Clause"
125 },
125 },
126 "python2.7-elasticsearch-2.3.0": {
126 "python2.7-elasticsearch-2.3.0": {
127 "Apache License 2.0": "http://spdx.org/licenses/Apache-2.0"
127 "Apache License 2.0": "http://spdx.org/licenses/Apache-2.0"
128 },
128 },
129 "python2.7-elasticsearch-dsl-2.2.0": {
129 "python2.7-elasticsearch-dsl-2.2.0": {
130 "Apache License 2.0": "http://spdx.org/licenses/Apache-2.0"
130 "Apache License 2.0": "http://spdx.org/licenses/Apache-2.0"
131 },
131 },
132 "python2.7-entrypoints-0.2.2": {
132 "python2.7-entrypoints-0.2.2": {
133 "MIT License": "http://spdx.org/licenses/MIT"
133 "MIT License": "http://spdx.org/licenses/MIT"
134 },
134 },
135 "python2.7-enum34-1.1.6": {
135 "python2.7-enum34-1.1.6": {
136 "BSD 4-clause \"Original\" or \"Old\" License": "http://spdx.org/licenses/BSD-4-Clause"
136 "BSD 4-clause \"Original\" or \"Old\" License": "http://spdx.org/licenses/BSD-4-Clause"
137 },
137 },
138 "python2.7-functools32-3.2.3.post2": {
138 "python2.7-functools32-3.2.3.post2": {
139 "Python Software Foundation License version 2": "http://spdx.org/licenses/Python-2.0"
139 "Python Software Foundation License version 2": "http://spdx.org/licenses/Python-2.0"
140 },
140 },
141 "python2.7-future-0.14.3": {
141 "python2.7-future-0.14.3": {
142 "MIT License": "http://spdx.org/licenses/MIT"
142 "MIT License": "http://spdx.org/licenses/MIT"
143 },
143 },
144 "python2.7-futures-3.0.2": {
144 "python2.7-futures-3.0.2": {
145 "BSD 4-clause \"Original\" or \"Old\" License": "http://spdx.org/licenses/BSD-4-Clause"
145 "BSD 4-clause \"Original\" or \"Old\" License": "http://spdx.org/licenses/BSD-4-Clause"
146 },
146 },
147 "python2.7-gevent-1.1.2": {
147 "python2.7-gevent-1.1.2": {
148 "MIT License": "http://spdx.org/licenses/MIT"
148 "MIT License": "http://spdx.org/licenses/MIT"
149 },
149 },
150 "python2.7-gnureadline-6.3.3": {
150 "python2.7-gnureadline-6.3.3": {
151 "GNU General Public License v1.0 only": "http://spdx.org/licenses/GPL-1.0"
151 "GNU General Public License v1.0 only": "http://spdx.org/licenses/GPL-1.0"
152 },
152 },
153 "python2.7-gprof2dot-2016.10.13": {
153 "python2.7-gprof2dot-2016.10.13": {
154 "GNU Lesser General Public License v3.0 or later": "http://spdx.org/licenses/LGPL-3.0+"
154 "GNU Lesser General Public License v3.0 or later": "http://spdx.org/licenses/LGPL-3.0+"
155 },
155 },
156 "python2.7-greenlet-0.4.10": {
156 "python2.7-greenlet-0.4.10": {
157 "MIT License": "http://spdx.org/licenses/MIT"
157 "MIT License": "http://spdx.org/licenses/MIT"
158 },
158 },
159 "python2.7-gunicorn-19.6.0": {
159 "python2.7-gunicorn-19.6.0": {
160 "MIT License": "http://spdx.org/licenses/MIT"
160 "MIT License": "http://spdx.org/licenses/MIT"
161 },
161 },
162 "python2.7-html5lib-0.9999999": {
162 "python2.7-html5lib-0.9999999": {
163 "MIT License": "http://spdx.org/licenses/MIT"
163 "MIT License": "http://spdx.org/licenses/MIT"
164 },
164 },
165 "python2.7-infrae.cache-1.0.1": {
165 "python2.7-infrae.cache-1.0.1": {
166 "Zope Public License 2.1": "http://spdx.org/licenses/ZPL-2.1"
166 "Zope Public License 2.1": "http://spdx.org/licenses/ZPL-2.1"
167 },
167 },
168 "python2.7-ipython-5.1.0": {
168 "python2.7-ipython-5.1.0": {
169 "BSD 4-clause \"Original\" or \"Old\" License": "http://spdx.org/licenses/BSD-4-Clause"
169 "BSD 4-clause \"Original\" or \"Old\" License": "http://spdx.org/licenses/BSD-4-Clause"
170 },
170 },
171 "python2.7-ipython-genutils-0.2.0": {
171 "python2.7-ipython-genutils-0.2.0": {
172 "BSD 4-clause \"Original\" or \"Old\" License": "http://spdx.org/licenses/BSD-4-Clause"
172 "BSD 4-clause \"Original\" or \"Old\" License": "http://spdx.org/licenses/BSD-4-Clause"
173 },
173 },
174 "python2.7-iso8601-0.1.11": {
174 "python2.7-iso8601-0.1.11": {
175 "MIT License": "http://spdx.org/licenses/MIT"
175 "MIT License": "http://spdx.org/licenses/MIT"
176 },
176 },
177 "python2.7-itsdangerous-0.24": {
177 "python2.7-itsdangerous-0.24": {
178 "BSD 4-clause \"Original\" or \"Old\" License": "http://spdx.org/licenses/BSD-4-Clause"
178 "BSD 4-clause \"Original\" or \"Old\" License": "http://spdx.org/licenses/BSD-4-Clause"
179 },
179 },
180 "python2.7-jsonschema-2.6.0": {
180 "python2.7-jsonschema-2.6.0": {
181 "MIT License": "http://spdx.org/licenses/MIT"
181 "MIT License": "http://spdx.org/licenses/MIT"
182 },
182 },
183 "python2.7-jupyter-client-5.0.0": {
183 "python2.7-jupyter-client-5.0.0": {
184 "BSD 4-clause \"Original\" or \"Old\" License": "http://spdx.org/licenses/BSD-4-Clause"
184 "BSD 4-clause \"Original\" or \"Old\" License": "http://spdx.org/licenses/BSD-4-Clause"
185 },
185 },
186 "python2.7-jupyter-core-4.3.0": {
186 "python2.7-jupyter-core-4.3.0": {
187 "BSD 4-clause \"Original\" or \"Old\" License": "http://spdx.org/licenses/BSD-4-Clause"
187 "BSD 4-clause \"Original\" or \"Old\" License": "http://spdx.org/licenses/BSD-4-Clause"
188 },
188 },
189 "python2.7-kombu-4.1.0": {
189 "python2.7-kombu-4.1.0": {
190 "BSD 4-clause \"Original\" or \"Old\" License": "http://spdx.org/licenses/BSD-4-Clause"
190 "BSD 4-clause \"Original\" or \"Old\" License": "http://spdx.org/licenses/BSD-4-Clause"
191 },
191 },
192 "python2.7-mistune-0.7.4": {
192 "python2.7-mistune-0.7.4": {
193 "BSD 4-clause \"Original\" or \"Old\" License": "http://spdx.org/licenses/BSD-4-Clause"
193 "BSD 4-clause \"Original\" or \"Old\" License": "http://spdx.org/licenses/BSD-4-Clause"
194 },
194 },
195 "python2.7-msgpack-python-0.4.8": {
195 "python2.7-msgpack-python-0.4.8": {
196 "Apache License 2.0": "http://spdx.org/licenses/Apache-2.0"
196 "Apache License 2.0": "http://spdx.org/licenses/Apache-2.0"
197 },
197 },
198 "python2.7-nbconvert-5.1.1": {
198 "python2.7-nbconvert-5.1.1": {
199 "BSD 4-clause \"Original\" or \"Old\" License": "http://spdx.org/licenses/BSD-4-Clause"
199 "BSD 4-clause \"Original\" or \"Old\" License": "http://spdx.org/licenses/BSD-4-Clause"
200 },
200 },
201 "python2.7-nbformat-4.3.0": {
201 "python2.7-nbformat-4.3.0": {
202 "BSD 4-clause \"Original\" or \"Old\" License": "http://spdx.org/licenses/BSD-4-Clause"
202 "BSD 4-clause \"Original\" or \"Old\" License": "http://spdx.org/licenses/BSD-4-Clause"
203 },
203 },
204 "python2.7-packaging-15.2": {
204 "python2.7-packaging-15.2": {
205 "Apache License 2.0": "http://spdx.org/licenses/Apache-2.0"
205 "Apache License 2.0": "http://spdx.org/licenses/Apache-2.0"
206 },
206 },
207 "python2.7-pandocfilters-1.4.1": {
207 "python2.7-pandocfilters-1.4.1": {
208 "BSD 4-clause \"Original\" or \"Old\" License": "http://spdx.org/licenses/BSD-4-Clause"
208 "BSD 4-clause \"Original\" or \"Old\" License": "http://spdx.org/licenses/BSD-4-Clause"
209 },
209 },
210 "python2.7-pathlib2-2.1.0": {
210 "python2.7-pathlib2-2.1.0": {
211 "MIT License": "http://spdx.org/licenses/MIT"
211 "MIT License": "http://spdx.org/licenses/MIT"
212 },
212 },
213 "python2.7-peppercorn-0.5": {
213 "python2.7-peppercorn-0.5": {
214 "BSD-derived": "http://www.repoze.org/LICENSE.txt"
214 "BSD-derived": "http://www.repoze.org/LICENSE.txt"
215 },
215 },
216 "python2.7-pexpect-4.2.1": {
216 "python2.7-pexpect-4.2.1": {
217 "ISC License": "http://spdx.org/licenses/ISC"
217 "ISC License": "http://spdx.org/licenses/ISC"
218 },
218 },
219 "python2.7-pickleshare-0.7.4": {
219 "python2.7-pickleshare-0.7.4": {
220 "MIT License": "http://spdx.org/licenses/MIT"
220 "MIT License": "http://spdx.org/licenses/MIT"
221 },
221 },
222 "python2.7-prompt-toolkit-1.0.14": {
222 "python2.7-prompt-toolkit-1.0.14": {
223 "BSD 4-clause \"Original\" or \"Old\" License": "http://spdx.org/licenses/BSD-4-Clause"
223 "BSD 4-clause \"Original\" or \"Old\" License": "http://spdx.org/licenses/BSD-4-Clause"
224 },
224 },
225 "python2.7-psutil-4.3.1": {
225 "python2.7-psutil-4.3.1": {
226 "BSD 4-clause \"Original\" or \"Old\" License": "http://spdx.org/licenses/BSD-4-Clause"
226 "BSD 4-clause \"Original\" or \"Old\" License": "http://spdx.org/licenses/BSD-4-Clause"
227 },
227 },
228 "python2.7-psycopg2-2.6.1": {
228 "python2.7-psycopg2-2.6.1": {
229 "GNU Lesser General Public License v3.0 or later": "http://spdx.org/licenses/LGPL-3.0+"
229 "GNU Lesser General Public License v3.0 or later": "http://spdx.org/licenses/LGPL-3.0+"
230 },
230 },
231 "python2.7-ptyprocess-0.5.1": {
231 "python2.7-ptyprocess-0.5.1": {
232 "ISC License": "http://opensource.org/licenses/ISC"
232 "ISC License": "http://opensource.org/licenses/ISC"
233 },
233 },
234 "python2.7-py-1.4.31": {
234 "python2.7-py-1.4.31": {
235 "MIT License": "http://spdx.org/licenses/MIT"
235 "MIT License": "http://spdx.org/licenses/MIT"
236 },
236 },
237 "python2.7-py-bcrypt-0.4": {
237 "python2.7-py-bcrypt-0.4": {
238 "BSD 4-clause \"Original\" or \"Old\" License": "http://spdx.org/licenses/BSD-4-Clause"
238 "BSD 4-clause \"Original\" or \"Old\" License": "http://spdx.org/licenses/BSD-4-Clause"
239 },
239 },
240 "python2.7-py-gfm-0.1.3.rhodecode-upstream1": {
240 "python2.7-py-gfm-0.1.3.rhodecode-upstream1": {
241 "BSD 4-clause \"Original\" or \"Old\" License": "http://spdx.org/licenses/BSD-4-Clause"
241 "BSD 4-clause \"Original\" or \"Old\" License": "http://spdx.org/licenses/BSD-4-Clause"
242 },
242 },
243 "python2.7-pycrypto-2.6.1": {
243 "python2.7-pycrypto-2.6.1": {
244 "Public Domain": null
244 "Public Domain": null
245 },
245 },
246 "python2.7-pycurl-7.19.5": {
246 "python2.7-pycurl-7.19.5": {
247 "MIT License": "http://spdx.org/licenses/MIT"
247 "MIT License": "http://spdx.org/licenses/MIT"
248 },
248 },
249 "python2.7-pygments-markdown-lexer-0.1.0.dev39": {
249 "python2.7-pygments-markdown-lexer-0.1.0.dev39": {
250 "Apache License 2.0": "http://spdx.org/licenses/Apache-2.0"
250 "Apache License 2.0": "http://spdx.org/licenses/Apache-2.0"
251 },
251 },
252 "python2.7-pyparsing-1.5.7": {
252 "python2.7-pyparsing-1.5.7": {
253 "MIT License": "http://spdx.org/licenses/MIT"
253 "MIT License": "http://spdx.org/licenses/MIT"
254 },
254 },
255 "python2.7-pyramid-1.7.4": {
255 "python2.7-pyramid-1.7.4": {
256 "Repoze License": "http://www.repoze.org/LICENSE.txt"
256 "Repoze License": "http://www.repoze.org/LICENSE.txt"
257 },
257 },
258 "python2.7-pyramid-beaker-0.8": {
258 "python2.7-pyramid-beaker-0.8": {
259 "Repoze License": "http://www.repoze.org/LICENSE.txt"
259 "Repoze License": "http://www.repoze.org/LICENSE.txt"
260 },
260 },
261 "python2.7-pyramid-debugtoolbar-3.0.5": {
261 "python2.7-pyramid-debugtoolbar-3.0.5": {
262 "BSD 4-clause \"Original\" or \"Old\" License": "http://spdx.org/licenses/BSD-4-Clause",
262 "BSD 4-clause \"Original\" or \"Old\" License": "http://spdx.org/licenses/BSD-4-Clause",
263 "Repoze License": "http://www.repoze.org/LICENSE.txt"
263 "Repoze License": "http://www.repoze.org/LICENSE.txt"
264 },
264 },
265 "python2.7-pyramid-jinja2-2.5": {
265 "python2.7-pyramid-jinja2-2.5": {
266 "BSD-derived": "http://www.repoze.org/LICENSE.txt"
266 "BSD-derived": "http://www.repoze.org/LICENSE.txt"
267 },
267 },
268 "python2.7-pyramid-mako-1.0.2": {
268 "python2.7-pyramid-mako-1.0.2": {
269 "Repoze License": "http://www.repoze.org/LICENSE.txt"
269 "Repoze License": "http://www.repoze.org/LICENSE.txt"
270 },
270 },
271 "python2.7-pysqlite-2.6.3": {
271 "python2.7-pysqlite-2.6.3": {
272 "libpng License": "http://spdx.org/licenses/Libpng",
272 "libpng License": "http://spdx.org/licenses/Libpng",
273 "zlib License": "http://spdx.org/licenses/Zlib"
273 "zlib License": "http://spdx.org/licenses/Zlib"
274 },
274 },
275 "python2.7-pytest-3.0.5": {
275 "python2.7-pytest-3.0.5": {
276 "MIT License": "http://spdx.org/licenses/MIT"
276 "MIT License": "http://spdx.org/licenses/MIT"
277 },
277 },
278 "python2.7-pytest-profiling-1.2.2": {
278 "python2.7-pytest-profiling-1.2.2": {
279 "MIT License": "http://spdx.org/licenses/MIT"
279 "MIT License": "http://spdx.org/licenses/MIT"
280 },
280 },
281 "python2.7-pytest-runner-2.9": {
281 "python2.7-pytest-runner-2.9": {
282 "MIT License": "http://spdx.org/licenses/MIT"
282 "MIT License": "http://spdx.org/licenses/MIT"
283 },
283 },
284 "python2.7-pytest-sugar-0.7.1": {
284 "python2.7-pytest-sugar-0.7.1": {
285 "BSD 4-clause \"Original\" or \"Old\" License": "http://spdx.org/licenses/BSD-4-Clause"
285 "BSD 4-clause \"Original\" or \"Old\" License": "http://spdx.org/licenses/BSD-4-Clause"
286 },
286 },
287 "python2.7-pytest-timeout-1.2.0": {
287 "python2.7-pytest-timeout-1.2.0": {
288 "MIT License": "http://spdx.org/licenses/MIT"
288 "MIT License": "http://spdx.org/licenses/MIT"
289 },
289 },
290 "python2.7-python-dateutil-2.1": {
290 "python2.7-python-dateutil-2.1": {
291 "Simplified BSD": null
291 "Simplified BSD": null
292 },
292 },
293 "python2.7-python-editor-1.0.3": {
293 "python2.7-python-editor-1.0.3": {
294 "Apache License 2.0": "http://spdx.org/licenses/Apache-2.0"
294 "Apache License 2.0": "http://spdx.org/licenses/Apache-2.0"
295 },
295 },
296 "python2.7-python-ldap-2.4.19": {
296 "python2.7-python-ldap-2.4.19": {
297 "Python Software Foundation License version 2": "http://spdx.org/licenses/Python-2.0"
297 "Python Software Foundation License version 2": "http://spdx.org/licenses/Python-2.0"
298 },
298 },
299 "python2.7-python-memcached-1.57": {
299 "python2.7-python-memcached-1.57": {
300 "Python Software Foundation License version 2": "http://spdx.org/licenses/Python-2.0"
300 "Python Software Foundation License version 2": "http://spdx.org/licenses/Python-2.0"
301 },
301 },
302 "python2.7-pytz-2015.4": {
302 "python2.7-pytz-2015.4": {
303 "MIT License": "http://spdx.org/licenses/MIT"
303 "MIT License": "http://spdx.org/licenses/MIT"
304 },
304 },
305 "python2.7-pyzmq-14.6.0": {
305 "python2.7-pyzmq-14.6.0": {
306 "BSD 4-clause \"Original\" or \"Old\" License": "http://spdx.org/licenses/BSD-4-Clause"
306 "BSD 4-clause \"Original\" or \"Old\" License": "http://spdx.org/licenses/BSD-4-Clause"
307 },
307 },
308 "python2.7-recaptcha-client-1.0.6": {
309 "MIT License": "http://spdx.org/licenses/MIT"
310 },
311 "python2.7-repoze.lru-0.6": {
308 "python2.7-repoze.lru-0.6": {
312 "Repoze License": "http://www.repoze.org/LICENSE.txt"
309 "Repoze License": "http://www.repoze.org/LICENSE.txt"
313 },
310 },
314 "python2.7-requests-2.9.1": {
311 "python2.7-requests-2.9.1": {
315 "Apache License 2.0": "http://spdx.org/licenses/Apache-2.0"
312 "Apache License 2.0": "http://spdx.org/licenses/Apache-2.0"
316 },
313 },
317 "python2.7-setuptools-19.4": {
314 "python2.7-setuptools-19.4": {
318 "Python Software Foundation License version 2": "http://spdx.org/licenses/Python-2.0",
315 "Python Software Foundation License version 2": "http://spdx.org/licenses/Python-2.0",
319 "Zope Public License 2.0": "http://spdx.org/licenses/ZPL-2.0"
316 "Zope Public License 2.0": "http://spdx.org/licenses/ZPL-2.0"
320 },
317 },
321 "python2.7-setuptools-scm-1.15.6": {
318 "python2.7-setuptools-scm-1.15.6": {
322 "MIT License": "http://spdx.org/licenses/MIT"
319 "MIT License": "http://spdx.org/licenses/MIT"
323 },
320 },
324 "python2.7-simplegeneric-0.8.1": {
321 "python2.7-simplegeneric-0.8.1": {
325 "Zope Public License 2.1": "http://spdx.org/licenses/ZPL-2.1"
322 "Zope Public License 2.1": "http://spdx.org/licenses/ZPL-2.1"
326 },
323 },
327 "python2.7-simplejson-3.7.2": {
324 "python2.7-simplejson-3.7.2": {
328 "MIT License": "http://spdx.org/licenses/MIT"
325 "MIT License": "http://spdx.org/licenses/MIT"
329 },
326 },
330 "python2.7-six-1.9.0": {
327 "python2.7-six-1.9.0": {
331 "MIT License": "http://spdx.org/licenses/MIT"
328 "MIT License": "http://spdx.org/licenses/MIT"
332 },
329 },
333 "python2.7-subprocess32-3.2.6": {
330 "python2.7-subprocess32-3.2.6": {
334 "Python Software Foundation License version 2": "http://spdx.org/licenses/Python-2.0"
331 "Python Software Foundation License version 2": "http://spdx.org/licenses/Python-2.0"
335 },
332 },
336 "python2.7-termcolor-1.1.0": {
333 "python2.7-termcolor-1.1.0": {
337 "MIT License": "http://spdx.org/licenses/MIT"
334 "MIT License": "http://spdx.org/licenses/MIT"
338 },
335 },
339 "python2.7-testpath-0.1": {
336 "python2.7-testpath-0.1": {
340 "MIT License": "http://spdx.org/licenses/MIT"
337 "MIT License": "http://spdx.org/licenses/MIT"
341 },
338 },
342 "python2.7-traitlets-4.3.2": {
339 "python2.7-traitlets-4.3.2": {
343 "BSD 4-clause \"Original\" or \"Old\" License": "http://spdx.org/licenses/BSD-4-Clause"
340 "BSD 4-clause \"Original\" or \"Old\" License": "http://spdx.org/licenses/BSD-4-Clause"
344 },
341 },
345 "python2.7-translationstring-1.3": {
342 "python2.7-translationstring-1.3": {
346 "Repoze License": "http://www.repoze.org/LICENSE.txt"
343 "Repoze License": "http://www.repoze.org/LICENSE.txt"
347 },
344 },
348 "python2.7-urllib3-1.16": {
345 "python2.7-urllib3-1.16": {
349 "MIT License": "http://spdx.org/licenses/MIT"
346 "MIT License": "http://spdx.org/licenses/MIT"
350 },
347 },
351 "python2.7-venusian-1.0": {
348 "python2.7-venusian-1.0": {
352 "Repoze License": "http://www.repoze.org/LICENSE.txt"
349 "Repoze License": "http://www.repoze.org/LICENSE.txt"
353 },
350 },
354 "python2.7-waitress-1.0.1": {
351 "python2.7-waitress-1.0.1": {
355 "Zope Public License 2.1": "http://spdx.org/licenses/ZPL-2.1"
352 "Zope Public License 2.1": "http://spdx.org/licenses/ZPL-2.1"
356 },
353 },
357 "python2.7-wcwidth-0.1.7": {
354 "python2.7-wcwidth-0.1.7": {
358 "MIT License": "http://spdx.org/licenses/MIT"
355 "MIT License": "http://spdx.org/licenses/MIT"
359 },
356 },
360 "python2.7-ws4py-0.3.5": {
357 "python2.7-ws4py-0.3.5": {
361 "BSD 4-clause \"Original\" or \"Old\" License": "http://spdx.org/licenses/BSD-4-Clause"
358 "BSD 4-clause \"Original\" or \"Old\" License": "http://spdx.org/licenses/BSD-4-Clause"
362 },
359 },
363 "python2.7-zope.cachedescriptors-4.0.0": {
360 "python2.7-zope.cachedescriptors-4.0.0": {
364 "Zope Public License 2.1": "http://spdx.org/licenses/ZPL-2.1"
361 "Zope Public License 2.1": "http://spdx.org/licenses/ZPL-2.1"
365 },
362 },
366 "python2.7-zope.deprecation-4.1.2": {
363 "python2.7-zope.deprecation-4.1.2": {
367 "Zope Public License 2.1": "http://spdx.org/licenses/ZPL-2.1"
364 "Zope Public License 2.1": "http://spdx.org/licenses/ZPL-2.1"
368 },
365 },
369 "python2.7-zope.interface-4.1.3": {
366 "python2.7-zope.interface-4.1.3": {
370 "Zope Public License 2.1": "http://spdx.org/licenses/ZPL-2.1"
367 "Zope Public License 2.1": "http://spdx.org/licenses/ZPL-2.1"
371 },
368 },
372 "xz-5.2.2": {
369 "xz-5.2.2": {
373 "GNU General Public License v2.0 or later": "http://spdx.org/licenses/GPL-2.0+",
370 "GNU General Public License v2.0 or later": "http://spdx.org/licenses/GPL-2.0+",
374 "GNU Library General Public License v2.1 or later": "http://spdx.org/licenses/LGPL-2.1+"
371 "GNU Library General Public License v2.1 or later": "http://spdx.org/licenses/LGPL-2.1+"
375 }
372 }
376 } No newline at end of file
373 }
@@ -1,295 +1,295 b''
1 ${h.secure_form(h.route_path('admin_settings_global_update'), request=request)}
1 ${h.secure_form(h.route_path('admin_settings_global_update'), request=request)}
2
2
3 <div class="panel panel-default">
3 <div class="panel panel-default">
4 <div class="panel-heading" id="branding-options">
4 <div class="panel-heading" id="branding-options">
5 <h3 class="panel-title">${_('Branding')} <a class="permalink" href="#branding-options"> ΒΆ</a></h3>
5 <h3 class="panel-title">${_('Branding')} <a class="permalink" href="#branding-options"> ΒΆ</a></h3>
6 </div>
6 </div>
7 <div class="panel-body">
7 <div class="panel-body">
8 <div class="label">
8 <div class="label">
9 <label for="rhodecode_title">${_('Title')}</label>
9 <label for="rhodecode_title">${_('Title')}</label>
10 </div>
10 </div>
11 <div class="field input">
11 <div class="field input">
12 ${h.text('rhodecode_title',size=60)}
12 ${h.text('rhodecode_title',size=60)}
13 </div>
13 </div>
14 <div class="field">
14 <div class="field">
15 <span class="help-block">
15 <span class="help-block">
16 ${_('Set a custom title for your RhodeCode instance (limited to 40 characters).')}
16 ${_('Set a custom title for your RhodeCode instance (limited to 40 characters).')}
17 </span>
17 </span>
18 </div>
18 </div>
19 <div class="label">
19 <div class="label">
20 <label for="rhodecode_realm">${_('HTTP[S] authentication realm')}</label>
20 <label for="rhodecode_realm">${_('HTTP[S] authentication realm')}</label>
21 </div>
21 </div>
22 <div class="field input">
22 <div class="field input">
23 ${h.text('rhodecode_realm',size=60)}
23 ${h.text('rhodecode_realm',size=60)}
24 </div>
24 </div>
25 <div class="field">
25 <div class="field">
26 <span class="help-block">
26 <span class="help-block">
27 ${_('Set a custom text that is shown as authentication message to clients trying to connect.')}
27 ${_('Set a custom text that is shown as authentication message to clients trying to connect.')}
28 </span>
28 </span>
29 </div>
29 </div>
30 </div>
30 </div>
31 </div>
31 </div>
32
32
33
33
34 <div class="panel panel-default">
34 <div class="panel panel-default">
35 <div class="panel-heading" id="personal-group-options">
35 <div class="panel-heading" id="personal-group-options">
36 <h3 class="panel-title">${_('Personal Repository Group')} <a class="permalink" href="#personal-group-options"> ΒΆ</a></h3>
36 <h3 class="panel-title">${_('Personal Repository Group')} <a class="permalink" href="#personal-group-options"> ΒΆ</a></h3>
37 </div>
37 </div>
38 <div class="panel-body">
38 <div class="panel-body">
39 <div class="checkbox">
39 <div class="checkbox">
40 ${h.checkbox('rhodecode_create_personal_repo_group','True')}
40 ${h.checkbox('rhodecode_create_personal_repo_group','True')}
41 <label for="rhodecode_create_personal_repo_group">${_('Create Personal Repository Group')}</label>
41 <label for="rhodecode_create_personal_repo_group">${_('Create Personal Repository Group')}</label>
42 </div>
42 </div>
43 <span class="help-block">
43 <span class="help-block">
44 ${_('Always create Personal Repository Groups for new users.')} <br/>
44 ${_('Always create Personal Repository Groups for new users.')} <br/>
45 ${_('When creating new users from add user form or API you can still turn this off via a checkbox or flag')}
45 ${_('When creating new users from add user form or API you can still turn this off via a checkbox or flag')}
46 </span>
46 </span>
47
47
48 <div class="label">
48 <div class="label">
49 <label for="rhodecode_personal_repo_group_pattern">${_('Personal Repo Group Pattern')}</label>
49 <label for="rhodecode_personal_repo_group_pattern">${_('Personal Repo Group Pattern')}</label>
50 </div>
50 </div>
51 <div class="field input">
51 <div class="field input">
52 ${h.text('rhodecode_personal_repo_group_pattern',size=60, placeholder=c.personal_repo_group_default_pattern)}
52 ${h.text('rhodecode_personal_repo_group_pattern',size=60, placeholder=c.personal_repo_group_default_pattern)}
53 </div>
53 </div>
54 <span class="help-block">
54 <span class="help-block">
55 ${_('Pattern used to create Personal Repository Groups. Prefix can be other existing repository group path[s], eg. /u/${username}')} <br/>
55 ${_('Pattern used to create Personal Repository Groups. Prefix can be other existing repository group path[s], eg. /u/${username}')} <br/>
56 ${_('Available variables are currently ${username} and ${user_id}')}
56 ${_('Available variables are currently ${username} and ${user_id}')}
57 </span>
57 </span>
58 </div>
58 </div>
59 </div>
59 </div>
60
60
61
61
62 <div class="panel panel-default">
62 <div class="panel panel-default">
63 <div class="panel-heading" id="captcha-options">
63 <div class="panel-heading" id="captcha-options">
64 <h3 class="panel-title">${_('Registration Captcha')} <a class="permalink" href="#captcha-options"> ΒΆ</a></h3>
64 <h3 class="panel-title">${_('Registration Captcha')} <a class="permalink" href="#captcha-options"> ΒΆ</a></h3>
65 </div>
65 </div>
66 <div class="panel-body">
66 <div class="panel-body">
67 <div class="label">
67 <div class="label">
68 <label for="rhodecode_captcha_public_key">${_('Google ReCaptcha public key')}</label>
68 <label for="rhodecode_captcha_public_key">${_('Google reCaptcha v2 site key.')}</label>
69 </div>
69 </div>
70 <div class="field input">
70 <div class="field input">
71 ${h.text('rhodecode_captcha_public_key',size=60)}
71 ${h.text('rhodecode_captcha_public_key',size=60)}
72 </div>
72 </div>
73 <div class="field">
73 <div class="field">
74 <span class="help-block">
74 <span class="help-block">
75 ${_('Public key for reCaptcha system.')}
75 ${_('Site key for reCaptcha v2 system.')}
76 </span>
76 </span>
77 </div>
77 </div>
78
78
79 <div class="label">
79 <div class="label">
80 <label for="rhodecode_captcha_private_key">${_('Google ReCaptcha private key')}</label>
80 <label for="rhodecode_captcha_private_key">${_('Google reCaptcha v2 secret key.')}</label>
81 </div>
81 </div>
82 <div class="field input">
82 <div class="field input">
83 ${h.text('rhodecode_captcha_private_key',size=60)}
83 ${h.text('rhodecode_captcha_private_key',size=60)}
84 </div>
84 </div>
85 <div class="field">
85 <div class="field">
86 <span class="help-block">
86 <span class="help-block">
87 ${_('Private key for reCaptcha system. Setting this value will enable captcha on registration')}
87 ${_('Secret key for reCaptcha v2 system. Setting this value will enable captcha on registration and password reset forms.')}
88 </span>
88 </span>
89 </div>
89 </div>
90 </div>
90 </div>
91 </div>
91 </div>
92
92
93 <div class="panel panel-default">
93 <div class="panel panel-default">
94 <div class="panel-heading" id="header-code-options">
94 <div class="panel-heading" id="header-code-options">
95 <h3 class="panel-title">${_('Custom Header Code')} <a class="permalink" href="#header-code-options"> ΒΆ</a></h3>
95 <h3 class="panel-title">${_('Custom Header Code')} <a class="permalink" href="#header-code-options"> ΒΆ</a></h3>
96 </div>
96 </div>
97 <div class="panel-body">
97 <div class="panel-body">
98 <div class="select">
98 <div class="select">
99 <select id="pre_template" >
99 <select id="pre_template" >
100 <option value="#">${_('Templates...')}</option>
100 <option value="#">${_('Templates...')}</option>
101 <option value="ga">Google Analytics</option>
101 <option value="ga">Google Analytics</option>
102 <option value="clicky">Clicky</option>
102 <option value="clicky">Clicky</option>
103 <option value="server_announce">${_('Server Announcement')}</option>
103 <option value="server_announce">${_('Server Announcement')}</option>
104 <option value="flash_filtering">${_('Flash message filtering')}</option>
104 <option value="flash_filtering">${_('Flash message filtering')}</option>
105 </select>
105 </select>
106 </div>
106 </div>
107 <div style="padding: 10px 0px"></div>
107 <div style="padding: 10px 0px"></div>
108 <div class="textarea text-area">
108 <div class="textarea text-area">
109 ${h.textarea('rhodecode_pre_code',cols=23,rows=5,class_="medium")}
109 ${h.textarea('rhodecode_pre_code',cols=23,rows=5,class_="medium")}
110 <span class="help-block">${_('Custom js/css code added at the end of the <header/> tag.')}
110 <span class="help-block">${_('Custom js/css code added at the end of the <header/> tag.')}
111 ${_('Use <script/> or <css/> tags to define custom styling or scripting')}</span>
111 ${_('Use <script/> or <css/> tags to define custom styling or scripting')}</span>
112 </div>
112 </div>
113 </div>
113 </div>
114 </div>
114 </div>
115
115
116 <div class="panel panel-default">
116 <div class="panel panel-default">
117 <div class="panel-heading" id="footer-code-options">
117 <div class="panel-heading" id="footer-code-options">
118 <h3 class="panel-title">${_('Custom Footer Code')} <a class="permalink" href="#footer-code-options"> ΒΆ</a></h3>
118 <h3 class="panel-title">${_('Custom Footer Code')} <a class="permalink" href="#footer-code-options"> ΒΆ</a></h3>
119 </div>
119 </div>
120 <div class="panel-body">
120 <div class="panel-body">
121 <div class="select">
121 <div class="select">
122 <select id="post_template" >
122 <select id="post_template" >
123 <option value="#">${_('Templates...')}</option>
123 <option value="#">${_('Templates...')}</option>
124 <option value="ga">Google Analytics</option>
124 <option value="ga">Google Analytics</option>
125 <option value="clicky">Clicky</option>
125 <option value="clicky">Clicky</option>
126 <option value="server_announce">${_('Server Announcement')}</option>
126 <option value="server_announce">${_('Server Announcement')}</option>
127 </select>
127 </select>
128 </div>
128 </div>
129 <div style="padding: 10px 0px"></div>
129 <div style="padding: 10px 0px"></div>
130 <div class="textarea text-area">
130 <div class="textarea text-area">
131 ${h.textarea('rhodecode_post_code',cols=23,rows=5, class_="medium")}
131 ${h.textarea('rhodecode_post_code',cols=23,rows=5, class_="medium")}
132 <span class="help-block">${_('Custom js/css code added at the end of the <body> tag.')}
132 <span class="help-block">${_('Custom js/css code added at the end of the <body> tag.')}
133 ${_('Use <script> or <css> tags to define custom styling or scripting')}</span>
133 ${_('Use <script> or <css> tags to define custom styling or scripting')}</span>
134 </div>
134 </div>
135 </div>
135 </div>
136 </div>
136 </div>
137
137
138 <div class="buttons">
138 <div class="buttons">
139 ${h.submit('save',_('Save settings'),class_="btn")}
139 ${h.submit('save',_('Save settings'),class_="btn")}
140 ${h.reset('reset',_('Reset'),class_="btn")}
140 ${h.reset('reset',_('Reset'),class_="btn")}
141 </div>
141 </div>
142 ${h.end_form()}
142 ${h.end_form()}
143
143
144
144
145
145
146 ## TEMPLATES ##
146 ## TEMPLATES ##
147 ###############
147 ###############
148
148
149 <script id="ga_tmpl" type="text/x-template">
149 <script id="ga_tmpl" type="text/x-template">
150 <%text filter="h">
150 <%text filter="h">
151 <script>
151 <script>
152 // Google Analytics
152 // Google Analytics
153 // Put your Google Analytics code instead of _GACODE_
153 // Put your Google Analytics code instead of _GACODE_
154 var _gaq_code = '_GACODE_';
154 var _gaq_code = '_GACODE_';
155 var _gaq = _gaq || [];
155 var _gaq = _gaq || [];
156 _gaq.push(['_setAccount', _gaq_code]);
156 _gaq.push(['_setAccount', _gaq_code]);
157 _gaq.push(['_trackPageview']);
157 _gaq.push(['_trackPageview']);
158
158
159 (function() {
159 (function() {
160 var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
160 var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
161 ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
161 ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
162 var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
162 var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
163 })();
163 })();
164
164
165 rhodecode_statechange_callback = function(url, data){
165 rhodecode_statechange_callback = function(url, data){
166 // ANALYTICS callback on html5 history state changed
166 // ANALYTICS callback on html5 history state changed
167 // triggered by file browser, url is the new url,
167 // triggered by file browser, url is the new url,
168 // data is extra info passed from the State object
168 // data is extra info passed from the State object
169 if (typeof window._gaq !== 'undefined') {
169 if (typeof window._gaq !== 'undefined') {
170 _gaq.push(['_trackPageview', url]);
170 _gaq.push(['_trackPageview', url]);
171 }
171 }
172 };
172 };
173 </script>
173 </script>
174 </%text>
174 </%text>
175 </script>
175 </script>
176
176
177
177
178
178
179 <script id="clicky_tmpl" type="text/x-template">
179 <script id="clicky_tmpl" type="text/x-template">
180 <%text filter="h">
180 <%text filter="h">
181 <script src="//static.getclicky.com/js" type="text/javascript"></script>
181 <script src="//static.getclicky.com/js" type="text/javascript"></script>
182 <script type="text/javascript">
182 <script type="text/javascript">
183 // Clicky Analytics - should be used in the footer code section.
183 // Clicky Analytics - should be used in the footer code section.
184 // Put your Clicky code instead of _CLICKYCODE_ here,
184 // Put your Clicky code instead of _CLICKYCODE_ here,
185 // and below in the <img> tag.
185 // and below in the <img> tag.
186 var _cl_code = _CLICKYCODE_;
186 var _cl_code = _CLICKYCODE_;
187 try{clicky.init(_cl_code);}catch(e){}
187 try{clicky.init(_cl_code);}catch(e){}
188
188
189 rhodecode_statechange_callback = function(url, data){
189 rhodecode_statechange_callback = function(url, data){
190 // ANALYTICS callback on html5 history state changed
190 // ANALYTICS callback on html5 history state changed
191 // triggered by file browser, url is the new url,
191 // triggered by file browser, url is the new url,
192 // data is extra info passed from the State object
192 // data is extra info passed from the State object
193 if (typeof window.clicky !== 'undefined') {
193 if (typeof window.clicky !== 'undefined') {
194 clicky.log(url);
194 clicky.log(url);
195 }
195 }
196 }
196 }
197 </script>
197 </script>
198 <noscript>
198 <noscript>
199 // Put your clicky code in the src file.
199 // Put your clicky code in the src file.
200 <p><img alt="Clicky" width="1" height="1"
200 <p><img alt="Clicky" width="1" height="1"
201 src="//in.getclicky.com/_CLICKYCODE_ns.gif" /></p>
201 src="//in.getclicky.com/_CLICKYCODE_ns.gif" /></p>
202 </noscript>
202 </noscript>
203 </%text>
203 </%text>
204 </script>
204 </script>
205
205
206
206
207
207
208 <script id="server_announce_tmpl" type='text/x-template'>
208 <script id="server_announce_tmpl" type='text/x-template'>
209 <%text filter="h">
209 <%text filter="h">
210 <script>
210 <script>
211 // Server announcement displayed on the top of the page.
211 // Server announcement displayed on the top of the page.
212 // This can be used to send a global maintenance messages or other
212 // This can be used to send a global maintenance messages or other
213 // important messages to all users of the RhodeCode Enterprise system.
213 // important messages to all users of the RhodeCode Enterprise system.
214
214
215 $(document).ready(function(e){
215 $(document).ready(function(e){
216
216
217 // EDIT - put your message below
217 // EDIT - put your message below
218 var message = "TYPE YOUR MESSAGE HERE";
218 var message = "TYPE YOUR MESSAGE HERE";
219
219
220 // EDIT - choose "info"/"warning"/"error"/"success"/"neutral" as appropriate
220 // EDIT - choose "info"/"warning"/"error"/"success"/"neutral" as appropriate
221 var alert_level = "info";
221 var alert_level = "info";
222
222
223 $("#body").prepend(
223 $("#body").prepend(
224 ("<div id='server-announcement' class='"+alert_level+"'>_MSG_"+"</div>").replace("_MSG_", message)
224 ("<div id='server-announcement' class='"+alert_level+"'>_MSG_"+"</div>").replace("_MSG_", message)
225 )
225 )
226 })
226 })
227 </script>
227 </script>
228 </%text>
228 </%text>
229 </script>
229 </script>
230
230
231 <script id="flash_filtering_tmpl" type='text/x-template'>
231 <script id="flash_filtering_tmpl" type='text/x-template'>
232 <%text filter="h">
232 <%text filter="h">
233 <script>
233 <script>
234 // This filters out some flash messages before they are presented to user
234 // This filters out some flash messages before they are presented to user
235 // based on their contents. Could be used to filter out warnings/errors
235 // based on their contents. Could be used to filter out warnings/errors
236 // of license messages
236 // of license messages
237
237
238 var filteredMessages = [];
238 var filteredMessages = [];
239 for(var i =0; i< alertMessagePayloads.length; i++){
239 for(var i =0; i< alertMessagePayloads.length; i++){
240 if (typeof alertMessagePayloads[i].message.subdata.subtype !== 'undefined' &&
240 if (typeof alertMessagePayloads[i].message.subdata.subtype !== 'undefined' &&
241 alertMessagePayloads[i].message.subdata.subtype.indexOf('rc_license') !== -1){
241 alertMessagePayloads[i].message.subdata.subtype.indexOf('rc_license') !== -1){
242 continue
242 continue
243 }
243 }
244 filteredMessages.push(alertMessagePayloads[i]);
244 filteredMessages.push(alertMessagePayloads[i]);
245 }
245 }
246 alertMessagePayloads = filteredMessages;
246 alertMessagePayloads = filteredMessages;
247 </script>
247 </script>
248 </%text>
248 </%text>
249 </script>
249 </script>
250
250
251 <script>
251 <script>
252 var pre_cm = initCodeMirror('rhodecode_pre_code', '', false);
252 var pre_cm = initCodeMirror('rhodecode_pre_code', '', false);
253 var pre_old = pre_cm.getValue();
253 var pre_old = pre_cm.getValue();
254
254
255 var post_cm = initCodeMirror('rhodecode_post_code', '', false);
255 var post_cm = initCodeMirror('rhodecode_post_code', '', false);
256 var post_old = post_cm.getValue();
256 var post_old = post_cm.getValue();
257
257
258 var get_data = function(type, old){
258 var get_data = function(type, old){
259 var get_tmpl = function(tmpl_name){
259 var get_tmpl = function(tmpl_name){
260 // unescape some stuff
260 // unescape some stuff
261 return htmlEnDeCode.htmlDecode($('#'+tmpl_name+'_tmpl').html());
261 return htmlEnDeCode.htmlDecode($('#'+tmpl_name+'_tmpl').html());
262 };
262 };
263 return {
263 return {
264 '#': old,
264 '#': old,
265 'ga': get_tmpl('ga'),
265 'ga': get_tmpl('ga'),
266 'clicky': get_tmpl('clicky'),
266 'clicky': get_tmpl('clicky'),
267 'server_announce': get_tmpl('server_announce'),
267 'server_announce': get_tmpl('server_announce'),
268 'flash_filtering': get_tmpl('flash_filtering')
268 'flash_filtering': get_tmpl('flash_filtering')
269 }[type]
269 }[type]
270 };
270 };
271
271
272 $('#pre_template').select2({
272 $('#pre_template').select2({
273 containerCssClass: 'drop-menu',
273 containerCssClass: 'drop-menu',
274 dropdownCssClass: 'drop-menu-dropdown',
274 dropdownCssClass: 'drop-menu-dropdown',
275 dropdownAutoWidth: true,
275 dropdownAutoWidth: true,
276 minimumResultsForSearch: -1
276 minimumResultsForSearch: -1
277 });
277 });
278
278
279 $('#post_template').select2({
279 $('#post_template').select2({
280 containerCssClass: 'drop-menu',
280 containerCssClass: 'drop-menu',
281 dropdownCssClass: 'drop-menu-dropdown',
281 dropdownCssClass: 'drop-menu-dropdown',
282 dropdownAutoWidth: true,
282 dropdownAutoWidth: true,
283 minimumResultsForSearch: -1
283 minimumResultsForSearch: -1
284 });
284 });
285
285
286 $('#post_template').on('change', function(e){
286 $('#post_template').on('change', function(e){
287 var sel = this.value;
287 var sel = this.value;
288 post_cm.setValue(get_data(sel, post_old))
288 post_cm.setValue(get_data(sel, post_old))
289 });
289 });
290
290
291 $('#pre_template').on('change', function(e){
291 $('#pre_template').on('change', function(e){
292 var sel = this.value;
292 var sel = this.value;
293 pre_cm.setValue(get_data(sel, pre_old))
293 pre_cm.setValue(get_data(sel, pre_old))
294 })
294 })
295 </script>
295 </script>
@@ -1,91 +1,98 b''
1 ## -*- coding: utf-8 -*-
1 ## -*- coding: utf-8 -*-
2 <%inherit file="base/root.mako"/>
2 <%inherit file="base/root.mako"/>
3
3
4 <%def name="title()">
4 <%def name="title()">
5 ${_('Reset Password')}
5 ${_('Reset Password')}
6 %if c.rhodecode_name:
6 %if c.rhodecode_name:
7 &middot; ${h.branding(c.rhodecode_name)}
7 &middot; ${h.branding(c.rhodecode_name)}
8 %endif
8 %endif
9 </%def>
9 </%def>
10 <style>body{background-color:#eeeeee;}</style>
10 <style>body{background-color:#eeeeee;}</style>
11
11
12 <div class="loginbox">
12 <div class="loginbox">
13 <div class="header">
13 <div class="header">
14 <div id="header-inner" class="title">
14 <div id="header-inner" class="title">
15 <div id="logo">
15 <div id="logo">
16 <div class="logo-wrapper">
16 <div class="logo-wrapper">
17 <a href="${h.route_path('home')}"><img src="${h.asset('images/rhodecode-logo-white-216x60.png')}" alt="RhodeCode"/></a>
17 <a href="${h.route_path('home')}"><img src="${h.asset('images/rhodecode-logo-white-216x60.png')}" alt="RhodeCode"/></a>
18 </div>
18 </div>
19 %if c.rhodecode_name:
19 %if c.rhodecode_name:
20 <div class="branding"> ${h.branding(c.rhodecode_name)}</div>
20 <div class="branding"> ${h.branding(c.rhodecode_name)}</div>
21 %endif
21 %endif
22 </div>
22 </div>
23 </div>
23 </div>
24 </div>
24 </div>
25
25
26 <div class="loginwrapper">
26 <div class="loginwrapper">
27 <rhodecode-toast id="notifications"></rhodecode-toast>
27 <rhodecode-toast id="notifications"></rhodecode-toast>
28 <div class="left-column">
28 <div class="left-column">
29 <img class="sign-in-image" src="${h.asset('images/sign-in.png')}" alt="RhodeCode"/>
29 <img class="sign-in-image" src="${h.asset('images/sign-in.png')}" alt="RhodeCode"/>
30 </div>
30 </div>
31
31
32 %if h.HasPermissionAny('hg.password_reset.disabled')():
32 %if h.HasPermissionAny('hg.password_reset.disabled')():
33 <div class="right-column">
33 <div class="right-column">
34 <p>
34 <p>
35 ${_('Password reset is disabled. Please contact ')}
35 ${_('Password reset is disabled. Please contact ')}
36 % if c.visual.rhodecode_support_url:
36 % if c.visual.rhodecode_support_url:
37 <a href="${c.visual.rhodecode_support_url}" target="_blank">${_('Support')}</a>
37 <a href="${c.visual.rhodecode_support_url}" target="_blank">${_('Support')}</a>
38 ${_('or')}
38 ${_('or')}
39 % endif
39 % endif
40 ${_('an administrator if you need help.')}
40 ${_('an administrator if you need help.')}
41 </p>
41 </p>
42 </div>
42 </div>
43 %else:
43 %else:
44 <div id="register" class="right-column">
44 <div id="register" class="right-column">
45 <!-- login -->
45 <!-- login -->
46 <div class="sign-in-title">
46 <div class="sign-in-title">
47 <h1>${_('Reset your Password')}</h1>
47 <h1>${_('Reset your Password')}</h1>
48 <h4>${h.link_to(_("Go to the login page to sign in."), request.route_path('login'))}</h4>
48 <h4>${h.link_to(_("Go to the login page to sign in."), request.route_path('login'))}</h4>
49 </div>
49 </div>
50 <div class="inner form">
50 <div class="inner form">
51 ${h.form(request.route_path('reset_password'), needs_csrf_token=False)}
51 ${h.form(request.route_path('reset_password'), needs_csrf_token=False)}
52 <label for="email">${_('Email Address')}:</label>
52 <label for="email">${_('Email Address')}:</label>
53 ${h.text('email', defaults.get('email'))}
53 ${h.text('email', defaults.get('email'))}
54 %if 'email' in errors:
54 %if 'email' in errors:
55 <span class="error-message">${errors.get('email')}</span>
55 <span class="error-message">${errors.get('email')}</span>
56 <br />
56 <br />
57 %endif
57 %endif
58
58
59 %if captcha_active:
59 %if captcha_active:
60 <div class="login-captcha">
60 <div class="login-captcha">
61 <label for="email">${_('Captcha')}:</label>
61 <label for="email">${_('Captcha')}:</label>
62 ${h.hidden('recaptcha_field')}
62 ${h.hidden('recaptcha_field')}
63 <div id="recaptcha"></div>
63 <div id="recaptcha"></div>
64
64 %if 'recaptcha_field' in errors:
65 %if 'recaptcha_field' in errors:
65 <span class="error-message">${errors.get('recaptcha_field')}</span>
66 <span class="error-message">${errors.get('recaptcha_field')}</span>
66 <br />
67 <br />
67 %endif
68 %endif
68 </div>
69 </div>
69 %endif
70 %endif
70
71
71 ${h.submit('send', _('Send password reset email'), class_="btn sign-in")}
72 ${h.submit('send', _('Send password reset email'), class_="btn sign-in")}
72 <div class="activation_msg">${_('Password reset link will be sent to matching email address')}</div>
73 <div class="activation_msg">${_('Password reset link will be sent to matching email address')}</div>
73
74
74 ${h.end_form()}
75 ${h.end_form()}
75 </div>
76 </div>
76 </div>
77 </div>
77 %endif
78 %endif
78 </div>
79 </div>
79 </div>
80 </div>
80
81
81 %if captcha_active:
82 <script type="text/javascript" src="https://www.google.com/recaptcha/api/js/recaptcha_ajax.js"></script>
83 %endif
84 <script type="text/javascript">
82 <script type="text/javascript">
85 $(document).ready(function(){
83 $(document).ready(function(){
86 $('#email').focus();
84 $('#email').focus();
87 %if captcha_active:
88 Recaptcha.create("${captcha_public_key}", "recaptcha", {theme: "white"});
89 %endif
90 });
85 });
91 </script>
86 </script>
87
88 % if captcha_active:
89 <script type="text/javascript">
90 var onloadCallback = function() {
91 grecaptcha.render('recaptcha', {
92 'sitekey' : "${captcha_public_key}"
93 });
94 };
95 </script>
96 <script src="https://www.google.com/recaptcha/api.js?onload=onloadCallback&render=explicit" async defer></script>
97 % endif
98
@@ -1,123 +1,130 b''
1 ## -*- coding: utf-8 -*-
1 ## -*- coding: utf-8 -*-
2 <%inherit file="base/root.mako"/>
2 <%inherit file="base/root.mako"/>
3
3
4 <%def name="title()">
4 <%def name="title()">
5 ${_('Create an Account')}
5 ${_('Create an Account')}
6 %if c.rhodecode_name:
6 %if c.rhodecode_name:
7 &middot; ${h.branding(c.rhodecode_name)}
7 &middot; ${h.branding(c.rhodecode_name)}
8 %endif
8 %endif
9 </%def>
9 </%def>
10 <style>body{background-color:#eeeeee;}</style>
10 <style>body{background-color:#eeeeee;}</style>
11
11
12 <div class="loginbox">
12 <div class="loginbox">
13 <div class="header">
13 <div class="header">
14 <div id="header-inner" class="title">
14 <div id="header-inner" class="title">
15 <div id="logo">
15 <div id="logo">
16 <div class="logo-wrapper">
16 <div class="logo-wrapper">
17 <a href="${h.route_path('home')}"><img src="${h.asset('images/rhodecode-logo-white-216x60.png')}" alt="RhodeCode"/></a>
17 <a href="${h.route_path('home')}"><img src="${h.asset('images/rhodecode-logo-white-216x60.png')}" alt="RhodeCode"/></a>
18 </div>
18 </div>
19 %if c.rhodecode_name:
19 %if c.rhodecode_name:
20 <div class="branding"> ${h.branding(c.rhodecode_name)}</div>
20 <div class="branding"> ${h.branding(c.rhodecode_name)}</div>
21 %endif
21 %endif
22 </div>
22 </div>
23 </div>
23 </div>
24 </div>
24 </div>
25
25
26 <div class="loginwrapper">
26 <div class="loginwrapper">
27 <rhodecode-toast id="notifications"></rhodecode-toast>
27 <rhodecode-toast id="notifications"></rhodecode-toast>
28 <div class="left-column">
28 <div class="left-column">
29 <img class="sign-in-image" src="${h.asset('images/sign-in.png')}" alt="RhodeCode"/>
29 <img class="sign-in-image" src="${h.asset('images/sign-in.png')}" alt="RhodeCode"/>
30 </div>
30 </div>
31 <%block name="above_register_button" />
31 <%block name="above_register_button" />
32 <div id="register" class="right-column">
32 <div id="register" class="right-column">
33 <!-- login -->
33 <!-- login -->
34 <div class="sign-in-title">
34 <div class="sign-in-title">
35 <h1>${_('Create an account')}</h1>
35 <h1>${_('Create an account')}</h1>
36 <h4>${h.link_to(_("Go to the login page to sign in with an existing account."), request.route_path('login'))}</h4>
36 <h4>${h.link_to(_("Go to the login page to sign in with an existing account."), request.route_path('login'))}</h4>
37 </div>
37 </div>
38 <div class="inner form">
38 <div class="inner form">
39 ${h.form(request.route_path('register'), needs_csrf_token=False)}
39 ${h.form(request.route_path('register'), needs_csrf_token=False)}
40
40
41 <label for="username">${_('Username')}:</label>
41 <label for="username">${_('Username')}:</label>
42 ${h.text('username', defaults.get('username'))}
42 ${h.text('username', defaults.get('username'))}
43 %if 'username' in errors:
43 %if 'username' in errors:
44 <span class="error-message">${errors.get('username')}</span>
44 <span class="error-message">${errors.get('username')}</span>
45 <br />
45 <br />
46 %endif
46 %endif
47
47
48 <label for="password">${_('Password')}:</label>
48 <label for="password">${_('Password')}:</label>
49 ${h.password('password', defaults.get('password'))}
49 ${h.password('password', defaults.get('password'))}
50 %if 'password' in errors:
50 %if 'password' in errors:
51 <span class="error-message">${errors.get('password')}</span>
51 <span class="error-message">${errors.get('password')}</span>
52 <br />
52 <br />
53 %endif
53 %endif
54
54
55 <label for="password_confirmation">${_('Re-enter password')}:</label>
55 <label for="password_confirmation">${_('Re-enter password')}:</label>
56 ${h.password('password_confirmation', defaults.get('password_confirmation'))}
56 ${h.password('password_confirmation', defaults.get('password_confirmation'))}
57 %if 'password_confirmation' in errors:
57 %if 'password_confirmation' in errors:
58 <span class="error-message">${errors.get('password_confirmation')}</span>
58 <span class="error-message">${errors.get('password_confirmation')}</span>
59 <br />
59 <br />
60 %endif
60 %endif
61
61
62 <label for="firstname">${_('First Name')}:</label>
62 <label for="firstname">${_('First Name')}:</label>
63 ${h.text('firstname', defaults.get('firstname'))}
63 ${h.text('firstname', defaults.get('firstname'))}
64 %if 'firstname' in errors:
64 %if 'firstname' in errors:
65 <span class="error-message">${errors.get('firstname')}</span>
65 <span class="error-message">${errors.get('firstname')}</span>
66 <br />
66 <br />
67 %endif
67 %endif
68
68
69 <label for="lastname">${_('Last Name')}:</label>
69 <label for="lastname">${_('Last Name')}:</label>
70 ${h.text('lastname', defaults.get('lastname'))}
70 ${h.text('lastname', defaults.get('lastname'))}
71 %if 'lastname' in errors:
71 %if 'lastname' in errors:
72 <span class="error-message">${errors.get('lastname')}</span>
72 <span class="error-message">${errors.get('lastname')}</span>
73 <br />
73 <br />
74 %endif
74 %endif
75
75
76 <label for="email">${_('Email')}:</label>
76 <label for="email">${_('Email')}:</label>
77 ${h.text('email', defaults.get('email'))}
77 ${h.text('email', defaults.get('email'))}
78 %if 'email' in errors:
78 %if 'email' in errors:
79 <span class="error-message">${errors.get('email')}</span>
79 <span class="error-message">${errors.get('email')}</span>
80 <br />
80 <br />
81 %endif
81 %endif
82
82
83 %if captcha_active:
83 %if captcha_active:
84 <div>
84 <div>
85 <label for="recaptcha">${_('Captcha')}:</label>
85 <label for="recaptcha">${_('Captcha')}:</label>
86 ${h.hidden('recaptcha_field')}
86 ${h.hidden('recaptcha_field')}
87 <div id="recaptcha"></div>
87 <div id="recaptcha"></div>
88 %if 'recaptcha_field' in errors:
88 %if 'recaptcha_field' in errors:
89 <span class="error-message">${errors.get('recaptcha_field')}</span>
89 <span class="error-message">${errors.get('recaptcha_field')}</span>
90 <br />
90 <br />
91 %endif
91 %endif
92 </div>
92 </div>
93 %endif
93 %endif
94
94
95 %if not auto_active:
95 %if not auto_active:
96 <p class="activation_msg">
96 <p class="activation_msg">
97 ${_('Account activation requires admin approval.')}
97 ${_('Account activation requires admin approval.')}
98 </p>
98 </p>
99 %endif
99 %endif
100 <p class="register_message">
100 <p class="register_message">
101 ${register_message|n}
101 ${register_message|n}
102 </p>
102 </p>
103
103
104 ${h.submit('sign_up',_('Create Account'),class_="btn sign-in")}
104 ${h.submit('sign_up',_('Create Account'),class_="btn sign-in")}
105
105
106 ${h.end_form()}
106 ${h.end_form()}
107 </div>
107 </div>
108 <%block name="below_register_button" />
108 <%block name="below_register_button" />
109 </div>
109 </div>
110 </div>
110 </div>
111 </div>
111 </div>
112
112
113 %if captcha_active:
113
114 <script type="text/javascript" src="https://www.google.com/recaptcha/api/js/recaptcha_ajax.js"></script>
115 %endif
116 <script type="text/javascript">
114 <script type="text/javascript">
117 $(document).ready(function(){
115 $(document).ready(function(){
118 $('#username').focus();
116 $('#username').focus();
119 %if captcha_active:
120 Recaptcha.create("${captcha_public_key}", "recaptcha", {theme: "white"});
121 %endif
122 });
117 });
123 </script>
118 </script>
119
120 % if captcha_active:
121 <script type="text/javascript">
122 var onloadCallback = function() {
123 grecaptcha.render('recaptcha', {
124 'sitekey' : "${captcha_public_key}"
125 });
126 };
127 </script>
128 <script src="https://www.google.com/recaptcha/api.js?onload=onloadCallback&render=explicit" async defer></script>
129 % endif
130
General Comments 0
You need to be logged in to leave comments. Login now