##// END OF EJS Templates
packages: updated celery to 4.3.0 and switch default backend to redis...
marcink -
r3913:dfb2da80 default
parent child Browse files
Show More
@@ -1,741 +1,744 b''
1
1
2
2
3 ################################################################################
3 ################################################################################
4 ## RHODECODE COMMUNITY EDITION CONFIGURATION ##
4 ## RHODECODE COMMUNITY EDITION CONFIGURATION ##
5 ################################################################################
5 ################################################################################
6
6
7 [DEFAULT]
7 [DEFAULT]
8 ## Debug flag sets all loggers to debug, and enables request tracking
8 ## Debug flag sets all loggers to debug, and enables request tracking
9 debug = true
9 debug = true
10
10
11 ################################################################################
11 ################################################################################
12 ## EMAIL CONFIGURATION ##
12 ## EMAIL CONFIGURATION ##
13 ## Uncomment and replace with the email address which should receive ##
13 ## Uncomment and replace with the email address which should receive ##
14 ## any error reports after an application crash ##
14 ## any error reports after an application crash ##
15 ## Additionally these settings will be used by the RhodeCode mailing system ##
15 ## Additionally these settings will be used by the RhodeCode mailing system ##
16 ################################################################################
16 ################################################################################
17
17
18 ## prefix all emails subjects with given prefix, helps filtering out emails
18 ## prefix all emails subjects with given prefix, helps filtering out emails
19 #email_prefix = [RhodeCode]
19 #email_prefix = [RhodeCode]
20
20
21 ## email FROM address all mails will be sent
21 ## email FROM address all mails will be sent
22 #app_email_from = rhodecode-noreply@localhost
22 #app_email_from = rhodecode-noreply@localhost
23
23
24 #smtp_server = mail.server.com
24 #smtp_server = mail.server.com
25 #smtp_username =
25 #smtp_username =
26 #smtp_password =
26 #smtp_password =
27 #smtp_port =
27 #smtp_port =
28 #smtp_use_tls = false
28 #smtp_use_tls = false
29 #smtp_use_ssl = true
29 #smtp_use_ssl = true
30
30
31 [server:main]
31 [server:main]
32 ## COMMON ##
32 ## COMMON ##
33 host = 127.0.0.1
33 host = 127.0.0.1
34 port = 5000
34 port = 5000
35
35
36 ###########################################################
36 ###########################################################
37 ## WAITRESS WSGI SERVER - Recommended for Development ####
37 ## WAITRESS WSGI SERVER - Recommended for Development ####
38 ###########################################################
38 ###########################################################
39
39
40 use = egg:waitress#main
40 use = egg:waitress#main
41 ## number of worker threads
41 ## number of worker threads
42 threads = 5
42 threads = 5
43 ## MAX BODY SIZE 100GB
43 ## MAX BODY SIZE 100GB
44 max_request_body_size = 107374182400
44 max_request_body_size = 107374182400
45 ## Use poll instead of select, fixes file descriptors limits problems.
45 ## Use poll instead of select, fixes file descriptors limits problems.
46 ## May not work on old windows systems.
46 ## May not work on old windows systems.
47 asyncore_use_poll = true
47 asyncore_use_poll = true
48
48
49
49
50 ##########################
50 ##########################
51 ## GUNICORN WSGI SERVER ##
51 ## GUNICORN WSGI SERVER ##
52 ##########################
52 ##########################
53 ## run with gunicorn --log-config rhodecode.ini --paste rhodecode.ini
53 ## run with gunicorn --log-config rhodecode.ini --paste rhodecode.ini
54
54
55 #use = egg:gunicorn#main
55 #use = egg:gunicorn#main
56 ## Sets the number of process workers. More workers means more concurrent connections
56 ## Sets the number of process workers. More workers means more concurrent connections
57 ## RhodeCode can handle at the same time. Each additional worker also it increases
57 ## RhodeCode can handle at the same time. Each additional worker also it increases
58 ## memory usage as each has it's own set of caches.
58 ## memory usage as each has it's own set of caches.
59 ## Recommended value is (2 * NUMBER_OF_CPUS + 1), eg 2CPU = 5 workers, but no more
59 ## Recommended value is (2 * NUMBER_OF_CPUS + 1), eg 2CPU = 5 workers, but no more
60 ## than 8-10 unless for really big deployments .e.g 700-1000 users.
60 ## than 8-10 unless for really big deployments .e.g 700-1000 users.
61 ## `instance_id = *` must be set in the [app:main] section below (which is the default)
61 ## `instance_id = *` must be set in the [app:main] section below (which is the default)
62 ## when using more than 1 worker.
62 ## when using more than 1 worker.
63 #workers = 2
63 #workers = 2
64 ## process name visible in process list
64 ## process name visible in process list
65 #proc_name = rhodecode
65 #proc_name = rhodecode
66 ## type of worker class, one of sync, gevent
66 ## type of worker class, one of sync, gevent
67 ## recommended for bigger setup is using of of other than sync one
67 ## recommended for bigger setup is using of of other than sync one
68 #worker_class = gevent
68 #worker_class = gevent
69 ## The maximum number of simultaneous clients. Valid only for Gevent
69 ## The maximum number of simultaneous clients. Valid only for Gevent
70 #worker_connections = 10
70 #worker_connections = 10
71 ## max number of requests that worker will handle before being gracefully
71 ## max number of requests that worker will handle before being gracefully
72 ## restarted, could prevent memory leaks
72 ## restarted, could prevent memory leaks
73 #max_requests = 1000
73 #max_requests = 1000
74 #max_requests_jitter = 30
74 #max_requests_jitter = 30
75 ## amount of time a worker can spend with handling a request before it
75 ## amount of time a worker can spend with handling a request before it
76 ## gets killed and restarted. Set to 6hrs
76 ## gets killed and restarted. Set to 6hrs
77 #timeout = 21600
77 #timeout = 21600
78
78
79
79
80 ## prefix middleware for RhodeCode.
80 ## prefix middleware for RhodeCode.
81 ## recommended when using proxy setup.
81 ## recommended when using proxy setup.
82 ## allows to set RhodeCode under a prefix in server.
82 ## allows to set RhodeCode under a prefix in server.
83 ## eg https://server.com/custom_prefix. Enable `filter-with =` option below as well.
83 ## eg https://server.com/custom_prefix. Enable `filter-with =` option below as well.
84 ## And set your prefix like: `prefix = /custom_prefix`
84 ## And set your prefix like: `prefix = /custom_prefix`
85 ## be sure to also set beaker.session.cookie_path = /custom_prefix if you need
85 ## be sure to also set beaker.session.cookie_path = /custom_prefix if you need
86 ## to make your cookies only work on prefix url
86 ## to make your cookies only work on prefix url
87 [filter:proxy-prefix]
87 [filter:proxy-prefix]
88 use = egg:PasteDeploy#prefix
88 use = egg:PasteDeploy#prefix
89 prefix = /
89 prefix = /
90
90
91 [app:main]
91 [app:main]
92 ## The %(here)s variable will be replaced with the absolute path of parent directory
92 ## The %(here)s variable will be replaced with the absolute path of parent directory
93 ## of this file
93 ## of this file
94 ## In addition ENVIRONMENT variables usage is possible, e.g
94 ## In addition ENVIRONMENT variables usage is possible, e.g
95 ## sqlalchemy.db1.url = {ENV_RC_DB_URL}
95 ## sqlalchemy.db1.url = {ENV_RC_DB_URL}
96
96
97 use = egg:rhodecode-enterprise-ce
97 use = egg:rhodecode-enterprise-ce
98
98
99 ## enable proxy prefix middleware, defined above
99 ## enable proxy prefix middleware, defined above
100 #filter-with = proxy-prefix
100 #filter-with = proxy-prefix
101
101
102 # During development the we want to have the debug toolbar enabled
102 # During development the we want to have the debug toolbar enabled
103 pyramid.includes =
103 pyramid.includes =
104 pyramid_debugtoolbar
104 pyramid_debugtoolbar
105 rhodecode.lib.middleware.request_wrapper
105 rhodecode.lib.middleware.request_wrapper
106
106
107 pyramid.reload_templates = true
107 pyramid.reload_templates = true
108
108
109 debugtoolbar.hosts = 0.0.0.0/0
109 debugtoolbar.hosts = 0.0.0.0/0
110 debugtoolbar.exclude_prefixes =
110 debugtoolbar.exclude_prefixes =
111 /css
111 /css
112 /fonts
112 /fonts
113 /images
113 /images
114 /js
114 /js
115
115
116 ## RHODECODE PLUGINS ##
116 ## RHODECODE PLUGINS ##
117 rhodecode.includes =
117 rhodecode.includes =
118 rhodecode.api
118 rhodecode.api
119
119
120
120
121 # api prefix url
121 # api prefix url
122 rhodecode.api.url = /_admin/api
122 rhodecode.api.url = /_admin/api
123
123
124
124
125 ## END RHODECODE PLUGINS ##
125 ## END RHODECODE PLUGINS ##
126
126
127 ## encryption key used to encrypt social plugin tokens,
127 ## encryption key used to encrypt social plugin tokens,
128 ## remote_urls with credentials etc, if not set it defaults to
128 ## remote_urls with credentials etc, if not set it defaults to
129 ## `beaker.session.secret`
129 ## `beaker.session.secret`
130 #rhodecode.encrypted_values.secret =
130 #rhodecode.encrypted_values.secret =
131
131
132 ## decryption strict mode (enabled by default). It controls if decryption raises
132 ## decryption strict mode (enabled by default). It controls if decryption raises
133 ## `SignatureVerificationError` in case of wrong key, or damaged encryption data.
133 ## `SignatureVerificationError` in case of wrong key, or damaged encryption data.
134 #rhodecode.encrypted_values.strict = false
134 #rhodecode.encrypted_values.strict = false
135
135
136 ## Pick algorithm for encryption. Either fernet (more secure) or aes (default)
136 ## Pick algorithm for encryption. Either fernet (more secure) or aes (default)
137 ## fernet is safer, and we strongly recommend switching to it.
137 ## fernet is safer, and we strongly recommend switching to it.
138 ## Due to backward compatibility aes is used as default.
138 ## Due to backward compatibility aes is used as default.
139 #rhodecode.encrypted_values.algorithm = fernet
139 #rhodecode.encrypted_values.algorithm = fernet
140
140
141 ## return gzipped responses from RhodeCode (static files/application)
141 ## return gzipped responses from RhodeCode (static files/application)
142 gzip_responses = false
142 gzip_responses = false
143
143
144 ## auto-generate javascript routes file on startup
144 ## auto-generate javascript routes file on startup
145 generate_js_files = false
145 generate_js_files = false
146
146
147 ## System global default language.
147 ## System global default language.
148 ## All available languages: en(default), be, de, es, fr, it, ja, pl, pt, ru, zh
148 ## All available languages: en(default), be, de, es, fr, it, ja, pl, pt, ru, zh
149 lang = en
149 lang = en
150
150
151 ## Perform a full repository scan and import on each server start.
151 ## Perform a full repository scan and import on each server start.
152 ## Settings this to true could lead to very long startup time.
152 ## Settings this to true could lead to very long startup time.
153 startup.import_repos = false
153 startup.import_repos = false
154
154
155 ## Uncomment and set this path to use archive download cache.
155 ## Uncomment and set this path to use archive download cache.
156 ## Once enabled, generated archives will be cached at this location
156 ## Once enabled, generated archives will be cached at this location
157 ## and served from the cache during subsequent requests for the same archive of
157 ## and served from the cache during subsequent requests for the same archive of
158 ## the repository.
158 ## the repository.
159 #archive_cache_dir = /tmp/tarballcache
159 #archive_cache_dir = /tmp/tarballcache
160
160
161 ## URL at which the application is running. This is used for Bootstrapping
161 ## URL at which the application is running. This is used for Bootstrapping
162 ## requests in context when no web request is available. Used in ishell, or
162 ## requests in context when no web request is available. Used in ishell, or
163 ## SSH calls. Set this for events to receive proper url for SSH calls.
163 ## SSH calls. Set this for events to receive proper url for SSH calls.
164 app.base_url = http://rhodecode.local
164 app.base_url = http://rhodecode.local
165
165
166 ## Unique application ID. Should be a random unique string for security.
166 ## Unique application ID. Should be a random unique string for security.
167 app_instance_uuid = rc-production
167 app_instance_uuid = rc-production
168
168
169 ## Cut off limit for large diffs (size in bytes). If overall diff size on
169 ## Cut off limit for large diffs (size in bytes). If overall diff size on
170 ## commit, or pull request exceeds this limit this diff will be displayed
170 ## commit, or pull request exceeds this limit this diff will be displayed
171 ## partially. E.g 512000 == 512Kb
171 ## partially. E.g 512000 == 512Kb
172 cut_off_limit_diff = 512000
172 cut_off_limit_diff = 512000
173
173
174 ## Cut off limit for large files inside diffs (size in bytes). Each individual
174 ## Cut off limit for large files inside diffs (size in bytes). Each individual
175 ## file inside diff which exceeds this limit will be displayed partially.
175 ## file inside diff which exceeds this limit will be displayed partially.
176 ## E.g 128000 == 128Kb
176 ## E.g 128000 == 128Kb
177 cut_off_limit_file = 128000
177 cut_off_limit_file = 128000
178
178
179 ## use cached version of vcs repositories everywhere. Recommended to be `true`
179 ## use cached version of vcs repositories everywhere. Recommended to be `true`
180 vcs_full_cache = true
180 vcs_full_cache = true
181
181
182 ## Force https in RhodeCode, fixes https redirects, assumes it's always https.
182 ## Force https in RhodeCode, fixes https redirects, assumes it's always https.
183 ## Normally this is controlled by proper http flags sent from http server
183 ## Normally this is controlled by proper http flags sent from http server
184 force_https = false
184 force_https = false
185
185
186 ## use Strict-Transport-Security headers
186 ## use Strict-Transport-Security headers
187 use_htsts = false
187 use_htsts = false
188
188
189 ## git rev filter option, --all is the default filter, if you need to
189 ## git rev filter option, --all is the default filter, if you need to
190 ## hide all refs in changelog switch this to --branches --tags
190 ## hide all refs in changelog switch this to --branches --tags
191 git_rev_filter = --branches --tags
191 git_rev_filter = --branches --tags
192
192
193 # Set to true if your repos are exposed using the dumb protocol
193 # Set to true if your repos are exposed using the dumb protocol
194 git_update_server_info = false
194 git_update_server_info = false
195
195
196 ## RSS/ATOM feed options
196 ## RSS/ATOM feed options
197 rss_cut_off_limit = 256000
197 rss_cut_off_limit = 256000
198 rss_items_per_page = 10
198 rss_items_per_page = 10
199 rss_include_diff = false
199 rss_include_diff = false
200
200
201 ## gist URL alias, used to create nicer urls for gist. This should be an
201 ## gist URL alias, used to create nicer urls for gist. This should be an
202 ## url that does rewrites to _admin/gists/{gistid}.
202 ## url that does rewrites to _admin/gists/{gistid}.
203 ## example: http://gist.rhodecode.org/{gistid}. Empty means use the internal
203 ## example: http://gist.rhodecode.org/{gistid}. Empty means use the internal
204 ## RhodeCode url, ie. http[s]://rhodecode.server/_admin/gists/{gistid}
204 ## RhodeCode url, ie. http[s]://rhodecode.server/_admin/gists/{gistid}
205 gist_alias_url =
205 gist_alias_url =
206
206
207 ## List of views (using glob pattern syntax) that AUTH TOKENS could be
207 ## List of views (using glob pattern syntax) that AUTH TOKENS could be
208 ## used for access.
208 ## used for access.
209 ## Adding ?auth_token=TOKEN_HASH to the url authenticates this request as if it
209 ## Adding ?auth_token=TOKEN_HASH to the url authenticates this request as if it
210 ## came from the the logged in user who own this authentication token.
210 ## came from the the logged in user who own this authentication token.
211 ## Additionally @TOKEN syntax can be used to bound the view to specific
211 ## Additionally @TOKEN syntax can be used to bound the view to specific
212 ## authentication token. Such view would be only accessible when used together
212 ## authentication token. Such view would be only accessible when used together
213 ## with this authentication token
213 ## with this authentication token
214 ##
214 ##
215 ## list of all views can be found under `/_admin/permissions/auth_token_access`
215 ## list of all views can be found under `/_admin/permissions/auth_token_access`
216 ## The list should be "," separated and on a single line.
216 ## The list should be "," separated and on a single line.
217 ##
217 ##
218 ## Most common views to enable:
218 ## Most common views to enable:
219 # RepoCommitsView:repo_commit_download
219 # RepoCommitsView:repo_commit_download
220 # RepoCommitsView:repo_commit_patch
220 # RepoCommitsView:repo_commit_patch
221 # RepoCommitsView:repo_commit_raw
221 # RepoCommitsView:repo_commit_raw
222 # RepoCommitsView:repo_commit_raw@TOKEN
222 # RepoCommitsView:repo_commit_raw@TOKEN
223 # RepoFilesView:repo_files_diff
223 # RepoFilesView:repo_files_diff
224 # RepoFilesView:repo_archivefile
224 # RepoFilesView:repo_archivefile
225 # RepoFilesView:repo_file_raw
225 # RepoFilesView:repo_file_raw
226 # GistView:*
226 # GistView:*
227 api_access_controllers_whitelist =
227 api_access_controllers_whitelist =
228
228
229 ## Default encoding used to convert from and to unicode
229 ## Default encoding used to convert from and to unicode
230 ## can be also a comma separated list of encoding in case of mixed encodings
230 ## can be also a comma separated list of encoding in case of mixed encodings
231 default_encoding = UTF-8
231 default_encoding = UTF-8
232
232
233 ## instance-id prefix
233 ## instance-id prefix
234 ## a prefix key for this instance used for cache invalidation when running
234 ## a prefix key for this instance used for cache invalidation when running
235 ## multiple instances of RhodeCode, make sure it's globally unique for
235 ## multiple instances of RhodeCode, make sure it's globally unique for
236 ## all running RhodeCode instances. Leave empty if you don't use it
236 ## all running RhodeCode instances. Leave empty if you don't use it
237 instance_id =
237 instance_id =
238
238
239 ## Fallback authentication plugin. Set this to a plugin ID to force the usage
239 ## Fallback authentication plugin. Set this to a plugin ID to force the usage
240 ## of an authentication plugin also if it is disabled by it's settings.
240 ## of an authentication plugin also if it is disabled by it's settings.
241 ## This could be useful if you are unable to log in to the system due to broken
241 ## This could be useful if you are unable to log in to the system due to broken
242 ## authentication settings. Then you can enable e.g. the internal RhodeCode auth
242 ## authentication settings. Then you can enable e.g. the internal RhodeCode auth
243 ## module to log in again and fix the settings.
243 ## module to log in again and fix the settings.
244 ##
244 ##
245 ## Available builtin plugin IDs (hash is part of the ID):
245 ## Available builtin plugin IDs (hash is part of the ID):
246 ## egg:rhodecode-enterprise-ce#rhodecode
246 ## egg:rhodecode-enterprise-ce#rhodecode
247 ## egg:rhodecode-enterprise-ce#pam
247 ## egg:rhodecode-enterprise-ce#pam
248 ## egg:rhodecode-enterprise-ce#ldap
248 ## egg:rhodecode-enterprise-ce#ldap
249 ## egg:rhodecode-enterprise-ce#jasig_cas
249 ## egg:rhodecode-enterprise-ce#jasig_cas
250 ## egg:rhodecode-enterprise-ce#headers
250 ## egg:rhodecode-enterprise-ce#headers
251 ## egg:rhodecode-enterprise-ce#crowd
251 ## egg:rhodecode-enterprise-ce#crowd
252 #rhodecode.auth_plugin_fallback = egg:rhodecode-enterprise-ce#rhodecode
252 #rhodecode.auth_plugin_fallback = egg:rhodecode-enterprise-ce#rhodecode
253
253
254 ## alternative return HTTP header for failed authentication. Default HTTP
254 ## alternative return HTTP header for failed authentication. Default HTTP
255 ## response is 401 HTTPUnauthorized. Currently HG clients have troubles with
255 ## response is 401 HTTPUnauthorized. Currently HG clients have troubles with
256 ## handling that causing a series of failed authentication calls.
256 ## handling that causing a series of failed authentication calls.
257 ## Set this variable to 403 to return HTTPForbidden, or any other HTTP code
257 ## Set this variable to 403 to return HTTPForbidden, or any other HTTP code
258 ## This will be served instead of default 401 on bad authentication
258 ## This will be served instead of default 401 on bad authentication
259 auth_ret_code =
259 auth_ret_code =
260
260
261 ## use special detection method when serving auth_ret_code, instead of serving
261 ## use special detection method when serving auth_ret_code, instead of serving
262 ## ret_code directly, use 401 initially (Which triggers credentials prompt)
262 ## ret_code directly, use 401 initially (Which triggers credentials prompt)
263 ## and then serve auth_ret_code to clients
263 ## and then serve auth_ret_code to clients
264 auth_ret_code_detection = false
264 auth_ret_code_detection = false
265
265
266 ## locking return code. When repository is locked return this HTTP code. 2XX
266 ## locking return code. When repository is locked return this HTTP code. 2XX
267 ## codes don't break the transactions while 4XX codes do
267 ## codes don't break the transactions while 4XX codes do
268 lock_ret_code = 423
268 lock_ret_code = 423
269
269
270 ## allows to change the repository location in settings page
270 ## allows to change the repository location in settings page
271 allow_repo_location_change = true
271 allow_repo_location_change = true
272
272
273 ## allows to setup custom hooks in settings page
273 ## allows to setup custom hooks in settings page
274 allow_custom_hooks_settings = true
274 allow_custom_hooks_settings = true
275
275
276 ## Generated license token required for EE edition license.
276 ## Generated license token required for EE edition license.
277 ## New generated token value can be found in Admin > settings > license page.
277 ## New generated token value can be found in Admin > settings > license page.
278 license_token =
278 license_token =
279
279
280 ## supervisor connection uri, for managing supervisor and logs.
280 ## supervisor connection uri, for managing supervisor and logs.
281 supervisor.uri =
281 supervisor.uri =
282 ## supervisord group name/id we only want this RC instance to handle
282 ## supervisord group name/id we only want this RC instance to handle
283 supervisor.group_id = dev
283 supervisor.group_id = dev
284
284
285 ## Display extended labs settings
285 ## Display extended labs settings
286 labs_settings_active = true
286 labs_settings_active = true
287
287
288 ## Custom exception store path, defaults to TMPDIR
288 ## Custom exception store path, defaults to TMPDIR
289 ## This is used to store exception from RhodeCode in shared directory
289 ## This is used to store exception from RhodeCode in shared directory
290 #exception_tracker.store_path =
290 #exception_tracker.store_path =
291
291
292 ## File store configuration. This is used to store and serve uploaded files
292 ## File store configuration. This is used to store and serve uploaded files
293 file_store.enabled = true
293 file_store.enabled = true
294 ## Storage backend, available options are: local
294 ## Storage backend, available options are: local
295 file_store.backend = local
295 file_store.backend = local
296 ## path to store the uploaded binaries
296 ## path to store the uploaded binaries
297 file_store.storage_path = %(here)s/data/file_store
297 file_store.storage_path = %(here)s/data/file_store
298
298
299
299
300 ####################################
300 ####################################
301 ### CELERY CONFIG ####
301 ### CELERY CONFIG ####
302 ####################################
302 ####################################
303 ## run: /path/to/celery worker \
303 ## run: /path/to/celery worker \
304 ## -E --beat --app rhodecode.lib.celerylib.loader \
304 ## -E --beat --app rhodecode.lib.celerylib.loader \
305 ## --scheduler rhodecode.lib.celerylib.scheduler.RcScheduler \
305 ## --scheduler rhodecode.lib.celerylib.scheduler.RcScheduler \
306 ## --loglevel DEBUG --ini /path/to/rhodecode.ini
306 ## --loglevel DEBUG --ini /path/to/rhodecode.ini
307
307
308 use_celery = false
308 use_celery = false
309
309
310 ## connection url to the message broker (default rabbitmq)
310 ## connection url to the message broker (default redis)
311 celery.broker_url = amqp://rabbitmq:qweqwe@localhost:5672/rabbitmqhost
311 celery.broker_url = redis://localhost:6379/8
312
313 ## rabbitmq example
314 #celery.broker_url = amqp://rabbitmq:qweqwe@localhost:5672/rabbitmqhost
312
315
313 ## maximum tasks to execute before worker restart
316 ## maximum tasks to execute before worker restart
314 celery.max_tasks_per_child = 100
317 celery.max_tasks_per_child = 100
315
318
316 ## tasks will never be sent to the queue, but executed locally instead.
319 ## tasks will never be sent to the queue, but executed locally instead.
317 celery.task_always_eager = false
320 celery.task_always_eager = false
318
321
319 #####################################
322 #####################################
320 ### DOGPILE CACHE ####
323 ### DOGPILE CACHE ####
321 #####################################
324 #####################################
322 ## Default cache dir for caches. Putting this into a ramdisk
325 ## Default cache dir for caches. Putting this into a ramdisk
323 ## can boost performance, eg. /tmpfs/data_ramdisk, however this directory might require
326 ## can boost performance, eg. /tmpfs/data_ramdisk, however this directory might require
324 ## large amount of space
327 ## large amount of space
325 cache_dir = %(here)s/data
328 cache_dir = %(here)s/data
326
329
327 ## `cache_perms` cache settings for permission tree, auth TTL.
330 ## `cache_perms` cache settings for permission tree, auth TTL.
328 rc_cache.cache_perms.backend = dogpile.cache.rc.file_namespace
331 rc_cache.cache_perms.backend = dogpile.cache.rc.file_namespace
329 rc_cache.cache_perms.expiration_time = 300
332 rc_cache.cache_perms.expiration_time = 300
330
333
331 ## alternative `cache_perms` redis backend with distributed lock
334 ## alternative `cache_perms` redis backend with distributed lock
332 #rc_cache.cache_perms.backend = dogpile.cache.rc.redis
335 #rc_cache.cache_perms.backend = dogpile.cache.rc.redis
333 #rc_cache.cache_perms.expiration_time = 300
336 #rc_cache.cache_perms.expiration_time = 300
334 ## redis_expiration_time needs to be greater then expiration_time
337 ## redis_expiration_time needs to be greater then expiration_time
335 #rc_cache.cache_perms.arguments.redis_expiration_time = 7200
338 #rc_cache.cache_perms.arguments.redis_expiration_time = 7200
336 #rc_cache.cache_perms.arguments.socket_timeout = 30
339 #rc_cache.cache_perms.arguments.socket_timeout = 30
337 #rc_cache.cache_perms.arguments.host = localhost
340 #rc_cache.cache_perms.arguments.host = localhost
338 #rc_cache.cache_perms.arguments.port = 6379
341 #rc_cache.cache_perms.arguments.port = 6379
339 #rc_cache.cache_perms.arguments.db = 0
342 #rc_cache.cache_perms.arguments.db = 0
340 ## more Redis options: https://dogpilecache.sqlalchemy.org/en/latest/api.html#redis-backends
343 ## more Redis options: https://dogpilecache.sqlalchemy.org/en/latest/api.html#redis-backends
341 #rc_cache.cache_perms.arguments.distributed_lock = true
344 #rc_cache.cache_perms.arguments.distributed_lock = true
342
345
343 ## `cache_repo` cache settings for FileTree, Readme, RSS FEEDS
346 ## `cache_repo` cache settings for FileTree, Readme, RSS FEEDS
344 rc_cache.cache_repo.backend = dogpile.cache.rc.file_namespace
347 rc_cache.cache_repo.backend = dogpile.cache.rc.file_namespace
345 rc_cache.cache_repo.expiration_time = 2592000
348 rc_cache.cache_repo.expiration_time = 2592000
346
349
347 ## alternative `cache_repo` redis backend with distributed lock
350 ## alternative `cache_repo` redis backend with distributed lock
348 #rc_cache.cache_repo.backend = dogpile.cache.rc.redis
351 #rc_cache.cache_repo.backend = dogpile.cache.rc.redis
349 #rc_cache.cache_repo.expiration_time = 2592000
352 #rc_cache.cache_repo.expiration_time = 2592000
350 ## redis_expiration_time needs to be greater then expiration_time
353 ## redis_expiration_time needs to be greater then expiration_time
351 #rc_cache.cache_repo.arguments.redis_expiration_time = 2678400
354 #rc_cache.cache_repo.arguments.redis_expiration_time = 2678400
352 #rc_cache.cache_repo.arguments.socket_timeout = 30
355 #rc_cache.cache_repo.arguments.socket_timeout = 30
353 #rc_cache.cache_repo.arguments.host = localhost
356 #rc_cache.cache_repo.arguments.host = localhost
354 #rc_cache.cache_repo.arguments.port = 6379
357 #rc_cache.cache_repo.arguments.port = 6379
355 #rc_cache.cache_repo.arguments.db = 1
358 #rc_cache.cache_repo.arguments.db = 1
356 ## more Redis options: https://dogpilecache.sqlalchemy.org/en/latest/api.html#redis-backends
359 ## more Redis options: https://dogpilecache.sqlalchemy.org/en/latest/api.html#redis-backends
357 #rc_cache.cache_repo.arguments.distributed_lock = true
360 #rc_cache.cache_repo.arguments.distributed_lock = true
358
361
359 ## cache settings for SQL queries, this needs to use memory type backend
362 ## cache settings for SQL queries, this needs to use memory type backend
360 rc_cache.sql_cache_short.backend = dogpile.cache.rc.memory_lru
363 rc_cache.sql_cache_short.backend = dogpile.cache.rc.memory_lru
361 rc_cache.sql_cache_short.expiration_time = 30
364 rc_cache.sql_cache_short.expiration_time = 30
362
365
363 ## `cache_repo_longterm` cache for repo object instances, this needs to use memory
366 ## `cache_repo_longterm` cache for repo object instances, this needs to use memory
364 ## type backend as the objects kept are not pickle serializable
367 ## type backend as the objects kept are not pickle serializable
365 rc_cache.cache_repo_longterm.backend = dogpile.cache.rc.memory_lru
368 rc_cache.cache_repo_longterm.backend = dogpile.cache.rc.memory_lru
366 ## by default we use 96H, this is using invalidation on push anyway
369 ## by default we use 96H, this is using invalidation on push anyway
367 rc_cache.cache_repo_longterm.expiration_time = 345600
370 rc_cache.cache_repo_longterm.expiration_time = 345600
368 ## max items in LRU cache, reduce this number to save memory, and expire last used
371 ## max items in LRU cache, reduce this number to save memory, and expire last used
369 ## cached objects
372 ## cached objects
370 rc_cache.cache_repo_longterm.max_size = 10000
373 rc_cache.cache_repo_longterm.max_size = 10000
371
374
372
375
373 ####################################
376 ####################################
374 ### BEAKER SESSION ####
377 ### BEAKER SESSION ####
375 ####################################
378 ####################################
376
379
377 ## .session.type is type of storage options for the session, current allowed
380 ## .session.type is type of storage options for the session, current allowed
378 ## types are file, ext:memcached, ext:redis, ext:database, and memory (default).
381 ## types are file, ext:memcached, ext:redis, ext:database, and memory (default).
379 beaker.session.type = file
382 beaker.session.type = file
380 beaker.session.data_dir = %(here)s/data/sessions
383 beaker.session.data_dir = %(here)s/data/sessions
381
384
382 ## redis sessions
385 ## redis sessions
383 #beaker.session.type = ext:redis
386 #beaker.session.type = ext:redis
384 #beaker.session.url = redis://127.0.0.1:6379/2
387 #beaker.session.url = redis://127.0.0.1:6379/2
385
388
386 ## db based session, fast, and allows easy management over logged in users
389 ## db based session, fast, and allows easy management over logged in users
387 #beaker.session.type = ext:database
390 #beaker.session.type = ext:database
388 #beaker.session.table_name = db_session
391 #beaker.session.table_name = db_session
389 #beaker.session.sa.url = postgresql://postgres:secret@localhost/rhodecode
392 #beaker.session.sa.url = postgresql://postgres:secret@localhost/rhodecode
390 #beaker.session.sa.url = mysql://root:secret@127.0.0.1/rhodecode
393 #beaker.session.sa.url = mysql://root:secret@127.0.0.1/rhodecode
391 #beaker.session.sa.pool_recycle = 3600
394 #beaker.session.sa.pool_recycle = 3600
392 #beaker.session.sa.echo = false
395 #beaker.session.sa.echo = false
393
396
394 beaker.session.key = rhodecode
397 beaker.session.key = rhodecode
395 beaker.session.secret = develop-rc-uytcxaz
398 beaker.session.secret = develop-rc-uytcxaz
396 beaker.session.lock_dir = %(here)s/data/sessions/lock
399 beaker.session.lock_dir = %(here)s/data/sessions/lock
397
400
398 ## Secure encrypted cookie. Requires AES and AES python libraries
401 ## Secure encrypted cookie. Requires AES and AES python libraries
399 ## you must disable beaker.session.secret to use this
402 ## you must disable beaker.session.secret to use this
400 #beaker.session.encrypt_key = key_for_encryption
403 #beaker.session.encrypt_key = key_for_encryption
401 #beaker.session.validate_key = validation_key
404 #beaker.session.validate_key = validation_key
402
405
403 ## sets session as invalid(also logging out user) if it haven not been
406 ## sets session as invalid(also logging out user) if it haven not been
404 ## accessed for given amount of time in seconds
407 ## accessed for given amount of time in seconds
405 beaker.session.timeout = 2592000
408 beaker.session.timeout = 2592000
406 beaker.session.httponly = true
409 beaker.session.httponly = true
407 ## Path to use for the cookie. Set to prefix if you use prefix middleware
410 ## Path to use for the cookie. Set to prefix if you use prefix middleware
408 #beaker.session.cookie_path = /custom_prefix
411 #beaker.session.cookie_path = /custom_prefix
409
412
410 ## uncomment for https secure cookie
413 ## uncomment for https secure cookie
411 beaker.session.secure = false
414 beaker.session.secure = false
412
415
413 ## auto save the session to not to use .save()
416 ## auto save the session to not to use .save()
414 beaker.session.auto = false
417 beaker.session.auto = false
415
418
416 ## default cookie expiration time in seconds, set to `true` to set expire
419 ## default cookie expiration time in seconds, set to `true` to set expire
417 ## at browser close
420 ## at browser close
418 #beaker.session.cookie_expires = 3600
421 #beaker.session.cookie_expires = 3600
419
422
420 ###################################
423 ###################################
421 ## SEARCH INDEXING CONFIGURATION ##
424 ## SEARCH INDEXING CONFIGURATION ##
422 ###################################
425 ###################################
423 ## Full text search indexer is available in rhodecode-tools under
426 ## Full text search indexer is available in rhodecode-tools under
424 ## `rhodecode-tools index` command
427 ## `rhodecode-tools index` command
425
428
426 ## WHOOSH Backend, doesn't require additional services to run
429 ## WHOOSH Backend, doesn't require additional services to run
427 ## it works good with few dozen repos
430 ## it works good with few dozen repos
428 search.module = rhodecode.lib.index.whoosh
431 search.module = rhodecode.lib.index.whoosh
429 search.location = %(here)s/data/index
432 search.location = %(here)s/data/index
430
433
431 ########################################
434 ########################################
432 ### CHANNELSTREAM CONFIG ####
435 ### CHANNELSTREAM CONFIG ####
433 ########################################
436 ########################################
434 ## channelstream enables persistent connections and live notification
437 ## channelstream enables persistent connections and live notification
435 ## in the system. It's also used by the chat system
438 ## in the system. It's also used by the chat system
436
439
437 channelstream.enabled = false
440 channelstream.enabled = false
438
441
439 ## server address for channelstream server on the backend
442 ## server address for channelstream server on the backend
440 channelstream.server = 127.0.0.1:9800
443 channelstream.server = 127.0.0.1:9800
441
444
442 ## location of the channelstream server from outside world
445 ## location of the channelstream server from outside world
443 ## use ws:// for http or wss:// for https. This address needs to be handled
446 ## use ws:// for http or wss:// for https. This address needs to be handled
444 ## by external HTTP server such as Nginx or Apache
447 ## by external HTTP server such as Nginx or Apache
445 ## see Nginx/Apache configuration examples in our docs
448 ## see Nginx/Apache configuration examples in our docs
446 channelstream.ws_url = ws://rhodecode.yourserver.com/_channelstream
449 channelstream.ws_url = ws://rhodecode.yourserver.com/_channelstream
447 channelstream.secret = secret
450 channelstream.secret = secret
448 channelstream.history.location = %(here)s/channelstream_history
451 channelstream.history.location = %(here)s/channelstream_history
449
452
450 ## Internal application path that Javascript uses to connect into.
453 ## Internal application path that Javascript uses to connect into.
451 ## If you use proxy-prefix the prefix should be added before /_channelstream
454 ## If you use proxy-prefix the prefix should be added before /_channelstream
452 channelstream.proxy_path = /_channelstream
455 channelstream.proxy_path = /_channelstream
453
456
454
457
455 ###################################
458 ###################################
456 ## APPENLIGHT CONFIG ##
459 ## APPENLIGHT CONFIG ##
457 ###################################
460 ###################################
458
461
459 ## Appenlight is tailored to work with RhodeCode, see
462 ## Appenlight is tailored to work with RhodeCode, see
460 ## http://appenlight.com for details how to obtain an account
463 ## http://appenlight.com for details how to obtain an account
461
464
462 ## Appenlight integration enabled
465 ## Appenlight integration enabled
463 appenlight = false
466 appenlight = false
464
467
465 appenlight.server_url = https://api.appenlight.com
468 appenlight.server_url = https://api.appenlight.com
466 appenlight.api_key = YOUR_API_KEY
469 appenlight.api_key = YOUR_API_KEY
467 #appenlight.transport_config = https://api.appenlight.com?threaded=1&timeout=5
470 #appenlight.transport_config = https://api.appenlight.com?threaded=1&timeout=5
468
471
469 ## used for JS client
472 ## used for JS client
470 appenlight.api_public_key = YOUR_API_PUBLIC_KEY
473 appenlight.api_public_key = YOUR_API_PUBLIC_KEY
471
474
472 ## TWEAK AMOUNT OF INFO SENT HERE
475 ## TWEAK AMOUNT OF INFO SENT HERE
473
476
474 ## enables 404 error logging (default False)
477 ## enables 404 error logging (default False)
475 appenlight.report_404 = false
478 appenlight.report_404 = false
476
479
477 ## time in seconds after request is considered being slow (default 1)
480 ## time in seconds after request is considered being slow (default 1)
478 appenlight.slow_request_time = 1
481 appenlight.slow_request_time = 1
479
482
480 ## record slow requests in application
483 ## record slow requests in application
481 ## (needs to be enabled for slow datastore recording and time tracking)
484 ## (needs to be enabled for slow datastore recording and time tracking)
482 appenlight.slow_requests = true
485 appenlight.slow_requests = true
483
486
484 ## enable hooking to application loggers
487 ## enable hooking to application loggers
485 appenlight.logging = true
488 appenlight.logging = true
486
489
487 ## minimum log level for log capture
490 ## minimum log level for log capture
488 appenlight.logging.level = WARNING
491 appenlight.logging.level = WARNING
489
492
490 ## send logs only from erroneous/slow requests
493 ## send logs only from erroneous/slow requests
491 ## (saves API quota for intensive logging)
494 ## (saves API quota for intensive logging)
492 appenlight.logging_on_error = false
495 appenlight.logging_on_error = false
493
496
494 ## list of additional keywords that should be grabbed from environ object
497 ## list of additional keywords that should be grabbed from environ object
495 ## can be string with comma separated list of words in lowercase
498 ## can be string with comma separated list of words in lowercase
496 ## (by default client will always send following info:
499 ## (by default client will always send following info:
497 ## 'REMOTE_USER', 'REMOTE_ADDR', 'SERVER_NAME', 'CONTENT_TYPE' + all keys that
500 ## 'REMOTE_USER', 'REMOTE_ADDR', 'SERVER_NAME', 'CONTENT_TYPE' + all keys that
498 ## start with HTTP* this list be extended with additional keywords here
501 ## start with HTTP* this list be extended with additional keywords here
499 appenlight.environ_keys_whitelist =
502 appenlight.environ_keys_whitelist =
500
503
501 ## list of keywords that should be blanked from request object
504 ## list of keywords that should be blanked from request object
502 ## can be string with comma separated list of words in lowercase
505 ## can be string with comma separated list of words in lowercase
503 ## (by default client will always blank keys that contain following words
506 ## (by default client will always blank keys that contain following words
504 ## 'password', 'passwd', 'pwd', 'auth_tkt', 'secret', 'csrf'
507 ## 'password', 'passwd', 'pwd', 'auth_tkt', 'secret', 'csrf'
505 ## this list be extended with additional keywords set here
508 ## this list be extended with additional keywords set here
506 appenlight.request_keys_blacklist =
509 appenlight.request_keys_blacklist =
507
510
508 ## list of namespaces that should be ignores when gathering log entries
511 ## list of namespaces that should be ignores when gathering log entries
509 ## can be string with comma separated list of namespaces
512 ## can be string with comma separated list of namespaces
510 ## (by default the client ignores own entries: appenlight_client.client)
513 ## (by default the client ignores own entries: appenlight_client.client)
511 appenlight.log_namespace_blacklist =
514 appenlight.log_namespace_blacklist =
512
515
513 # enable debug style page
516 # enable debug style page
514 debug_style = true
517 debug_style = true
515
518
516 ###########################################
519 ###########################################
517 ### MAIN RHODECODE DATABASE CONFIG ###
520 ### MAIN RHODECODE DATABASE CONFIG ###
518 ###########################################
521 ###########################################
519 #sqlalchemy.db1.url = sqlite:///%(here)s/rhodecode.db?timeout=30
522 #sqlalchemy.db1.url = sqlite:///%(here)s/rhodecode.db?timeout=30
520 #sqlalchemy.db1.url = postgresql://postgres:qweqwe@localhost/rhodecode
523 #sqlalchemy.db1.url = postgresql://postgres:qweqwe@localhost/rhodecode
521 #sqlalchemy.db1.url = mysql://root:qweqwe@localhost/rhodecode?charset=utf8
524 #sqlalchemy.db1.url = mysql://root:qweqwe@localhost/rhodecode?charset=utf8
522 # pymysql is an alternative driver for MySQL, use in case of problems with default one
525 # pymysql is an alternative driver for MySQL, use in case of problems with default one
523 #sqlalchemy.db1.url = mysql+pymysql://root:qweqwe@localhost/rhodecode
526 #sqlalchemy.db1.url = mysql+pymysql://root:qweqwe@localhost/rhodecode
524
527
525 sqlalchemy.db1.url = sqlite:///%(here)s/rhodecode.db?timeout=30
528 sqlalchemy.db1.url = sqlite:///%(here)s/rhodecode.db?timeout=30
526
529
527 # see sqlalchemy docs for other advanced settings
530 # see sqlalchemy docs for other advanced settings
528
531
529 ## print the sql statements to output
532 ## print the sql statements to output
530 sqlalchemy.db1.echo = false
533 sqlalchemy.db1.echo = false
531 ## recycle the connections after this amount of seconds
534 ## recycle the connections after this amount of seconds
532 sqlalchemy.db1.pool_recycle = 3600
535 sqlalchemy.db1.pool_recycle = 3600
533 sqlalchemy.db1.convert_unicode = true
536 sqlalchemy.db1.convert_unicode = true
534
537
535 ## the number of connections to keep open inside the connection pool.
538 ## the number of connections to keep open inside the connection pool.
536 ## 0 indicates no limit
539 ## 0 indicates no limit
537 #sqlalchemy.db1.pool_size = 5
540 #sqlalchemy.db1.pool_size = 5
538
541
539 ## the number of connections to allow in connection pool "overflow", that is
542 ## the number of connections to allow in connection pool "overflow", that is
540 ## connections that can be opened above and beyond the pool_size setting,
543 ## connections that can be opened above and beyond the pool_size setting,
541 ## which defaults to five.
544 ## which defaults to five.
542 #sqlalchemy.db1.max_overflow = 10
545 #sqlalchemy.db1.max_overflow = 10
543
546
544 ## Connection check ping, used to detect broken database connections
547 ## Connection check ping, used to detect broken database connections
545 ## could be enabled to better handle cases if MySQL has gone away errors
548 ## could be enabled to better handle cases if MySQL has gone away errors
546 #sqlalchemy.db1.ping_connection = true
549 #sqlalchemy.db1.ping_connection = true
547
550
548 ##################
551 ##################
549 ### VCS CONFIG ###
552 ### VCS CONFIG ###
550 ##################
553 ##################
551 vcs.server.enable = true
554 vcs.server.enable = true
552 vcs.server = localhost:9900
555 vcs.server = localhost:9900
553
556
554 ## Web server connectivity protocol, responsible for web based VCS operations
557 ## Web server connectivity protocol, responsible for web based VCS operations
555 ## Available protocols are:
558 ## Available protocols are:
556 ## `http` - use http-rpc backend (default)
559 ## `http` - use http-rpc backend (default)
557 vcs.server.protocol = http
560 vcs.server.protocol = http
558
561
559 ## Push/Pull operations protocol, available options are:
562 ## Push/Pull operations protocol, available options are:
560 ## `http` - use http-rpc backend (default)
563 ## `http` - use http-rpc backend (default)
561 vcs.scm_app_implementation = http
564 vcs.scm_app_implementation = http
562
565
563 ## Push/Pull operations hooks protocol, available options are:
566 ## Push/Pull operations hooks protocol, available options are:
564 ## `http` - use http-rpc backend (default)
567 ## `http` - use http-rpc backend (default)
565 vcs.hooks.protocol = http
568 vcs.hooks.protocol = http
566
569
567 ## Host on which this instance is listening for hooks. If vcsserver is in other location
570 ## Host on which this instance is listening for hooks. If vcsserver is in other location
568 ## this should be adjusted.
571 ## this should be adjusted.
569 vcs.hooks.host = 127.0.0.1
572 vcs.hooks.host = 127.0.0.1
570
573
571 vcs.server.log_level = debug
574 vcs.server.log_level = debug
572 ## Start VCSServer with this instance as a subprocess, useful for development
575 ## Start VCSServer with this instance as a subprocess, useful for development
573 vcs.start_server = false
576 vcs.start_server = false
574
577
575 ## List of enabled VCS backends, available options are:
578 ## List of enabled VCS backends, available options are:
576 ## `hg` - mercurial
579 ## `hg` - mercurial
577 ## `git` - git
580 ## `git` - git
578 ## `svn` - subversion
581 ## `svn` - subversion
579 vcs.backends = hg, git, svn
582 vcs.backends = hg, git, svn
580
583
581 vcs.connection_timeout = 3600
584 vcs.connection_timeout = 3600
582 ## Compatibility version when creating SVN repositories. Defaults to newest version when commented out.
585 ## Compatibility version when creating SVN repositories. Defaults to newest version when commented out.
583 ## Available options are: pre-1.4-compatible, pre-1.5-compatible, pre-1.6-compatible, pre-1.8-compatible, pre-1.9-compatible
586 ## Available options are: pre-1.4-compatible, pre-1.5-compatible, pre-1.6-compatible, pre-1.8-compatible, pre-1.9-compatible
584 #vcs.svn.compatible_version = pre-1.8-compatible
587 #vcs.svn.compatible_version = pre-1.8-compatible
585
588
586
589
587 ############################################################
590 ############################################################
588 ### Subversion proxy support (mod_dav_svn) ###
591 ### Subversion proxy support (mod_dav_svn) ###
589 ### Maps RhodeCode repo groups into SVN paths for Apache ###
592 ### Maps RhodeCode repo groups into SVN paths for Apache ###
590 ############################################################
593 ############################################################
591 ## Enable or disable the config file generation.
594 ## Enable or disable the config file generation.
592 svn.proxy.generate_config = false
595 svn.proxy.generate_config = false
593 ## Generate config file with `SVNListParentPath` set to `On`.
596 ## Generate config file with `SVNListParentPath` set to `On`.
594 svn.proxy.list_parent_path = true
597 svn.proxy.list_parent_path = true
595 ## Set location and file name of generated config file.
598 ## Set location and file name of generated config file.
596 svn.proxy.config_file_path = %(here)s/mod_dav_svn.conf
599 svn.proxy.config_file_path = %(here)s/mod_dav_svn.conf
597 ## alternative mod_dav config template. This needs to be a mako template
600 ## alternative mod_dav config template. This needs to be a mako template
598 #svn.proxy.config_template = ~/.rccontrol/enterprise-1/custom_svn_conf.mako
601 #svn.proxy.config_template = ~/.rccontrol/enterprise-1/custom_svn_conf.mako
599 ## Used as a prefix to the `Location` block in the generated config file.
602 ## Used as a prefix to the `Location` block in the generated config file.
600 ## In most cases it should be set to `/`.
603 ## In most cases it should be set to `/`.
601 svn.proxy.location_root = /
604 svn.proxy.location_root = /
602 ## Command to reload the mod dav svn configuration on change.
605 ## Command to reload the mod dav svn configuration on change.
603 ## Example: `/etc/init.d/apache2 reload` or /home/USER/apache_reload.sh
606 ## Example: `/etc/init.d/apache2 reload` or /home/USER/apache_reload.sh
604 ## Make sure user who runs RhodeCode process is allowed to reload Apache
607 ## Make sure user who runs RhodeCode process is allowed to reload Apache
605 #svn.proxy.reload_cmd = /etc/init.d/apache2 reload
608 #svn.proxy.reload_cmd = /etc/init.d/apache2 reload
606 ## If the timeout expires before the reload command finishes, the command will
609 ## If the timeout expires before the reload command finishes, the command will
607 ## be killed. Setting it to zero means no timeout. Defaults to 10 seconds.
610 ## be killed. Setting it to zero means no timeout. Defaults to 10 seconds.
608 #svn.proxy.reload_timeout = 10
611 #svn.proxy.reload_timeout = 10
609
612
610 ############################################################
613 ############################################################
611 ### SSH Support Settings ###
614 ### SSH Support Settings ###
612 ############################################################
615 ############################################################
613
616
614 ## Defines if a custom authorized_keys file should be created and written on
617 ## Defines if a custom authorized_keys file should be created and written on
615 ## any change user ssh keys. Setting this to false also disables possibility
618 ## any change user ssh keys. Setting this to false also disables possibility
616 ## of adding SSH keys by users from web interface. Super admins can still
619 ## of adding SSH keys by users from web interface. Super admins can still
617 ## manage SSH Keys.
620 ## manage SSH Keys.
618 ssh.generate_authorized_keyfile = false
621 ssh.generate_authorized_keyfile = false
619
622
620 ## Options for ssh, default is `no-pty,no-port-forwarding,no-X11-forwarding,no-agent-forwarding`
623 ## Options for ssh, default is `no-pty,no-port-forwarding,no-X11-forwarding,no-agent-forwarding`
621 # ssh.authorized_keys_ssh_opts =
624 # ssh.authorized_keys_ssh_opts =
622
625
623 ## Path to the authorized_keys file where the generate entries are placed.
626 ## Path to the authorized_keys file where the generate entries are placed.
624 ## It is possible to have multiple key files specified in `sshd_config` e.g.
627 ## It is possible to have multiple key files specified in `sshd_config` e.g.
625 ## AuthorizedKeysFile %h/.ssh/authorized_keys %h/.ssh/authorized_keys_rhodecode
628 ## AuthorizedKeysFile %h/.ssh/authorized_keys %h/.ssh/authorized_keys_rhodecode
626 ssh.authorized_keys_file_path = ~/.ssh/authorized_keys_rhodecode
629 ssh.authorized_keys_file_path = ~/.ssh/authorized_keys_rhodecode
627
630
628 ## Command to execute the SSH wrapper. The binary is available in the
631 ## Command to execute the SSH wrapper. The binary is available in the
629 ## RhodeCode installation directory.
632 ## RhodeCode installation directory.
630 ## e.g ~/.rccontrol/community-1/profile/bin/rc-ssh-wrapper
633 ## e.g ~/.rccontrol/community-1/profile/bin/rc-ssh-wrapper
631 ssh.wrapper_cmd = ~/.rccontrol/community-1/rc-ssh-wrapper
634 ssh.wrapper_cmd = ~/.rccontrol/community-1/rc-ssh-wrapper
632
635
633 ## Allow shell when executing the ssh-wrapper command
636 ## Allow shell when executing the ssh-wrapper command
634 ssh.wrapper_cmd_allow_shell = false
637 ssh.wrapper_cmd_allow_shell = false
635
638
636 ## Enables logging, and detailed output send back to the client during SSH
639 ## Enables logging, and detailed output send back to the client during SSH
637 ## operations. Useful for debugging, shouldn't be used in production.
640 ## operations. Useful for debugging, shouldn't be used in production.
638 ssh.enable_debug_logging = true
641 ssh.enable_debug_logging = true
639
642
640 ## Paths to binary executable, by default they are the names, but we can
643 ## Paths to binary executable, by default they are the names, but we can
641 ## override them if we want to use a custom one
644 ## override them if we want to use a custom one
642 ssh.executable.hg = ~/.rccontrol/vcsserver-1/profile/bin/hg
645 ssh.executable.hg = ~/.rccontrol/vcsserver-1/profile/bin/hg
643 ssh.executable.git = ~/.rccontrol/vcsserver-1/profile/bin/git
646 ssh.executable.git = ~/.rccontrol/vcsserver-1/profile/bin/git
644 ssh.executable.svn = ~/.rccontrol/vcsserver-1/profile/bin/svnserve
647 ssh.executable.svn = ~/.rccontrol/vcsserver-1/profile/bin/svnserve
645
648
646 ## Enables SSH key generator web interface. Disabling this still allows users
649 ## Enables SSH key generator web interface. Disabling this still allows users
647 ## to add their own keys.
650 ## to add their own keys.
648 ssh.enable_ui_key_generator = true
651 ssh.enable_ui_key_generator = true
649
652
650
653
651 ## Dummy marker to add new entries after.
654 ## Dummy marker to add new entries after.
652 ## Add any custom entries below. Please don't remove.
655 ## Add any custom entries below. Please don't remove.
653 custom.conf = 1
656 custom.conf = 1
654
657
655
658
656 ################################
659 ################################
657 ### LOGGING CONFIGURATION ####
660 ### LOGGING CONFIGURATION ####
658 ################################
661 ################################
659 [loggers]
662 [loggers]
660 keys = root, sqlalchemy, beaker, celery, rhodecode, ssh_wrapper
663 keys = root, sqlalchemy, beaker, celery, rhodecode, ssh_wrapper
661
664
662 [handlers]
665 [handlers]
663 keys = console, console_sql
666 keys = console, console_sql
664
667
665 [formatters]
668 [formatters]
666 keys = generic, color_formatter, color_formatter_sql
669 keys = generic, color_formatter, color_formatter_sql
667
670
668 #############
671 #############
669 ## LOGGERS ##
672 ## LOGGERS ##
670 #############
673 #############
671 [logger_root]
674 [logger_root]
672 level = NOTSET
675 level = NOTSET
673 handlers = console
676 handlers = console
674
677
675 [logger_sqlalchemy]
678 [logger_sqlalchemy]
676 level = INFO
679 level = INFO
677 handlers = console_sql
680 handlers = console_sql
678 qualname = sqlalchemy.engine
681 qualname = sqlalchemy.engine
679 propagate = 0
682 propagate = 0
680
683
681 [logger_beaker]
684 [logger_beaker]
682 level = DEBUG
685 level = DEBUG
683 handlers =
686 handlers =
684 qualname = beaker.container
687 qualname = beaker.container
685 propagate = 1
688 propagate = 1
686
689
687 [logger_rhodecode]
690 [logger_rhodecode]
688 level = DEBUG
691 level = DEBUG
689 handlers =
692 handlers =
690 qualname = rhodecode
693 qualname = rhodecode
691 propagate = 1
694 propagate = 1
692
695
693 [logger_ssh_wrapper]
696 [logger_ssh_wrapper]
694 level = DEBUG
697 level = DEBUG
695 handlers =
698 handlers =
696 qualname = ssh_wrapper
699 qualname = ssh_wrapper
697 propagate = 1
700 propagate = 1
698
701
699 [logger_celery]
702 [logger_celery]
700 level = DEBUG
703 level = DEBUG
701 handlers =
704 handlers =
702 qualname = celery
705 qualname = celery
703
706
704
707
705 ##############
708 ##############
706 ## HANDLERS ##
709 ## HANDLERS ##
707 ##############
710 ##############
708
711
709 [handler_console]
712 [handler_console]
710 class = StreamHandler
713 class = StreamHandler
711 args = (sys.stderr, )
714 args = (sys.stderr, )
712 level = DEBUG
715 level = DEBUG
713 formatter = color_formatter
716 formatter = color_formatter
714
717
715 [handler_console_sql]
718 [handler_console_sql]
716 # "level = DEBUG" logs SQL queries and results.
719 # "level = DEBUG" logs SQL queries and results.
717 # "level = INFO" logs SQL queries.
720 # "level = INFO" logs SQL queries.
718 # "level = WARN" logs neither. (Recommended for production systems.)
721 # "level = WARN" logs neither. (Recommended for production systems.)
719 class = StreamHandler
722 class = StreamHandler
720 args = (sys.stderr, )
723 args = (sys.stderr, )
721 level = WARN
724 level = WARN
722 formatter = color_formatter_sql
725 formatter = color_formatter_sql
723
726
724 ################
727 ################
725 ## FORMATTERS ##
728 ## FORMATTERS ##
726 ################
729 ################
727
730
728 [formatter_generic]
731 [formatter_generic]
729 class = rhodecode.lib.logging_formatter.ExceptionAwareFormatter
732 class = rhodecode.lib.logging_formatter.ExceptionAwareFormatter
730 format = %(asctime)s.%(msecs)03d [%(process)d] %(levelname)-5.5s [%(name)s] %(message)s
733 format = %(asctime)s.%(msecs)03d [%(process)d] %(levelname)-5.5s [%(name)s] %(message)s
731 datefmt = %Y-%m-%d %H:%M:%S
734 datefmt = %Y-%m-%d %H:%M:%S
732
735
733 [formatter_color_formatter]
736 [formatter_color_formatter]
734 class = rhodecode.lib.logging_formatter.ColorFormatter
737 class = rhodecode.lib.logging_formatter.ColorFormatter
735 format = %(asctime)s.%(msecs)03d [%(process)d] %(levelname)-5.5s [%(name)s] %(message)s
738 format = %(asctime)s.%(msecs)03d [%(process)d] %(levelname)-5.5s [%(name)s] %(message)s
736 datefmt = %Y-%m-%d %H:%M:%S
739 datefmt = %Y-%m-%d %H:%M:%S
737
740
738 [formatter_color_formatter_sql]
741 [formatter_color_formatter_sql]
739 class = rhodecode.lib.logging_formatter.ColorFormatterSql
742 class = rhodecode.lib.logging_formatter.ColorFormatterSql
740 format = %(asctime)s.%(msecs)03d [%(process)d] %(levelname)-5.5s [%(name)s] %(message)s
743 format = %(asctime)s.%(msecs)03d [%(process)d] %(levelname)-5.5s [%(name)s] %(message)s
741 datefmt = %Y-%m-%d %H:%M:%S
744 datefmt = %Y-%m-%d %H:%M:%S
@@ -1,714 +1,717 b''
1
1
2
2
3 ################################################################################
3 ################################################################################
4 ## RHODECODE COMMUNITY EDITION CONFIGURATION ##
4 ## RHODECODE COMMUNITY EDITION CONFIGURATION ##
5 ################################################################################
5 ################################################################################
6
6
7 [DEFAULT]
7 [DEFAULT]
8 ## Debug flag sets all loggers to debug, and enables request tracking
8 ## Debug flag sets all loggers to debug, and enables request tracking
9 debug = false
9 debug = false
10
10
11 ################################################################################
11 ################################################################################
12 ## EMAIL CONFIGURATION ##
12 ## EMAIL CONFIGURATION ##
13 ## Uncomment and replace with the email address which should receive ##
13 ## Uncomment and replace with the email address which should receive ##
14 ## any error reports after an application crash ##
14 ## any error reports after an application crash ##
15 ## Additionally these settings will be used by the RhodeCode mailing system ##
15 ## Additionally these settings will be used by the RhodeCode mailing system ##
16 ################################################################################
16 ################################################################################
17
17
18 ## prefix all emails subjects with given prefix, helps filtering out emails
18 ## prefix all emails subjects with given prefix, helps filtering out emails
19 #email_prefix = [RhodeCode]
19 #email_prefix = [RhodeCode]
20
20
21 ## email FROM address all mails will be sent
21 ## email FROM address all mails will be sent
22 #app_email_from = rhodecode-noreply@localhost
22 #app_email_from = rhodecode-noreply@localhost
23
23
24 #smtp_server = mail.server.com
24 #smtp_server = mail.server.com
25 #smtp_username =
25 #smtp_username =
26 #smtp_password =
26 #smtp_password =
27 #smtp_port =
27 #smtp_port =
28 #smtp_use_tls = false
28 #smtp_use_tls = false
29 #smtp_use_ssl = true
29 #smtp_use_ssl = true
30
30
31 [server:main]
31 [server:main]
32 ## COMMON ##
32 ## COMMON ##
33 host = 127.0.0.1
33 host = 127.0.0.1
34 port = 5000
34 port = 5000
35
35
36 ###########################################################
36 ###########################################################
37 ## WAITRESS WSGI SERVER - Recommended for Development ####
37 ## WAITRESS WSGI SERVER - Recommended for Development ####
38 ###########################################################
38 ###########################################################
39
39
40 #use = egg:waitress#main
40 #use = egg:waitress#main
41 ## number of worker threads
41 ## number of worker threads
42 #threads = 5
42 #threads = 5
43 ## MAX BODY SIZE 100GB
43 ## MAX BODY SIZE 100GB
44 #max_request_body_size = 107374182400
44 #max_request_body_size = 107374182400
45 ## Use poll instead of select, fixes file descriptors limits problems.
45 ## Use poll instead of select, fixes file descriptors limits problems.
46 ## May not work on old windows systems.
46 ## May not work on old windows systems.
47 #asyncore_use_poll = true
47 #asyncore_use_poll = true
48
48
49
49
50 ##########################
50 ##########################
51 ## GUNICORN WSGI SERVER ##
51 ## GUNICORN WSGI SERVER ##
52 ##########################
52 ##########################
53 ## run with gunicorn --log-config rhodecode.ini --paste rhodecode.ini
53 ## run with gunicorn --log-config rhodecode.ini --paste rhodecode.ini
54
54
55 use = egg:gunicorn#main
55 use = egg:gunicorn#main
56 ## Sets the number of process workers. More workers means more concurrent connections
56 ## Sets the number of process workers. More workers means more concurrent connections
57 ## RhodeCode can handle at the same time. Each additional worker also it increases
57 ## RhodeCode can handle at the same time. Each additional worker also it increases
58 ## memory usage as each has it's own set of caches.
58 ## memory usage as each has it's own set of caches.
59 ## Recommended value is (2 * NUMBER_OF_CPUS + 1), eg 2CPU = 5 workers, but no more
59 ## Recommended value is (2 * NUMBER_OF_CPUS + 1), eg 2CPU = 5 workers, but no more
60 ## than 8-10 unless for really big deployments .e.g 700-1000 users.
60 ## than 8-10 unless for really big deployments .e.g 700-1000 users.
61 ## `instance_id = *` must be set in the [app:main] section below (which is the default)
61 ## `instance_id = *` must be set in the [app:main] section below (which is the default)
62 ## when using more than 1 worker.
62 ## when using more than 1 worker.
63 workers = 2
63 workers = 2
64 ## process name visible in process list
64 ## process name visible in process list
65 proc_name = rhodecode
65 proc_name = rhodecode
66 ## type of worker class, one of sync, gevent
66 ## type of worker class, one of sync, gevent
67 ## recommended for bigger setup is using of of other than sync one
67 ## recommended for bigger setup is using of of other than sync one
68 worker_class = gevent
68 worker_class = gevent
69 ## The maximum number of simultaneous clients. Valid only for Gevent
69 ## The maximum number of simultaneous clients. Valid only for Gevent
70 worker_connections = 10
70 worker_connections = 10
71 ## max number of requests that worker will handle before being gracefully
71 ## max number of requests that worker will handle before being gracefully
72 ## restarted, could prevent memory leaks
72 ## restarted, could prevent memory leaks
73 max_requests = 1000
73 max_requests = 1000
74 max_requests_jitter = 30
74 max_requests_jitter = 30
75 ## amount of time a worker can spend with handling a request before it
75 ## amount of time a worker can spend with handling a request before it
76 ## gets killed and restarted. Set to 6hrs
76 ## gets killed and restarted. Set to 6hrs
77 timeout = 21600
77 timeout = 21600
78
78
79
79
80 ## prefix middleware for RhodeCode.
80 ## prefix middleware for RhodeCode.
81 ## recommended when using proxy setup.
81 ## recommended when using proxy setup.
82 ## allows to set RhodeCode under a prefix in server.
82 ## allows to set RhodeCode under a prefix in server.
83 ## eg https://server.com/custom_prefix. Enable `filter-with =` option below as well.
83 ## eg https://server.com/custom_prefix. Enable `filter-with =` option below as well.
84 ## And set your prefix like: `prefix = /custom_prefix`
84 ## And set your prefix like: `prefix = /custom_prefix`
85 ## be sure to also set beaker.session.cookie_path = /custom_prefix if you need
85 ## be sure to also set beaker.session.cookie_path = /custom_prefix if you need
86 ## to make your cookies only work on prefix url
86 ## to make your cookies only work on prefix url
87 [filter:proxy-prefix]
87 [filter:proxy-prefix]
88 use = egg:PasteDeploy#prefix
88 use = egg:PasteDeploy#prefix
89 prefix = /
89 prefix = /
90
90
91 [app:main]
91 [app:main]
92 ## The %(here)s variable will be replaced with the absolute path of parent directory
92 ## The %(here)s variable will be replaced with the absolute path of parent directory
93 ## of this file
93 ## of this file
94 ## In addition ENVIRONMENT variables usage is possible, e.g
94 ## In addition ENVIRONMENT variables usage is possible, e.g
95 ## sqlalchemy.db1.url = {ENV_RC_DB_URL}
95 ## sqlalchemy.db1.url = {ENV_RC_DB_URL}
96
96
97 use = egg:rhodecode-enterprise-ce
97 use = egg:rhodecode-enterprise-ce
98
98
99 ## enable proxy prefix middleware, defined above
99 ## enable proxy prefix middleware, defined above
100 #filter-with = proxy-prefix
100 #filter-with = proxy-prefix
101
101
102 ## encryption key used to encrypt social plugin tokens,
102 ## encryption key used to encrypt social plugin tokens,
103 ## remote_urls with credentials etc, if not set it defaults to
103 ## remote_urls with credentials etc, if not set it defaults to
104 ## `beaker.session.secret`
104 ## `beaker.session.secret`
105 #rhodecode.encrypted_values.secret =
105 #rhodecode.encrypted_values.secret =
106
106
107 ## decryption strict mode (enabled by default). It controls if decryption raises
107 ## decryption strict mode (enabled by default). It controls if decryption raises
108 ## `SignatureVerificationError` in case of wrong key, or damaged encryption data.
108 ## `SignatureVerificationError` in case of wrong key, or damaged encryption data.
109 #rhodecode.encrypted_values.strict = false
109 #rhodecode.encrypted_values.strict = false
110
110
111 ## Pick algorithm for encryption. Either fernet (more secure) or aes (default)
111 ## Pick algorithm for encryption. Either fernet (more secure) or aes (default)
112 ## fernet is safer, and we strongly recommend switching to it.
112 ## fernet is safer, and we strongly recommend switching to it.
113 ## Due to backward compatibility aes is used as default.
113 ## Due to backward compatibility aes is used as default.
114 #rhodecode.encrypted_values.algorithm = fernet
114 #rhodecode.encrypted_values.algorithm = fernet
115
115
116 ## return gzipped responses from RhodeCode (static files/application)
116 ## return gzipped responses from RhodeCode (static files/application)
117 gzip_responses = false
117 gzip_responses = false
118
118
119 ## auto-generate javascript routes file on startup
119 ## auto-generate javascript routes file on startup
120 generate_js_files = false
120 generate_js_files = false
121
121
122 ## System global default language.
122 ## System global default language.
123 ## All available languages: en(default), be, de, es, fr, it, ja, pl, pt, ru, zh
123 ## All available languages: en(default), be, de, es, fr, it, ja, pl, pt, ru, zh
124 lang = en
124 lang = en
125
125
126 ## Perform a full repository scan and import on each server start.
126 ## Perform a full repository scan and import on each server start.
127 ## Settings this to true could lead to very long startup time.
127 ## Settings this to true could lead to very long startup time.
128 startup.import_repos = false
128 startup.import_repos = false
129
129
130 ## Uncomment and set this path to use archive download cache.
130 ## Uncomment and set this path to use archive download cache.
131 ## Once enabled, generated archives will be cached at this location
131 ## Once enabled, generated archives will be cached at this location
132 ## and served from the cache during subsequent requests for the same archive of
132 ## and served from the cache during subsequent requests for the same archive of
133 ## the repository.
133 ## the repository.
134 #archive_cache_dir = /tmp/tarballcache
134 #archive_cache_dir = /tmp/tarballcache
135
135
136 ## URL at which the application is running. This is used for Bootstrapping
136 ## URL at which the application is running. This is used for Bootstrapping
137 ## requests in context when no web request is available. Used in ishell, or
137 ## requests in context when no web request is available. Used in ishell, or
138 ## SSH calls. Set this for events to receive proper url for SSH calls.
138 ## SSH calls. Set this for events to receive proper url for SSH calls.
139 app.base_url = http://rhodecode.local
139 app.base_url = http://rhodecode.local
140
140
141 ## Unique application ID. Should be a random unique string for security.
141 ## Unique application ID. Should be a random unique string for security.
142 app_instance_uuid = rc-production
142 app_instance_uuid = rc-production
143
143
144 ## Cut off limit for large diffs (size in bytes). If overall diff size on
144 ## Cut off limit for large diffs (size in bytes). If overall diff size on
145 ## commit, or pull request exceeds this limit this diff will be displayed
145 ## commit, or pull request exceeds this limit this diff will be displayed
146 ## partially. E.g 512000 == 512Kb
146 ## partially. E.g 512000 == 512Kb
147 cut_off_limit_diff = 512000
147 cut_off_limit_diff = 512000
148
148
149 ## Cut off limit for large files inside diffs (size in bytes). Each individual
149 ## Cut off limit for large files inside diffs (size in bytes). Each individual
150 ## file inside diff which exceeds this limit will be displayed partially.
150 ## file inside diff which exceeds this limit will be displayed partially.
151 ## E.g 128000 == 128Kb
151 ## E.g 128000 == 128Kb
152 cut_off_limit_file = 128000
152 cut_off_limit_file = 128000
153
153
154 ## use cached version of vcs repositories everywhere. Recommended to be `true`
154 ## use cached version of vcs repositories everywhere. Recommended to be `true`
155 vcs_full_cache = true
155 vcs_full_cache = true
156
156
157 ## Force https in RhodeCode, fixes https redirects, assumes it's always https.
157 ## Force https in RhodeCode, fixes https redirects, assumes it's always https.
158 ## Normally this is controlled by proper http flags sent from http server
158 ## Normally this is controlled by proper http flags sent from http server
159 force_https = false
159 force_https = false
160
160
161 ## use Strict-Transport-Security headers
161 ## use Strict-Transport-Security headers
162 use_htsts = false
162 use_htsts = false
163
163
164 ## git rev filter option, --all is the default filter, if you need to
164 ## git rev filter option, --all is the default filter, if you need to
165 ## hide all refs in changelog switch this to --branches --tags
165 ## hide all refs in changelog switch this to --branches --tags
166 git_rev_filter = --branches --tags
166 git_rev_filter = --branches --tags
167
167
168 # Set to true if your repos are exposed using the dumb protocol
168 # Set to true if your repos are exposed using the dumb protocol
169 git_update_server_info = false
169 git_update_server_info = false
170
170
171 ## RSS/ATOM feed options
171 ## RSS/ATOM feed options
172 rss_cut_off_limit = 256000
172 rss_cut_off_limit = 256000
173 rss_items_per_page = 10
173 rss_items_per_page = 10
174 rss_include_diff = false
174 rss_include_diff = false
175
175
176 ## gist URL alias, used to create nicer urls for gist. This should be an
176 ## gist URL alias, used to create nicer urls for gist. This should be an
177 ## url that does rewrites to _admin/gists/{gistid}.
177 ## url that does rewrites to _admin/gists/{gistid}.
178 ## example: http://gist.rhodecode.org/{gistid}. Empty means use the internal
178 ## example: http://gist.rhodecode.org/{gistid}. Empty means use the internal
179 ## RhodeCode url, ie. http[s]://rhodecode.server/_admin/gists/{gistid}
179 ## RhodeCode url, ie. http[s]://rhodecode.server/_admin/gists/{gistid}
180 gist_alias_url =
180 gist_alias_url =
181
181
182 ## List of views (using glob pattern syntax) that AUTH TOKENS could be
182 ## List of views (using glob pattern syntax) that AUTH TOKENS could be
183 ## used for access.
183 ## used for access.
184 ## Adding ?auth_token=TOKEN_HASH to the url authenticates this request as if it
184 ## Adding ?auth_token=TOKEN_HASH to the url authenticates this request as if it
185 ## came from the the logged in user who own this authentication token.
185 ## came from the the logged in user who own this authentication token.
186 ## Additionally @TOKEN syntax can be used to bound the view to specific
186 ## Additionally @TOKEN syntax can be used to bound the view to specific
187 ## authentication token. Such view would be only accessible when used together
187 ## authentication token. Such view would be only accessible when used together
188 ## with this authentication token
188 ## with this authentication token
189 ##
189 ##
190 ## list of all views can be found under `/_admin/permissions/auth_token_access`
190 ## list of all views can be found under `/_admin/permissions/auth_token_access`
191 ## The list should be "," separated and on a single line.
191 ## The list should be "," separated and on a single line.
192 ##
192 ##
193 ## Most common views to enable:
193 ## Most common views to enable:
194 # RepoCommitsView:repo_commit_download
194 # RepoCommitsView:repo_commit_download
195 # RepoCommitsView:repo_commit_patch
195 # RepoCommitsView:repo_commit_patch
196 # RepoCommitsView:repo_commit_raw
196 # RepoCommitsView:repo_commit_raw
197 # RepoCommitsView:repo_commit_raw@TOKEN
197 # RepoCommitsView:repo_commit_raw@TOKEN
198 # RepoFilesView:repo_files_diff
198 # RepoFilesView:repo_files_diff
199 # RepoFilesView:repo_archivefile
199 # RepoFilesView:repo_archivefile
200 # RepoFilesView:repo_file_raw
200 # RepoFilesView:repo_file_raw
201 # GistView:*
201 # GistView:*
202 api_access_controllers_whitelist =
202 api_access_controllers_whitelist =
203
203
204 ## Default encoding used to convert from and to unicode
204 ## Default encoding used to convert from and to unicode
205 ## can be also a comma separated list of encoding in case of mixed encodings
205 ## can be also a comma separated list of encoding in case of mixed encodings
206 default_encoding = UTF-8
206 default_encoding = UTF-8
207
207
208 ## instance-id prefix
208 ## instance-id prefix
209 ## a prefix key for this instance used for cache invalidation when running
209 ## a prefix key for this instance used for cache invalidation when running
210 ## multiple instances of RhodeCode, make sure it's globally unique for
210 ## multiple instances of RhodeCode, make sure it's globally unique for
211 ## all running RhodeCode instances. Leave empty if you don't use it
211 ## all running RhodeCode instances. Leave empty if you don't use it
212 instance_id =
212 instance_id =
213
213
214 ## Fallback authentication plugin. Set this to a plugin ID to force the usage
214 ## Fallback authentication plugin. Set this to a plugin ID to force the usage
215 ## of an authentication plugin also if it is disabled by it's settings.
215 ## of an authentication plugin also if it is disabled by it's settings.
216 ## This could be useful if you are unable to log in to the system due to broken
216 ## This could be useful if you are unable to log in to the system due to broken
217 ## authentication settings. Then you can enable e.g. the internal RhodeCode auth
217 ## authentication settings. Then you can enable e.g. the internal RhodeCode auth
218 ## module to log in again and fix the settings.
218 ## module to log in again and fix the settings.
219 ##
219 ##
220 ## Available builtin plugin IDs (hash is part of the ID):
220 ## Available builtin plugin IDs (hash is part of the ID):
221 ## egg:rhodecode-enterprise-ce#rhodecode
221 ## egg:rhodecode-enterprise-ce#rhodecode
222 ## egg:rhodecode-enterprise-ce#pam
222 ## egg:rhodecode-enterprise-ce#pam
223 ## egg:rhodecode-enterprise-ce#ldap
223 ## egg:rhodecode-enterprise-ce#ldap
224 ## egg:rhodecode-enterprise-ce#jasig_cas
224 ## egg:rhodecode-enterprise-ce#jasig_cas
225 ## egg:rhodecode-enterprise-ce#headers
225 ## egg:rhodecode-enterprise-ce#headers
226 ## egg:rhodecode-enterprise-ce#crowd
226 ## egg:rhodecode-enterprise-ce#crowd
227 #rhodecode.auth_plugin_fallback = egg:rhodecode-enterprise-ce#rhodecode
227 #rhodecode.auth_plugin_fallback = egg:rhodecode-enterprise-ce#rhodecode
228
228
229 ## alternative return HTTP header for failed authentication. Default HTTP
229 ## alternative return HTTP header for failed authentication. Default HTTP
230 ## response is 401 HTTPUnauthorized. Currently HG clients have troubles with
230 ## response is 401 HTTPUnauthorized. Currently HG clients have troubles with
231 ## handling that causing a series of failed authentication calls.
231 ## handling that causing a series of failed authentication calls.
232 ## Set this variable to 403 to return HTTPForbidden, or any other HTTP code
232 ## Set this variable to 403 to return HTTPForbidden, or any other HTTP code
233 ## This will be served instead of default 401 on bad authentication
233 ## This will be served instead of default 401 on bad authentication
234 auth_ret_code =
234 auth_ret_code =
235
235
236 ## use special detection method when serving auth_ret_code, instead of serving
236 ## use special detection method when serving auth_ret_code, instead of serving
237 ## ret_code directly, use 401 initially (Which triggers credentials prompt)
237 ## ret_code directly, use 401 initially (Which triggers credentials prompt)
238 ## and then serve auth_ret_code to clients
238 ## and then serve auth_ret_code to clients
239 auth_ret_code_detection = false
239 auth_ret_code_detection = false
240
240
241 ## locking return code. When repository is locked return this HTTP code. 2XX
241 ## locking return code. When repository is locked return this HTTP code. 2XX
242 ## codes don't break the transactions while 4XX codes do
242 ## codes don't break the transactions while 4XX codes do
243 lock_ret_code = 423
243 lock_ret_code = 423
244
244
245 ## allows to change the repository location in settings page
245 ## allows to change the repository location in settings page
246 allow_repo_location_change = true
246 allow_repo_location_change = true
247
247
248 ## allows to setup custom hooks in settings page
248 ## allows to setup custom hooks in settings page
249 allow_custom_hooks_settings = true
249 allow_custom_hooks_settings = true
250
250
251 ## Generated license token required for EE edition license.
251 ## Generated license token required for EE edition license.
252 ## New generated token value can be found in Admin > settings > license page.
252 ## New generated token value can be found in Admin > settings > license page.
253 license_token =
253 license_token =
254
254
255 ## supervisor connection uri, for managing supervisor and logs.
255 ## supervisor connection uri, for managing supervisor and logs.
256 supervisor.uri =
256 supervisor.uri =
257 ## supervisord group name/id we only want this RC instance to handle
257 ## supervisord group name/id we only want this RC instance to handle
258 supervisor.group_id = prod
258 supervisor.group_id = prod
259
259
260 ## Display extended labs settings
260 ## Display extended labs settings
261 labs_settings_active = true
261 labs_settings_active = true
262
262
263 ## Custom exception store path, defaults to TMPDIR
263 ## Custom exception store path, defaults to TMPDIR
264 ## This is used to store exception from RhodeCode in shared directory
264 ## This is used to store exception from RhodeCode in shared directory
265 #exception_tracker.store_path =
265 #exception_tracker.store_path =
266
266
267 ## File store configuration. This is used to store and serve uploaded files
267 ## File store configuration. This is used to store and serve uploaded files
268 file_store.enabled = true
268 file_store.enabled = true
269 ## Storage backend, available options are: local
269 ## Storage backend, available options are: local
270 file_store.backend = local
270 file_store.backend = local
271 ## path to store the uploaded binaries
271 ## path to store the uploaded binaries
272 file_store.storage_path = %(here)s/data/file_store
272 file_store.storage_path = %(here)s/data/file_store
273
273
274
274
275 ####################################
275 ####################################
276 ### CELERY CONFIG ####
276 ### CELERY CONFIG ####
277 ####################################
277 ####################################
278 ## run: /path/to/celery worker \
278 ## run: /path/to/celery worker \
279 ## -E --beat --app rhodecode.lib.celerylib.loader \
279 ## -E --beat --app rhodecode.lib.celerylib.loader \
280 ## --scheduler rhodecode.lib.celerylib.scheduler.RcScheduler \
280 ## --scheduler rhodecode.lib.celerylib.scheduler.RcScheduler \
281 ## --loglevel DEBUG --ini /path/to/rhodecode.ini
281 ## --loglevel DEBUG --ini /path/to/rhodecode.ini
282
282
283 use_celery = false
283 use_celery = false
284
284
285 ## connection url to the message broker (default rabbitmq)
285 ## connection url to the message broker (default redis)
286 celery.broker_url = amqp://rabbitmq:qweqwe@localhost:5672/rabbitmqhost
286 celery.broker_url = redis://localhost:6379/8
287
288 ## rabbitmq example
289 #celery.broker_url = amqp://rabbitmq:qweqwe@localhost:5672/rabbitmqhost
287
290
288 ## maximum tasks to execute before worker restart
291 ## maximum tasks to execute before worker restart
289 celery.max_tasks_per_child = 100
292 celery.max_tasks_per_child = 100
290
293
291 ## tasks will never be sent to the queue, but executed locally instead.
294 ## tasks will never be sent to the queue, but executed locally instead.
292 celery.task_always_eager = false
295 celery.task_always_eager = false
293
296
294 #####################################
297 #####################################
295 ### DOGPILE CACHE ####
298 ### DOGPILE CACHE ####
296 #####################################
299 #####################################
297 ## Default cache dir for caches. Putting this into a ramdisk
300 ## Default cache dir for caches. Putting this into a ramdisk
298 ## can boost performance, eg. /tmpfs/data_ramdisk, however this directory might require
301 ## can boost performance, eg. /tmpfs/data_ramdisk, however this directory might require
299 ## large amount of space
302 ## large amount of space
300 cache_dir = %(here)s/data
303 cache_dir = %(here)s/data
301
304
302 ## `cache_perms` cache settings for permission tree, auth TTL.
305 ## `cache_perms` cache settings for permission tree, auth TTL.
303 rc_cache.cache_perms.backend = dogpile.cache.rc.file_namespace
306 rc_cache.cache_perms.backend = dogpile.cache.rc.file_namespace
304 rc_cache.cache_perms.expiration_time = 300
307 rc_cache.cache_perms.expiration_time = 300
305
308
306 ## alternative `cache_perms` redis backend with distributed lock
309 ## alternative `cache_perms` redis backend with distributed lock
307 #rc_cache.cache_perms.backend = dogpile.cache.rc.redis
310 #rc_cache.cache_perms.backend = dogpile.cache.rc.redis
308 #rc_cache.cache_perms.expiration_time = 300
311 #rc_cache.cache_perms.expiration_time = 300
309 ## redis_expiration_time needs to be greater then expiration_time
312 ## redis_expiration_time needs to be greater then expiration_time
310 #rc_cache.cache_perms.arguments.redis_expiration_time = 7200
313 #rc_cache.cache_perms.arguments.redis_expiration_time = 7200
311 #rc_cache.cache_perms.arguments.socket_timeout = 30
314 #rc_cache.cache_perms.arguments.socket_timeout = 30
312 #rc_cache.cache_perms.arguments.host = localhost
315 #rc_cache.cache_perms.arguments.host = localhost
313 #rc_cache.cache_perms.arguments.port = 6379
316 #rc_cache.cache_perms.arguments.port = 6379
314 #rc_cache.cache_perms.arguments.db = 0
317 #rc_cache.cache_perms.arguments.db = 0
315 ## more Redis options: https://dogpilecache.sqlalchemy.org/en/latest/api.html#redis-backends
318 ## more Redis options: https://dogpilecache.sqlalchemy.org/en/latest/api.html#redis-backends
316 #rc_cache.cache_perms.arguments.distributed_lock = true
319 #rc_cache.cache_perms.arguments.distributed_lock = true
317
320
318 ## `cache_repo` cache settings for FileTree, Readme, RSS FEEDS
321 ## `cache_repo` cache settings for FileTree, Readme, RSS FEEDS
319 rc_cache.cache_repo.backend = dogpile.cache.rc.file_namespace
322 rc_cache.cache_repo.backend = dogpile.cache.rc.file_namespace
320 rc_cache.cache_repo.expiration_time = 2592000
323 rc_cache.cache_repo.expiration_time = 2592000
321
324
322 ## alternative `cache_repo` redis backend with distributed lock
325 ## alternative `cache_repo` redis backend with distributed lock
323 #rc_cache.cache_repo.backend = dogpile.cache.rc.redis
326 #rc_cache.cache_repo.backend = dogpile.cache.rc.redis
324 #rc_cache.cache_repo.expiration_time = 2592000
327 #rc_cache.cache_repo.expiration_time = 2592000
325 ## redis_expiration_time needs to be greater then expiration_time
328 ## redis_expiration_time needs to be greater then expiration_time
326 #rc_cache.cache_repo.arguments.redis_expiration_time = 2678400
329 #rc_cache.cache_repo.arguments.redis_expiration_time = 2678400
327 #rc_cache.cache_repo.arguments.socket_timeout = 30
330 #rc_cache.cache_repo.arguments.socket_timeout = 30
328 #rc_cache.cache_repo.arguments.host = localhost
331 #rc_cache.cache_repo.arguments.host = localhost
329 #rc_cache.cache_repo.arguments.port = 6379
332 #rc_cache.cache_repo.arguments.port = 6379
330 #rc_cache.cache_repo.arguments.db = 1
333 #rc_cache.cache_repo.arguments.db = 1
331 ## more Redis options: https://dogpilecache.sqlalchemy.org/en/latest/api.html#redis-backends
334 ## more Redis options: https://dogpilecache.sqlalchemy.org/en/latest/api.html#redis-backends
332 #rc_cache.cache_repo.arguments.distributed_lock = true
335 #rc_cache.cache_repo.arguments.distributed_lock = true
333
336
334 ## cache settings for SQL queries, this needs to use memory type backend
337 ## cache settings for SQL queries, this needs to use memory type backend
335 rc_cache.sql_cache_short.backend = dogpile.cache.rc.memory_lru
338 rc_cache.sql_cache_short.backend = dogpile.cache.rc.memory_lru
336 rc_cache.sql_cache_short.expiration_time = 30
339 rc_cache.sql_cache_short.expiration_time = 30
337
340
338 ## `cache_repo_longterm` cache for repo object instances, this needs to use memory
341 ## `cache_repo_longterm` cache for repo object instances, this needs to use memory
339 ## type backend as the objects kept are not pickle serializable
342 ## type backend as the objects kept are not pickle serializable
340 rc_cache.cache_repo_longterm.backend = dogpile.cache.rc.memory_lru
343 rc_cache.cache_repo_longterm.backend = dogpile.cache.rc.memory_lru
341 ## by default we use 96H, this is using invalidation on push anyway
344 ## by default we use 96H, this is using invalidation on push anyway
342 rc_cache.cache_repo_longterm.expiration_time = 345600
345 rc_cache.cache_repo_longterm.expiration_time = 345600
343 ## max items in LRU cache, reduce this number to save memory, and expire last used
346 ## max items in LRU cache, reduce this number to save memory, and expire last used
344 ## cached objects
347 ## cached objects
345 rc_cache.cache_repo_longterm.max_size = 10000
348 rc_cache.cache_repo_longterm.max_size = 10000
346
349
347
350
348 ####################################
351 ####################################
349 ### BEAKER SESSION ####
352 ### BEAKER SESSION ####
350 ####################################
353 ####################################
351
354
352 ## .session.type is type of storage options for the session, current allowed
355 ## .session.type is type of storage options for the session, current allowed
353 ## types are file, ext:memcached, ext:redis, ext:database, and memory (default).
356 ## types are file, ext:memcached, ext:redis, ext:database, and memory (default).
354 beaker.session.type = file
357 beaker.session.type = file
355 beaker.session.data_dir = %(here)s/data/sessions
358 beaker.session.data_dir = %(here)s/data/sessions
356
359
357 ## redis sessions
360 ## redis sessions
358 #beaker.session.type = ext:redis
361 #beaker.session.type = ext:redis
359 #beaker.session.url = redis://127.0.0.1:6379/2
362 #beaker.session.url = redis://127.0.0.1:6379/2
360
363
361 ## db based session, fast, and allows easy management over logged in users
364 ## db based session, fast, and allows easy management over logged in users
362 #beaker.session.type = ext:database
365 #beaker.session.type = ext:database
363 #beaker.session.table_name = db_session
366 #beaker.session.table_name = db_session
364 #beaker.session.sa.url = postgresql://postgres:secret@localhost/rhodecode
367 #beaker.session.sa.url = postgresql://postgres:secret@localhost/rhodecode
365 #beaker.session.sa.url = mysql://root:secret@127.0.0.1/rhodecode
368 #beaker.session.sa.url = mysql://root:secret@127.0.0.1/rhodecode
366 #beaker.session.sa.pool_recycle = 3600
369 #beaker.session.sa.pool_recycle = 3600
367 #beaker.session.sa.echo = false
370 #beaker.session.sa.echo = false
368
371
369 beaker.session.key = rhodecode
372 beaker.session.key = rhodecode
370 beaker.session.secret = production-rc-uytcxaz
373 beaker.session.secret = production-rc-uytcxaz
371 beaker.session.lock_dir = %(here)s/data/sessions/lock
374 beaker.session.lock_dir = %(here)s/data/sessions/lock
372
375
373 ## Secure encrypted cookie. Requires AES and AES python libraries
376 ## Secure encrypted cookie. Requires AES and AES python libraries
374 ## you must disable beaker.session.secret to use this
377 ## you must disable beaker.session.secret to use this
375 #beaker.session.encrypt_key = key_for_encryption
378 #beaker.session.encrypt_key = key_for_encryption
376 #beaker.session.validate_key = validation_key
379 #beaker.session.validate_key = validation_key
377
380
378 ## sets session as invalid(also logging out user) if it haven not been
381 ## sets session as invalid(also logging out user) if it haven not been
379 ## accessed for given amount of time in seconds
382 ## accessed for given amount of time in seconds
380 beaker.session.timeout = 2592000
383 beaker.session.timeout = 2592000
381 beaker.session.httponly = true
384 beaker.session.httponly = true
382 ## Path to use for the cookie. Set to prefix if you use prefix middleware
385 ## Path to use for the cookie. Set to prefix if you use prefix middleware
383 #beaker.session.cookie_path = /custom_prefix
386 #beaker.session.cookie_path = /custom_prefix
384
387
385 ## uncomment for https secure cookie
388 ## uncomment for https secure cookie
386 beaker.session.secure = false
389 beaker.session.secure = false
387
390
388 ## auto save the session to not to use .save()
391 ## auto save the session to not to use .save()
389 beaker.session.auto = false
392 beaker.session.auto = false
390
393
391 ## default cookie expiration time in seconds, set to `true` to set expire
394 ## default cookie expiration time in seconds, set to `true` to set expire
392 ## at browser close
395 ## at browser close
393 #beaker.session.cookie_expires = 3600
396 #beaker.session.cookie_expires = 3600
394
397
395 ###################################
398 ###################################
396 ## SEARCH INDEXING CONFIGURATION ##
399 ## SEARCH INDEXING CONFIGURATION ##
397 ###################################
400 ###################################
398 ## Full text search indexer is available in rhodecode-tools under
401 ## Full text search indexer is available in rhodecode-tools under
399 ## `rhodecode-tools index` command
402 ## `rhodecode-tools index` command
400
403
401 ## WHOOSH Backend, doesn't require additional services to run
404 ## WHOOSH Backend, doesn't require additional services to run
402 ## it works good with few dozen repos
405 ## it works good with few dozen repos
403 search.module = rhodecode.lib.index.whoosh
406 search.module = rhodecode.lib.index.whoosh
404 search.location = %(here)s/data/index
407 search.location = %(here)s/data/index
405
408
406 ########################################
409 ########################################
407 ### CHANNELSTREAM CONFIG ####
410 ### CHANNELSTREAM CONFIG ####
408 ########################################
411 ########################################
409 ## channelstream enables persistent connections and live notification
412 ## channelstream enables persistent connections and live notification
410 ## in the system. It's also used by the chat system
413 ## in the system. It's also used by the chat system
411
414
412 channelstream.enabled = false
415 channelstream.enabled = false
413
416
414 ## server address for channelstream server on the backend
417 ## server address for channelstream server on the backend
415 channelstream.server = 127.0.0.1:9800
418 channelstream.server = 127.0.0.1:9800
416
419
417 ## location of the channelstream server from outside world
420 ## location of the channelstream server from outside world
418 ## use ws:// for http or wss:// for https. This address needs to be handled
421 ## use ws:// for http or wss:// for https. This address needs to be handled
419 ## by external HTTP server such as Nginx or Apache
422 ## by external HTTP server such as Nginx or Apache
420 ## see Nginx/Apache configuration examples in our docs
423 ## see Nginx/Apache configuration examples in our docs
421 channelstream.ws_url = ws://rhodecode.yourserver.com/_channelstream
424 channelstream.ws_url = ws://rhodecode.yourserver.com/_channelstream
422 channelstream.secret = secret
425 channelstream.secret = secret
423 channelstream.history.location = %(here)s/channelstream_history
426 channelstream.history.location = %(here)s/channelstream_history
424
427
425 ## Internal application path that Javascript uses to connect into.
428 ## Internal application path that Javascript uses to connect into.
426 ## If you use proxy-prefix the prefix should be added before /_channelstream
429 ## If you use proxy-prefix the prefix should be added before /_channelstream
427 channelstream.proxy_path = /_channelstream
430 channelstream.proxy_path = /_channelstream
428
431
429
432
430 ###################################
433 ###################################
431 ## APPENLIGHT CONFIG ##
434 ## APPENLIGHT CONFIG ##
432 ###################################
435 ###################################
433
436
434 ## Appenlight is tailored to work with RhodeCode, see
437 ## Appenlight is tailored to work with RhodeCode, see
435 ## http://appenlight.com for details how to obtain an account
438 ## http://appenlight.com for details how to obtain an account
436
439
437 ## Appenlight integration enabled
440 ## Appenlight integration enabled
438 appenlight = false
441 appenlight = false
439
442
440 appenlight.server_url = https://api.appenlight.com
443 appenlight.server_url = https://api.appenlight.com
441 appenlight.api_key = YOUR_API_KEY
444 appenlight.api_key = YOUR_API_KEY
442 #appenlight.transport_config = https://api.appenlight.com?threaded=1&timeout=5
445 #appenlight.transport_config = https://api.appenlight.com?threaded=1&timeout=5
443
446
444 ## used for JS client
447 ## used for JS client
445 appenlight.api_public_key = YOUR_API_PUBLIC_KEY
448 appenlight.api_public_key = YOUR_API_PUBLIC_KEY
446
449
447 ## TWEAK AMOUNT OF INFO SENT HERE
450 ## TWEAK AMOUNT OF INFO SENT HERE
448
451
449 ## enables 404 error logging (default False)
452 ## enables 404 error logging (default False)
450 appenlight.report_404 = false
453 appenlight.report_404 = false
451
454
452 ## time in seconds after request is considered being slow (default 1)
455 ## time in seconds after request is considered being slow (default 1)
453 appenlight.slow_request_time = 1
456 appenlight.slow_request_time = 1
454
457
455 ## record slow requests in application
458 ## record slow requests in application
456 ## (needs to be enabled for slow datastore recording and time tracking)
459 ## (needs to be enabled for slow datastore recording and time tracking)
457 appenlight.slow_requests = true
460 appenlight.slow_requests = true
458
461
459 ## enable hooking to application loggers
462 ## enable hooking to application loggers
460 appenlight.logging = true
463 appenlight.logging = true
461
464
462 ## minimum log level for log capture
465 ## minimum log level for log capture
463 appenlight.logging.level = WARNING
466 appenlight.logging.level = WARNING
464
467
465 ## send logs only from erroneous/slow requests
468 ## send logs only from erroneous/slow requests
466 ## (saves API quota for intensive logging)
469 ## (saves API quota for intensive logging)
467 appenlight.logging_on_error = false
470 appenlight.logging_on_error = false
468
471
469 ## list of additional keywords that should be grabbed from environ object
472 ## list of additional keywords that should be grabbed from environ object
470 ## can be string with comma separated list of words in lowercase
473 ## can be string with comma separated list of words in lowercase
471 ## (by default client will always send following info:
474 ## (by default client will always send following info:
472 ## 'REMOTE_USER', 'REMOTE_ADDR', 'SERVER_NAME', 'CONTENT_TYPE' + all keys that
475 ## 'REMOTE_USER', 'REMOTE_ADDR', 'SERVER_NAME', 'CONTENT_TYPE' + all keys that
473 ## start with HTTP* this list be extended with additional keywords here
476 ## start with HTTP* this list be extended with additional keywords here
474 appenlight.environ_keys_whitelist =
477 appenlight.environ_keys_whitelist =
475
478
476 ## list of keywords that should be blanked from request object
479 ## list of keywords that should be blanked from request object
477 ## can be string with comma separated list of words in lowercase
480 ## can be string with comma separated list of words in lowercase
478 ## (by default client will always blank keys that contain following words
481 ## (by default client will always blank keys that contain following words
479 ## 'password', 'passwd', 'pwd', 'auth_tkt', 'secret', 'csrf'
482 ## 'password', 'passwd', 'pwd', 'auth_tkt', 'secret', 'csrf'
480 ## this list be extended with additional keywords set here
483 ## this list be extended with additional keywords set here
481 appenlight.request_keys_blacklist =
484 appenlight.request_keys_blacklist =
482
485
483 ## list of namespaces that should be ignores when gathering log entries
486 ## list of namespaces that should be ignores when gathering log entries
484 ## can be string with comma separated list of namespaces
487 ## can be string with comma separated list of namespaces
485 ## (by default the client ignores own entries: appenlight_client.client)
488 ## (by default the client ignores own entries: appenlight_client.client)
486 appenlight.log_namespace_blacklist =
489 appenlight.log_namespace_blacklist =
487
490
488
491
489 ###########################################
492 ###########################################
490 ### MAIN RHODECODE DATABASE CONFIG ###
493 ### MAIN RHODECODE DATABASE CONFIG ###
491 ###########################################
494 ###########################################
492 #sqlalchemy.db1.url = sqlite:///%(here)s/rhodecode.db?timeout=30
495 #sqlalchemy.db1.url = sqlite:///%(here)s/rhodecode.db?timeout=30
493 #sqlalchemy.db1.url = postgresql://postgres:qweqwe@localhost/rhodecode
496 #sqlalchemy.db1.url = postgresql://postgres:qweqwe@localhost/rhodecode
494 #sqlalchemy.db1.url = mysql://root:qweqwe@localhost/rhodecode?charset=utf8
497 #sqlalchemy.db1.url = mysql://root:qweqwe@localhost/rhodecode?charset=utf8
495 # pymysql is an alternative driver for MySQL, use in case of problems with default one
498 # pymysql is an alternative driver for MySQL, use in case of problems with default one
496 #sqlalchemy.db1.url = mysql+pymysql://root:qweqwe@localhost/rhodecode
499 #sqlalchemy.db1.url = mysql+pymysql://root:qweqwe@localhost/rhodecode
497
500
498 sqlalchemy.db1.url = postgresql://postgres:qweqwe@localhost/rhodecode
501 sqlalchemy.db1.url = postgresql://postgres:qweqwe@localhost/rhodecode
499
502
500 # see sqlalchemy docs for other advanced settings
503 # see sqlalchemy docs for other advanced settings
501
504
502 ## print the sql statements to output
505 ## print the sql statements to output
503 sqlalchemy.db1.echo = false
506 sqlalchemy.db1.echo = false
504 ## recycle the connections after this amount of seconds
507 ## recycle the connections after this amount of seconds
505 sqlalchemy.db1.pool_recycle = 3600
508 sqlalchemy.db1.pool_recycle = 3600
506 sqlalchemy.db1.convert_unicode = true
509 sqlalchemy.db1.convert_unicode = true
507
510
508 ## the number of connections to keep open inside the connection pool.
511 ## the number of connections to keep open inside the connection pool.
509 ## 0 indicates no limit
512 ## 0 indicates no limit
510 #sqlalchemy.db1.pool_size = 5
513 #sqlalchemy.db1.pool_size = 5
511
514
512 ## the number of connections to allow in connection pool "overflow", that is
515 ## the number of connections to allow in connection pool "overflow", that is
513 ## connections that can be opened above and beyond the pool_size setting,
516 ## connections that can be opened above and beyond the pool_size setting,
514 ## which defaults to five.
517 ## which defaults to five.
515 #sqlalchemy.db1.max_overflow = 10
518 #sqlalchemy.db1.max_overflow = 10
516
519
517 ## Connection check ping, used to detect broken database connections
520 ## Connection check ping, used to detect broken database connections
518 ## could be enabled to better handle cases if MySQL has gone away errors
521 ## could be enabled to better handle cases if MySQL has gone away errors
519 #sqlalchemy.db1.ping_connection = true
522 #sqlalchemy.db1.ping_connection = true
520
523
521 ##################
524 ##################
522 ### VCS CONFIG ###
525 ### VCS CONFIG ###
523 ##################
526 ##################
524 vcs.server.enable = true
527 vcs.server.enable = true
525 vcs.server = localhost:9900
528 vcs.server = localhost:9900
526
529
527 ## Web server connectivity protocol, responsible for web based VCS operations
530 ## Web server connectivity protocol, responsible for web based VCS operations
528 ## Available protocols are:
531 ## Available protocols are:
529 ## `http` - use http-rpc backend (default)
532 ## `http` - use http-rpc backend (default)
530 vcs.server.protocol = http
533 vcs.server.protocol = http
531
534
532 ## Push/Pull operations protocol, available options are:
535 ## Push/Pull operations protocol, available options are:
533 ## `http` - use http-rpc backend (default)
536 ## `http` - use http-rpc backend (default)
534 vcs.scm_app_implementation = http
537 vcs.scm_app_implementation = http
535
538
536 ## Push/Pull operations hooks protocol, available options are:
539 ## Push/Pull operations hooks protocol, available options are:
537 ## `http` - use http-rpc backend (default)
540 ## `http` - use http-rpc backend (default)
538 vcs.hooks.protocol = http
541 vcs.hooks.protocol = http
539
542
540 ## Host on which this instance is listening for hooks. If vcsserver is in other location
543 ## Host on which this instance is listening for hooks. If vcsserver is in other location
541 ## this should be adjusted.
544 ## this should be adjusted.
542 vcs.hooks.host = 127.0.0.1
545 vcs.hooks.host = 127.0.0.1
543
546
544 vcs.server.log_level = info
547 vcs.server.log_level = info
545 ## Start VCSServer with this instance as a subprocess, useful for development
548 ## Start VCSServer with this instance as a subprocess, useful for development
546 vcs.start_server = false
549 vcs.start_server = false
547
550
548 ## List of enabled VCS backends, available options are:
551 ## List of enabled VCS backends, available options are:
549 ## `hg` - mercurial
552 ## `hg` - mercurial
550 ## `git` - git
553 ## `git` - git
551 ## `svn` - subversion
554 ## `svn` - subversion
552 vcs.backends = hg, git, svn
555 vcs.backends = hg, git, svn
553
556
554 vcs.connection_timeout = 3600
557 vcs.connection_timeout = 3600
555 ## Compatibility version when creating SVN repositories. Defaults to newest version when commented out.
558 ## Compatibility version when creating SVN repositories. Defaults to newest version when commented out.
556 ## Available options are: pre-1.4-compatible, pre-1.5-compatible, pre-1.6-compatible, pre-1.8-compatible, pre-1.9-compatible
559 ## Available options are: pre-1.4-compatible, pre-1.5-compatible, pre-1.6-compatible, pre-1.8-compatible, pre-1.9-compatible
557 #vcs.svn.compatible_version = pre-1.8-compatible
560 #vcs.svn.compatible_version = pre-1.8-compatible
558
561
559
562
560 ############################################################
563 ############################################################
561 ### Subversion proxy support (mod_dav_svn) ###
564 ### Subversion proxy support (mod_dav_svn) ###
562 ### Maps RhodeCode repo groups into SVN paths for Apache ###
565 ### Maps RhodeCode repo groups into SVN paths for Apache ###
563 ############################################################
566 ############################################################
564 ## Enable or disable the config file generation.
567 ## Enable or disable the config file generation.
565 svn.proxy.generate_config = false
568 svn.proxy.generate_config = false
566 ## Generate config file with `SVNListParentPath` set to `On`.
569 ## Generate config file with `SVNListParentPath` set to `On`.
567 svn.proxy.list_parent_path = true
570 svn.proxy.list_parent_path = true
568 ## Set location and file name of generated config file.
571 ## Set location and file name of generated config file.
569 svn.proxy.config_file_path = %(here)s/mod_dav_svn.conf
572 svn.proxy.config_file_path = %(here)s/mod_dav_svn.conf
570 ## alternative mod_dav config template. This needs to be a mako template
573 ## alternative mod_dav config template. This needs to be a mako template
571 #svn.proxy.config_template = ~/.rccontrol/enterprise-1/custom_svn_conf.mako
574 #svn.proxy.config_template = ~/.rccontrol/enterprise-1/custom_svn_conf.mako
572 ## Used as a prefix to the `Location` block in the generated config file.
575 ## Used as a prefix to the `Location` block in the generated config file.
573 ## In most cases it should be set to `/`.
576 ## In most cases it should be set to `/`.
574 svn.proxy.location_root = /
577 svn.proxy.location_root = /
575 ## Command to reload the mod dav svn configuration on change.
578 ## Command to reload the mod dav svn configuration on change.
576 ## Example: `/etc/init.d/apache2 reload` or /home/USER/apache_reload.sh
579 ## Example: `/etc/init.d/apache2 reload` or /home/USER/apache_reload.sh
577 ## Make sure user who runs RhodeCode process is allowed to reload Apache
580 ## Make sure user who runs RhodeCode process is allowed to reload Apache
578 #svn.proxy.reload_cmd = /etc/init.d/apache2 reload
581 #svn.proxy.reload_cmd = /etc/init.d/apache2 reload
579 ## If the timeout expires before the reload command finishes, the command will
582 ## If the timeout expires before the reload command finishes, the command will
580 ## be killed. Setting it to zero means no timeout. Defaults to 10 seconds.
583 ## be killed. Setting it to zero means no timeout. Defaults to 10 seconds.
581 #svn.proxy.reload_timeout = 10
584 #svn.proxy.reload_timeout = 10
582
585
583 ############################################################
586 ############################################################
584 ### SSH Support Settings ###
587 ### SSH Support Settings ###
585 ############################################################
588 ############################################################
586
589
587 ## Defines if a custom authorized_keys file should be created and written on
590 ## Defines if a custom authorized_keys file should be created and written on
588 ## any change user ssh keys. Setting this to false also disables possibility
591 ## any change user ssh keys. Setting this to false also disables possibility
589 ## of adding SSH keys by users from web interface. Super admins can still
592 ## of adding SSH keys by users from web interface. Super admins can still
590 ## manage SSH Keys.
593 ## manage SSH Keys.
591 ssh.generate_authorized_keyfile = false
594 ssh.generate_authorized_keyfile = false
592
595
593 ## Options for ssh, default is `no-pty,no-port-forwarding,no-X11-forwarding,no-agent-forwarding`
596 ## Options for ssh, default is `no-pty,no-port-forwarding,no-X11-forwarding,no-agent-forwarding`
594 # ssh.authorized_keys_ssh_opts =
597 # ssh.authorized_keys_ssh_opts =
595
598
596 ## Path to the authorized_keys file where the generate entries are placed.
599 ## Path to the authorized_keys file where the generate entries are placed.
597 ## It is possible to have multiple key files specified in `sshd_config` e.g.
600 ## It is possible to have multiple key files specified in `sshd_config` e.g.
598 ## AuthorizedKeysFile %h/.ssh/authorized_keys %h/.ssh/authorized_keys_rhodecode
601 ## AuthorizedKeysFile %h/.ssh/authorized_keys %h/.ssh/authorized_keys_rhodecode
599 ssh.authorized_keys_file_path = ~/.ssh/authorized_keys_rhodecode
602 ssh.authorized_keys_file_path = ~/.ssh/authorized_keys_rhodecode
600
603
601 ## Command to execute the SSH wrapper. The binary is available in the
604 ## Command to execute the SSH wrapper. The binary is available in the
602 ## RhodeCode installation directory.
605 ## RhodeCode installation directory.
603 ## e.g ~/.rccontrol/community-1/profile/bin/rc-ssh-wrapper
606 ## e.g ~/.rccontrol/community-1/profile/bin/rc-ssh-wrapper
604 ssh.wrapper_cmd = ~/.rccontrol/community-1/rc-ssh-wrapper
607 ssh.wrapper_cmd = ~/.rccontrol/community-1/rc-ssh-wrapper
605
608
606 ## Allow shell when executing the ssh-wrapper command
609 ## Allow shell when executing the ssh-wrapper command
607 ssh.wrapper_cmd_allow_shell = false
610 ssh.wrapper_cmd_allow_shell = false
608
611
609 ## Enables logging, and detailed output send back to the client during SSH
612 ## Enables logging, and detailed output send back to the client during SSH
610 ## operations. Useful for debugging, shouldn't be used in production.
613 ## operations. Useful for debugging, shouldn't be used in production.
611 ssh.enable_debug_logging = false
614 ssh.enable_debug_logging = false
612
615
613 ## Paths to binary executable, by default they are the names, but we can
616 ## Paths to binary executable, by default they are the names, but we can
614 ## override them if we want to use a custom one
617 ## override them if we want to use a custom one
615 ssh.executable.hg = ~/.rccontrol/vcsserver-1/profile/bin/hg
618 ssh.executable.hg = ~/.rccontrol/vcsserver-1/profile/bin/hg
616 ssh.executable.git = ~/.rccontrol/vcsserver-1/profile/bin/git
619 ssh.executable.git = ~/.rccontrol/vcsserver-1/profile/bin/git
617 ssh.executable.svn = ~/.rccontrol/vcsserver-1/profile/bin/svnserve
620 ssh.executable.svn = ~/.rccontrol/vcsserver-1/profile/bin/svnserve
618
621
619 ## Enables SSH key generator web interface. Disabling this still allows users
622 ## Enables SSH key generator web interface. Disabling this still allows users
620 ## to add their own keys.
623 ## to add their own keys.
621 ssh.enable_ui_key_generator = true
624 ssh.enable_ui_key_generator = true
622
625
623
626
624 ## Dummy marker to add new entries after.
627 ## Dummy marker to add new entries after.
625 ## Add any custom entries below. Please don't remove.
628 ## Add any custom entries below. Please don't remove.
626 custom.conf = 1
629 custom.conf = 1
627
630
628
631
629 ################################
632 ################################
630 ### LOGGING CONFIGURATION ####
633 ### LOGGING CONFIGURATION ####
631 ################################
634 ################################
632 [loggers]
635 [loggers]
633 keys = root, sqlalchemy, beaker, celery, rhodecode, ssh_wrapper
636 keys = root, sqlalchemy, beaker, celery, rhodecode, ssh_wrapper
634
637
635 [handlers]
638 [handlers]
636 keys = console, console_sql
639 keys = console, console_sql
637
640
638 [formatters]
641 [formatters]
639 keys = generic, color_formatter, color_formatter_sql
642 keys = generic, color_formatter, color_formatter_sql
640
643
641 #############
644 #############
642 ## LOGGERS ##
645 ## LOGGERS ##
643 #############
646 #############
644 [logger_root]
647 [logger_root]
645 level = NOTSET
648 level = NOTSET
646 handlers = console
649 handlers = console
647
650
648 [logger_sqlalchemy]
651 [logger_sqlalchemy]
649 level = INFO
652 level = INFO
650 handlers = console_sql
653 handlers = console_sql
651 qualname = sqlalchemy.engine
654 qualname = sqlalchemy.engine
652 propagate = 0
655 propagate = 0
653
656
654 [logger_beaker]
657 [logger_beaker]
655 level = DEBUG
658 level = DEBUG
656 handlers =
659 handlers =
657 qualname = beaker.container
660 qualname = beaker.container
658 propagate = 1
661 propagate = 1
659
662
660 [logger_rhodecode]
663 [logger_rhodecode]
661 level = DEBUG
664 level = DEBUG
662 handlers =
665 handlers =
663 qualname = rhodecode
666 qualname = rhodecode
664 propagate = 1
667 propagate = 1
665
668
666 [logger_ssh_wrapper]
669 [logger_ssh_wrapper]
667 level = DEBUG
670 level = DEBUG
668 handlers =
671 handlers =
669 qualname = ssh_wrapper
672 qualname = ssh_wrapper
670 propagate = 1
673 propagate = 1
671
674
672 [logger_celery]
675 [logger_celery]
673 level = DEBUG
676 level = DEBUG
674 handlers =
677 handlers =
675 qualname = celery
678 qualname = celery
676
679
677
680
678 ##############
681 ##############
679 ## HANDLERS ##
682 ## HANDLERS ##
680 ##############
683 ##############
681
684
682 [handler_console]
685 [handler_console]
683 class = StreamHandler
686 class = StreamHandler
684 args = (sys.stderr, )
687 args = (sys.stderr, )
685 level = INFO
688 level = INFO
686 formatter = generic
689 formatter = generic
687
690
688 [handler_console_sql]
691 [handler_console_sql]
689 # "level = DEBUG" logs SQL queries and results.
692 # "level = DEBUG" logs SQL queries and results.
690 # "level = INFO" logs SQL queries.
693 # "level = INFO" logs SQL queries.
691 # "level = WARN" logs neither. (Recommended for production systems.)
694 # "level = WARN" logs neither. (Recommended for production systems.)
692 class = StreamHandler
695 class = StreamHandler
693 args = (sys.stderr, )
696 args = (sys.stderr, )
694 level = WARN
697 level = WARN
695 formatter = generic
698 formatter = generic
696
699
697 ################
700 ################
698 ## FORMATTERS ##
701 ## FORMATTERS ##
699 ################
702 ################
700
703
701 [formatter_generic]
704 [formatter_generic]
702 class = rhodecode.lib.logging_formatter.ExceptionAwareFormatter
705 class = rhodecode.lib.logging_formatter.ExceptionAwareFormatter
703 format = %(asctime)s.%(msecs)03d [%(process)d] %(levelname)-5.5s [%(name)s] %(message)s
706 format = %(asctime)s.%(msecs)03d [%(process)d] %(levelname)-5.5s [%(name)s] %(message)s
704 datefmt = %Y-%m-%d %H:%M:%S
707 datefmt = %Y-%m-%d %H:%M:%S
705
708
706 [formatter_color_formatter]
709 [formatter_color_formatter]
707 class = rhodecode.lib.logging_formatter.ColorFormatter
710 class = rhodecode.lib.logging_formatter.ColorFormatter
708 format = %(asctime)s.%(msecs)03d [%(process)d] %(levelname)-5.5s [%(name)s] %(message)s
711 format = %(asctime)s.%(msecs)03d [%(process)d] %(levelname)-5.5s [%(name)s] %(message)s
709 datefmt = %Y-%m-%d %H:%M:%S
712 datefmt = %Y-%m-%d %H:%M:%S
710
713
711 [formatter_color_formatter_sql]
714 [formatter_color_formatter_sql]
712 class = rhodecode.lib.logging_formatter.ColorFormatterSql
715 class = rhodecode.lib.logging_formatter.ColorFormatterSql
713 format = %(asctime)s.%(msecs)03d [%(process)d] %(levelname)-5.5s [%(name)s] %(message)s
716 format = %(asctime)s.%(msecs)03d [%(process)d] %(levelname)-5.5s [%(name)s] %(message)s
714 datefmt = %Y-%m-%d %H:%M:%S
717 datefmt = %Y-%m-%d %H:%M:%S
@@ -1,395 +1,395 b''
1 .. _scale-horizontal-cluster:
1 .. _scale-horizontal-cluster:
2
2
3
3
4 Scale Horizontally / RhodeCode Cluster
4 Scale Horizontally / RhodeCode Cluster
5 --------------------------------------
5 --------------------------------------
6
6
7 |RCE| is built in a way it support horizontal scaling across multiple machines.
7 |RCE| is built in a way it support horizontal scaling across multiple machines.
8 There are three main pre-requisites for that:
8 There are three main pre-requisites for that:
9
9
10 - Shared storage that each machine can access. Using NFS or other shared storage system.
10 - Shared storage that each machine can access. Using NFS or other shared storage system.
11 - Shared DB connection across machines. Using `MySQL`/`PostgreSQL` that each node can access.
11 - Shared DB connection across machines. Using `MySQL`/`PostgreSQL` that each node can access.
12 - |RCE| user sessions and caches need to use a shared storage (e.g `Redis`_/`Memcached`)
12 - |RCE| user sessions and caches need to use a shared storage (e.g `Redis`_/`Memcached`)
13
13
14
14
15 Horizontal scaling means adding more machines or workers into your pool of
15 Horizontal scaling means adding more machines or workers into your pool of
16 resources. Horizontally scaling |RCE| gives a huge performance increase,
16 resources. Horizontally scaling |RCE| gives a huge performance increase,
17 especially under large traffic scenarios with a high number of requests.
17 especially under large traffic scenarios with a high number of requests.
18 This is very beneficial when |RCE| is serving many users simultaneously,
18 This is very beneficial when |RCE| is serving many users simultaneously,
19 or if continuous integration servers are automatically pulling and pushing code.
19 or if continuous integration servers are automatically pulling and pushing code.
20 It also adds High-Availability to your running system.
20 It also adds High-Availability to your running system.
21
21
22
22
23 Cluster Overview
23 Cluster Overview
24 ^^^^^^^^^^^^^^^^
24 ^^^^^^^^^^^^^^^^
25
25
26 Below we'll present a configuration example that will use two separate nodes to serve
26 Below we'll present a configuration example that will use two separate nodes to serve
27 |RCE| in a load-balanced environment. The 3rd node will act as a shared storage/cache
27 |RCE| in a load-balanced environment. The 3rd node will act as a shared storage/cache
28 and handle load-balancing. In addition 3rd node will be used as shared database instance.
28 and handle load-balancing. In addition 3rd node will be used as shared database instance.
29
29
30 This setup can be used both in Docker based configuration or with individual
30 This setup can be used both in Docker based configuration or with individual
31 physical/virtual machines. Using the 3rd node for Storage/Redis/PostgreSQL/Nginx is
31 physical/virtual machines. Using the 3rd node for Storage/Redis/PostgreSQL/Nginx is
32 optional. All those components can be installed on one of the two nodes used for |RCE|.
32 optional. All those components can be installed on one of the two nodes used for |RCE|.
33 We'll use following naming for our nodes:
33 We'll use following naming for our nodes:
34
34
35 - `rc-node-1` (NFS, DB, Cache node)
35 - `rc-node-1` (NFS, DB, Cache node)
36 - `rc-node-2` (Worker node1)
36 - `rc-node-2` (Worker node1)
37 - `rc-node-3` (Worker node2)
37 - `rc-node-3` (Worker node2)
38
38
39 Our shares NFS storage in the example is located on `/home/rcdev/storage` and
39 Our shares NFS storage in the example is located on `/home/rcdev/storage` and
40 it's RW accessible on **each** node.
40 it's RW accessible on **each** node.
41
41
42 In this example we used certain recommended components, however many
42 In this example we used certain recommended components, however many
43 of those can be replaced by other, in case your organization already uses them, for example:
43 of those can be replaced by other, in case your organization already uses them, for example:
44
44
45 - `MySQL`/`PostgreSQL`: Aren't replaceable and are the two only supported databases.
45 - `MySQL`/`PostgreSQL`: Aren't replaceable and are the two only supported databases.
46 - `Nginx`_ on `rc-node-1` can be replaced by: `Hardware Load Balancer (F5)`, `Apache`_, `HA-Proxy` etc.
46 - `Nginx`_ on `rc-node-1` can be replaced by: `Hardware Load Balancer (F5)`, `Apache`_, `HA-Proxy` etc.
47 - `Nginx`_ on rc-node-2/3 acts as a reverse proxy and can be replaced by other HTTP server
47 - `Nginx`_ on rc-node-2/3 acts as a reverse proxy and can be replaced by other HTTP server
48 acting as reverse proxy such as `Apache`_.
48 acting as reverse proxy such as `Apache`_.
49 - `Redis`_ on `rc-node-1` can be replaced by: `Memcached`
49 - `Redis`_ on `rc-node-1` can be replaced by: `Memcached`
50
50
51
51
52 Here's an overview what components should be installed/setup on each server in our example:
52 Here's an overview what components should be installed/setup on each server in our example:
53
53
54 - **rc-node-1**:
54 - **rc-node-1**:
55
55
56 - main storage acting as NFS host.
56 - main storage acting as NFS host.
57 - `nginx` acting as a load-balancer.
57 - `nginx` acting as a load-balancer.
58 - `postgresql-server` used for database and sessions.
58 - `postgresql-server` used for database and sessions.
59 - `redis-server` used for storing shared caches.
59 - `redis-server` used for storing shared caches.
60 - optionally `rabbitmq-server` for `Celery` if used.
60 - optionally `rabbitmq-server` or `redis` for `Celery` if used.
61 - optionally if `Celery` is used Enterprise/Community instance + VCSServer.
61 - optionally if `Celery` is used Enterprise/Community instance + VCSServer.
62 - optionally mailserver that can be shared by other instances.
62 - optionally mailserver that can be shared by other instances.
63 - optionally channelstream server to handle live communication for all instances.
63 - optionally channelstream server to handle live communication for all instances.
64
64
65
65
66 - **rc-node-2/3**:
66 - **rc-node-2/3**:
67
67
68 - `nginx` acting as a reverse proxy to handle requests to |RCE|.
68 - `nginx` acting as a reverse proxy to handle requests to |RCE|.
69 - 1x RhodeCode Enterprise/Community instance.
69 - 1x RhodeCode Enterprise/Community instance.
70 - 1x VCSServer instance.
70 - 1x VCSServer instance.
71 - optionally for testing connection: postgresql-client, redis-client (redis-tools).
71 - optionally for testing connection: postgresql-client, redis-client (redis-tools).
72
72
73
73
74 Before we start here are few assumptions that should be fulfilled:
74 Before we start here are few assumptions that should be fulfilled:
75
75
76 - make sure each node can access each other.
76 - make sure each node can access each other.
77 - make sure `Redis`_/`MySQL`/`PostgreSQL`/`RabbitMQ`_ are running on `rc-node-1`
77 - make sure `Redis`_/`MySQL`/`PostgreSQL`/`RabbitMQ`_ are running on `rc-node-1`
78 - make sure both `rc-node-2`/`3` can access NFS storage with RW access
78 - make sure both `rc-node-2`/`3` can access NFS storage with RW access
79 - make sure rc-node-2/3 can access `Redis`_/`PostgreSQL`, `MySQL` database on `rc-node-1`.
79 - make sure rc-node-2/3 can access `Redis`_/`PostgreSQL`, `MySQL` database on `rc-node-1`.
80 - make sure `Redis`_/Database/`RabbitMQ`_ are password protected and accessible only from rc-node-2/3.
80 - make sure `Redis`_/Database/`RabbitMQ`_ are password protected and accessible only from rc-node-2/3.
81
81
82
82
83
83
84 Setup rc-node-2/3
84 Setup rc-node-2/3
85 ^^^^^^^^^^^^^^^^^
85 ^^^^^^^^^^^^^^^^^
86
86
87 Initially before `rc-node-1` we'll configure both nodes 2 and 3 to operate as standalone
87 Initially before `rc-node-1` we'll configure both nodes 2 and 3 to operate as standalone
88 nodes with their own hostnames. Use a default installation settings, and use
88 nodes with their own hostnames. Use a default installation settings, and use
89 the default local addresses (127.0.0.1) to configure VCSServer and Community/Enterprise instances.
89 the default local addresses (127.0.0.1) to configure VCSServer and Community/Enterprise instances.
90 All external connectivity will be handled by the reverse proxy (`Nginx`_ in our example).
90 All external connectivity will be handled by the reverse proxy (`Nginx`_ in our example).
91
91
92 This way we can ensure each individual host works,
92 This way we can ensure each individual host works,
93 accepts connections, or do some operations explicitly on chosen node.
93 accepts connections, or do some operations explicitly on chosen node.
94
94
95 In addition this would allow use to explicitly direct certain traffic to a node, e.g
95 In addition this would allow use to explicitly direct certain traffic to a node, e.g
96 CI server will only call directly `rc-node-3`. This should be done similar to normal
96 CI server will only call directly `rc-node-3`. This should be done similar to normal
97 installation so check out `Nginx`_/`Apache`_ configuration example to configure each host.
97 installation so check out `Nginx`_/`Apache`_ configuration example to configure each host.
98 Each one should already connect to shared database during installation.
98 Each one should already connect to shared database during installation.
99
99
100
100
101 1) Assuming our final url will be http://rc-node-1, Configure `instances_id`, `app.base_url`
101 1) Assuming our final url will be http://rc-node-1, Configure `instances_id`, `app.base_url`
102
102
103 a) On **rc-node-2** find the following settings and edit :file:`/home/{user}/.rccontrol/{instance-id}/rhodecode.ini`
103 a) On **rc-node-2** find the following settings and edit :file:`/home/{user}/.rccontrol/{instance-id}/rhodecode.ini`
104
104
105 .. code-block:: ini
105 .. code-block:: ini
106
106
107 ## required format is: *NAME-
107 ## required format is: *NAME-
108 instance_id = *rc-node-2-
108 instance_id = *rc-node-2-
109 app.base_url = http://rc-node-1
109 app.base_url = http://rc-node-1
110
110
111
111
112 b) On **rc-node-3** find the following settings and edit :file:`/home/{user}/.rccontrol/{instance-id}/rhodecode.ini`
112 b) On **rc-node-3** find the following settings and edit :file:`/home/{user}/.rccontrol/{instance-id}/rhodecode.ini`
113
113
114 .. code-block:: ini
114 .. code-block:: ini
115
115
116 ## required format is: *NAME-
116 ## required format is: *NAME-
117 instance_id = *rc-node-3-
117 instance_id = *rc-node-3-
118 app.base_url = http://rc-node-1
118 app.base_url = http://rc-node-1
119
119
120
120
121
121
122 2) Configure `User Session` to use a shared database. Example config that should be
122 2) Configure `User Session` to use a shared database. Example config that should be
123 changed on both **rc-node-2** and **rc-node-3** .
123 changed on both **rc-node-2** and **rc-node-3** .
124 Edit :file:`/home/{user}/.rccontrol/{instance-id}/rhodecode.ini`
124 Edit :file:`/home/{user}/.rccontrol/{instance-id}/rhodecode.ini`
125
125
126 .. code-block:: ini
126 .. code-block:: ini
127
127
128 ####################################
128 ####################################
129 ### BEAKER SESSION ####
129 ### BEAKER SESSION ####
130 ####################################
130 ####################################
131
131
132 ## Disable the default `file` sessions
132 ## Disable the default `file` sessions
133 #beaker.session.type = file
133 #beaker.session.type = file
134 #beaker.session.data_dir = %(here)s/data/sessions
134 #beaker.session.data_dir = %(here)s/data/sessions
135
135
136 ## use shared db based session, fast, and allows easy management over logged in users
136 ## use shared db based session, fast, and allows easy management over logged in users
137 beaker.session.type = ext:database
137 beaker.session.type = ext:database
138 beaker.session.table_name = db_session
138 beaker.session.table_name = db_session
139 # use our rc-node-1 here
139 # use our rc-node-1 here
140 beaker.session.sa.url = postgresql://postgres:qweqwe@rc-node-1/rhodecode
140 beaker.session.sa.url = postgresql://postgres:qweqwe@rc-node-1/rhodecode
141 beaker.session.sa.pool_recycle = 3600
141 beaker.session.sa.pool_recycle = 3600
142 beaker.session.sa.echo = false
142 beaker.session.sa.echo = false
143
143
144 In addition make sure both instances use the same `session.secret` so users have
144 In addition make sure both instances use the same `session.secret` so users have
145 persistent sessions across nodes. Please generate other one then in this example.
145 persistent sessions across nodes. Please generate other one then in this example.
146
146
147 .. code-block:: ini
147 .. code-block:: ini
148
148
149 # use a unique generated long string
149 # use a unique generated long string
150 beaker.session.secret = 70e116cae2274656ba7265fd860aebbd
150 beaker.session.secret = 70e116cae2274656ba7265fd860aebbd
151
151
152 3) Configure stored cached/archive cache to our shared NFS `rc-node-1`
152 3) Configure stored cached/archive cache to our shared NFS `rc-node-1`
153
153
154 .. code-block:: ini
154 .. code-block:: ini
155
155
156 # note the `_` prefix that allows using a directory without
156 # note the `_` prefix that allows using a directory without
157 # remap and rescan checking for vcs inside it.
157 # remap and rescan checking for vcs inside it.
158 cache_dir = /home/rcdev/storage/_cache_dir/data
158 cache_dir = /home/rcdev/storage/_cache_dir/data
159 # note archive cache dir is disabled by default, however if you enable
159 # note archive cache dir is disabled by default, however if you enable
160 # it also needs to be shared
160 # it also needs to be shared
161 #archive_cache_dir = /home/rcdev/storage/_tarball_cache_dir
161 #archive_cache_dir = /home/rcdev/storage/_tarball_cache_dir
162
162
163
163
164 4) Use shared exception store. Example config that should be
164 4) Use shared exception store. Example config that should be
165 changed on both **rc-node-2** and **rc-node-3**, and also for VCSServer.
165 changed on both **rc-node-2** and **rc-node-3**, and also for VCSServer.
166 Edit :file:`/home/{user}/.rccontrol/{instance-id}/rhodecode.ini` and
166 Edit :file:`/home/{user}/.rccontrol/{instance-id}/rhodecode.ini` and
167 :file:`/home/{user}/.rccontrol/{vcsserver-instance-id}/vcsserver.ini`
167 :file:`/home/{user}/.rccontrol/{vcsserver-instance-id}/vcsserver.ini`
168 and add/change following setting.
168 and add/change following setting.
169
169
170 .. code-block:: ini
170 .. code-block:: ini
171
171
172 exception_tracker.store_path = /home/rcdev/storage/_exception_store_data
172 exception_tracker.store_path = /home/rcdev/storage/_exception_store_data
173
173
174
174
175 5) Change cache backends to use `Redis`_ based caches. Below full example config
175 5) Change cache backends to use `Redis`_ based caches. Below full example config
176 that replaces default file-based cache to shared `Redis`_ with Distributed Lock.
176 that replaces default file-based cache to shared `Redis`_ with Distributed Lock.
177
177
178
178
179 .. code-block:: ini
179 .. code-block:: ini
180
180
181 #####################################
181 #####################################
182 ### DOGPILE CACHE ####
182 ### DOGPILE CACHE ####
183 #####################################
183 #####################################
184
184
185 ## `cache_perms` cache settings for permission tree, auth TTL.
185 ## `cache_perms` cache settings for permission tree, auth TTL.
186 #rc_cache.cache_perms.backend = dogpile.cache.rc.file_namespace
186 #rc_cache.cache_perms.backend = dogpile.cache.rc.file_namespace
187 #rc_cache.cache_perms.expiration_time = 300
187 #rc_cache.cache_perms.expiration_time = 300
188
188
189 ## alternative `cache_perms` redis backend with distributed lock
189 ## alternative `cache_perms` redis backend with distributed lock
190 rc_cache.cache_perms.backend = dogpile.cache.rc.redis
190 rc_cache.cache_perms.backend = dogpile.cache.rc.redis
191 rc_cache.cache_perms.expiration_time = 300
191 rc_cache.cache_perms.expiration_time = 300
192 ## redis_expiration_time needs to be greater then expiration_time
192 ## redis_expiration_time needs to be greater then expiration_time
193 rc_cache.cache_perms.arguments.redis_expiration_time = 7200
193 rc_cache.cache_perms.arguments.redis_expiration_time = 7200
194 rc_cache.cache_perms.arguments.socket_timeout = 30
194 rc_cache.cache_perms.arguments.socket_timeout = 30
195 rc_cache.cache_perms.arguments.host = rc-node-1
195 rc_cache.cache_perms.arguments.host = rc-node-1
196 rc_cache.cache_perms.arguments.password = qweqwe
196 rc_cache.cache_perms.arguments.password = qweqwe
197 rc_cache.cache_perms.arguments.port = 6379
197 rc_cache.cache_perms.arguments.port = 6379
198 rc_cache.cache_perms.arguments.db = 0
198 rc_cache.cache_perms.arguments.db = 0
199 rc_cache.cache_perms.arguments.distributed_lock = true
199 rc_cache.cache_perms.arguments.distributed_lock = true
200
200
201 ## `cache_repo` cache settings for FileTree, Readme, RSS FEEDS
201 ## `cache_repo` cache settings for FileTree, Readme, RSS FEEDS
202 #rc_cache.cache_repo.backend = dogpile.cache.rc.file_namespace
202 #rc_cache.cache_repo.backend = dogpile.cache.rc.file_namespace
203 #rc_cache.cache_repo.expiration_time = 2592000
203 #rc_cache.cache_repo.expiration_time = 2592000
204
204
205 ## alternative `cache_repo` redis backend with distributed lock
205 ## alternative `cache_repo` redis backend with distributed lock
206 rc_cache.cache_repo.backend = dogpile.cache.rc.redis
206 rc_cache.cache_repo.backend = dogpile.cache.rc.redis
207 rc_cache.cache_repo.expiration_time = 2592000
207 rc_cache.cache_repo.expiration_time = 2592000
208 ## redis_expiration_time needs to be greater then expiration_time
208 ## redis_expiration_time needs to be greater then expiration_time
209 rc_cache.cache_repo.arguments.redis_expiration_time = 2678400
209 rc_cache.cache_repo.arguments.redis_expiration_time = 2678400
210 rc_cache.cache_repo.arguments.socket_timeout = 30
210 rc_cache.cache_repo.arguments.socket_timeout = 30
211 rc_cache.cache_repo.arguments.host = rc-node-1
211 rc_cache.cache_repo.arguments.host = rc-node-1
212 rc_cache.cache_repo.arguments.password = qweqwe
212 rc_cache.cache_repo.arguments.password = qweqwe
213 rc_cache.cache_repo.arguments.port = 6379
213 rc_cache.cache_repo.arguments.port = 6379
214 rc_cache.cache_repo.arguments.db = 1
214 rc_cache.cache_repo.arguments.db = 1
215 rc_cache.cache_repo.arguments.distributed_lock = true
215 rc_cache.cache_repo.arguments.distributed_lock = true
216
216
217 ## cache settings for SQL queries, this needs to use memory type backend
217 ## cache settings for SQL queries, this needs to use memory type backend
218 rc_cache.sql_cache_short.backend = dogpile.cache.rc.memory_lru
218 rc_cache.sql_cache_short.backend = dogpile.cache.rc.memory_lru
219 rc_cache.sql_cache_short.expiration_time = 30
219 rc_cache.sql_cache_short.expiration_time = 30
220
220
221 ## `cache_repo_longterm` cache for repo object instances, this needs to use memory
221 ## `cache_repo_longterm` cache for repo object instances, this needs to use memory
222 ## type backend as the objects kept are not pickle serializable
222 ## type backend as the objects kept are not pickle serializable
223 rc_cache.cache_repo_longterm.backend = dogpile.cache.rc.memory_lru
223 rc_cache.cache_repo_longterm.backend = dogpile.cache.rc.memory_lru
224 ## by default we use 96H, this is using invalidation on push anyway
224 ## by default we use 96H, this is using invalidation on push anyway
225 rc_cache.cache_repo_longterm.expiration_time = 345600
225 rc_cache.cache_repo_longterm.expiration_time = 345600
226 ## max items in LRU cache, reduce this number to save memory, and expire last used
226 ## max items in LRU cache, reduce this number to save memory, and expire last used
227 ## cached objects
227 ## cached objects
228 rc_cache.cache_repo_longterm.max_size = 10000
228 rc_cache.cache_repo_longterm.max_size = 10000
229
229
230
230
231 6) Configure `Nginx`_ as reverse proxy on `rc-node-2/3`:
231 6) Configure `Nginx`_ as reverse proxy on `rc-node-2/3`:
232 Minimal `Nginx`_ config used:
232 Minimal `Nginx`_ config used:
233
233
234
234
235 .. code-block:: nginx
235 .. code-block:: nginx
236
236
237 ## rate limiter for certain pages to prevent brute force attacks
237 ## rate limiter for certain pages to prevent brute force attacks
238 limit_req_zone $binary_remote_addr zone=req_limit:10m rate=1r/s;
238 limit_req_zone $binary_remote_addr zone=req_limit:10m rate=1r/s;
239
239
240 ## custom log format
240 ## custom log format
241 log_format log_custom '$remote_addr - $remote_user [$time_local] '
241 log_format log_custom '$remote_addr - $remote_user [$time_local] '
242 '"$request" $status $body_bytes_sent '
242 '"$request" $status $body_bytes_sent '
243 '"$http_referer" "$http_user_agent" '
243 '"$http_referer" "$http_user_agent" '
244 '$request_time $upstream_response_time $pipe';
244 '$request_time $upstream_response_time $pipe';
245
245
246 server {
246 server {
247 listen 80;
247 listen 80;
248 server_name rc-node-2;
248 server_name rc-node-2;
249 #server_name rc-node-3;
249 #server_name rc-node-3;
250
250
251 access_log /var/log/nginx/rhodecode.access.log log_custom;
251 access_log /var/log/nginx/rhodecode.access.log log_custom;
252 error_log /var/log/nginx/rhodecode.error.log;
252 error_log /var/log/nginx/rhodecode.error.log;
253
253
254 # example of proxy.conf can be found in our docs.
254 # example of proxy.conf can be found in our docs.
255 include /etc/nginx/proxy.conf;
255 include /etc/nginx/proxy.conf;
256
256
257 ## serve static files by Nginx, recommended for performance
257 ## serve static files by Nginx, recommended for performance
258 location /_static/rhodecode {
258 location /_static/rhodecode {
259 gzip on;
259 gzip on;
260 gzip_min_length 500;
260 gzip_min_length 500;
261 gzip_proxied any;
261 gzip_proxied any;
262 gzip_comp_level 4;
262 gzip_comp_level 4;
263 gzip_types text/css text/javascript text/xml text/plain text/x-component application/javascript application/json application/xml application/rss+xml font/truetype font/opentype application/vnd.ms-fontobject image/svg+xml;
263 gzip_types text/css text/javascript text/xml text/plain text/x-component application/javascript application/json application/xml application/rss+xml font/truetype font/opentype application/vnd.ms-fontobject image/svg+xml;
264 gzip_vary on;
264 gzip_vary on;
265 gzip_disable "msie6";
265 gzip_disable "msie6";
266 #alias /home/rcdev/.rccontrol/community-1/static;
266 #alias /home/rcdev/.rccontrol/community-1/static;
267 alias /home/rcdev/.rccontrol/enterprise-1/static;
267 alias /home/rcdev/.rccontrol/enterprise-1/static;
268 }
268 }
269
269
270
270
271 location /_admin/login {
271 location /_admin/login {
272 limit_req zone=req_limit burst=10 nodelay;
272 limit_req zone=req_limit burst=10 nodelay;
273 try_files $uri @rhode;
273 try_files $uri @rhode;
274 }
274 }
275
275
276 location / {
276 location / {
277 try_files $uri @rhode;
277 try_files $uri @rhode;
278 }
278 }
279
279
280 location @rhode {
280 location @rhode {
281 # Url to running RhodeCode instance.
281 # Url to running RhodeCode instance.
282 # This is shown as `- URL: <host>` in output from rccontrol status.
282 # This is shown as `- URL: <host>` in output from rccontrol status.
283 proxy_pass http://127.0.0.1:10020;
283 proxy_pass http://127.0.0.1:10020;
284 }
284 }
285
285
286 ## custom 502 error page. Will be displayed while RhodeCode server
286 ## custom 502 error page. Will be displayed while RhodeCode server
287 ## is turned off
287 ## is turned off
288 error_page 502 /502.html;
288 error_page 502 /502.html;
289 location = /502.html {
289 location = /502.html {
290 #root /home/rcdev/.rccontrol/community-1/static;
290 #root /home/rcdev/.rccontrol/community-1/static;
291 root /home/rcdev/.rccontrol/enterprise-1/static;
291 root /home/rcdev/.rccontrol/enterprise-1/static;
292 }
292 }
293 }
293 }
294
294
295
295
296 7) Optional: Full text search, in case you use `Whoosh` full text search we also need a
296 7) Optional: Full text search, in case you use `Whoosh` full text search we also need a
297 shared storage for the index. In our example our NFS is mounted at `/home/rcdev/storage`
297 shared storage for the index. In our example our NFS is mounted at `/home/rcdev/storage`
298 which represents out storage so we can use the following:
298 which represents out storage so we can use the following:
299
299
300 .. code-block:: ini
300 .. code-block:: ini
301
301
302 # note the `_` prefix that allows using a directory without
302 # note the `_` prefix that allows using a directory without
303 # remap and rescan checking for vcs inside it.
303 # remap and rescan checking for vcs inside it.
304 search.location = /home/rcdev/storage/_index_data/index
304 search.location = /home/rcdev/storage/_index_data/index
305
305
306
306
307 .. note::
307 .. note::
308
308
309 If you use ElasticSearch it's by default shared, and simply running ES node is
309 If you use ElasticSearch it's by default shared, and simply running ES node is
310 by default cluster compatible.
310 by default cluster compatible.
311
311
312
312
313 8) Optional: If you intend to use mailing all instances need to use either a shared
313 8) Optional: If you intend to use mailing all instances need to use either a shared
314 mailing node, or each will use individual local mail agent. Simply put node-1/2/3
314 mailing node, or each will use individual local mail agent. Simply put node-1/2/3
315 needs to use same mailing configuration.
315 needs to use same mailing configuration.
316
316
317
317
318
318
319 Setup rc-node-1
319 Setup rc-node-1
320 ^^^^^^^^^^^^^^^
320 ^^^^^^^^^^^^^^^
321
321
322
322
323 Configure `Nginx`_ as Load Balancer to rc-node-2/3.
323 Configure `Nginx`_ as Load Balancer to rc-node-2/3.
324 Minimal `Nginx`_ example below:
324 Minimal `Nginx`_ example below:
325
325
326 .. code-block:: nginx
326 .. code-block:: nginx
327
327
328 ## define rc-cluster which contains a pool of our instances to connect to
328 ## define rc-cluster which contains a pool of our instances to connect to
329 upstream rc-cluster {
329 upstream rc-cluster {
330 # rc-node-2/3 are stored in /etc/hosts with correct IP addresses
330 # rc-node-2/3 are stored in /etc/hosts with correct IP addresses
331 server rc-node-2:80;
331 server rc-node-2:80;
332 server rc-node-3:80;
332 server rc-node-3:80;
333 }
333 }
334
334
335 server {
335 server {
336 listen 80;
336 listen 80;
337 server_name rc-node-1;
337 server_name rc-node-1;
338
338
339 location / {
339 location / {
340 proxy_pass http://rc-cluster;
340 proxy_pass http://rc-cluster;
341 }
341 }
342 }
342 }
343
343
344
344
345 .. note::
345 .. note::
346
346
347 You should configure your load balancing accordingly. We recommend writing
347 You should configure your load balancing accordingly. We recommend writing
348 load balancing rules that will separate regular user traffic from
348 load balancing rules that will separate regular user traffic from
349 automated process traffic like continuous servers or build bots. Sticky sessions
349 automated process traffic like continuous servers or build bots. Sticky sessions
350 are not required.
350 are not required.
351
351
352
352
353 Show which instance handles a request
353 Show which instance handles a request
354 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
354 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
355
355
356 You can easily check if load-balancing is working as expected. Visit our main node
356 You can easily check if load-balancing is working as expected. Visit our main node
357 `rc-node-1` URL which at that point should already handle incoming requests and balance
357 `rc-node-1` URL which at that point should already handle incoming requests and balance
358 it across node-2/3.
358 it across node-2/3.
359
359
360 Add a special GET param `?showrcid=1` to show current instance handling your request.
360 Add a special GET param `?showrcid=1` to show current instance handling your request.
361
361
362 For example: visiting url `http://rc-node-1/?showrcid=1` will show, in the bottom
362 For example: visiting url `http://rc-node-1/?showrcid=1` will show, in the bottom
363 of the screen` cluster instance info.
363 of the screen` cluster instance info.
364 e.g: `RhodeCode instance id: rc-node-3-rc-node-3-3246`
364 e.g: `RhodeCode instance id: rc-node-3-rc-node-3-3246`
365 which is generated from::
365 which is generated from::
366
366
367 <NODE_HOSTNAME>-<INSTANCE_ID>-<WORKER_PID>
367 <NODE_HOSTNAME>-<INSTANCE_ID>-<WORKER_PID>
368
368
369
369
370 Using Celery with cluster
370 Using Celery with cluster
371 ^^^^^^^^^^^^^^^^^^^^^^^^^
371 ^^^^^^^^^^^^^^^^^^^^^^^^^
372
372
373
373
374 If `Celery` is used we recommend setting also an instance of Enterprise/Community+VCSserver
374 If `Celery` is used we recommend setting also an instance of Enterprise/Community+VCSserver
375 on the node that is running `RabbitMQ`_. Those instances will be used to executed async
375 on the node that is running `RabbitMQ`_ or `Redis`_. Those instances will be used to
376 tasks on the `rc-node-1`. This is the most efficient setup. `Celery` usually
376 executed async tasks on the `rc-node-1`. This is the most efficient setup.
377 handles tasks such as sending emails, forking repositories, importing
377 `Celery` usually handles tasks such as sending emails, forking repositories, importing
378 repositories from external location etc. Using workers on instance that has
378 repositories from external location etc. Using workers on instance that has
379 the direct access to disks used by NFS as well as email server gives noticeable
379 the direct access to disks used by NFS as well as email server gives noticeable
380 performance boost. Running local workers to the NFS storage results in faster
380 performance boost. Running local workers to the NFS storage results in faster
381 execution of forking large repositories or sending lots of emails.
381 execution of forking large repositories or sending lots of emails.
382
382
383 Those instances need to be configured in the same way as for other nodes.
383 Those instances need to be configured in the same way as for other nodes.
384 The instance in rc-node-1 can be added to the cluser, but we don't recommend doing it.
384 The instance in rc-node-1 can be added to the cluster, but we don't recommend doing it.
385 For best results let it be isolated to only executing `Celery` tasks in the cluster setup.
385 For best results let it be isolated to only executing `Celery` tasks in the cluster setup.
386
386
387
387
388 .. _Gunicorn: http://gunicorn.org/
388 .. _Gunicorn: http://gunicorn.org/
389 .. _Whoosh: https://pypi.python.org/pypi/Whoosh/
389 .. _Whoosh: https://pypi.python.org/pypi/Whoosh/
390 .. _Elasticsearch: https://www.elastic.co/..
390 .. _Elasticsearch: https://www.elastic.co/..
391 .. _RabbitMQ: http://www.rabbitmq.com/
391 .. _RabbitMQ: http://www.rabbitmq.com/
392 .. _Nginx: http://nginx.io
392 .. _Nginx: http://nginx.io
393 .. _Apache: http://nginx.io
393 .. _Apache: http://nginx.io
394 .. _Redis: http://redis.io
394 .. _Redis: http://redis.io
395
395
@@ -1,75 +1,85 b''
1
1
2 .. _config-celery:
2 .. _config-celery:
3
3
4 Configure Celery
4 Configure Celery
5 ----------------
5 ----------------
6
6
7 Celery_ is an asynchronous task queue. It's a part of RhodeCode scheduler
7 Celery_ is an asynchronous task queue. It's a part of RhodeCode scheduler
8 functionality. Celery_ makes certain heavy tasks perform more efficiently.
8 functionality. Celery_ makes certain heavy tasks perform more efficiently.
9 Most important it allows sending notification emails, create repository forks,
9 Most important it allows sending notification emails, create repository forks,
10 and import repositories in async way. It is also used for bi-directional
10 and import repositories in async way. It is also used for bi-directional
11 repository sync in scheduler.
11 repository sync in scheduler.
12
12
13 If you decide to use Celery you also need a working message queue.
13 If you decide to use Celery you also need a working message queue.
14 The recommended and fully supported message broker is rabbitmq_.
14 There are two fully supported message brokers is rabbitmq_ and redis_ (recommended).
15
16 Since release 4.18.X we recommend using redis_ as a backend since it's generally
17 easier to work with, and results in simpler stack as redis is generally recommended
18 for caching purposes.
15
19
16
20
17 In order to install and configure Celery, follow these steps:
21 In order to install and configure Celery, follow these steps:
18
22
19 1. Install RabbitMQ, see the documentation on the Celery website for
23 1. Install RabbitMQ or Redis for a message queue, see the documentation on the Celery website for
20 `rabbitmq installation`_, or `rabbitmq website installation`_
24 `redis installation`_ or `rabbitmq installation`_
21
25
22
26
23 1a. As en example configuration after installation, you can run::
27 1a. If you choose RabbitMQ example configuration after installation would look like that::
24
28
25 sudo rabbitmqctl add_user rcuser secret_password
29 sudo rabbitmqctl add_user rcuser secret_password
26 sudo rabbitmqctl add_vhost rhodevhost
30 sudo rabbitmqctl add_vhost rhodevhost
27 sudo rabbitmqctl set_user_tags rcuser rhodecode
31 sudo rabbitmqctl set_user_tags rcuser rhodecode
28 sudo rabbitmqctl set_permissions -p rhodevhost rcuser ".*" ".*" ".*"
32 sudo rabbitmqctl set_permissions -p rhodevhost rcuser ".*" ".*" ".*"
29
33
30
34
31 2. Enable celery, and install `celery worker` process script using the `enable-module`::
35 2. Enable celery, and install `celery worker` process script using the `enable-module`::
32
36
33 rccontrol enable-module celery {instance-id}
37 rccontrol enable-module celery {instance-id}
34
38
35 .. note::
39 .. note::
36
40
37 In case when using multiple instances in one or multiple servers it's highly
41 In case when using multiple instances in one or multiple servers it's highly
38 recommended that celery is running only once, for all servers connected to
42 recommended that celery is running only once, for all servers connected to
39 the same database. Having multiple celery instances running without special
43 the same database. Having multiple celery instances running without special
40 reconfiguration could cause scheduler issues.
44 reconfiguration could cause scheduler issues.
41
45
42
46
43 3. Configure Celery in the
47 3. Configure Celery in the
44 :file:`home/{user}/.rccontrol/{instance-id}/rhodecode.ini` file.
48 :file:`home/{user}/.rccontrol/{instance-id}/rhodecode.ini` file.
45 Set the broker_url as minimal settings required to enable operation.
49 Set the broker_url as minimal settings required to enable operation.
46 If used our example data from pt 1a, here is how the broker url should look like::
50 If used our example data from pt 1a, here is how the broker url should look like::
47
51
52 # for Redis
53 celery.broker_url = redis://localhost:6379/8
54
55 # for RabbitMQ
48 celery.broker_url = amqp://rcuser:secret_password@localhost:5672/rhodevhost
56 celery.broker_url = amqp://rcuser:secret_password@localhost:5672/rhodevhost
49
57
50 Full configuration example is below:
58 Full configuration example is below:
51
59
52 .. code-block:: ini
60 .. code-block:: ini
53
61
54 # Set this section of the ini file to match your Celery installation
62 # Set this section of the ini file to match your Celery installation
55 ####################################
63 ####################################
56 ### CELERY CONFIG ####
64 ### CELERY CONFIG ####
57 ####################################
65 ####################################
58
66
59 use_celery = true
67 use_celery = true
60 celery.broker_url = amqp://rcuser:secret@localhost:5672/rhodevhost
68 celery.broker_url = redis://localhost:6379/8
61
69
62 # maximum tasks to execute before worker restart
70 # maximum tasks to execute before worker restart
63 celery.max_tasks_per_child = 100
71 celery.max_tasks_per_child = 100
64
72
65 ## tasks will never be sent to the queue, but executed locally instead.
73 ## tasks will never be sent to the queue, but executed locally instead.
66 celery.task_always_eager = false
74 celery.task_always_eager = false
67
75
68
76
69 .. _python: http://www.python.org/
77 .. _python: http://www.python.org/
70 .. _mercurial: http://mercurial.selenic.com/
78 .. _mercurial: http://mercurial.selenic.com/
71 .. _celery: http://celeryproject.org/
79 .. _celery: http://celeryproject.org/
80 .. _redis: http://redis.io
81 .. _redis installation: https://redis.io/topics/quickstart
72 .. _rabbitmq: http://www.rabbitmq.com/
82 .. _rabbitmq: http://www.rabbitmq.com/
73 .. _rabbitmq installation: http://docs.celeryproject.org/en/latest/getting-started/brokers/rabbitmq.html
83 .. _rabbitmq installation: http://docs.celeryproject.org/en/latest/getting-started/brokers/rabbitmq.html
74 .. _rabbitmq website installation: http://www.rabbitmq.com/download.html
84 .. _rabbitmq website installation: http://www.rabbitmq.com/download.html
75 .. _Celery installation: http://docs.celeryproject.org/en/latest/getting-started/introduction.html#bundles
85 .. _Celery installation: http://docs.celeryproject.org/en/latest/getting-started/introduction.html#bundles
@@ -1,2334 +1,2378 b''
1 # Generated by pip2nix 0.8.0.dev1
1 # Generated by pip2nix 0.8.0.dev1
2 # See https://github.com/johbo/pip2nix
2 # See https://github.com/johbo/pip2nix
3
3
4 { pkgs, fetchurl, fetchgit, fetchhg }:
4 { pkgs, fetchurl, fetchgit, fetchhg }:
5
5
6 self: super: {
6 self: super: {
7 "alembic" = super.buildPythonPackage {
7 "alembic" = super.buildPythonPackage {
8 name = "alembic-1.0.10";
8 name = "alembic-1.0.10";
9 doCheck = false;
9 doCheck = false;
10 propagatedBuildInputs = [
10 propagatedBuildInputs = [
11 self."sqlalchemy"
11 self."sqlalchemy"
12 self."mako"
12 self."mako"
13 self."python-editor"
13 self."python-editor"
14 self."python-dateutil"
14 self."python-dateutil"
15 ];
15 ];
16 src = fetchurl {
16 src = fetchurl {
17 url = "https://files.pythonhosted.org/packages/6e/8b/fa3bd058cccd5e9177fea4efa26bfb769228fdd3178436ad5e05830ef6ef/alembic-1.0.10.tar.gz";
17 url = "https://files.pythonhosted.org/packages/6e/8b/fa3bd058cccd5e9177fea4efa26bfb769228fdd3178436ad5e05830ef6ef/alembic-1.0.10.tar.gz";
18 sha256 = "1dwl0264r6ri2jyrjr68am04x538ab26xwy4crqjnnhm4alwm3c2";
18 sha256 = "1dwl0264r6ri2jyrjr68am04x538ab26xwy4crqjnnhm4alwm3c2";
19 };
19 };
20 meta = {
20 meta = {
21 license = [ pkgs.lib.licenses.mit ];
21 license = [ pkgs.lib.licenses.mit ];
22 };
22 };
23 };
23 };
24 "amqp" = super.buildPythonPackage {
24 "amqp" = super.buildPythonPackage {
25 name = "amqp-2.3.1";
25 name = "amqp-2.5.1";
26 doCheck = false;
26 doCheck = false;
27 propagatedBuildInputs = [
27 propagatedBuildInputs = [
28 self."vine"
28 self."vine"
29 ];
29 ];
30 src = fetchurl {
30 src = fetchurl {
31 url = "https://files.pythonhosted.org/packages/1b/32/242ff76cd802766f11c89c72f3389b5c8de4bdfbab406137b90c5fae8b05/amqp-2.3.1.tar.gz";
31 url = "https://files.pythonhosted.org/packages/b5/f5/70e364a1f5fbafc742c098ad88a064b801b0d69cf56bfad13be2c08be4e2/amqp-2.5.1.tar.gz";
32 sha256 = "0wlfnvhmfrn7c8qif2jyvsm63ibdxp02ss564qwrvqfhz0di72s0";
32 sha256 = "0s2yxnnhhx9hww0n33yn22q6sgnbd6n2nw92050qv2qpc3i1ga8r";
33 };
33 };
34 meta = {
34 meta = {
35 license = [ pkgs.lib.licenses.bsdOriginal ];
35 license = [ pkgs.lib.licenses.bsdOriginal ];
36 };
36 };
37 };
37 };
38 "appenlight-client" = super.buildPythonPackage {
38 "appenlight-client" = super.buildPythonPackage {
39 name = "appenlight-client-0.6.26";
39 name = "appenlight-client-0.6.26";
40 doCheck = false;
40 doCheck = false;
41 propagatedBuildInputs = [
41 propagatedBuildInputs = [
42 self."webob"
42 self."webob"
43 self."requests"
43 self."requests"
44 self."six"
44 self."six"
45 ];
45 ];
46 src = fetchurl {
46 src = fetchurl {
47 url = "https://files.pythonhosted.org/packages/2e/56/418fc10379b96e795ee39a15e69a730c222818af04c3821fa354eaa859ec/appenlight_client-0.6.26.tar.gz";
47 url = "https://files.pythonhosted.org/packages/2e/56/418fc10379b96e795ee39a15e69a730c222818af04c3821fa354eaa859ec/appenlight_client-0.6.26.tar.gz";
48 sha256 = "0s9xw3sb8s3pk73k78nnq4jil3q4mk6bczfa1fmgfx61kdxl2712";
48 sha256 = "0s9xw3sb8s3pk73k78nnq4jil3q4mk6bczfa1fmgfx61kdxl2712";
49 };
49 };
50 meta = {
50 meta = {
51 license = [ pkgs.lib.licenses.bsdOriginal ];
51 license = [ pkgs.lib.licenses.bsdOriginal ];
52 };
52 };
53 };
53 };
54 "asn1crypto" = super.buildPythonPackage {
54 "asn1crypto" = super.buildPythonPackage {
55 name = "asn1crypto-0.24.0";
55 name = "asn1crypto-0.24.0";
56 doCheck = false;
56 doCheck = false;
57 src = fetchurl {
57 src = fetchurl {
58 url = "https://files.pythonhosted.org/packages/fc/f1/8db7daa71f414ddabfa056c4ef792e1461ff655c2ae2928a2b675bfed6b4/asn1crypto-0.24.0.tar.gz";
58 url = "https://files.pythonhosted.org/packages/fc/f1/8db7daa71f414ddabfa056c4ef792e1461ff655c2ae2928a2b675bfed6b4/asn1crypto-0.24.0.tar.gz";
59 sha256 = "0jaf8rf9dx1lf23xfv2cdd5h52f1qr3w8k63985bc35g3d220p4x";
59 sha256 = "0jaf8rf9dx1lf23xfv2cdd5h52f1qr3w8k63985bc35g3d220p4x";
60 };
60 };
61 meta = {
61 meta = {
62 license = [ pkgs.lib.licenses.mit ];
62 license = [ pkgs.lib.licenses.mit ];
63 };
63 };
64 };
64 };
65 "atomicwrites" = super.buildPythonPackage {
65 "atomicwrites" = super.buildPythonPackage {
66 name = "atomicwrites-1.2.1";
66 name = "atomicwrites-1.2.1";
67 doCheck = false;
67 doCheck = false;
68 src = fetchurl {
68 src = fetchurl {
69 url = "https://files.pythonhosted.org/packages/ac/ed/a311712ef6b4355035489f665e63e1a73f9eb371929e3c98e5efd451069e/atomicwrites-1.2.1.tar.gz";
69 url = "https://files.pythonhosted.org/packages/ac/ed/a311712ef6b4355035489f665e63e1a73f9eb371929e3c98e5efd451069e/atomicwrites-1.2.1.tar.gz";
70 sha256 = "1vmkbw9j0qammwxbxycrs39gvdg4lc2d4lk98kwf8ag2manyi6pc";
70 sha256 = "1vmkbw9j0qammwxbxycrs39gvdg4lc2d4lk98kwf8ag2manyi6pc";
71 };
71 };
72 meta = {
72 meta = {
73 license = [ pkgs.lib.licenses.mit ];
73 license = [ pkgs.lib.licenses.mit ];
74 };
74 };
75 };
75 };
76 "attrs" = super.buildPythonPackage {
76 "attrs" = super.buildPythonPackage {
77 name = "attrs-18.2.0";
77 name = "attrs-18.2.0";
78 doCheck = false;
78 doCheck = false;
79 src = fetchurl {
79 src = fetchurl {
80 url = "https://files.pythonhosted.org/packages/0f/9e/26b1d194aab960063b266170e53c39f73ea0d0d3f5ce23313e0ec8ee9bdf/attrs-18.2.0.tar.gz";
80 url = "https://files.pythonhosted.org/packages/0f/9e/26b1d194aab960063b266170e53c39f73ea0d0d3f5ce23313e0ec8ee9bdf/attrs-18.2.0.tar.gz";
81 sha256 = "0s9ydh058wmmf5v391pym877x4ahxg45dw6a0w4c7s5wgpigdjqh";
81 sha256 = "0s9ydh058wmmf5v391pym877x4ahxg45dw6a0w4c7s5wgpigdjqh";
82 };
82 };
83 meta = {
83 meta = {
84 license = [ pkgs.lib.licenses.mit ];
84 license = [ pkgs.lib.licenses.mit ];
85 };
85 };
86 };
86 };
87 "babel" = super.buildPythonPackage {
87 "babel" = super.buildPythonPackage {
88 name = "babel-1.3";
88 name = "babel-1.3";
89 doCheck = false;
89 doCheck = false;
90 propagatedBuildInputs = [
90 propagatedBuildInputs = [
91 self."pytz"
91 self."pytz"
92 ];
92 ];
93 src = fetchurl {
93 src = fetchurl {
94 url = "https://files.pythonhosted.org/packages/33/27/e3978243a03a76398c384c83f7ca879bc6e8f1511233a621fcada135606e/Babel-1.3.tar.gz";
94 url = "https://files.pythonhosted.org/packages/33/27/e3978243a03a76398c384c83f7ca879bc6e8f1511233a621fcada135606e/Babel-1.3.tar.gz";
95 sha256 = "0bnin777lc53nxd1hp3apq410jj5wx92n08h7h4izpl4f4sx00lz";
95 sha256 = "0bnin777lc53nxd1hp3apq410jj5wx92n08h7h4izpl4f4sx00lz";
96 };
96 };
97 meta = {
97 meta = {
98 license = [ pkgs.lib.licenses.bsdOriginal ];
98 license = [ pkgs.lib.licenses.bsdOriginal ];
99 };
99 };
100 };
100 };
101 "backports.shutil-get-terminal-size" = super.buildPythonPackage {
101 "backports.shutil-get-terminal-size" = super.buildPythonPackage {
102 name = "backports.shutil-get-terminal-size-1.0.0";
102 name = "backports.shutil-get-terminal-size-1.0.0";
103 doCheck = false;
103 doCheck = false;
104 src = fetchurl {
104 src = fetchurl {
105 url = "https://files.pythonhosted.org/packages/ec/9c/368086faa9c016efce5da3e0e13ba392c9db79e3ab740b763fe28620b18b/backports.shutil_get_terminal_size-1.0.0.tar.gz";
105 url = "https://files.pythonhosted.org/packages/ec/9c/368086faa9c016efce5da3e0e13ba392c9db79e3ab740b763fe28620b18b/backports.shutil_get_terminal_size-1.0.0.tar.gz";
106 sha256 = "107cmn7g3jnbkp826zlj8rrj19fam301qvaqf0f3905f5217lgki";
106 sha256 = "107cmn7g3jnbkp826zlj8rrj19fam301qvaqf0f3905f5217lgki";
107 };
107 };
108 meta = {
108 meta = {
109 license = [ pkgs.lib.licenses.mit ];
109 license = [ pkgs.lib.licenses.mit ];
110 };
110 };
111 };
111 };
112 "beaker" = super.buildPythonPackage {
112 "beaker" = super.buildPythonPackage {
113 name = "beaker-1.9.1";
113 name = "beaker-1.9.1";
114 doCheck = false;
114 doCheck = false;
115 propagatedBuildInputs = [
115 propagatedBuildInputs = [
116 self."funcsigs"
116 self."funcsigs"
117 ];
117 ];
118 src = fetchurl {
118 src = fetchurl {
119 url = "https://files.pythonhosted.org/packages/ca/14/a626188d0d0c7b55dd7cf1902046c2743bd392a7078bb53073e13280eb1e/Beaker-1.9.1.tar.gz";
119 url = "https://files.pythonhosted.org/packages/ca/14/a626188d0d0c7b55dd7cf1902046c2743bd392a7078bb53073e13280eb1e/Beaker-1.9.1.tar.gz";
120 sha256 = "08arsn61r255lhz6hcpn2lsiqpg30clla805ysx06wmbhvb6w9rj";
120 sha256 = "08arsn61r255lhz6hcpn2lsiqpg30clla805ysx06wmbhvb6w9rj";
121 };
121 };
122 meta = {
122 meta = {
123 license = [ pkgs.lib.licenses.bsdOriginal ];
123 license = [ pkgs.lib.licenses.bsdOriginal ];
124 };
124 };
125 };
125 };
126 "beautifulsoup4" = super.buildPythonPackage {
126 "beautifulsoup4" = super.buildPythonPackage {
127 name = "beautifulsoup4-4.6.3";
127 name = "beautifulsoup4-4.6.3";
128 doCheck = false;
128 doCheck = false;
129 src = fetchurl {
129 src = fetchurl {
130 url = "https://files.pythonhosted.org/packages/88/df/86bffad6309f74f3ff85ea69344a078fc30003270c8df6894fca7a3c72ff/beautifulsoup4-4.6.3.tar.gz";
130 url = "https://files.pythonhosted.org/packages/88/df/86bffad6309f74f3ff85ea69344a078fc30003270c8df6894fca7a3c72ff/beautifulsoup4-4.6.3.tar.gz";
131 sha256 = "041dhalzjciw6qyzzq7a2k4h1yvyk76xigp35hv5ibnn448ydy4h";
131 sha256 = "041dhalzjciw6qyzzq7a2k4h1yvyk76xigp35hv5ibnn448ydy4h";
132 };
132 };
133 meta = {
133 meta = {
134 license = [ pkgs.lib.licenses.mit ];
134 license = [ pkgs.lib.licenses.mit ];
135 };
135 };
136 };
136 };
137 "billiard" = super.buildPythonPackage {
137 "billiard" = super.buildPythonPackage {
138 name = "billiard-3.5.0.3";
138 name = "billiard-3.6.1.0";
139 doCheck = false;
139 doCheck = false;
140 src = fetchurl {
140 src = fetchurl {
141 url = "https://files.pythonhosted.org/packages/39/ac/f5571210cca2e4f4532e38aaff242f26c8654c5e2436bee966c230647ccc/billiard-3.5.0.3.tar.gz";
141 url = "https://files.pythonhosted.org/packages/68/1d/2aea8fbb0b1e1260a8a2e77352de2983d36d7ac01207cf14c2b9c6cc860e/billiard-3.6.1.0.tar.gz";
142 sha256 = "1riwiiwgb141151md4ykx49qrz749akj5k8g290ji9bsqjyj4yqx";
142 sha256 = "09hzy3aqi7visy4vmf4xiish61n0rq5nd3iwjydydps8yrs9r05q";
143 };
143 };
144 meta = {
144 meta = {
145 license = [ pkgs.lib.licenses.bsdOriginal ];
145 license = [ pkgs.lib.licenses.bsdOriginal ];
146 };
146 };
147 };
147 };
148 "bleach" = super.buildPythonPackage {
148 "bleach" = super.buildPythonPackage {
149 name = "bleach-3.1.0";
149 name = "bleach-3.1.0";
150 doCheck = false;
150 doCheck = false;
151 propagatedBuildInputs = [
151 propagatedBuildInputs = [
152 self."six"
152 self."six"
153 self."webencodings"
153 self."webencodings"
154 ];
154 ];
155 src = fetchurl {
155 src = fetchurl {
156 url = "https://files.pythonhosted.org/packages/78/5a/0df03e8735cd9c75167528299c738702437589b9c71a849489d00ffa82e8/bleach-3.1.0.tar.gz";
156 url = "https://files.pythonhosted.org/packages/78/5a/0df03e8735cd9c75167528299c738702437589b9c71a849489d00ffa82e8/bleach-3.1.0.tar.gz";
157 sha256 = "1yhrgrhkln8bd6gn3imj69g1h4xqah9gaz9q26crqr6gmmvpzprz";
157 sha256 = "1yhrgrhkln8bd6gn3imj69g1h4xqah9gaz9q26crqr6gmmvpzprz";
158 };
158 };
159 meta = {
159 meta = {
160 license = [ pkgs.lib.licenses.asl20 ];
160 license = [ pkgs.lib.licenses.asl20 ];
161 };
161 };
162 };
162 };
163 "bumpversion" = super.buildPythonPackage {
163 "bumpversion" = super.buildPythonPackage {
164 name = "bumpversion-0.5.3";
164 name = "bumpversion-0.5.3";
165 doCheck = false;
165 doCheck = false;
166 src = fetchurl {
166 src = fetchurl {
167 url = "https://files.pythonhosted.org/packages/14/41/8c9da3549f8e00c84f0432c3a8cf8ed6898374714676aab91501d48760db/bumpversion-0.5.3.tar.gz";
167 url = "https://files.pythonhosted.org/packages/14/41/8c9da3549f8e00c84f0432c3a8cf8ed6898374714676aab91501d48760db/bumpversion-0.5.3.tar.gz";
168 sha256 = "0zn7694yfipxg35ikkfh7kvgl2fissha3dnqad2c5bvsvmrwhi37";
168 sha256 = "0zn7694yfipxg35ikkfh7kvgl2fissha3dnqad2c5bvsvmrwhi37";
169 };
169 };
170 meta = {
170 meta = {
171 license = [ pkgs.lib.licenses.mit ];
171 license = [ pkgs.lib.licenses.mit ];
172 };
172 };
173 };
173 };
174 "celery" = super.buildPythonPackage {
174 "celery" = super.buildPythonPackage {
175 name = "celery-4.1.1";
175 name = "celery-4.3.0";
176 doCheck = false;
176 doCheck = false;
177 propagatedBuildInputs = [
177 propagatedBuildInputs = [
178 self."pytz"
178 self."pytz"
179 self."billiard"
179 self."billiard"
180 self."kombu"
180 self."kombu"
181 self."vine"
181 ];
182 ];
182 src = fetchurl {
183 src = fetchurl {
183 url = "https://files.pythonhosted.org/packages/e9/cf/a4c0597effca20c57eb586324e41d1180bc8f13a933da41e0646cff69f02/celery-4.1.1.tar.gz";
184 url = "https://files.pythonhosted.org/packages/a2/4b/d020836f751617e907e84753a41c92231cd4b673ff991b8ee9da52361323/celery-4.3.0.tar.gz";
184 sha256 = "1xbir4vw42n2ir9lanhwl7w69zpmj7lbi66fxm2b7pyvkcss7wni";
185 sha256 = "1y8y0gbgkwimpxqnxq2rm5qz2vy01fvjiybnpm00y5rzd2m34iac";
185 };
186 };
186 meta = {
187 meta = {
187 license = [ pkgs.lib.licenses.bsdOriginal ];
188 license = [ pkgs.lib.licenses.bsdOriginal ];
188 };
189 };
189 };
190 };
190 "cffi" = super.buildPythonPackage {
191 "cffi" = super.buildPythonPackage {
191 name = "cffi-1.12.2";
192 name = "cffi-1.12.2";
192 doCheck = false;
193 doCheck = false;
193 propagatedBuildInputs = [
194 propagatedBuildInputs = [
194 self."pycparser"
195 self."pycparser"
195 ];
196 ];
196 src = fetchurl {
197 src = fetchurl {
197 url = "https://files.pythonhosted.org/packages/64/7c/27367b38e6cc3e1f49f193deb761fe75cda9f95da37b67b422e62281fcac/cffi-1.12.2.tar.gz";
198 url = "https://files.pythonhosted.org/packages/64/7c/27367b38e6cc3e1f49f193deb761fe75cda9f95da37b67b422e62281fcac/cffi-1.12.2.tar.gz";
198 sha256 = "19qfks2djya8vix95bmg3xzipjb8w9b8mbj4j5k2hqkc8j58f4z1";
199 sha256 = "19qfks2djya8vix95bmg3xzipjb8w9b8mbj4j5k2hqkc8j58f4z1";
199 };
200 };
200 meta = {
201 meta = {
201 license = [ pkgs.lib.licenses.mit ];
202 license = [ pkgs.lib.licenses.mit ];
202 };
203 };
203 };
204 };
204 "chameleon" = super.buildPythonPackage {
205 "chameleon" = super.buildPythonPackage {
205 name = "chameleon-2.24";
206 name = "chameleon-2.24";
206 doCheck = false;
207 doCheck = false;
207 src = fetchurl {
208 src = fetchurl {
208 url = "https://files.pythonhosted.org/packages/5a/9e/637379ffa13c5172b5c0e704833ffea6bf51cec7567f93fd6e903d53ed74/Chameleon-2.24.tar.gz";
209 url = "https://files.pythonhosted.org/packages/5a/9e/637379ffa13c5172b5c0e704833ffea6bf51cec7567f93fd6e903d53ed74/Chameleon-2.24.tar.gz";
209 sha256 = "0ykqr7syxfa6h9adjfnsv1gdsca2xzm22vmic8859n0f0j09abj5";
210 sha256 = "0ykqr7syxfa6h9adjfnsv1gdsca2xzm22vmic8859n0f0j09abj5";
210 };
211 };
211 meta = {
212 meta = {
212 license = [ { fullName = "BSD-like (http://repoze.org/license.html)"; } ];
213 license = [ { fullName = "BSD-like (http://repoze.org/license.html)"; } ];
213 };
214 };
214 };
215 };
215 "channelstream" = super.buildPythonPackage {
216 "channelstream" = super.buildPythonPackage {
216 name = "channelstream-0.5.2";
217 name = "channelstream-0.5.2";
217 doCheck = false;
218 doCheck = false;
218 propagatedBuildInputs = [
219 propagatedBuildInputs = [
219 self."gevent"
220 self."gevent"
220 self."ws4py"
221 self."ws4py"
221 self."pyramid"
222 self."pyramid"
222 self."pyramid-jinja2"
223 self."pyramid-jinja2"
223 self."itsdangerous"
224 self."itsdangerous"
224 self."requests"
225 self."requests"
225 self."six"
226 self."six"
226 ];
227 ];
227 src = fetchurl {
228 src = fetchurl {
228 url = "https://files.pythonhosted.org/packages/2b/31/29a8e085cf5bf97fa88e7b947adabfc581a18a3463adf77fb6dada34a65f/channelstream-0.5.2.tar.gz";
229 url = "https://files.pythonhosted.org/packages/2b/31/29a8e085cf5bf97fa88e7b947adabfc581a18a3463adf77fb6dada34a65f/channelstream-0.5.2.tar.gz";
229 sha256 = "1qbm4xdl5hfkja683x546bncg3rqq8qv79w1m1a1wd48cqqzb6rm";
230 sha256 = "1qbm4xdl5hfkja683x546bncg3rqq8qv79w1m1a1wd48cqqzb6rm";
230 };
231 };
231 meta = {
232 meta = {
232 license = [ pkgs.lib.licenses.bsdOriginal ];
233 license = [ pkgs.lib.licenses.bsdOriginal ];
233 };
234 };
234 };
235 };
235 "click" = super.buildPythonPackage {
236 "click" = super.buildPythonPackage {
236 name = "click-7.0";
237 name = "click-7.0";
237 doCheck = false;
238 doCheck = false;
238 src = fetchurl {
239 src = fetchurl {
239 url = "https://files.pythonhosted.org/packages/f8/5c/f60e9d8a1e77005f664b76ff8aeaee5bc05d0a91798afd7f53fc998dbc47/Click-7.0.tar.gz";
240 url = "https://files.pythonhosted.org/packages/f8/5c/f60e9d8a1e77005f664b76ff8aeaee5bc05d0a91798afd7f53fc998dbc47/Click-7.0.tar.gz";
240 sha256 = "1mzjixd4vjbjvzb6vylki9w1556a9qmdh35kzmq6cign46av952v";
241 sha256 = "1mzjixd4vjbjvzb6vylki9w1556a9qmdh35kzmq6cign46av952v";
241 };
242 };
242 meta = {
243 meta = {
243 license = [ pkgs.lib.licenses.bsdOriginal ];
244 license = [ pkgs.lib.licenses.bsdOriginal ];
244 };
245 };
245 };
246 };
246 "colander" = super.buildPythonPackage {
247 "colander" = super.buildPythonPackage {
247 name = "colander-1.7.0";
248 name = "colander-1.7.0";
248 doCheck = false;
249 doCheck = false;
249 propagatedBuildInputs = [
250 propagatedBuildInputs = [
250 self."translationstring"
251 self."translationstring"
251 self."iso8601"
252 self."iso8601"
252 self."enum34"
253 self."enum34"
253 ];
254 ];
254 src = fetchurl {
255 src = fetchurl {
255 url = "https://files.pythonhosted.org/packages/db/e4/74ab06f54211917b41865cafc987ce511e35503de48da9bfe9358a1bdc3e/colander-1.7.0.tar.gz";
256 url = "https://files.pythonhosted.org/packages/db/e4/74ab06f54211917b41865cafc987ce511e35503de48da9bfe9358a1bdc3e/colander-1.7.0.tar.gz";
256 sha256 = "1wl1bqab307lbbcjx81i28s3yl6dlm4rf15fxawkjb6j48x1cn6p";
257 sha256 = "1wl1bqab307lbbcjx81i28s3yl6dlm4rf15fxawkjb6j48x1cn6p";
257 };
258 };
258 meta = {
259 meta = {
259 license = [ { fullName = "BSD-derived (http://www.repoze.org/LICENSE.txt)"; } ];
260 license = [ { fullName = "BSD-derived (http://www.repoze.org/LICENSE.txt)"; } ];
260 };
261 };
261 };
262 };
262 "configobj" = super.buildPythonPackage {
263 "configobj" = super.buildPythonPackage {
263 name = "configobj-5.0.6";
264 name = "configobj-5.0.6";
264 doCheck = false;
265 doCheck = false;
265 propagatedBuildInputs = [
266 propagatedBuildInputs = [
266 self."six"
267 self."six"
267 ];
268 ];
268 src = fetchurl {
269 src = fetchurl {
269 url = "https://code.rhodecode.com/upstream/configobj/artifacts/download/0-012de99a-b1e1-4f64-a5c0-07a98a41b324.tar.gz?md5=6a513f51fe04b2c18cf84c1395a7c626";
270 url = "https://code.rhodecode.com/upstream/configobj/artifacts/download/0-012de99a-b1e1-4f64-a5c0-07a98a41b324.tar.gz?md5=6a513f51fe04b2c18cf84c1395a7c626";
270 sha256 = "0kqfrdfr14mw8yd8qwq14dv2xghpkjmd3yjsy8dfcbvpcc17xnxp";
271 sha256 = "0kqfrdfr14mw8yd8qwq14dv2xghpkjmd3yjsy8dfcbvpcc17xnxp";
271 };
272 };
272 meta = {
273 meta = {
273 license = [ pkgs.lib.licenses.bsdOriginal ];
274 license = [ pkgs.lib.licenses.bsdOriginal ];
274 };
275 };
275 };
276 };
276 "configparser" = super.buildPythonPackage {
277 "configparser" = super.buildPythonPackage {
277 name = "configparser-3.7.4";
278 name = "configparser-3.7.4";
278 doCheck = false;
279 doCheck = false;
279 src = fetchurl {
280 src = fetchurl {
280 url = "https://files.pythonhosted.org/packages/e2/1c/83fd53748d8245cb9a3399f705c251d3fc0ce7df04450aac1cfc49dd6a0f/configparser-3.7.4.tar.gz";
281 url = "https://files.pythonhosted.org/packages/e2/1c/83fd53748d8245cb9a3399f705c251d3fc0ce7df04450aac1cfc49dd6a0f/configparser-3.7.4.tar.gz";
281 sha256 = "0xac32886ihs2xg7w1gppcq2sgin5qsm8lqwijs5xifq9w0x0q6s";
282 sha256 = "0xac32886ihs2xg7w1gppcq2sgin5qsm8lqwijs5xifq9w0x0q6s";
282 };
283 };
283 meta = {
284 meta = {
284 license = [ pkgs.lib.licenses.mit ];
285 license = [ pkgs.lib.licenses.mit ];
285 };
286 };
286 };
287 };
288 "contextlib2" = super.buildPythonPackage {
289 name = "contextlib2-0.5.5";
290 doCheck = false;
291 src = fetchurl {
292 url = "https://files.pythonhosted.org/packages/6e/db/41233498c210b03ab8b072c8ee49b1cd63b3b0c76f8ea0a0e5d02df06898/contextlib2-0.5.5.tar.gz";
293 sha256 = "0j6ad6lwwyc9kv71skj098v5l7x5biyj2hs4lc5x1kcixqcr97sh";
294 };
295 meta = {
296 license = [ pkgs.lib.licenses.psfl ];
297 };
298 };
287 "cov-core" = super.buildPythonPackage {
299 "cov-core" = super.buildPythonPackage {
288 name = "cov-core-1.15.0";
300 name = "cov-core-1.15.0";
289 doCheck = false;
301 doCheck = false;
290 propagatedBuildInputs = [
302 propagatedBuildInputs = [
291 self."coverage"
303 self."coverage"
292 ];
304 ];
293 src = fetchurl {
305 src = fetchurl {
294 url = "https://files.pythonhosted.org/packages/4b/87/13e75a47b4ba1be06f29f6d807ca99638bedc6b57fa491cd3de891ca2923/cov-core-1.15.0.tar.gz";
306 url = "https://files.pythonhosted.org/packages/4b/87/13e75a47b4ba1be06f29f6d807ca99638bedc6b57fa491cd3de891ca2923/cov-core-1.15.0.tar.gz";
295 sha256 = "0k3np9ymh06yv1ib96sb6wfsxjkqhmik8qfsn119vnhga9ywc52a";
307 sha256 = "0k3np9ymh06yv1ib96sb6wfsxjkqhmik8qfsn119vnhga9ywc52a";
296 };
308 };
297 meta = {
309 meta = {
298 license = [ pkgs.lib.licenses.mit ];
310 license = [ pkgs.lib.licenses.mit ];
299 };
311 };
300 };
312 };
301 "coverage" = super.buildPythonPackage {
313 "coverage" = super.buildPythonPackage {
302 name = "coverage-4.5.3";
314 name = "coverage-4.5.3";
303 doCheck = false;
315 doCheck = false;
304 src = fetchurl {
316 src = fetchurl {
305 url = "https://files.pythonhosted.org/packages/82/70/2280b5b29a0352519bb95ab0ef1ea942d40466ca71c53a2085bdeff7b0eb/coverage-4.5.3.tar.gz";
317 url = "https://files.pythonhosted.org/packages/82/70/2280b5b29a0352519bb95ab0ef1ea942d40466ca71c53a2085bdeff7b0eb/coverage-4.5.3.tar.gz";
306 sha256 = "02f6m073qdispn96rc616hg0rnmw1pgqzw3bgxwiwza4zf9hirlx";
318 sha256 = "02f6m073qdispn96rc616hg0rnmw1pgqzw3bgxwiwza4zf9hirlx";
307 };
319 };
308 meta = {
320 meta = {
309 license = [ pkgs.lib.licenses.asl20 ];
321 license = [ pkgs.lib.licenses.asl20 ];
310 };
322 };
311 };
323 };
312 "cryptography" = super.buildPythonPackage {
324 "cryptography" = super.buildPythonPackage {
313 name = "cryptography-2.6.1";
325 name = "cryptography-2.6.1";
314 doCheck = false;
326 doCheck = false;
315 propagatedBuildInputs = [
327 propagatedBuildInputs = [
316 self."asn1crypto"
328 self."asn1crypto"
317 self."six"
329 self."six"
318 self."cffi"
330 self."cffi"
319 self."enum34"
331 self."enum34"
320 self."ipaddress"
332 self."ipaddress"
321 ];
333 ];
322 src = fetchurl {
334 src = fetchurl {
323 url = "https://files.pythonhosted.org/packages/07/ca/bc827c5e55918ad223d59d299fff92f3563476c3b00d0a9157d9c0217449/cryptography-2.6.1.tar.gz";
335 url = "https://files.pythonhosted.org/packages/07/ca/bc827c5e55918ad223d59d299fff92f3563476c3b00d0a9157d9c0217449/cryptography-2.6.1.tar.gz";
324 sha256 = "19iwz5avym5zl6jrrrkym1rdaa9h61j20ph4cswsqgv8xg5j3j16";
336 sha256 = "19iwz5avym5zl6jrrrkym1rdaa9h61j20ph4cswsqgv8xg5j3j16";
325 };
337 };
326 meta = {
338 meta = {
327 license = [ pkgs.lib.licenses.bsdOriginal { fullName = "BSD or Apache License, Version 2.0"; } pkgs.lib.licenses.asl20 ];
339 license = [ pkgs.lib.licenses.bsdOriginal { fullName = "BSD or Apache License, Version 2.0"; } pkgs.lib.licenses.asl20 ];
328 };
340 };
329 };
341 };
330 "cssselect" = super.buildPythonPackage {
342 "cssselect" = super.buildPythonPackage {
331 name = "cssselect-1.0.3";
343 name = "cssselect-1.0.3";
332 doCheck = false;
344 doCheck = false;
333 src = fetchurl {
345 src = fetchurl {
334 url = "https://files.pythonhosted.org/packages/52/ea/f31e1d2e9eb130fda2a631e22eac369dc644e8807345fbed5113f2d6f92b/cssselect-1.0.3.tar.gz";
346 url = "https://files.pythonhosted.org/packages/52/ea/f31e1d2e9eb130fda2a631e22eac369dc644e8807345fbed5113f2d6f92b/cssselect-1.0.3.tar.gz";
335 sha256 = "011jqa2jhmydhi0iz4v1w3cr540z5zas8g2bw8brdw4s4b2qnv86";
347 sha256 = "011jqa2jhmydhi0iz4v1w3cr540z5zas8g2bw8brdw4s4b2qnv86";
336 };
348 };
337 meta = {
349 meta = {
338 license = [ pkgs.lib.licenses.bsdOriginal ];
350 license = [ pkgs.lib.licenses.bsdOriginal ];
339 };
351 };
340 };
352 };
341 "decorator" = super.buildPythonPackage {
353 "decorator" = super.buildPythonPackage {
342 name = "decorator-4.1.2";
354 name = "decorator-4.1.2";
343 doCheck = false;
355 doCheck = false;
344 src = fetchurl {
356 src = fetchurl {
345 url = "https://files.pythonhosted.org/packages/bb/e0/f6e41e9091e130bf16d4437dabbac3993908e4d6485ecbc985ef1352db94/decorator-4.1.2.tar.gz";
357 url = "https://files.pythonhosted.org/packages/bb/e0/f6e41e9091e130bf16d4437dabbac3993908e4d6485ecbc985ef1352db94/decorator-4.1.2.tar.gz";
346 sha256 = "1d8npb11kxyi36mrvjdpcjij76l5zfyrz2f820brf0l0rcw4vdkw";
358 sha256 = "1d8npb11kxyi36mrvjdpcjij76l5zfyrz2f820brf0l0rcw4vdkw";
347 };
359 };
348 meta = {
360 meta = {
349 license = [ pkgs.lib.licenses.bsdOriginal { fullName = "new BSD License"; } ];
361 license = [ pkgs.lib.licenses.bsdOriginal { fullName = "new BSD License"; } ];
350 };
362 };
351 };
363 };
352 "deform" = super.buildPythonPackage {
364 "deform" = super.buildPythonPackage {
353 name = "deform-2.0.7";
365 name = "deform-2.0.7";
354 doCheck = false;
366 doCheck = false;
355 propagatedBuildInputs = [
367 propagatedBuildInputs = [
356 self."chameleon"
368 self."chameleon"
357 self."colander"
369 self."colander"
358 self."iso8601"
370 self."iso8601"
359 self."peppercorn"
371 self."peppercorn"
360 self."translationstring"
372 self."translationstring"
361 self."zope.deprecation"
373 self."zope.deprecation"
362 ];
374 ];
363 src = fetchurl {
375 src = fetchurl {
364 url = "https://files.pythonhosted.org/packages/cf/a1/bc234527b8f181de9acd80e796483c00007658d1e32b7de78f1c2e004d9a/deform-2.0.7.tar.gz";
376 url = "https://files.pythonhosted.org/packages/cf/a1/bc234527b8f181de9acd80e796483c00007658d1e32b7de78f1c2e004d9a/deform-2.0.7.tar.gz";
365 sha256 = "0jnpi0zr2hjvbmiz6nm33yqv976dn9lf51vhlzqc0i75xcr9rwig";
377 sha256 = "0jnpi0zr2hjvbmiz6nm33yqv976dn9lf51vhlzqc0i75xcr9rwig";
366 };
378 };
367 meta = {
379 meta = {
368 license = [ { fullName = "Repoze Public License"; } { fullName = "BSD-derived (http://www.repoze.org/LICENSE.txt)"; } ];
380 license = [ { fullName = "Repoze Public License"; } { fullName = "BSD-derived (http://www.repoze.org/LICENSE.txt)"; } ];
369 };
381 };
370 };
382 };
371 "defusedxml" = super.buildPythonPackage {
383 "defusedxml" = super.buildPythonPackage {
372 name = "defusedxml-0.6.0";
384 name = "defusedxml-0.6.0";
373 doCheck = false;
385 doCheck = false;
374 src = fetchurl {
386 src = fetchurl {
375 url = "https://files.pythonhosted.org/packages/a4/5f/f8aa58ca0cf01cbcee728abc9d88bfeb74e95e6cb4334cfd5bed5673ea77/defusedxml-0.6.0.tar.gz";
387 url = "https://files.pythonhosted.org/packages/a4/5f/f8aa58ca0cf01cbcee728abc9d88bfeb74e95e6cb4334cfd5bed5673ea77/defusedxml-0.6.0.tar.gz";
376 sha256 = "1xbp8fivl3wlbyg2jrvs4lalaqv1xp9a9f29p75wdx2s2d6h717n";
388 sha256 = "1xbp8fivl3wlbyg2jrvs4lalaqv1xp9a9f29p75wdx2s2d6h717n";
377 };
389 };
378 meta = {
390 meta = {
379 license = [ pkgs.lib.licenses.psfl ];
391 license = [ pkgs.lib.licenses.psfl ];
380 };
392 };
381 };
393 };
382 "dm.xmlsec.binding" = super.buildPythonPackage {
394 "dm.xmlsec.binding" = super.buildPythonPackage {
383 name = "dm.xmlsec.binding-1.3.7";
395 name = "dm.xmlsec.binding-1.3.7";
384 doCheck = false;
396 doCheck = false;
385 propagatedBuildInputs = [
397 propagatedBuildInputs = [
386 self."setuptools"
398 self."setuptools"
387 self."lxml"
399 self."lxml"
388 ];
400 ];
389 src = fetchurl {
401 src = fetchurl {
390 url = "https://files.pythonhosted.org/packages/2c/9e/7651982d50252692991acdae614af821fd6c79bc8dcd598ad71d55be8fc7/dm.xmlsec.binding-1.3.7.tar.gz";
402 url = "https://files.pythonhosted.org/packages/2c/9e/7651982d50252692991acdae614af821fd6c79bc8dcd598ad71d55be8fc7/dm.xmlsec.binding-1.3.7.tar.gz";
391 sha256 = "03jjjscx1pz2nc0dwiw9nia02qbz1c6f0f9zkyr8fmvys2n5jkb3";
403 sha256 = "03jjjscx1pz2nc0dwiw9nia02qbz1c6f0f9zkyr8fmvys2n5jkb3";
392 };
404 };
393 meta = {
405 meta = {
394 license = [ pkgs.lib.licenses.bsdOriginal ];
406 license = [ pkgs.lib.licenses.bsdOriginal ];
395 };
407 };
396 };
408 };
397 "docutils" = super.buildPythonPackage {
409 "docutils" = super.buildPythonPackage {
398 name = "docutils-0.14";
410 name = "docutils-0.14";
399 doCheck = false;
411 doCheck = false;
400 src = fetchurl {
412 src = fetchurl {
401 url = "https://files.pythonhosted.org/packages/84/f4/5771e41fdf52aabebbadecc9381d11dea0fa34e4759b4071244fa094804c/docutils-0.14.tar.gz";
413 url = "https://files.pythonhosted.org/packages/84/f4/5771e41fdf52aabebbadecc9381d11dea0fa34e4759b4071244fa094804c/docutils-0.14.tar.gz";
402 sha256 = "0x22fs3pdmr42kvz6c654756wja305qv6cx1zbhwlagvxgr4xrji";
414 sha256 = "0x22fs3pdmr42kvz6c654756wja305qv6cx1zbhwlagvxgr4xrji";
403 };
415 };
404 meta = {
416 meta = {
405 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 ];
417 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 ];
406 };
418 };
407 };
419 };
408 "dogpile.cache" = super.buildPythonPackage {
420 "dogpile.cache" = super.buildPythonPackage {
409 name = "dogpile.cache-0.7.1";
421 name = "dogpile.cache-0.7.1";
410 doCheck = false;
422 doCheck = false;
411 propagatedBuildInputs = [
423 propagatedBuildInputs = [
412 self."decorator"
424 self."decorator"
413 ];
425 ];
414 src = fetchurl {
426 src = fetchurl {
415 url = "https://files.pythonhosted.org/packages/84/3e/dbf1cfc5228f1d3dca80ef714db2c5aaec5cd9efaf54d7e3daef6bc48b19/dogpile.cache-0.7.1.tar.gz";
427 url = "https://files.pythonhosted.org/packages/84/3e/dbf1cfc5228f1d3dca80ef714db2c5aaec5cd9efaf54d7e3daef6bc48b19/dogpile.cache-0.7.1.tar.gz";
416 sha256 = "0caazmrzhnfqb5yrp8myhw61ny637jj69wcngrpbvi31jlcpy6v9";
428 sha256 = "0caazmrzhnfqb5yrp8myhw61ny637jj69wcngrpbvi31jlcpy6v9";
417 };
429 };
418 meta = {
430 meta = {
419 license = [ pkgs.lib.licenses.bsdOriginal ];
431 license = [ pkgs.lib.licenses.bsdOriginal ];
420 };
432 };
421 };
433 };
422 "dogpile.core" = super.buildPythonPackage {
434 "dogpile.core" = super.buildPythonPackage {
423 name = "dogpile.core-0.4.1";
435 name = "dogpile.core-0.4.1";
424 doCheck = false;
436 doCheck = false;
425 src = fetchurl {
437 src = fetchurl {
426 url = "https://files.pythonhosted.org/packages/0e/77/e72abc04c22aedf874301861e5c1e761231c288b5de369c18be8f4b5c9bb/dogpile.core-0.4.1.tar.gz";
438 url = "https://files.pythonhosted.org/packages/0e/77/e72abc04c22aedf874301861e5c1e761231c288b5de369c18be8f4b5c9bb/dogpile.core-0.4.1.tar.gz";
427 sha256 = "0xpdvg4kr1isfkrh1rfsh7za4q5a5s6l2kf9wpvndbwf3aqjyrdy";
439 sha256 = "0xpdvg4kr1isfkrh1rfsh7za4q5a5s6l2kf9wpvndbwf3aqjyrdy";
428 };
440 };
429 meta = {
441 meta = {
430 license = [ pkgs.lib.licenses.bsdOriginal ];
442 license = [ pkgs.lib.licenses.bsdOriginal ];
431 };
443 };
432 };
444 };
433 "ecdsa" = super.buildPythonPackage {
445 "ecdsa" = super.buildPythonPackage {
434 name = "ecdsa-0.13.2";
446 name = "ecdsa-0.13.2";
435 doCheck = false;
447 doCheck = false;
436 src = fetchurl {
448 src = fetchurl {
437 url = "https://files.pythonhosted.org/packages/51/76/139bf6e9b7b6684d5891212cdbd9e0739f2bfc03f380a1a6ffa700f392ac/ecdsa-0.13.2.tar.gz";
449 url = "https://files.pythonhosted.org/packages/51/76/139bf6e9b7b6684d5891212cdbd9e0739f2bfc03f380a1a6ffa700f392ac/ecdsa-0.13.2.tar.gz";
438 sha256 = "116qaq7bh4lcynzi613960jhsnn19v0kmsqwahiwjfj14gx4y0sw";
450 sha256 = "116qaq7bh4lcynzi613960jhsnn19v0kmsqwahiwjfj14gx4y0sw";
439 };
451 };
440 meta = {
452 meta = {
441 license = [ pkgs.lib.licenses.mit ];
453 license = [ pkgs.lib.licenses.mit ];
442 };
454 };
443 };
455 };
444 "elasticsearch" = super.buildPythonPackage {
456 "elasticsearch" = super.buildPythonPackage {
445 name = "elasticsearch-6.3.1";
457 name = "elasticsearch-6.3.1";
446 doCheck = false;
458 doCheck = false;
447 propagatedBuildInputs = [
459 propagatedBuildInputs = [
448 self."urllib3"
460 self."urllib3"
449 ];
461 ];
450 src = fetchurl {
462 src = fetchurl {
451 url = "https://files.pythonhosted.org/packages/9d/ce/c4664e8380e379a9402ecfbaf158e56396da90d520daba21cfa840e0eb71/elasticsearch-6.3.1.tar.gz";
463 url = "https://files.pythonhosted.org/packages/9d/ce/c4664e8380e379a9402ecfbaf158e56396da90d520daba21cfa840e0eb71/elasticsearch-6.3.1.tar.gz";
452 sha256 = "12y93v0yn7a4xmf969239g8gb3l4cdkclfpbk1qc8hx5qkymrnma";
464 sha256 = "12y93v0yn7a4xmf969239g8gb3l4cdkclfpbk1qc8hx5qkymrnma";
453 };
465 };
454 meta = {
466 meta = {
455 license = [ pkgs.lib.licenses.asl20 ];
467 license = [ pkgs.lib.licenses.asl20 ];
456 };
468 };
457 };
469 };
458 "elasticsearch-dsl" = super.buildPythonPackage {
470 "elasticsearch-dsl" = super.buildPythonPackage {
459 name = "elasticsearch-dsl-6.3.1";
471 name = "elasticsearch-dsl-6.3.1";
460 doCheck = false;
472 doCheck = false;
461 propagatedBuildInputs = [
473 propagatedBuildInputs = [
462 self."six"
474 self."six"
463 self."python-dateutil"
475 self."python-dateutil"
464 self."elasticsearch"
476 self."elasticsearch"
465 self."ipaddress"
477 self."ipaddress"
466 ];
478 ];
467 src = fetchurl {
479 src = fetchurl {
468 url = "https://files.pythonhosted.org/packages/4c/0d/1549f50c591db6bb4e66cbcc8d34a6e537c3d89aa426b167c244fd46420a/elasticsearch-dsl-6.3.1.tar.gz";
480 url = "https://files.pythonhosted.org/packages/4c/0d/1549f50c591db6bb4e66cbcc8d34a6e537c3d89aa426b167c244fd46420a/elasticsearch-dsl-6.3.1.tar.gz";
469 sha256 = "1gh8a0shqi105k325hgwb9avrpdjh0mc6mxwfg9ba7g6lssb702z";
481 sha256 = "1gh8a0shqi105k325hgwb9avrpdjh0mc6mxwfg9ba7g6lssb702z";
470 };
482 };
471 meta = {
483 meta = {
472 license = [ pkgs.lib.licenses.asl20 ];
484 license = [ pkgs.lib.licenses.asl20 ];
473 };
485 };
474 };
486 };
475 "elasticsearch1" = super.buildPythonPackage {
487 "elasticsearch1" = super.buildPythonPackage {
476 name = "elasticsearch1-1.10.0";
488 name = "elasticsearch1-1.10.0";
477 doCheck = false;
489 doCheck = false;
478 propagatedBuildInputs = [
490 propagatedBuildInputs = [
479 self."urllib3"
491 self."urllib3"
480 ];
492 ];
481 src = fetchurl {
493 src = fetchurl {
482 url = "https://files.pythonhosted.org/packages/a6/eb/73e75f9681fa71e3157b8ee878534235d57f24ee64f0e77f8d995fb57076/elasticsearch1-1.10.0.tar.gz";
494 url = "https://files.pythonhosted.org/packages/a6/eb/73e75f9681fa71e3157b8ee878534235d57f24ee64f0e77f8d995fb57076/elasticsearch1-1.10.0.tar.gz";
483 sha256 = "0g89444kd5zwql4vbvyrmi2m6l6dcj6ga98j4hqxyyyz6z20aki2";
495 sha256 = "0g89444kd5zwql4vbvyrmi2m6l6dcj6ga98j4hqxyyyz6z20aki2";
484 };
496 };
485 meta = {
497 meta = {
486 license = [ pkgs.lib.licenses.asl20 ];
498 license = [ pkgs.lib.licenses.asl20 ];
487 };
499 };
488 };
500 };
489 "elasticsearch1-dsl" = super.buildPythonPackage {
501 "elasticsearch1-dsl" = super.buildPythonPackage {
490 name = "elasticsearch1-dsl-0.0.12";
502 name = "elasticsearch1-dsl-0.0.12";
491 doCheck = false;
503 doCheck = false;
492 propagatedBuildInputs = [
504 propagatedBuildInputs = [
493 self."six"
505 self."six"
494 self."python-dateutil"
506 self."python-dateutil"
495 self."elasticsearch1"
507 self."elasticsearch1"
496 ];
508 ];
497 src = fetchurl {
509 src = fetchurl {
498 url = "https://files.pythonhosted.org/packages/eb/9d/785342775cb10eddc9b8d7457d618a423b4f0b89d8b2b2d1bc27190d71db/elasticsearch1-dsl-0.0.12.tar.gz";
510 url = "https://files.pythonhosted.org/packages/eb/9d/785342775cb10eddc9b8d7457d618a423b4f0b89d8b2b2d1bc27190d71db/elasticsearch1-dsl-0.0.12.tar.gz";
499 sha256 = "0ig1ly39v93hba0z975wnhbmzwj28w6w1sqlr2g7cn5spp732bhk";
511 sha256 = "0ig1ly39v93hba0z975wnhbmzwj28w6w1sqlr2g7cn5spp732bhk";
500 };
512 };
501 meta = {
513 meta = {
502 license = [ pkgs.lib.licenses.asl20 ];
514 license = [ pkgs.lib.licenses.asl20 ];
503 };
515 };
504 };
516 };
505 "elasticsearch2" = super.buildPythonPackage {
517 "elasticsearch2" = super.buildPythonPackage {
506 name = "elasticsearch2-2.5.0";
518 name = "elasticsearch2-2.5.0";
507 doCheck = false;
519 doCheck = false;
508 propagatedBuildInputs = [
520 propagatedBuildInputs = [
509 self."urllib3"
521 self."urllib3"
510 ];
522 ];
511 src = fetchurl {
523 src = fetchurl {
512 url = "https://files.pythonhosted.org/packages/84/77/63cf63d4ba11d913b5278406f2a37b0712bec6fc85edfb6151a33eaeba25/elasticsearch2-2.5.0.tar.gz";
524 url = "https://files.pythonhosted.org/packages/84/77/63cf63d4ba11d913b5278406f2a37b0712bec6fc85edfb6151a33eaeba25/elasticsearch2-2.5.0.tar.gz";
513 sha256 = "0ky0q16lbvz022yv6q3pix7aamf026p1y994537ccjf0p0dxnbxr";
525 sha256 = "0ky0q16lbvz022yv6q3pix7aamf026p1y994537ccjf0p0dxnbxr";
514 };
526 };
515 meta = {
527 meta = {
516 license = [ pkgs.lib.licenses.asl20 ];
528 license = [ pkgs.lib.licenses.asl20 ];
517 };
529 };
518 };
530 };
519 "entrypoints" = super.buildPythonPackage {
531 "entrypoints" = super.buildPythonPackage {
520 name = "entrypoints-0.2.2";
532 name = "entrypoints-0.2.2";
521 doCheck = false;
533 doCheck = false;
522 propagatedBuildInputs = [
534 propagatedBuildInputs = [
523 self."configparser"
535 self."configparser"
524 ];
536 ];
525 src = fetchurl {
537 src = fetchurl {
526 url = "https://code.rhodecode.com/upstream/entrypoints/artifacts/download/0-8e9ee9e4-c4db-409c-b07e-81568fd1832d.tar.gz?md5=3a027b8ff1d257b91fe257de6c43357d";
538 url = "https://code.rhodecode.com/upstream/entrypoints/artifacts/download/0-8e9ee9e4-c4db-409c-b07e-81568fd1832d.tar.gz?md5=3a027b8ff1d257b91fe257de6c43357d";
527 sha256 = "0qih72n2myclanplqipqxpgpj9d2yhff1pz5d02zq1cfqyd173w5";
539 sha256 = "0qih72n2myclanplqipqxpgpj9d2yhff1pz5d02zq1cfqyd173w5";
528 };
540 };
529 meta = {
541 meta = {
530 license = [ pkgs.lib.licenses.mit ];
542 license = [ pkgs.lib.licenses.mit ];
531 };
543 };
532 };
544 };
533 "enum34" = super.buildPythonPackage {
545 "enum34" = super.buildPythonPackage {
534 name = "enum34-1.1.6";
546 name = "enum34-1.1.6";
535 doCheck = false;
547 doCheck = false;
536 src = fetchurl {
548 src = fetchurl {
537 url = "https://files.pythonhosted.org/packages/bf/3e/31d502c25302814a7c2f1d3959d2a3b3f78e509002ba91aea64993936876/enum34-1.1.6.tar.gz";
549 url = "https://files.pythonhosted.org/packages/bf/3e/31d502c25302814a7c2f1d3959d2a3b3f78e509002ba91aea64993936876/enum34-1.1.6.tar.gz";
538 sha256 = "1cgm5ng2gcfrkrm3hc22brl6chdmv67b9zvva9sfs7gn7dwc9n4a";
550 sha256 = "1cgm5ng2gcfrkrm3hc22brl6chdmv67b9zvva9sfs7gn7dwc9n4a";
539 };
551 };
540 meta = {
552 meta = {
541 license = [ pkgs.lib.licenses.bsdOriginal ];
553 license = [ pkgs.lib.licenses.bsdOriginal ];
542 };
554 };
543 };
555 };
544 "formencode" = super.buildPythonPackage {
556 "formencode" = super.buildPythonPackage {
545 name = "formencode-1.2.4";
557 name = "formencode-1.2.4";
546 doCheck = false;
558 doCheck = false;
547 src = fetchurl {
559 src = fetchurl {
548 url = "https://files.pythonhosted.org/packages/8e/59/0174271a6f004512e0201188593e6d319db139d14cb7490e488bbb078015/FormEncode-1.2.4.tar.gz";
560 url = "https://files.pythonhosted.org/packages/8e/59/0174271a6f004512e0201188593e6d319db139d14cb7490e488bbb078015/FormEncode-1.2.4.tar.gz";
549 sha256 = "1fgy04sdy4yry5xcjls3x3xy30dqwj58ycnkndim819jx0788w42";
561 sha256 = "1fgy04sdy4yry5xcjls3x3xy30dqwj58ycnkndim819jx0788w42";
550 };
562 };
551 meta = {
563 meta = {
552 license = [ pkgs.lib.licenses.psfl ];
564 license = [ pkgs.lib.licenses.psfl ];
553 };
565 };
554 };
566 };
555 "funcsigs" = super.buildPythonPackage {
567 "funcsigs" = super.buildPythonPackage {
556 name = "funcsigs-1.0.2";
568 name = "funcsigs-1.0.2";
557 doCheck = false;
569 doCheck = false;
558 src = fetchurl {
570 src = fetchurl {
559 url = "https://files.pythonhosted.org/packages/94/4a/db842e7a0545de1cdb0439bb80e6e42dfe82aaeaadd4072f2263a4fbed23/funcsigs-1.0.2.tar.gz";
571 url = "https://files.pythonhosted.org/packages/94/4a/db842e7a0545de1cdb0439bb80e6e42dfe82aaeaadd4072f2263a4fbed23/funcsigs-1.0.2.tar.gz";
560 sha256 = "0l4g5818ffyfmfs1a924811azhjj8ax9xd1cffr1mzd3ycn0zfx7";
572 sha256 = "0l4g5818ffyfmfs1a924811azhjj8ax9xd1cffr1mzd3ycn0zfx7";
561 };
573 };
562 meta = {
574 meta = {
563 license = [ { fullName = "ASL"; } pkgs.lib.licenses.asl20 ];
575 license = [ { fullName = "ASL"; } pkgs.lib.licenses.asl20 ];
564 };
576 };
565 };
577 };
566 "functools32" = super.buildPythonPackage {
578 "functools32" = super.buildPythonPackage {
567 name = "functools32-3.2.3.post2";
579 name = "functools32-3.2.3.post2";
568 doCheck = false;
580 doCheck = false;
569 src = fetchurl {
581 src = fetchurl {
570 url = "https://files.pythonhosted.org/packages/c5/60/6ac26ad05857c601308d8fb9e87fa36d0ebf889423f47c3502ef034365db/functools32-3.2.3-2.tar.gz";
582 url = "https://files.pythonhosted.org/packages/c5/60/6ac26ad05857c601308d8fb9e87fa36d0ebf889423f47c3502ef034365db/functools32-3.2.3-2.tar.gz";
571 sha256 = "0v8ya0b58x47wp216n1zamimv4iw57cxz3xxhzix52jkw3xks9gn";
583 sha256 = "0v8ya0b58x47wp216n1zamimv4iw57cxz3xxhzix52jkw3xks9gn";
572 };
584 };
573 meta = {
585 meta = {
574 license = [ pkgs.lib.licenses.psfl ];
586 license = [ pkgs.lib.licenses.psfl ];
575 };
587 };
576 };
588 };
577 "future" = super.buildPythonPackage {
589 "future" = super.buildPythonPackage {
578 name = "future-0.14.3";
590 name = "future-0.14.3";
579 doCheck = false;
591 doCheck = false;
580 src = fetchurl {
592 src = fetchurl {
581 url = "https://files.pythonhosted.org/packages/83/80/8ef3a11a15f8eaafafa0937b20c1b3f73527e69ab6b3fa1cf94a5a96aabb/future-0.14.3.tar.gz";
593 url = "https://files.pythonhosted.org/packages/83/80/8ef3a11a15f8eaafafa0937b20c1b3f73527e69ab6b3fa1cf94a5a96aabb/future-0.14.3.tar.gz";
582 sha256 = "1savk7jx7hal032f522c5ajhh8fra6gmnadrj9adv5qxi18pv1b2";
594 sha256 = "1savk7jx7hal032f522c5ajhh8fra6gmnadrj9adv5qxi18pv1b2";
583 };
595 };
584 meta = {
596 meta = {
585 license = [ { fullName = "OSI Approved"; } pkgs.lib.licenses.mit ];
597 license = [ { fullName = "OSI Approved"; } pkgs.lib.licenses.mit ];
586 };
598 };
587 };
599 };
588 "futures" = super.buildPythonPackage {
600 "futures" = super.buildPythonPackage {
589 name = "futures-3.0.2";
601 name = "futures-3.0.2";
590 doCheck = false;
602 doCheck = false;
591 src = fetchurl {
603 src = fetchurl {
592 url = "https://files.pythonhosted.org/packages/f8/e7/fc0fcbeb9193ba2d4de00b065e7fd5aecd0679e93ce95a07322b2b1434f4/futures-3.0.2.tar.gz";
604 url = "https://files.pythonhosted.org/packages/f8/e7/fc0fcbeb9193ba2d4de00b065e7fd5aecd0679e93ce95a07322b2b1434f4/futures-3.0.2.tar.gz";
593 sha256 = "0mz2pbgxbc2nbib1szifi07whjbfs4r02pv2z390z7p410awjgyw";
605 sha256 = "0mz2pbgxbc2nbib1szifi07whjbfs4r02pv2z390z7p410awjgyw";
594 };
606 };
595 meta = {
607 meta = {
596 license = [ pkgs.lib.licenses.bsdOriginal ];
608 license = [ pkgs.lib.licenses.bsdOriginal ];
597 };
609 };
598 };
610 };
599 "gevent" = super.buildPythonPackage {
611 "gevent" = super.buildPythonPackage {
600 name = "gevent-1.4.0";
612 name = "gevent-1.4.0";
601 doCheck = false;
613 doCheck = false;
602 propagatedBuildInputs = [
614 propagatedBuildInputs = [
603 self."greenlet"
615 self."greenlet"
604 ];
616 ];
605 src = fetchurl {
617 src = fetchurl {
606 url = "https://files.pythonhosted.org/packages/ed/27/6c49b70808f569b66ec7fac2e78f076e9b204db9cf5768740cff3d5a07ae/gevent-1.4.0.tar.gz";
618 url = "https://files.pythonhosted.org/packages/ed/27/6c49b70808f569b66ec7fac2e78f076e9b204db9cf5768740cff3d5a07ae/gevent-1.4.0.tar.gz";
607 sha256 = "1lchr4akw2jkm5v4kz7bdm4wv3knkfhbfn9vkkz4s5yrkcxzmdqy";
619 sha256 = "1lchr4akw2jkm5v4kz7bdm4wv3knkfhbfn9vkkz4s5yrkcxzmdqy";
608 };
620 };
609 meta = {
621 meta = {
610 license = [ pkgs.lib.licenses.mit ];
622 license = [ pkgs.lib.licenses.mit ];
611 };
623 };
612 };
624 };
613 "gnureadline" = super.buildPythonPackage {
625 "gnureadline" = super.buildPythonPackage {
614 name = "gnureadline-6.3.8";
626 name = "gnureadline-6.3.8";
615 doCheck = false;
627 doCheck = false;
616 src = fetchurl {
628 src = fetchurl {
617 url = "https://files.pythonhosted.org/packages/50/64/86085c823cd78f9df9d8e33dce0baa71618016f8860460b82cf6610e1eb3/gnureadline-6.3.8.tar.gz";
629 url = "https://files.pythonhosted.org/packages/50/64/86085c823cd78f9df9d8e33dce0baa71618016f8860460b82cf6610e1eb3/gnureadline-6.3.8.tar.gz";
618 sha256 = "0ddhj98x2nv45iz4aadk4b9m0b1kpsn1xhcbypn5cd556knhiqjq";
630 sha256 = "0ddhj98x2nv45iz4aadk4b9m0b1kpsn1xhcbypn5cd556knhiqjq";
619 };
631 };
620 meta = {
632 meta = {
621 license = [ { fullName = "GNU General Public License v3 (GPLv3)"; } pkgs.lib.licenses.gpl1 ];
633 license = [ { fullName = "GNU General Public License v3 (GPLv3)"; } pkgs.lib.licenses.gpl1 ];
622 };
634 };
623 };
635 };
624 "gprof2dot" = super.buildPythonPackage {
636 "gprof2dot" = super.buildPythonPackage {
625 name = "gprof2dot-2017.9.19";
637 name = "gprof2dot-2017.9.19";
626 doCheck = false;
638 doCheck = false;
627 src = fetchurl {
639 src = fetchurl {
628 url = "https://files.pythonhosted.org/packages/9d/36/f977122502979f3dfb50704979c9ed70e6b620787942b089bf1af15f5aba/gprof2dot-2017.9.19.tar.gz";
640 url = "https://files.pythonhosted.org/packages/9d/36/f977122502979f3dfb50704979c9ed70e6b620787942b089bf1af15f5aba/gprof2dot-2017.9.19.tar.gz";
629 sha256 = "17ih23ld2nzgc3xwgbay911l6lh96jp1zshmskm17n1gg2i7mg6f";
641 sha256 = "17ih23ld2nzgc3xwgbay911l6lh96jp1zshmskm17n1gg2i7mg6f";
630 };
642 };
631 meta = {
643 meta = {
632 license = [ { fullName = "GNU Lesser General Public License v3 or later (LGPLv3+)"; } { fullName = "LGPL"; } ];
644 license = [ { fullName = "GNU Lesser General Public License v3 or later (LGPLv3+)"; } { fullName = "LGPL"; } ];
633 };
645 };
634 };
646 };
635 "greenlet" = super.buildPythonPackage {
647 "greenlet" = super.buildPythonPackage {
636 name = "greenlet-0.4.15";
648 name = "greenlet-0.4.15";
637 doCheck = false;
649 doCheck = false;
638 src = fetchurl {
650 src = fetchurl {
639 url = "https://files.pythonhosted.org/packages/f8/e8/b30ae23b45f69aa3f024b46064c0ac8e5fcb4f22ace0dca8d6f9c8bbe5e7/greenlet-0.4.15.tar.gz";
651 url = "https://files.pythonhosted.org/packages/f8/e8/b30ae23b45f69aa3f024b46064c0ac8e5fcb4f22ace0dca8d6f9c8bbe5e7/greenlet-0.4.15.tar.gz";
640 sha256 = "1g4g1wwc472ds89zmqlpyan3fbnzpa8qm48z3z1y6mlk44z485ll";
652 sha256 = "1g4g1wwc472ds89zmqlpyan3fbnzpa8qm48z3z1y6mlk44z485ll";
641 };
653 };
642 meta = {
654 meta = {
643 license = [ pkgs.lib.licenses.mit ];
655 license = [ pkgs.lib.licenses.mit ];
644 };
656 };
645 };
657 };
646 "gunicorn" = super.buildPythonPackage {
658 "gunicorn" = super.buildPythonPackage {
647 name = "gunicorn-19.9.0";
659 name = "gunicorn-19.9.0";
648 doCheck = false;
660 doCheck = false;
649 src = fetchurl {
661 src = fetchurl {
650 url = "https://files.pythonhosted.org/packages/47/52/68ba8e5e8ba251e54006a49441f7ccabca83b6bef5aedacb4890596c7911/gunicorn-19.9.0.tar.gz";
662 url = "https://files.pythonhosted.org/packages/47/52/68ba8e5e8ba251e54006a49441f7ccabca83b6bef5aedacb4890596c7911/gunicorn-19.9.0.tar.gz";
651 sha256 = "1wzlf4xmn6qjirh5w81l6i6kqjnab1n1qqkh7zsj1yb6gh4n49ps";
663 sha256 = "1wzlf4xmn6qjirh5w81l6i6kqjnab1n1qqkh7zsj1yb6gh4n49ps";
652 };
664 };
653 meta = {
665 meta = {
654 license = [ pkgs.lib.licenses.mit ];
666 license = [ pkgs.lib.licenses.mit ];
655 };
667 };
656 };
668 };
657 "hupper" = super.buildPythonPackage {
669 "hupper" = super.buildPythonPackage {
658 name = "hupper-1.6.1";
670 name = "hupper-1.6.1";
659 doCheck = false;
671 doCheck = false;
660 src = fetchurl {
672 src = fetchurl {
661 url = "https://files.pythonhosted.org/packages/85/d9/e005d357b11249c5d70ddf5b7adab2e4c0da4e8b0531ff146917a04fe6c0/hupper-1.6.1.tar.gz";
673 url = "https://files.pythonhosted.org/packages/85/d9/e005d357b11249c5d70ddf5b7adab2e4c0da4e8b0531ff146917a04fe6c0/hupper-1.6.1.tar.gz";
662 sha256 = "0d3cvkc8ssgwk54wvhbifj56ry97qi10pfzwfk8vwzzcikbfp3zy";
674 sha256 = "0d3cvkc8ssgwk54wvhbifj56ry97qi10pfzwfk8vwzzcikbfp3zy";
663 };
675 };
664 meta = {
676 meta = {
665 license = [ pkgs.lib.licenses.mit ];
677 license = [ pkgs.lib.licenses.mit ];
666 };
678 };
667 };
679 };
680 "importlib-metadata" = super.buildPythonPackage {
681 name = "importlib-metadata-0.20";
682 doCheck = false;
683 propagatedBuildInputs = [
684 self."zipp"
685 self."contextlib2"
686 self."configparser"
687 self."pathlib2"
688 ];
689 src = fetchurl {
690 url = "https://files.pythonhosted.org/packages/05/41/7d339dd7b507e97f67be812fdf29c4ad991ddd34b1ed0f3c54e8f1c4e0b3/importlib_metadata-0.20.tar.gz";
691 sha256 = "13bshj8i98l9gxi6df4xbw1262phmawgr527as20brblwf93a55p";
692 };
693 meta = {
694 license = [ pkgs.lib.licenses.asl20 ];
695 };
696 };
668 "infrae.cache" = super.buildPythonPackage {
697 "infrae.cache" = super.buildPythonPackage {
669 name = "infrae.cache-1.0.1";
698 name = "infrae.cache-1.0.1";
670 doCheck = false;
699 doCheck = false;
671 propagatedBuildInputs = [
700 propagatedBuildInputs = [
672 self."beaker"
701 self."beaker"
673 self."repoze.lru"
702 self."repoze.lru"
674 ];
703 ];
675 src = fetchurl {
704 src = fetchurl {
676 url = "https://files.pythonhosted.org/packages/bb/f0/e7d5e984cf6592fd2807dc7bc44a93f9d18e04e6a61f87fdfb2622422d74/infrae.cache-1.0.1.tar.gz";
705 url = "https://files.pythonhosted.org/packages/bb/f0/e7d5e984cf6592fd2807dc7bc44a93f9d18e04e6a61f87fdfb2622422d74/infrae.cache-1.0.1.tar.gz";
677 sha256 = "1dvqsjn8vw253wz9d1pz17j79mf4bs53dvp2qxck2qdp1am1njw4";
706 sha256 = "1dvqsjn8vw253wz9d1pz17j79mf4bs53dvp2qxck2qdp1am1njw4";
678 };
707 };
679 meta = {
708 meta = {
680 license = [ pkgs.lib.licenses.zpl21 ];
709 license = [ pkgs.lib.licenses.zpl21 ];
681 };
710 };
682 };
711 };
683 "invoke" = super.buildPythonPackage {
712 "invoke" = super.buildPythonPackage {
684 name = "invoke-0.13.0";
713 name = "invoke-0.13.0";
685 doCheck = false;
714 doCheck = false;
686 src = fetchurl {
715 src = fetchurl {
687 url = "https://files.pythonhosted.org/packages/47/bf/d07ef52fa1ac645468858bbac7cb95b246a972a045e821493d17d89c81be/invoke-0.13.0.tar.gz";
716 url = "https://files.pythonhosted.org/packages/47/bf/d07ef52fa1ac645468858bbac7cb95b246a972a045e821493d17d89c81be/invoke-0.13.0.tar.gz";
688 sha256 = "0794vhgxfmkh0vzkkg5cfv1w82g3jc3xr18wim29far9qpx9468s";
717 sha256 = "0794vhgxfmkh0vzkkg5cfv1w82g3jc3xr18wim29far9qpx9468s";
689 };
718 };
690 meta = {
719 meta = {
691 license = [ pkgs.lib.licenses.bsdOriginal ];
720 license = [ pkgs.lib.licenses.bsdOriginal ];
692 };
721 };
693 };
722 };
694 "ipaddress" = super.buildPythonPackage {
723 "ipaddress" = super.buildPythonPackage {
695 name = "ipaddress-1.0.22";
724 name = "ipaddress-1.0.22";
696 doCheck = false;
725 doCheck = false;
697 src = fetchurl {
726 src = fetchurl {
698 url = "https://files.pythonhosted.org/packages/97/8d/77b8cedcfbf93676148518036c6b1ce7f8e14bf07e95d7fd4ddcb8cc052f/ipaddress-1.0.22.tar.gz";
727 url = "https://files.pythonhosted.org/packages/97/8d/77b8cedcfbf93676148518036c6b1ce7f8e14bf07e95d7fd4ddcb8cc052f/ipaddress-1.0.22.tar.gz";
699 sha256 = "0b570bm6xqpjwqis15pvdy6lyvvzfndjvkynilcddjj5x98wfimi";
728 sha256 = "0b570bm6xqpjwqis15pvdy6lyvvzfndjvkynilcddjj5x98wfimi";
700 };
729 };
701 meta = {
730 meta = {
702 license = [ pkgs.lib.licenses.psfl ];
731 license = [ pkgs.lib.licenses.psfl ];
703 };
732 };
704 };
733 };
705 "ipdb" = super.buildPythonPackage {
734 "ipdb" = super.buildPythonPackage {
706 name = "ipdb-0.12";
735 name = "ipdb-0.12";
707 doCheck = false;
736 doCheck = false;
708 propagatedBuildInputs = [
737 propagatedBuildInputs = [
709 self."setuptools"
738 self."setuptools"
710 self."ipython"
739 self."ipython"
711 ];
740 ];
712 src = fetchurl {
741 src = fetchurl {
713 url = "https://files.pythonhosted.org/packages/6d/43/c3c2e866a8803e196d6209595020a4a6db1a3c5d07c01455669497ae23d0/ipdb-0.12.tar.gz";
742 url = "https://files.pythonhosted.org/packages/6d/43/c3c2e866a8803e196d6209595020a4a6db1a3c5d07c01455669497ae23d0/ipdb-0.12.tar.gz";
714 sha256 = "1khr2n7xfy8hg65kj1bsrjq9g7656pp0ybfa8abpbzpdawji3qnw";
743 sha256 = "1khr2n7xfy8hg65kj1bsrjq9g7656pp0ybfa8abpbzpdawji3qnw";
715 };
744 };
716 meta = {
745 meta = {
717 license = [ pkgs.lib.licenses.bsdOriginal ];
746 license = [ pkgs.lib.licenses.bsdOriginal ];
718 };
747 };
719 };
748 };
720 "ipython" = super.buildPythonPackage {
749 "ipython" = super.buildPythonPackage {
721 name = "ipython-5.1.0";
750 name = "ipython-5.1.0";
722 doCheck = false;
751 doCheck = false;
723 propagatedBuildInputs = [
752 propagatedBuildInputs = [
724 self."setuptools"
753 self."setuptools"
725 self."decorator"
754 self."decorator"
726 self."pickleshare"
755 self."pickleshare"
727 self."simplegeneric"
756 self."simplegeneric"
728 self."traitlets"
757 self."traitlets"
729 self."prompt-toolkit"
758 self."prompt-toolkit"
730 self."pygments"
759 self."pygments"
731 self."pexpect"
760 self."pexpect"
732 self."backports.shutil-get-terminal-size"
761 self."backports.shutil-get-terminal-size"
733 self."pathlib2"
762 self."pathlib2"
734 self."pexpect"
763 self."pexpect"
735 ];
764 ];
736 src = fetchurl {
765 src = fetchurl {
737 url = "https://files.pythonhosted.org/packages/89/63/a9292f7cd9d0090a0f995e1167f3f17d5889dcbc9a175261719c513b9848/ipython-5.1.0.tar.gz";
766 url = "https://files.pythonhosted.org/packages/89/63/a9292f7cd9d0090a0f995e1167f3f17d5889dcbc9a175261719c513b9848/ipython-5.1.0.tar.gz";
738 sha256 = "0qdrf6aj9kvjczd5chj1my8y2iq09am9l8bb2a1334a52d76kx3y";
767 sha256 = "0qdrf6aj9kvjczd5chj1my8y2iq09am9l8bb2a1334a52d76kx3y";
739 };
768 };
740 meta = {
769 meta = {
741 license = [ pkgs.lib.licenses.bsdOriginal ];
770 license = [ pkgs.lib.licenses.bsdOriginal ];
742 };
771 };
743 };
772 };
744 "ipython-genutils" = super.buildPythonPackage {
773 "ipython-genutils" = super.buildPythonPackage {
745 name = "ipython-genutils-0.2.0";
774 name = "ipython-genutils-0.2.0";
746 doCheck = false;
775 doCheck = false;
747 src = fetchurl {
776 src = fetchurl {
748 url = "https://files.pythonhosted.org/packages/e8/69/fbeffffc05236398ebfcfb512b6d2511c622871dca1746361006da310399/ipython_genutils-0.2.0.tar.gz";
777 url = "https://files.pythonhosted.org/packages/e8/69/fbeffffc05236398ebfcfb512b6d2511c622871dca1746361006da310399/ipython_genutils-0.2.0.tar.gz";
749 sha256 = "1a4bc9y8hnvq6cp08qs4mckgm6i6ajpndp4g496rvvzcfmp12bpb";
778 sha256 = "1a4bc9y8hnvq6cp08qs4mckgm6i6ajpndp4g496rvvzcfmp12bpb";
750 };
779 };
751 meta = {
780 meta = {
752 license = [ pkgs.lib.licenses.bsdOriginal ];
781 license = [ pkgs.lib.licenses.bsdOriginal ];
753 };
782 };
754 };
783 };
755 "iso8601" = super.buildPythonPackage {
784 "iso8601" = super.buildPythonPackage {
756 name = "iso8601-0.1.12";
785 name = "iso8601-0.1.12";
757 doCheck = false;
786 doCheck = false;
758 src = fetchurl {
787 src = fetchurl {
759 url = "https://files.pythonhosted.org/packages/45/13/3db24895497345fb44c4248c08b16da34a9eb02643cea2754b21b5ed08b0/iso8601-0.1.12.tar.gz";
788 url = "https://files.pythonhosted.org/packages/45/13/3db24895497345fb44c4248c08b16da34a9eb02643cea2754b21b5ed08b0/iso8601-0.1.12.tar.gz";
760 sha256 = "10nyvvnrhw2w3p09v1ica4lgj6f4g9j3kkfx17qmraiq3w7b5i29";
789 sha256 = "10nyvvnrhw2w3p09v1ica4lgj6f4g9j3kkfx17qmraiq3w7b5i29";
761 };
790 };
762 meta = {
791 meta = {
763 license = [ pkgs.lib.licenses.mit ];
792 license = [ pkgs.lib.licenses.mit ];
764 };
793 };
765 };
794 };
766 "isodate" = super.buildPythonPackage {
795 "isodate" = super.buildPythonPackage {
767 name = "isodate-0.6.0";
796 name = "isodate-0.6.0";
768 doCheck = false;
797 doCheck = false;
769 propagatedBuildInputs = [
798 propagatedBuildInputs = [
770 self."six"
799 self."six"
771 ];
800 ];
772 src = fetchurl {
801 src = fetchurl {
773 url = "https://files.pythonhosted.org/packages/b1/80/fb8c13a4cd38eb5021dc3741a9e588e4d1de88d895c1910c6fc8a08b7a70/isodate-0.6.0.tar.gz";
802 url = "https://files.pythonhosted.org/packages/b1/80/fb8c13a4cd38eb5021dc3741a9e588e4d1de88d895c1910c6fc8a08b7a70/isodate-0.6.0.tar.gz";
774 sha256 = "1n7jkz68kk5pwni540pr5zdh99bf6ywydk1p5pdrqisrawylldif";
803 sha256 = "1n7jkz68kk5pwni540pr5zdh99bf6ywydk1p5pdrqisrawylldif";
775 };
804 };
776 meta = {
805 meta = {
777 license = [ pkgs.lib.licenses.bsdOriginal ];
806 license = [ pkgs.lib.licenses.bsdOriginal ];
778 };
807 };
779 };
808 };
780 "itsdangerous" = super.buildPythonPackage {
809 "itsdangerous" = super.buildPythonPackage {
781 name = "itsdangerous-0.24";
810 name = "itsdangerous-0.24";
782 doCheck = false;
811 doCheck = false;
783 src = fetchurl {
812 src = fetchurl {
784 url = "https://files.pythonhosted.org/packages/dc/b4/a60bcdba945c00f6d608d8975131ab3f25b22f2bcfe1dab221165194b2d4/itsdangerous-0.24.tar.gz";
813 url = "https://files.pythonhosted.org/packages/dc/b4/a60bcdba945c00f6d608d8975131ab3f25b22f2bcfe1dab221165194b2d4/itsdangerous-0.24.tar.gz";
785 sha256 = "06856q6x675ly542ig0plbqcyab6ksfzijlyf1hzhgg3sgwgrcyb";
814 sha256 = "06856q6x675ly542ig0plbqcyab6ksfzijlyf1hzhgg3sgwgrcyb";
786 };
815 };
787 meta = {
816 meta = {
788 license = [ pkgs.lib.licenses.bsdOriginal ];
817 license = [ pkgs.lib.licenses.bsdOriginal ];
789 };
818 };
790 };
819 };
791 "jinja2" = super.buildPythonPackage {
820 "jinja2" = super.buildPythonPackage {
792 name = "jinja2-2.9.6";
821 name = "jinja2-2.9.6";
793 doCheck = false;
822 doCheck = false;
794 propagatedBuildInputs = [
823 propagatedBuildInputs = [
795 self."markupsafe"
824 self."markupsafe"
796 ];
825 ];
797 src = fetchurl {
826 src = fetchurl {
798 url = "https://files.pythonhosted.org/packages/90/61/f820ff0076a2599dd39406dcb858ecb239438c02ce706c8e91131ab9c7f1/Jinja2-2.9.6.tar.gz";
827 url = "https://files.pythonhosted.org/packages/90/61/f820ff0076a2599dd39406dcb858ecb239438c02ce706c8e91131ab9c7f1/Jinja2-2.9.6.tar.gz";
799 sha256 = "1zzrkywhziqffrzks14kzixz7nd4yh2vc0fb04a68vfd2ai03anx";
828 sha256 = "1zzrkywhziqffrzks14kzixz7nd4yh2vc0fb04a68vfd2ai03anx";
800 };
829 };
801 meta = {
830 meta = {
802 license = [ pkgs.lib.licenses.bsdOriginal ];
831 license = [ pkgs.lib.licenses.bsdOriginal ];
803 };
832 };
804 };
833 };
805 "jsonschema" = super.buildPythonPackage {
834 "jsonschema" = super.buildPythonPackage {
806 name = "jsonschema-2.6.0";
835 name = "jsonschema-2.6.0";
807 doCheck = false;
836 doCheck = false;
808 propagatedBuildInputs = [
837 propagatedBuildInputs = [
809 self."functools32"
838 self."functools32"
810 ];
839 ];
811 src = fetchurl {
840 src = fetchurl {
812 url = "https://files.pythonhosted.org/packages/58/b9/171dbb07e18c6346090a37f03c7e74410a1a56123f847efed59af260a298/jsonschema-2.6.0.tar.gz";
841 url = "https://files.pythonhosted.org/packages/58/b9/171dbb07e18c6346090a37f03c7e74410a1a56123f847efed59af260a298/jsonschema-2.6.0.tar.gz";
813 sha256 = "00kf3zmpp9ya4sydffpifn0j0mzm342a2vzh82p6r0vh10cg7xbg";
842 sha256 = "00kf3zmpp9ya4sydffpifn0j0mzm342a2vzh82p6r0vh10cg7xbg";
814 };
843 };
815 meta = {
844 meta = {
816 license = [ pkgs.lib.licenses.mit ];
845 license = [ pkgs.lib.licenses.mit ];
817 };
846 };
818 };
847 };
819 "jupyter-client" = super.buildPythonPackage {
848 "jupyter-client" = super.buildPythonPackage {
820 name = "jupyter-client-5.0.0";
849 name = "jupyter-client-5.0.0";
821 doCheck = false;
850 doCheck = false;
822 propagatedBuildInputs = [
851 propagatedBuildInputs = [
823 self."traitlets"
852 self."traitlets"
824 self."jupyter-core"
853 self."jupyter-core"
825 self."pyzmq"
854 self."pyzmq"
826 self."python-dateutil"
855 self."python-dateutil"
827 ];
856 ];
828 src = fetchurl {
857 src = fetchurl {
829 url = "https://files.pythonhosted.org/packages/e5/6f/65412ed462202b90134b7e761b0b7e7f949e07a549c1755475333727b3d0/jupyter_client-5.0.0.tar.gz";
858 url = "https://files.pythonhosted.org/packages/e5/6f/65412ed462202b90134b7e761b0b7e7f949e07a549c1755475333727b3d0/jupyter_client-5.0.0.tar.gz";
830 sha256 = "0nxw4rqk4wsjhc87gjqd7pv89cb9dnimcfnmcmp85bmrvv1gjri7";
859 sha256 = "0nxw4rqk4wsjhc87gjqd7pv89cb9dnimcfnmcmp85bmrvv1gjri7";
831 };
860 };
832 meta = {
861 meta = {
833 license = [ pkgs.lib.licenses.bsdOriginal ];
862 license = [ pkgs.lib.licenses.bsdOriginal ];
834 };
863 };
835 };
864 };
836 "jupyter-core" = super.buildPythonPackage {
865 "jupyter-core" = super.buildPythonPackage {
837 name = "jupyter-core-4.5.0";
866 name = "jupyter-core-4.5.0";
838 doCheck = false;
867 doCheck = false;
839 propagatedBuildInputs = [
868 propagatedBuildInputs = [
840 self."traitlets"
869 self."traitlets"
841 ];
870 ];
842 src = fetchurl {
871 src = fetchurl {
843 url = "https://files.pythonhosted.org/packages/4a/de/ff4ca734656d17ebe0450807b59d728f45277e2e7f4b82bc9aae6cb82961/jupyter_core-4.5.0.tar.gz";
872 url = "https://files.pythonhosted.org/packages/4a/de/ff4ca734656d17ebe0450807b59d728f45277e2e7f4b82bc9aae6cb82961/jupyter_core-4.5.0.tar.gz";
844 sha256 = "1xr4pbghwk5hayn5wwnhb7z95380r45p79gf5if5pi1akwg7qvic";
873 sha256 = "1xr4pbghwk5hayn5wwnhb7z95380r45p79gf5if5pi1akwg7qvic";
845 };
874 };
846 meta = {
875 meta = {
847 license = [ pkgs.lib.licenses.bsdOriginal ];
876 license = [ pkgs.lib.licenses.bsdOriginal ];
848 };
877 };
849 };
878 };
850 "kombu" = super.buildPythonPackage {
879 "kombu" = super.buildPythonPackage {
851 name = "kombu-4.2.1";
880 name = "kombu-4.6.4";
852 doCheck = false;
881 doCheck = false;
853 propagatedBuildInputs = [
882 propagatedBuildInputs = [
854 self."amqp"
883 self."amqp"
884 self."importlib-metadata"
855 ];
885 ];
856 src = fetchurl {
886 src = fetchurl {
857 url = "https://files.pythonhosted.org/packages/39/9f/556b988833abede4a80dbd18b2bdf4e8ff4486dd482ed45da961347e8ed2/kombu-4.2.1.tar.gz";
887 url = "https://files.pythonhosted.org/packages/52/f2/5a64fc850b0533d2daf09a523406e51e85a8b2a4a2bc87a922a8906ba2aa/kombu-4.6.4.tar.gz";
858 sha256 = "10lh3hncvw67fz0k5vgbx3yh9gjfpqdlia1f13i28cgnc1nfrbc6";
888 sha256 = "16w02mvkxchz7041yia4h8xmqavci88szk18ynxvw4chzcnk3w75";
859 };
889 };
860 meta = {
890 meta = {
861 license = [ pkgs.lib.licenses.bsdOriginal ];
891 license = [ pkgs.lib.licenses.bsdOriginal ];
862 };
892 };
863 };
893 };
864 "lxml" = super.buildPythonPackage {
894 "lxml" = super.buildPythonPackage {
865 name = "lxml-4.2.5";
895 name = "lxml-4.2.5";
866 doCheck = false;
896 doCheck = false;
867 src = fetchurl {
897 src = fetchurl {
868 url = "https://files.pythonhosted.org/packages/4b/20/ddf5eb3bd5c57582d2b4652b4bbcf8da301bdfe5d805cb94e805f4d7464d/lxml-4.2.5.tar.gz";
898 url = "https://files.pythonhosted.org/packages/4b/20/ddf5eb3bd5c57582d2b4652b4bbcf8da301bdfe5d805cb94e805f4d7464d/lxml-4.2.5.tar.gz";
869 sha256 = "0zw0y9hs0nflxhl9cs6ipwwh53szi3w2x06wl0k9cylyqac0cwin";
899 sha256 = "0zw0y9hs0nflxhl9cs6ipwwh53szi3w2x06wl0k9cylyqac0cwin";
870 };
900 };
871 meta = {
901 meta = {
872 license = [ pkgs.lib.licenses.bsdOriginal ];
902 license = [ pkgs.lib.licenses.bsdOriginal ];
873 };
903 };
874 };
904 };
875 "mako" = super.buildPythonPackage {
905 "mako" = super.buildPythonPackage {
876 name = "mako-1.0.7";
906 name = "mako-1.0.7";
877 doCheck = false;
907 doCheck = false;
878 propagatedBuildInputs = [
908 propagatedBuildInputs = [
879 self."markupsafe"
909 self."markupsafe"
880 ];
910 ];
881 src = fetchurl {
911 src = fetchurl {
882 url = "https://files.pythonhosted.org/packages/eb/f3/67579bb486517c0d49547f9697e36582cd19dafb5df9e687ed8e22de57fa/Mako-1.0.7.tar.gz";
912 url = "https://files.pythonhosted.org/packages/eb/f3/67579bb486517c0d49547f9697e36582cd19dafb5df9e687ed8e22de57fa/Mako-1.0.7.tar.gz";
883 sha256 = "1bi5gnr8r8dva06qpyx4kgjc6spm2k1y908183nbbaylggjzs0jf";
913 sha256 = "1bi5gnr8r8dva06qpyx4kgjc6spm2k1y908183nbbaylggjzs0jf";
884 };
914 };
885 meta = {
915 meta = {
886 license = [ pkgs.lib.licenses.mit ];
916 license = [ pkgs.lib.licenses.mit ];
887 };
917 };
888 };
918 };
889 "markdown" = super.buildPythonPackage {
919 "markdown" = super.buildPythonPackage {
890 name = "markdown-2.6.11";
920 name = "markdown-2.6.11";
891 doCheck = false;
921 doCheck = false;
892 src = fetchurl {
922 src = fetchurl {
893 url = "https://files.pythonhosted.org/packages/b3/73/fc5c850f44af5889192dff783b7b0d8f3fe8d30b65c8e3f78f8f0265fecf/Markdown-2.6.11.tar.gz";
923 url = "https://files.pythonhosted.org/packages/b3/73/fc5c850f44af5889192dff783b7b0d8f3fe8d30b65c8e3f78f8f0265fecf/Markdown-2.6.11.tar.gz";
894 sha256 = "108g80ryzykh8bj0i7jfp71510wrcixdi771lf2asyghgyf8cmm8";
924 sha256 = "108g80ryzykh8bj0i7jfp71510wrcixdi771lf2asyghgyf8cmm8";
895 };
925 };
896 meta = {
926 meta = {
897 license = [ pkgs.lib.licenses.bsdOriginal ];
927 license = [ pkgs.lib.licenses.bsdOriginal ];
898 };
928 };
899 };
929 };
900 "markupsafe" = super.buildPythonPackage {
930 "markupsafe" = super.buildPythonPackage {
901 name = "markupsafe-1.1.0";
931 name = "markupsafe-1.1.0";
902 doCheck = false;
932 doCheck = false;
903 src = fetchurl {
933 src = fetchurl {
904 url = "https://files.pythonhosted.org/packages/ac/7e/1b4c2e05809a4414ebce0892fe1e32c14ace86ca7d50c70f00979ca9b3a3/MarkupSafe-1.1.0.tar.gz";
934 url = "https://files.pythonhosted.org/packages/ac/7e/1b4c2e05809a4414ebce0892fe1e32c14ace86ca7d50c70f00979ca9b3a3/MarkupSafe-1.1.0.tar.gz";
905 sha256 = "1lxirjypbdd3l9jl4vliilhfnhy7c7f2vlldqg1b0i74khn375sf";
935 sha256 = "1lxirjypbdd3l9jl4vliilhfnhy7c7f2vlldqg1b0i74khn375sf";
906 };
936 };
907 meta = {
937 meta = {
908 license = [ pkgs.lib.licenses.bsdOriginal ];
938 license = [ pkgs.lib.licenses.bsdOriginal ];
909 };
939 };
910 };
940 };
911 "meld3" = super.buildPythonPackage {
941 "meld3" = super.buildPythonPackage {
912 name = "meld3-2.0.0";
942 name = "meld3-2.0.0";
913 doCheck = false;
943 doCheck = false;
914 src = fetchurl {
944 src = fetchurl {
915 url = "https://files.pythonhosted.org/packages/00/3b/023446ddc1bf0b519c369cbe88269c30c6a64bd10af4817c73f560c302f7/meld3-2.0.0.tar.gz";
945 url = "https://files.pythonhosted.org/packages/00/3b/023446ddc1bf0b519c369cbe88269c30c6a64bd10af4817c73f560c302f7/meld3-2.0.0.tar.gz";
916 sha256 = "1fbyafwi0d54394hkmp65nf6vk0qm4kipf5z60pdp4244rvadz8y";
946 sha256 = "1fbyafwi0d54394hkmp65nf6vk0qm4kipf5z60pdp4244rvadz8y";
917 };
947 };
918 meta = {
948 meta = {
919 license = [ { fullName = "BSD-derived (http://www.repoze.org/LICENSE.txt)"; } ];
949 license = [ { fullName = "BSD-derived (http://www.repoze.org/LICENSE.txt)"; } ];
920 };
950 };
921 };
951 };
922 "mistune" = super.buildPythonPackage {
952 "mistune" = super.buildPythonPackage {
923 name = "mistune-0.8.4";
953 name = "mistune-0.8.4";
924 doCheck = false;
954 doCheck = false;
925 src = fetchurl {
955 src = fetchurl {
926 url = "https://files.pythonhosted.org/packages/2d/a4/509f6e7783ddd35482feda27bc7f72e65b5e7dc910eca4ab2164daf9c577/mistune-0.8.4.tar.gz";
956 url = "https://files.pythonhosted.org/packages/2d/a4/509f6e7783ddd35482feda27bc7f72e65b5e7dc910eca4ab2164daf9c577/mistune-0.8.4.tar.gz";
927 sha256 = "0vkmsh0x480rni51lhyvigfdf06b9247z868pk3bal1wnnfl58sr";
957 sha256 = "0vkmsh0x480rni51lhyvigfdf06b9247z868pk3bal1wnnfl58sr";
928 };
958 };
929 meta = {
959 meta = {
930 license = [ pkgs.lib.licenses.bsdOriginal ];
960 license = [ pkgs.lib.licenses.bsdOriginal ];
931 };
961 };
932 };
962 };
933 "mock" = super.buildPythonPackage {
963 "mock" = super.buildPythonPackage {
934 name = "mock-1.0.1";
964 name = "mock-1.0.1";
935 doCheck = false;
965 doCheck = false;
936 src = fetchurl {
966 src = fetchurl {
937 url = "https://files.pythonhosted.org/packages/a2/52/7edcd94f0afb721a2d559a5b9aae8af4f8f2c79bc63fdbe8a8a6c9b23bbe/mock-1.0.1.tar.gz";
967 url = "https://files.pythonhosted.org/packages/a2/52/7edcd94f0afb721a2d559a5b9aae8af4f8f2c79bc63fdbe8a8a6c9b23bbe/mock-1.0.1.tar.gz";
938 sha256 = "0kzlsbki6q0awf89rc287f3aj8x431lrajf160a70z0ikhnxsfdq";
968 sha256 = "0kzlsbki6q0awf89rc287f3aj8x431lrajf160a70z0ikhnxsfdq";
939 };
969 };
940 meta = {
970 meta = {
941 license = [ pkgs.lib.licenses.bsdOriginal ];
971 license = [ pkgs.lib.licenses.bsdOriginal ];
942 };
972 };
943 };
973 };
944 "more-itertools" = super.buildPythonPackage {
974 "more-itertools" = super.buildPythonPackage {
945 name = "more-itertools-5.0.0";
975 name = "more-itertools-5.0.0";
946 doCheck = false;
976 doCheck = false;
947 propagatedBuildInputs = [
977 propagatedBuildInputs = [
948 self."six"
978 self."six"
949 ];
979 ];
950 src = fetchurl {
980 src = fetchurl {
951 url = "https://files.pythonhosted.org/packages/dd/26/30fc0d541d9fdf55faf5ba4b0fd68f81d5bd2447579224820ad525934178/more-itertools-5.0.0.tar.gz";
981 url = "https://files.pythonhosted.org/packages/dd/26/30fc0d541d9fdf55faf5ba4b0fd68f81d5bd2447579224820ad525934178/more-itertools-5.0.0.tar.gz";
952 sha256 = "1r12cm6mcdwdzz7d47a6g4l437xsvapdlgyhqay3i2nrlv03da9q";
982 sha256 = "1r12cm6mcdwdzz7d47a6g4l437xsvapdlgyhqay3i2nrlv03da9q";
953 };
983 };
954 meta = {
984 meta = {
955 license = [ pkgs.lib.licenses.mit ];
985 license = [ pkgs.lib.licenses.mit ];
956 };
986 };
957 };
987 };
958 "msgpack-python" = super.buildPythonPackage {
988 "msgpack-python" = super.buildPythonPackage {
959 name = "msgpack-python-0.5.6";
989 name = "msgpack-python-0.5.6";
960 doCheck = false;
990 doCheck = false;
961 src = fetchurl {
991 src = fetchurl {
962 url = "https://files.pythonhosted.org/packages/8a/20/6eca772d1a5830336f84aca1d8198e5a3f4715cd1c7fc36d3cc7f7185091/msgpack-python-0.5.6.tar.gz";
992 url = "https://files.pythonhosted.org/packages/8a/20/6eca772d1a5830336f84aca1d8198e5a3f4715cd1c7fc36d3cc7f7185091/msgpack-python-0.5.6.tar.gz";
963 sha256 = "16wh8qgybmfh4pjp8vfv78mdlkxfmcasg78lzlnm6nslsfkci31p";
993 sha256 = "16wh8qgybmfh4pjp8vfv78mdlkxfmcasg78lzlnm6nslsfkci31p";
964 };
994 };
965 meta = {
995 meta = {
966 license = [ pkgs.lib.licenses.asl20 ];
996 license = [ pkgs.lib.licenses.asl20 ];
967 };
997 };
968 };
998 };
969 "mysql-python" = super.buildPythonPackage {
999 "mysql-python" = super.buildPythonPackage {
970 name = "mysql-python-1.2.5";
1000 name = "mysql-python-1.2.5";
971 doCheck = false;
1001 doCheck = false;
972 src = fetchurl {
1002 src = fetchurl {
973 url = "https://files.pythonhosted.org/packages/a5/e9/51b544da85a36a68debe7a7091f068d802fc515a3a202652828c73453cad/MySQL-python-1.2.5.zip";
1003 url = "https://files.pythonhosted.org/packages/a5/e9/51b544da85a36a68debe7a7091f068d802fc515a3a202652828c73453cad/MySQL-python-1.2.5.zip";
974 sha256 = "0x0c2jg0bb3pp84njaqiic050qkyd7ymwhfvhipnimg58yv40441";
1004 sha256 = "0x0c2jg0bb3pp84njaqiic050qkyd7ymwhfvhipnimg58yv40441";
975 };
1005 };
976 meta = {
1006 meta = {
977 license = [ pkgs.lib.licenses.gpl1 ];
1007 license = [ pkgs.lib.licenses.gpl1 ];
978 };
1008 };
979 };
1009 };
980 "nbconvert" = super.buildPythonPackage {
1010 "nbconvert" = super.buildPythonPackage {
981 name = "nbconvert-5.3.1";
1011 name = "nbconvert-5.3.1";
982 doCheck = false;
1012 doCheck = false;
983 propagatedBuildInputs = [
1013 propagatedBuildInputs = [
984 self."mistune"
1014 self."mistune"
985 self."jinja2"
1015 self."jinja2"
986 self."pygments"
1016 self."pygments"
987 self."traitlets"
1017 self."traitlets"
988 self."jupyter-core"
1018 self."jupyter-core"
989 self."nbformat"
1019 self."nbformat"
990 self."entrypoints"
1020 self."entrypoints"
991 self."bleach"
1021 self."bleach"
992 self."pandocfilters"
1022 self."pandocfilters"
993 self."testpath"
1023 self."testpath"
994 ];
1024 ];
995 src = fetchurl {
1025 src = fetchurl {
996 url = "https://files.pythonhosted.org/packages/b9/a4/d0a0938ad6f5eeb4dea4e73d255c617ef94b0b2849d51194c9bbdb838412/nbconvert-5.3.1.tar.gz";
1026 url = "https://files.pythonhosted.org/packages/b9/a4/d0a0938ad6f5eeb4dea4e73d255c617ef94b0b2849d51194c9bbdb838412/nbconvert-5.3.1.tar.gz";
997 sha256 = "1f9dkvpx186xjm4xab0qbph588mncp4vqk3fmxrsnqs43mks9c8j";
1027 sha256 = "1f9dkvpx186xjm4xab0qbph588mncp4vqk3fmxrsnqs43mks9c8j";
998 };
1028 };
999 meta = {
1029 meta = {
1000 license = [ pkgs.lib.licenses.bsdOriginal ];
1030 license = [ pkgs.lib.licenses.bsdOriginal ];
1001 };
1031 };
1002 };
1032 };
1003 "nbformat" = super.buildPythonPackage {
1033 "nbformat" = super.buildPythonPackage {
1004 name = "nbformat-4.4.0";
1034 name = "nbformat-4.4.0";
1005 doCheck = false;
1035 doCheck = false;
1006 propagatedBuildInputs = [
1036 propagatedBuildInputs = [
1007 self."ipython-genutils"
1037 self."ipython-genutils"
1008 self."traitlets"
1038 self."traitlets"
1009 self."jsonschema"
1039 self."jsonschema"
1010 self."jupyter-core"
1040 self."jupyter-core"
1011 ];
1041 ];
1012 src = fetchurl {
1042 src = fetchurl {
1013 url = "https://files.pythonhosted.org/packages/6e/0e/160754f7ae3e984863f585a3743b0ed1702043a81245907c8fae2d537155/nbformat-4.4.0.tar.gz";
1043 url = "https://files.pythonhosted.org/packages/6e/0e/160754f7ae3e984863f585a3743b0ed1702043a81245907c8fae2d537155/nbformat-4.4.0.tar.gz";
1014 sha256 = "00nlf08h8yc4q73nphfvfhxrcnilaqanb8z0mdy6nxk0vzq4wjgp";
1044 sha256 = "00nlf08h8yc4q73nphfvfhxrcnilaqanb8z0mdy6nxk0vzq4wjgp";
1015 };
1045 };
1016 meta = {
1046 meta = {
1017 license = [ pkgs.lib.licenses.bsdOriginal ];
1047 license = [ pkgs.lib.licenses.bsdOriginal ];
1018 };
1048 };
1019 };
1049 };
1020 "packaging" = super.buildPythonPackage {
1050 "packaging" = super.buildPythonPackage {
1021 name = "packaging-15.2";
1051 name = "packaging-15.2";
1022 doCheck = false;
1052 doCheck = false;
1023 src = fetchurl {
1053 src = fetchurl {
1024 url = "https://files.pythonhosted.org/packages/24/c4/185da1304f07047dc9e0c46c31db75c0351bd73458ac3efad7da3dbcfbe1/packaging-15.2.tar.gz";
1054 url = "https://files.pythonhosted.org/packages/24/c4/185da1304f07047dc9e0c46c31db75c0351bd73458ac3efad7da3dbcfbe1/packaging-15.2.tar.gz";
1025 sha256 = "1zn60w84bxvw6wypffka18ca66pa1k2cfrq3cq8fnsfja5m3k4ng";
1055 sha256 = "1zn60w84bxvw6wypffka18ca66pa1k2cfrq3cq8fnsfja5m3k4ng";
1026 };
1056 };
1027 meta = {
1057 meta = {
1028 license = [ pkgs.lib.licenses.asl20 ];
1058 license = [ pkgs.lib.licenses.asl20 ];
1029 };
1059 };
1030 };
1060 };
1031 "pandocfilters" = super.buildPythonPackage {
1061 "pandocfilters" = super.buildPythonPackage {
1032 name = "pandocfilters-1.4.2";
1062 name = "pandocfilters-1.4.2";
1033 doCheck = false;
1063 doCheck = false;
1034 src = fetchurl {
1064 src = fetchurl {
1035 url = "https://files.pythonhosted.org/packages/4c/ea/236e2584af67bb6df960832731a6e5325fd4441de001767da328c33368ce/pandocfilters-1.4.2.tar.gz";
1065 url = "https://files.pythonhosted.org/packages/4c/ea/236e2584af67bb6df960832731a6e5325fd4441de001767da328c33368ce/pandocfilters-1.4.2.tar.gz";
1036 sha256 = "1a8d9b7s48gmq9zj0pmbyv2sivn5i7m6mybgpkk4jm5vd7hp1pdk";
1066 sha256 = "1a8d9b7s48gmq9zj0pmbyv2sivn5i7m6mybgpkk4jm5vd7hp1pdk";
1037 };
1067 };
1038 meta = {
1068 meta = {
1039 license = [ pkgs.lib.licenses.bsdOriginal ];
1069 license = [ pkgs.lib.licenses.bsdOriginal ];
1040 };
1070 };
1041 };
1071 };
1042 "paste" = super.buildPythonPackage {
1072 "paste" = super.buildPythonPackage {
1043 name = "paste-3.0.8";
1073 name = "paste-3.0.8";
1044 doCheck = false;
1074 doCheck = false;
1045 propagatedBuildInputs = [
1075 propagatedBuildInputs = [
1046 self."six"
1076 self."six"
1047 ];
1077 ];
1048 src = fetchurl {
1078 src = fetchurl {
1049 url = "https://files.pythonhosted.org/packages/66/65/e3acf1663438483c1f6ced0b6c6f3b90da9f0faacb0a6e2aa0f3f9f4b235/Paste-3.0.8.tar.gz";
1079 url = "https://files.pythonhosted.org/packages/66/65/e3acf1663438483c1f6ced0b6c6f3b90da9f0faacb0a6e2aa0f3f9f4b235/Paste-3.0.8.tar.gz";
1050 sha256 = "05w1sh6ky4d7pmdb8nv82n13w22jcn3qsagg5ih3hjmbws9kkwf4";
1080 sha256 = "05w1sh6ky4d7pmdb8nv82n13w22jcn3qsagg5ih3hjmbws9kkwf4";
1051 };
1081 };
1052 meta = {
1082 meta = {
1053 license = [ pkgs.lib.licenses.mit ];
1083 license = [ pkgs.lib.licenses.mit ];
1054 };
1084 };
1055 };
1085 };
1056 "pastedeploy" = super.buildPythonPackage {
1086 "pastedeploy" = super.buildPythonPackage {
1057 name = "pastedeploy-2.0.1";
1087 name = "pastedeploy-2.0.1";
1058 doCheck = false;
1088 doCheck = false;
1059 src = fetchurl {
1089 src = fetchurl {
1060 url = "https://files.pythonhosted.org/packages/19/a0/5623701df7e2478a68a1b685d1a84518024eef994cde7e4da8449a31616f/PasteDeploy-2.0.1.tar.gz";
1090 url = "https://files.pythonhosted.org/packages/19/a0/5623701df7e2478a68a1b685d1a84518024eef994cde7e4da8449a31616f/PasteDeploy-2.0.1.tar.gz";
1061 sha256 = "02imfbbx1mi2h546f3sr37m47dk9qizaqhzzlhx8bkzxa6fzn8yl";
1091 sha256 = "02imfbbx1mi2h546f3sr37m47dk9qizaqhzzlhx8bkzxa6fzn8yl";
1062 };
1092 };
1063 meta = {
1093 meta = {
1064 license = [ pkgs.lib.licenses.mit ];
1094 license = [ pkgs.lib.licenses.mit ];
1065 };
1095 };
1066 };
1096 };
1067 "pastescript" = super.buildPythonPackage {
1097 "pastescript" = super.buildPythonPackage {
1068 name = "pastescript-3.1.0";
1098 name = "pastescript-3.1.0";
1069 doCheck = false;
1099 doCheck = false;
1070 propagatedBuildInputs = [
1100 propagatedBuildInputs = [
1071 self."paste"
1101 self."paste"
1072 self."pastedeploy"
1102 self."pastedeploy"
1073 self."six"
1103 self."six"
1074 ];
1104 ];
1075 src = fetchurl {
1105 src = fetchurl {
1076 url = "https://files.pythonhosted.org/packages/9e/1d/14db1c283eb21a5d36b6ba1114c13b709629711e64acab653d9994fe346f/PasteScript-3.1.0.tar.gz";
1106 url = "https://files.pythonhosted.org/packages/9e/1d/14db1c283eb21a5d36b6ba1114c13b709629711e64acab653d9994fe346f/PasteScript-3.1.0.tar.gz";
1077 sha256 = "02qcxjjr32ks7a6d4f533wl34ysc7yhwlrfcyqwqbzr52250v4fs";
1107 sha256 = "02qcxjjr32ks7a6d4f533wl34ysc7yhwlrfcyqwqbzr52250v4fs";
1078 };
1108 };
1079 meta = {
1109 meta = {
1080 license = [ pkgs.lib.licenses.mit ];
1110 license = [ pkgs.lib.licenses.mit ];
1081 };
1111 };
1082 };
1112 };
1083 "pathlib2" = super.buildPythonPackage {
1113 "pathlib2" = super.buildPythonPackage {
1084 name = "pathlib2-2.3.4";
1114 name = "pathlib2-2.3.4";
1085 doCheck = false;
1115 doCheck = false;
1086 propagatedBuildInputs = [
1116 propagatedBuildInputs = [
1087 self."six"
1117 self."six"
1088 self."scandir"
1118 self."scandir"
1089 ];
1119 ];
1090 src = fetchurl {
1120 src = fetchurl {
1091 url = "https://files.pythonhosted.org/packages/b5/f4/9c7cc726ece2498b6c8b62d3262aa43f59039b953fe23c9964ac5e18d40b/pathlib2-2.3.4.tar.gz";
1121 url = "https://files.pythonhosted.org/packages/b5/f4/9c7cc726ece2498b6c8b62d3262aa43f59039b953fe23c9964ac5e18d40b/pathlib2-2.3.4.tar.gz";
1092 sha256 = "1y0f9rkm1924zrc5dn4bwxlhgdkbml82lkcc28l5rgmr7d918q24";
1122 sha256 = "1y0f9rkm1924zrc5dn4bwxlhgdkbml82lkcc28l5rgmr7d918q24";
1093 };
1123 };
1094 meta = {
1124 meta = {
1095 license = [ pkgs.lib.licenses.mit ];
1125 license = [ pkgs.lib.licenses.mit ];
1096 };
1126 };
1097 };
1127 };
1098 "peppercorn" = super.buildPythonPackage {
1128 "peppercorn" = super.buildPythonPackage {
1099 name = "peppercorn-0.6";
1129 name = "peppercorn-0.6";
1100 doCheck = false;
1130 doCheck = false;
1101 src = fetchurl {
1131 src = fetchurl {
1102 url = "https://files.pythonhosted.org/packages/e4/77/93085de7108cdf1a0b092ff443872a8f9442c736d7ddebdf2f27627935f4/peppercorn-0.6.tar.gz";
1132 url = "https://files.pythonhosted.org/packages/e4/77/93085de7108cdf1a0b092ff443872a8f9442c736d7ddebdf2f27627935f4/peppercorn-0.6.tar.gz";
1103 sha256 = "1ip4bfwcpwkq9hz2dai14k2cyabvwrnvcvrcmzxmqm04g8fnimwn";
1133 sha256 = "1ip4bfwcpwkq9hz2dai14k2cyabvwrnvcvrcmzxmqm04g8fnimwn";
1104 };
1134 };
1105 meta = {
1135 meta = {
1106 license = [ { fullName = "BSD-derived (http://www.repoze.org/LICENSE.txt)"; } ];
1136 license = [ { fullName = "BSD-derived (http://www.repoze.org/LICENSE.txt)"; } ];
1107 };
1137 };
1108 };
1138 };
1109 "pexpect" = super.buildPythonPackage {
1139 "pexpect" = super.buildPythonPackage {
1110 name = "pexpect-4.7.0";
1140 name = "pexpect-4.7.0";
1111 doCheck = false;
1141 doCheck = false;
1112 propagatedBuildInputs = [
1142 propagatedBuildInputs = [
1113 self."ptyprocess"
1143 self."ptyprocess"
1114 ];
1144 ];
1115 src = fetchurl {
1145 src = fetchurl {
1116 url = "https://files.pythonhosted.org/packages/1c/b1/362a0d4235496cb42c33d1d8732b5e2c607b0129ad5fdd76f5a583b9fcb3/pexpect-4.7.0.tar.gz";
1146 url = "https://files.pythonhosted.org/packages/1c/b1/362a0d4235496cb42c33d1d8732b5e2c607b0129ad5fdd76f5a583b9fcb3/pexpect-4.7.0.tar.gz";
1117 sha256 = "1sv2rri15zwhds85a4kamwh9pj49qcxv7m4miyr4jfpfwv81yb4y";
1147 sha256 = "1sv2rri15zwhds85a4kamwh9pj49qcxv7m4miyr4jfpfwv81yb4y";
1118 };
1148 };
1119 meta = {
1149 meta = {
1120 license = [ pkgs.lib.licenses.isc { fullName = "ISC License (ISCL)"; } ];
1150 license = [ pkgs.lib.licenses.isc { fullName = "ISC License (ISCL)"; } ];
1121 };
1151 };
1122 };
1152 };
1123 "pickleshare" = super.buildPythonPackage {
1153 "pickleshare" = super.buildPythonPackage {
1124 name = "pickleshare-0.7.5";
1154 name = "pickleshare-0.7.5";
1125 doCheck = false;
1155 doCheck = false;
1126 propagatedBuildInputs = [
1156 propagatedBuildInputs = [
1127 self."pathlib2"
1157 self."pathlib2"
1128 ];
1158 ];
1129 src = fetchurl {
1159 src = fetchurl {
1130 url = "https://files.pythonhosted.org/packages/d8/b6/df3c1c9b616e9c0edbc4fbab6ddd09df9535849c64ba51fcb6531c32d4d8/pickleshare-0.7.5.tar.gz";
1160 url = "https://files.pythonhosted.org/packages/d8/b6/df3c1c9b616e9c0edbc4fbab6ddd09df9535849c64ba51fcb6531c32d4d8/pickleshare-0.7.5.tar.gz";
1131 sha256 = "1jmghg3c53yp1i8cm6pcrm280ayi8621rwyav9fac7awjr3kss47";
1161 sha256 = "1jmghg3c53yp1i8cm6pcrm280ayi8621rwyav9fac7awjr3kss47";
1132 };
1162 };
1133 meta = {
1163 meta = {
1134 license = [ pkgs.lib.licenses.mit ];
1164 license = [ pkgs.lib.licenses.mit ];
1135 };
1165 };
1136 };
1166 };
1137 "plaster" = super.buildPythonPackage {
1167 "plaster" = super.buildPythonPackage {
1138 name = "plaster-1.0";
1168 name = "plaster-1.0";
1139 doCheck = false;
1169 doCheck = false;
1140 propagatedBuildInputs = [
1170 propagatedBuildInputs = [
1141 self."setuptools"
1171 self."setuptools"
1142 ];
1172 ];
1143 src = fetchurl {
1173 src = fetchurl {
1144 url = "https://files.pythonhosted.org/packages/37/e1/56d04382d718d32751017d32f351214384e529b794084eee20bb52405563/plaster-1.0.tar.gz";
1174 url = "https://files.pythonhosted.org/packages/37/e1/56d04382d718d32751017d32f351214384e529b794084eee20bb52405563/plaster-1.0.tar.gz";
1145 sha256 = "1hy8k0nv2mxq94y5aysk6hjk9ryb4bsd13g83m60hcyzxz3wflc3";
1175 sha256 = "1hy8k0nv2mxq94y5aysk6hjk9ryb4bsd13g83m60hcyzxz3wflc3";
1146 };
1176 };
1147 meta = {
1177 meta = {
1148 license = [ pkgs.lib.licenses.mit ];
1178 license = [ pkgs.lib.licenses.mit ];
1149 };
1179 };
1150 };
1180 };
1151 "plaster-pastedeploy" = super.buildPythonPackage {
1181 "plaster-pastedeploy" = super.buildPythonPackage {
1152 name = "plaster-pastedeploy-0.7";
1182 name = "plaster-pastedeploy-0.7";
1153 doCheck = false;
1183 doCheck = false;
1154 propagatedBuildInputs = [
1184 propagatedBuildInputs = [
1155 self."pastedeploy"
1185 self."pastedeploy"
1156 self."plaster"
1186 self."plaster"
1157 ];
1187 ];
1158 src = fetchurl {
1188 src = fetchurl {
1159 url = "https://files.pythonhosted.org/packages/99/69/2d3bc33091249266a1bd3cf24499e40ab31d54dffb4a7d76fe647950b98c/plaster_pastedeploy-0.7.tar.gz";
1189 url = "https://files.pythonhosted.org/packages/99/69/2d3bc33091249266a1bd3cf24499e40ab31d54dffb4a7d76fe647950b98c/plaster_pastedeploy-0.7.tar.gz";
1160 sha256 = "1zg7gcsvc1kzay1ry5p699rg2qavfsxqwl17mqxzr0gzw6j9679r";
1190 sha256 = "1zg7gcsvc1kzay1ry5p699rg2qavfsxqwl17mqxzr0gzw6j9679r";
1161 };
1191 };
1162 meta = {
1192 meta = {
1163 license = [ pkgs.lib.licenses.mit ];
1193 license = [ pkgs.lib.licenses.mit ];
1164 };
1194 };
1165 };
1195 };
1166 "pluggy" = super.buildPythonPackage {
1196 "pluggy" = super.buildPythonPackage {
1167 name = "pluggy-0.11.0";
1197 name = "pluggy-0.11.0";
1168 doCheck = false;
1198 doCheck = false;
1169 src = fetchurl {
1199 src = fetchurl {
1170 url = "https://files.pythonhosted.org/packages/0d/a1/862ab336e8128fde20981d2c1aa8506693412daf5083b1911d539412676b/pluggy-0.11.0.tar.gz";
1200 url = "https://files.pythonhosted.org/packages/0d/a1/862ab336e8128fde20981d2c1aa8506693412daf5083b1911d539412676b/pluggy-0.11.0.tar.gz";
1171 sha256 = "10511a54dvafw1jrk75mrhml53c7b7w4yaw7241696lc2hfvr895";
1201 sha256 = "10511a54dvafw1jrk75mrhml53c7b7w4yaw7241696lc2hfvr895";
1172 };
1202 };
1173 meta = {
1203 meta = {
1174 license = [ pkgs.lib.licenses.mit ];
1204 license = [ pkgs.lib.licenses.mit ];
1175 };
1205 };
1176 };
1206 };
1177 "prompt-toolkit" = super.buildPythonPackage {
1207 "prompt-toolkit" = super.buildPythonPackage {
1178 name = "prompt-toolkit-1.0.16";
1208 name = "prompt-toolkit-1.0.16";
1179 doCheck = false;
1209 doCheck = false;
1180 propagatedBuildInputs = [
1210 propagatedBuildInputs = [
1181 self."six"
1211 self."six"
1182 self."wcwidth"
1212 self."wcwidth"
1183 ];
1213 ];
1184 src = fetchurl {
1214 src = fetchurl {
1185 url = "https://files.pythonhosted.org/packages/f1/03/bb36771dc9fa7553ac4bdc639a9ecdf6fda0ff4176faf940d97e3c16e41d/prompt_toolkit-1.0.16.tar.gz";
1215 url = "https://files.pythonhosted.org/packages/f1/03/bb36771dc9fa7553ac4bdc639a9ecdf6fda0ff4176faf940d97e3c16e41d/prompt_toolkit-1.0.16.tar.gz";
1186 sha256 = "1d65hm6nf0cbq0q0121m60zzy4s1fpg9fn761s1yxf08dridvkn1";
1216 sha256 = "1d65hm6nf0cbq0q0121m60zzy4s1fpg9fn761s1yxf08dridvkn1";
1187 };
1217 };
1188 meta = {
1218 meta = {
1189 license = [ pkgs.lib.licenses.bsdOriginal ];
1219 license = [ pkgs.lib.licenses.bsdOriginal ];
1190 };
1220 };
1191 };
1221 };
1192 "psutil" = super.buildPythonPackage {
1222 "psutil" = super.buildPythonPackage {
1193 name = "psutil-5.5.1";
1223 name = "psutil-5.5.1";
1194 doCheck = false;
1224 doCheck = false;
1195 src = fetchurl {
1225 src = fetchurl {
1196 url = "https://files.pythonhosted.org/packages/c7/01/7c30b247cdc5ba29623faa5c8cf1f1bbf7e041783c340414b0ed7e067c64/psutil-5.5.1.tar.gz";
1226 url = "https://files.pythonhosted.org/packages/c7/01/7c30b247cdc5ba29623faa5c8cf1f1bbf7e041783c340414b0ed7e067c64/psutil-5.5.1.tar.gz";
1197 sha256 = "045qaqvn6k90bj5bcy259yrwcd2afgznaav3sfhphy9b8ambzkkj";
1227 sha256 = "045qaqvn6k90bj5bcy259yrwcd2afgznaav3sfhphy9b8ambzkkj";
1198 };
1228 };
1199 meta = {
1229 meta = {
1200 license = [ pkgs.lib.licenses.bsdOriginal ];
1230 license = [ pkgs.lib.licenses.bsdOriginal ];
1201 };
1231 };
1202 };
1232 };
1203 "psycopg2" = super.buildPythonPackage {
1233 "psycopg2" = super.buildPythonPackage {
1204 name = "psycopg2-2.8.3";
1234 name = "psycopg2-2.8.3";
1205 doCheck = false;
1235 doCheck = false;
1206 src = fetchurl {
1236 src = fetchurl {
1207 url = "https://files.pythonhosted.org/packages/5c/1c/6997288da181277a0c29bc39a5f9143ff20b8c99f2a7d059cfb55163e165/psycopg2-2.8.3.tar.gz";
1237 url = "https://files.pythonhosted.org/packages/5c/1c/6997288da181277a0c29bc39a5f9143ff20b8c99f2a7d059cfb55163e165/psycopg2-2.8.3.tar.gz";
1208 sha256 = "0ms4kx0p5n281l89awccix4d05ybmdngnjjpi9jbzd0rhf1nwyl9";
1238 sha256 = "0ms4kx0p5n281l89awccix4d05ybmdngnjjpi9jbzd0rhf1nwyl9";
1209 };
1239 };
1210 meta = {
1240 meta = {
1211 license = [ pkgs.lib.licenses.zpl21 { fullName = "GNU Library or Lesser General Public License (LGPL)"; } { fullName = "LGPL with exceptions or ZPL"; } ];
1241 license = [ pkgs.lib.licenses.zpl21 { fullName = "GNU Library or Lesser General Public License (LGPL)"; } { fullName = "LGPL with exceptions or ZPL"; } ];
1212 };
1242 };
1213 };
1243 };
1214 "ptyprocess" = super.buildPythonPackage {
1244 "ptyprocess" = super.buildPythonPackage {
1215 name = "ptyprocess-0.6.0";
1245 name = "ptyprocess-0.6.0";
1216 doCheck = false;
1246 doCheck = false;
1217 src = fetchurl {
1247 src = fetchurl {
1218 url = "https://files.pythonhosted.org/packages/7d/2d/e4b8733cf79b7309d84c9081a4ab558c89d8c89da5961bf4ddb050ca1ce0/ptyprocess-0.6.0.tar.gz";
1248 url = "https://files.pythonhosted.org/packages/7d/2d/e4b8733cf79b7309d84c9081a4ab558c89d8c89da5961bf4ddb050ca1ce0/ptyprocess-0.6.0.tar.gz";
1219 sha256 = "1h4lcd3w5nrxnsk436ar7fwkiy5rfn5wj2xwy9l0r4mdqnf2jgwj";
1249 sha256 = "1h4lcd3w5nrxnsk436ar7fwkiy5rfn5wj2xwy9l0r4mdqnf2jgwj";
1220 };
1250 };
1221 meta = {
1251 meta = {
1222 license = [ ];
1252 license = [ ];
1223 };
1253 };
1224 };
1254 };
1225 "py" = super.buildPythonPackage {
1255 "py" = super.buildPythonPackage {
1226 name = "py-1.6.0";
1256 name = "py-1.6.0";
1227 doCheck = false;
1257 doCheck = false;
1228 src = fetchurl {
1258 src = fetchurl {
1229 url = "https://files.pythonhosted.org/packages/4f/38/5f427d1eedae73063ce4da680d2bae72014995f9fdeaa57809df61c968cd/py-1.6.0.tar.gz";
1259 url = "https://files.pythonhosted.org/packages/4f/38/5f427d1eedae73063ce4da680d2bae72014995f9fdeaa57809df61c968cd/py-1.6.0.tar.gz";
1230 sha256 = "1wcs3zv9wl5m5x7p16avqj2gsrviyb23yvc3pr330isqs0sh98q6";
1260 sha256 = "1wcs3zv9wl5m5x7p16avqj2gsrviyb23yvc3pr330isqs0sh98q6";
1231 };
1261 };
1232 meta = {
1262 meta = {
1233 license = [ pkgs.lib.licenses.mit ];
1263 license = [ pkgs.lib.licenses.mit ];
1234 };
1264 };
1235 };
1265 };
1236 "py-bcrypt" = super.buildPythonPackage {
1266 "py-bcrypt" = super.buildPythonPackage {
1237 name = "py-bcrypt-0.4";
1267 name = "py-bcrypt-0.4";
1238 doCheck = false;
1268 doCheck = false;
1239 src = fetchurl {
1269 src = fetchurl {
1240 url = "https://files.pythonhosted.org/packages/68/b1/1c3068c5c4d2e35c48b38dcc865301ebfdf45f54507086ac65ced1fd3b3d/py-bcrypt-0.4.tar.gz";
1270 url = "https://files.pythonhosted.org/packages/68/b1/1c3068c5c4d2e35c48b38dcc865301ebfdf45f54507086ac65ced1fd3b3d/py-bcrypt-0.4.tar.gz";
1241 sha256 = "0y6smdggwi5s72v6p1nn53dg6w05hna3d264cq6kas0lap73p8az";
1271 sha256 = "0y6smdggwi5s72v6p1nn53dg6w05hna3d264cq6kas0lap73p8az";
1242 };
1272 };
1243 meta = {
1273 meta = {
1244 license = [ pkgs.lib.licenses.bsdOriginal ];
1274 license = [ pkgs.lib.licenses.bsdOriginal ];
1245 };
1275 };
1246 };
1276 };
1247 "py-gfm" = super.buildPythonPackage {
1277 "py-gfm" = super.buildPythonPackage {
1248 name = "py-gfm-0.1.4";
1278 name = "py-gfm-0.1.4";
1249 doCheck = false;
1279 doCheck = false;
1250 propagatedBuildInputs = [
1280 propagatedBuildInputs = [
1251 self."setuptools"
1281 self."setuptools"
1252 self."markdown"
1282 self."markdown"
1253 ];
1283 ];
1254 src = fetchurl {
1284 src = fetchurl {
1255 url = "https://files.pythonhosted.org/packages/06/ee/004a03a1d92bb386dae44f6dd087db541bc5093374f1637d4d4ae5596cc2/py-gfm-0.1.4.tar.gz";
1285 url = "https://files.pythonhosted.org/packages/06/ee/004a03a1d92bb386dae44f6dd087db541bc5093374f1637d4d4ae5596cc2/py-gfm-0.1.4.tar.gz";
1256 sha256 = "0zip06g2isivx8fzgqd4n9qzsa22c25jas1rsb7m2rnjg72m0rzg";
1286 sha256 = "0zip06g2isivx8fzgqd4n9qzsa22c25jas1rsb7m2rnjg72m0rzg";
1257 };
1287 };
1258 meta = {
1288 meta = {
1259 license = [ pkgs.lib.licenses.bsdOriginal ];
1289 license = [ pkgs.lib.licenses.bsdOriginal ];
1260 };
1290 };
1261 };
1291 };
1262 "pyasn1" = super.buildPythonPackage {
1292 "pyasn1" = super.buildPythonPackage {
1263 name = "pyasn1-0.4.7";
1293 name = "pyasn1-0.4.7";
1264 doCheck = false;
1294 doCheck = false;
1265 src = fetchurl {
1295 src = fetchurl {
1266 url = "https://files.pythonhosted.org/packages/ca/f8/2a60a2c88a97558bdd289b6dc9eb75b00bd90ff34155d681ba6dbbcb46b2/pyasn1-0.4.7.tar.gz";
1296 url = "https://files.pythonhosted.org/packages/ca/f8/2a60a2c88a97558bdd289b6dc9eb75b00bd90ff34155d681ba6dbbcb46b2/pyasn1-0.4.7.tar.gz";
1267 sha256 = "0146ryp4g09ycy8p3l2vigmgfg42n4gb8whgg8cysrhxr9b56jd9";
1297 sha256 = "0146ryp4g09ycy8p3l2vigmgfg42n4gb8whgg8cysrhxr9b56jd9";
1268 };
1298 };
1269 meta = {
1299 meta = {
1270 license = [ pkgs.lib.licenses.bsdOriginal ];
1300 license = [ pkgs.lib.licenses.bsdOriginal ];
1271 };
1301 };
1272 };
1302 };
1273 "pyasn1-modules" = super.buildPythonPackage {
1303 "pyasn1-modules" = super.buildPythonPackage {
1274 name = "pyasn1-modules-0.2.6";
1304 name = "pyasn1-modules-0.2.6";
1275 doCheck = false;
1305 doCheck = false;
1276 propagatedBuildInputs = [
1306 propagatedBuildInputs = [
1277 self."pyasn1"
1307 self."pyasn1"
1278 ];
1308 ];
1279 src = fetchurl {
1309 src = fetchurl {
1280 url = "https://files.pythonhosted.org/packages/f1/a9/a1ef72a0e43feff643cf0130a08123dea76205e7a0dda37e3efb5f054a31/pyasn1-modules-0.2.6.tar.gz";
1310 url = "https://files.pythonhosted.org/packages/f1/a9/a1ef72a0e43feff643cf0130a08123dea76205e7a0dda37e3efb5f054a31/pyasn1-modules-0.2.6.tar.gz";
1281 sha256 = "08hph9j1r018drnrny29l7dl2q0cin78csswrhwrh8jmq61pmha3";
1311 sha256 = "08hph9j1r018drnrny29l7dl2q0cin78csswrhwrh8jmq61pmha3";
1282 };
1312 };
1283 meta = {
1313 meta = {
1284 license = [ pkgs.lib.licenses.bsdOriginal pkgs.lib.licenses.bsd2 ];
1314 license = [ pkgs.lib.licenses.bsdOriginal pkgs.lib.licenses.bsd2 ];
1285 };
1315 };
1286 };
1316 };
1287 "pycparser" = super.buildPythonPackage {
1317 "pycparser" = super.buildPythonPackage {
1288 name = "pycparser-2.19";
1318 name = "pycparser-2.19";
1289 doCheck = false;
1319 doCheck = false;
1290 src = fetchurl {
1320 src = fetchurl {
1291 url = "https://files.pythonhosted.org/packages/68/9e/49196946aee219aead1290e00d1e7fdeab8567783e83e1b9ab5585e6206a/pycparser-2.19.tar.gz";
1321 url = "https://files.pythonhosted.org/packages/68/9e/49196946aee219aead1290e00d1e7fdeab8567783e83e1b9ab5585e6206a/pycparser-2.19.tar.gz";
1292 sha256 = "1cr5dcj9628lkz1qlwq3fv97c25363qppkmcayqvd05dpy573259";
1322 sha256 = "1cr5dcj9628lkz1qlwq3fv97c25363qppkmcayqvd05dpy573259";
1293 };
1323 };
1294 meta = {
1324 meta = {
1295 license = [ pkgs.lib.licenses.bsdOriginal ];
1325 license = [ pkgs.lib.licenses.bsdOriginal ];
1296 };
1326 };
1297 };
1327 };
1298 "pycrypto" = super.buildPythonPackage {
1328 "pycrypto" = super.buildPythonPackage {
1299 name = "pycrypto-2.6.1";
1329 name = "pycrypto-2.6.1";
1300 doCheck = false;
1330 doCheck = false;
1301 src = fetchurl {
1331 src = fetchurl {
1302 url = "https://files.pythonhosted.org/packages/60/db/645aa9af249f059cc3a368b118de33889219e0362141e75d4eaf6f80f163/pycrypto-2.6.1.tar.gz";
1332 url = "https://files.pythonhosted.org/packages/60/db/645aa9af249f059cc3a368b118de33889219e0362141e75d4eaf6f80f163/pycrypto-2.6.1.tar.gz";
1303 sha256 = "0g0ayql5b9mkjam8hym6zyg6bv77lbh66rv1fyvgqb17kfc1xkpj";
1333 sha256 = "0g0ayql5b9mkjam8hym6zyg6bv77lbh66rv1fyvgqb17kfc1xkpj";
1304 };
1334 };
1305 meta = {
1335 meta = {
1306 license = [ pkgs.lib.licenses.publicDomain ];
1336 license = [ pkgs.lib.licenses.publicDomain ];
1307 };
1337 };
1308 };
1338 };
1309 "pycurl" = super.buildPythonPackage {
1339 "pycurl" = super.buildPythonPackage {
1310 name = "pycurl-7.43.0.2";
1340 name = "pycurl-7.43.0.2";
1311 doCheck = false;
1341 doCheck = false;
1312 src = fetchurl {
1342 src = fetchurl {
1313 url = "https://files.pythonhosted.org/packages/e8/e4/0dbb8735407189f00b33d84122b9be52c790c7c3b25286826f4e1bdb7bde/pycurl-7.43.0.2.tar.gz";
1343 url = "https://files.pythonhosted.org/packages/e8/e4/0dbb8735407189f00b33d84122b9be52c790c7c3b25286826f4e1bdb7bde/pycurl-7.43.0.2.tar.gz";
1314 sha256 = "1915kb04k1j4y6k1dx1sgnbddxrl9r1n4q928if2lkrdm73xy30g";
1344 sha256 = "1915kb04k1j4y6k1dx1sgnbddxrl9r1n4q928if2lkrdm73xy30g";
1315 };
1345 };
1316 meta = {
1346 meta = {
1317 license = [ pkgs.lib.licenses.mit { fullName = "LGPL/MIT"; } { fullName = "GNU Library or Lesser General Public License (LGPL)"; } ];
1347 license = [ pkgs.lib.licenses.mit { fullName = "LGPL/MIT"; } { fullName = "GNU Library or Lesser General Public License (LGPL)"; } ];
1318 };
1348 };
1319 };
1349 };
1320 "pygments" = super.buildPythonPackage {
1350 "pygments" = super.buildPythonPackage {
1321 name = "pygments-2.4.2";
1351 name = "pygments-2.4.2";
1322 doCheck = false;
1352 doCheck = false;
1323 src = fetchurl {
1353 src = fetchurl {
1324 url = "https://files.pythonhosted.org/packages/7e/ae/26808275fc76bf2832deb10d3a3ed3107bc4de01b85dcccbe525f2cd6d1e/Pygments-2.4.2.tar.gz";
1354 url = "https://files.pythonhosted.org/packages/7e/ae/26808275fc76bf2832deb10d3a3ed3107bc4de01b85dcccbe525f2cd6d1e/Pygments-2.4.2.tar.gz";
1325 sha256 = "15v2sqm5g12bqa0c7wikfh9ck2nl97ayizy1hpqhmws5gqalq748";
1355 sha256 = "15v2sqm5g12bqa0c7wikfh9ck2nl97ayizy1hpqhmws5gqalq748";
1326 };
1356 };
1327 meta = {
1357 meta = {
1328 license = [ pkgs.lib.licenses.bsdOriginal ];
1358 license = [ pkgs.lib.licenses.bsdOriginal ];
1329 };
1359 };
1330 };
1360 };
1331 "pymysql" = super.buildPythonPackage {
1361 "pymysql" = super.buildPythonPackage {
1332 name = "pymysql-0.8.1";
1362 name = "pymysql-0.8.1";
1333 doCheck = false;
1363 doCheck = false;
1334 src = fetchurl {
1364 src = fetchurl {
1335 url = "https://files.pythonhosted.org/packages/44/39/6bcb83cae0095a31b6be4511707fdf2009d3e29903a55a0494d3a9a2fac0/PyMySQL-0.8.1.tar.gz";
1365 url = "https://files.pythonhosted.org/packages/44/39/6bcb83cae0095a31b6be4511707fdf2009d3e29903a55a0494d3a9a2fac0/PyMySQL-0.8.1.tar.gz";
1336 sha256 = "0a96crz55bw4h6myh833skrli7b0ck89m3x673y2z2ryy7zrpq9l";
1366 sha256 = "0a96crz55bw4h6myh833skrli7b0ck89m3x673y2z2ryy7zrpq9l";
1337 };
1367 };
1338 meta = {
1368 meta = {
1339 license = [ pkgs.lib.licenses.mit ];
1369 license = [ pkgs.lib.licenses.mit ];
1340 };
1370 };
1341 };
1371 };
1342 "pyotp" = super.buildPythonPackage {
1372 "pyotp" = super.buildPythonPackage {
1343 name = "pyotp-2.2.7";
1373 name = "pyotp-2.2.7";
1344 doCheck = false;
1374 doCheck = false;
1345 src = fetchurl {
1375 src = fetchurl {
1346 url = "https://files.pythonhosted.org/packages/b1/ab/477cda97b6ca7baced5106471cb1ac1fe698d1b035983b9f8ee3422989eb/pyotp-2.2.7.tar.gz";
1376 url = "https://files.pythonhosted.org/packages/b1/ab/477cda97b6ca7baced5106471cb1ac1fe698d1b035983b9f8ee3422989eb/pyotp-2.2.7.tar.gz";
1347 sha256 = "00p69nw431f0s2ilg0hnd77p1l22m06p9rq4f8zfapmavnmzw3xy";
1377 sha256 = "00p69nw431f0s2ilg0hnd77p1l22m06p9rq4f8zfapmavnmzw3xy";
1348 };
1378 };
1349 meta = {
1379 meta = {
1350 license = [ pkgs.lib.licenses.mit ];
1380 license = [ pkgs.lib.licenses.mit ];
1351 };
1381 };
1352 };
1382 };
1353 "pyparsing" = super.buildPythonPackage {
1383 "pyparsing" = super.buildPythonPackage {
1354 name = "pyparsing-2.3.0";
1384 name = "pyparsing-2.3.0";
1355 doCheck = false;
1385 doCheck = false;
1356 src = fetchurl {
1386 src = fetchurl {
1357 url = "https://files.pythonhosted.org/packages/d0/09/3e6a5eeb6e04467b737d55f8bba15247ac0876f98fae659e58cd744430c6/pyparsing-2.3.0.tar.gz";
1387 url = "https://files.pythonhosted.org/packages/d0/09/3e6a5eeb6e04467b737d55f8bba15247ac0876f98fae659e58cd744430c6/pyparsing-2.3.0.tar.gz";
1358 sha256 = "14k5v7n3xqw8kzf42x06bzp184spnlkya2dpjyflax6l3yrallzk";
1388 sha256 = "14k5v7n3xqw8kzf42x06bzp184spnlkya2dpjyflax6l3yrallzk";
1359 };
1389 };
1360 meta = {
1390 meta = {
1361 license = [ pkgs.lib.licenses.mit ];
1391 license = [ pkgs.lib.licenses.mit ];
1362 };
1392 };
1363 };
1393 };
1364 "pyramid" = super.buildPythonPackage {
1394 "pyramid" = super.buildPythonPackage {
1365 name = "pyramid-1.10.4";
1395 name = "pyramid-1.10.4";
1366 doCheck = false;
1396 doCheck = false;
1367 propagatedBuildInputs = [
1397 propagatedBuildInputs = [
1368 self."hupper"
1398 self."hupper"
1369 self."plaster"
1399 self."plaster"
1370 self."plaster-pastedeploy"
1400 self."plaster-pastedeploy"
1371 self."setuptools"
1401 self."setuptools"
1372 self."translationstring"
1402 self."translationstring"
1373 self."venusian"
1403 self."venusian"
1374 self."webob"
1404 self."webob"
1375 self."zope.deprecation"
1405 self."zope.deprecation"
1376 self."zope.interface"
1406 self."zope.interface"
1377 self."repoze.lru"
1407 self."repoze.lru"
1378 ];
1408 ];
1379 src = fetchurl {
1409 src = fetchurl {
1380 url = "https://files.pythonhosted.org/packages/c2/43/1ae701c9c6bb3a434358e678a5e72c96e8aa55cf4cb1d2fa2041b5dd38b7/pyramid-1.10.4.tar.gz";
1410 url = "https://files.pythonhosted.org/packages/c2/43/1ae701c9c6bb3a434358e678a5e72c96e8aa55cf4cb1d2fa2041b5dd38b7/pyramid-1.10.4.tar.gz";
1381 sha256 = "0rkxs1ajycg2zh1c94xlmls56mx5m161sn8112skj0amza6cn36q";
1411 sha256 = "0rkxs1ajycg2zh1c94xlmls56mx5m161sn8112skj0amza6cn36q";
1382 };
1412 };
1383 meta = {
1413 meta = {
1384 license = [ { fullName = "Repoze Public License"; } { fullName = "BSD-derived (http://www.repoze.org/LICENSE.txt)"; } ];
1414 license = [ { fullName = "Repoze Public License"; } { fullName = "BSD-derived (http://www.repoze.org/LICENSE.txt)"; } ];
1385 };
1415 };
1386 };
1416 };
1387 "pyramid-debugtoolbar" = super.buildPythonPackage {
1417 "pyramid-debugtoolbar" = super.buildPythonPackage {
1388 name = "pyramid-debugtoolbar-4.5";
1418 name = "pyramid-debugtoolbar-4.5";
1389 doCheck = false;
1419 doCheck = false;
1390 propagatedBuildInputs = [
1420 propagatedBuildInputs = [
1391 self."pyramid"
1421 self."pyramid"
1392 self."pyramid-mako"
1422 self."pyramid-mako"
1393 self."repoze.lru"
1423 self."repoze.lru"
1394 self."pygments"
1424 self."pygments"
1395 self."ipaddress"
1425 self."ipaddress"
1396 ];
1426 ];
1397 src = fetchurl {
1427 src = fetchurl {
1398 url = "https://files.pythonhosted.org/packages/14/28/1f240239af340d19ee271ac62958158c79edb01a44ad8c9885508dd003d2/pyramid_debugtoolbar-4.5.tar.gz";
1428 url = "https://files.pythonhosted.org/packages/14/28/1f240239af340d19ee271ac62958158c79edb01a44ad8c9885508dd003d2/pyramid_debugtoolbar-4.5.tar.gz";
1399 sha256 = "0x2p3409pnx66n6dx5vc0mk2r1cp1ydr8mp120w44r9pwcngbibl";
1429 sha256 = "0x2p3409pnx66n6dx5vc0mk2r1cp1ydr8mp120w44r9pwcngbibl";
1400 };
1430 };
1401 meta = {
1431 meta = {
1402 license = [ { fullName = "Repoze Public License"; } pkgs.lib.licenses.bsdOriginal ];
1432 license = [ { fullName = "Repoze Public License"; } pkgs.lib.licenses.bsdOriginal ];
1403 };
1433 };
1404 };
1434 };
1405 "pyramid-jinja2" = super.buildPythonPackage {
1435 "pyramid-jinja2" = super.buildPythonPackage {
1406 name = "pyramid-jinja2-2.7";
1436 name = "pyramid-jinja2-2.7";
1407 doCheck = false;
1437 doCheck = false;
1408 propagatedBuildInputs = [
1438 propagatedBuildInputs = [
1409 self."pyramid"
1439 self."pyramid"
1410 self."zope.deprecation"
1440 self."zope.deprecation"
1411 self."jinja2"
1441 self."jinja2"
1412 self."markupsafe"
1442 self."markupsafe"
1413 ];
1443 ];
1414 src = fetchurl {
1444 src = fetchurl {
1415 url = "https://files.pythonhosted.org/packages/d8/80/d60a7233823de22ce77bd864a8a83736a1fe8b49884b08303a2e68b2c853/pyramid_jinja2-2.7.tar.gz";
1445 url = "https://files.pythonhosted.org/packages/d8/80/d60a7233823de22ce77bd864a8a83736a1fe8b49884b08303a2e68b2c853/pyramid_jinja2-2.7.tar.gz";
1416 sha256 = "1sz5s0pp5jqhf4w22w9527yz8hgdi4mhr6apd6vw1gm5clghh8aw";
1446 sha256 = "1sz5s0pp5jqhf4w22w9527yz8hgdi4mhr6apd6vw1gm5clghh8aw";
1417 };
1447 };
1418 meta = {
1448 meta = {
1419 license = [ { fullName = "Repoze Public License"; } { fullName = "BSD-derived (http://www.repoze.org/LICENSE.txt)"; } ];
1449 license = [ { fullName = "Repoze Public License"; } { fullName = "BSD-derived (http://www.repoze.org/LICENSE.txt)"; } ];
1420 };
1450 };
1421 };
1451 };
1422 "pyramid-mailer" = super.buildPythonPackage {
1452 "pyramid-mailer" = super.buildPythonPackage {
1423 name = "pyramid-mailer-0.15.1";
1453 name = "pyramid-mailer-0.15.1";
1424 doCheck = false;
1454 doCheck = false;
1425 propagatedBuildInputs = [
1455 propagatedBuildInputs = [
1426 self."pyramid"
1456 self."pyramid"
1427 self."repoze.sendmail"
1457 self."repoze.sendmail"
1428 self."transaction"
1458 self."transaction"
1429 ];
1459 ];
1430 src = fetchurl {
1460 src = fetchurl {
1431 url = "https://files.pythonhosted.org/packages/a0/f2/6febf5459dff4d7e653314d575469ad2e11b9d2af2c3606360e1c67202f2/pyramid_mailer-0.15.1.tar.gz";
1461 url = "https://files.pythonhosted.org/packages/a0/f2/6febf5459dff4d7e653314d575469ad2e11b9d2af2c3606360e1c67202f2/pyramid_mailer-0.15.1.tar.gz";
1432 sha256 = "16vg8jb203jgb7b0hd6wllfqvp542qh2ry1gjai2m6qpv5agy2pc";
1462 sha256 = "16vg8jb203jgb7b0hd6wllfqvp542qh2ry1gjai2m6qpv5agy2pc";
1433 };
1463 };
1434 meta = {
1464 meta = {
1435 license = [ pkgs.lib.licenses.bsdOriginal ];
1465 license = [ pkgs.lib.licenses.bsdOriginal ];
1436 };
1466 };
1437 };
1467 };
1438 "pyramid-mako" = super.buildPythonPackage {
1468 "pyramid-mako" = super.buildPythonPackage {
1439 name = "pyramid-mako-1.0.2";
1469 name = "pyramid-mako-1.0.2";
1440 doCheck = false;
1470 doCheck = false;
1441 propagatedBuildInputs = [
1471 propagatedBuildInputs = [
1442 self."pyramid"
1472 self."pyramid"
1443 self."mako"
1473 self."mako"
1444 ];
1474 ];
1445 src = fetchurl {
1475 src = fetchurl {
1446 url = "https://files.pythonhosted.org/packages/f1/92/7e69bcf09676d286a71cb3bbb887b16595b96f9ba7adbdc239ffdd4b1eb9/pyramid_mako-1.0.2.tar.gz";
1476 url = "https://files.pythonhosted.org/packages/f1/92/7e69bcf09676d286a71cb3bbb887b16595b96f9ba7adbdc239ffdd4b1eb9/pyramid_mako-1.0.2.tar.gz";
1447 sha256 = "18gk2vliq8z4acblsl6yzgbvnr9rlxjlcqir47km7kvlk1xri83d";
1477 sha256 = "18gk2vliq8z4acblsl6yzgbvnr9rlxjlcqir47km7kvlk1xri83d";
1448 };
1478 };
1449 meta = {
1479 meta = {
1450 license = [ { fullName = "Repoze Public License"; } { fullName = "BSD-derived (http://www.repoze.org/LICENSE.txt)"; } ];
1480 license = [ { fullName = "Repoze Public License"; } { fullName = "BSD-derived (http://www.repoze.org/LICENSE.txt)"; } ];
1451 };
1481 };
1452 };
1482 };
1453 "pysqlite" = super.buildPythonPackage {
1483 "pysqlite" = super.buildPythonPackage {
1454 name = "pysqlite-2.8.3";
1484 name = "pysqlite-2.8.3";
1455 doCheck = false;
1485 doCheck = false;
1456 src = fetchurl {
1486 src = fetchurl {
1457 url = "https://files.pythonhosted.org/packages/42/02/981b6703e3c83c5b25a829c6e77aad059f9481b0bbacb47e6e8ca12bd731/pysqlite-2.8.3.tar.gz";
1487 url = "https://files.pythonhosted.org/packages/42/02/981b6703e3c83c5b25a829c6e77aad059f9481b0bbacb47e6e8ca12bd731/pysqlite-2.8.3.tar.gz";
1458 sha256 = "1424gwq9sil2ffmnizk60q36vydkv8rxs6m7xs987kz8cdc37lqp";
1488 sha256 = "1424gwq9sil2ffmnizk60q36vydkv8rxs6m7xs987kz8cdc37lqp";
1459 };
1489 };
1460 meta = {
1490 meta = {
1461 license = [ { fullName = "zlib/libpng License"; } { fullName = "zlib/libpng license"; } ];
1491 license = [ { fullName = "zlib/libpng License"; } { fullName = "zlib/libpng license"; } ];
1462 };
1492 };
1463 };
1493 };
1464 "pytest" = super.buildPythonPackage {
1494 "pytest" = super.buildPythonPackage {
1465 name = "pytest-3.8.2";
1495 name = "pytest-3.8.2";
1466 doCheck = false;
1496 doCheck = false;
1467 propagatedBuildInputs = [
1497 propagatedBuildInputs = [
1468 self."py"
1498 self."py"
1469 self."six"
1499 self."six"
1470 self."setuptools"
1500 self."setuptools"
1471 self."attrs"
1501 self."attrs"
1472 self."more-itertools"
1502 self."more-itertools"
1473 self."atomicwrites"
1503 self."atomicwrites"
1474 self."pluggy"
1504 self."pluggy"
1475 self."funcsigs"
1505 self."funcsigs"
1476 self."pathlib2"
1506 self."pathlib2"
1477 ];
1507 ];
1478 src = fetchurl {
1508 src = fetchurl {
1479 url = "https://files.pythonhosted.org/packages/5f/d2/7f77f406ac505abda02ab4afb50d06ebf304f6ea42fca34f8f37529106b2/pytest-3.8.2.tar.gz";
1509 url = "https://files.pythonhosted.org/packages/5f/d2/7f77f406ac505abda02ab4afb50d06ebf304f6ea42fca34f8f37529106b2/pytest-3.8.2.tar.gz";
1480 sha256 = "18nrwzn61kph2y6gxwfz9ms68rfvr9d4vcffsxng9p7jk9z18clk";
1510 sha256 = "18nrwzn61kph2y6gxwfz9ms68rfvr9d4vcffsxng9p7jk9z18clk";
1481 };
1511 };
1482 meta = {
1512 meta = {
1483 license = [ pkgs.lib.licenses.mit ];
1513 license = [ pkgs.lib.licenses.mit ];
1484 };
1514 };
1485 };
1515 };
1486 "pytest-cov" = super.buildPythonPackage {
1516 "pytest-cov" = super.buildPythonPackage {
1487 name = "pytest-cov-2.6.0";
1517 name = "pytest-cov-2.6.0";
1488 doCheck = false;
1518 doCheck = false;
1489 propagatedBuildInputs = [
1519 propagatedBuildInputs = [
1490 self."pytest"
1520 self."pytest"
1491 self."coverage"
1521 self."coverage"
1492 ];
1522 ];
1493 src = fetchurl {
1523 src = fetchurl {
1494 url = "https://files.pythonhosted.org/packages/d9/e2/58f90a316fbd94dd50bf5c826a23f3f5d079fb3cc448c1e9f0e3c33a3d2a/pytest-cov-2.6.0.tar.gz";
1524 url = "https://files.pythonhosted.org/packages/d9/e2/58f90a316fbd94dd50bf5c826a23f3f5d079fb3cc448c1e9f0e3c33a3d2a/pytest-cov-2.6.0.tar.gz";
1495 sha256 = "0qnpp9y3ygx4jk4pf5ad71fh2skbvnr6gl54m7rg5qysnx4g0q73";
1525 sha256 = "0qnpp9y3ygx4jk4pf5ad71fh2skbvnr6gl54m7rg5qysnx4g0q73";
1496 };
1526 };
1497 meta = {
1527 meta = {
1498 license = [ pkgs.lib.licenses.bsdOriginal pkgs.lib.licenses.mit ];
1528 license = [ pkgs.lib.licenses.bsdOriginal pkgs.lib.licenses.mit ];
1499 };
1529 };
1500 };
1530 };
1501 "pytest-profiling" = super.buildPythonPackage {
1531 "pytest-profiling" = super.buildPythonPackage {
1502 name = "pytest-profiling-1.3.0";
1532 name = "pytest-profiling-1.3.0";
1503 doCheck = false;
1533 doCheck = false;
1504 propagatedBuildInputs = [
1534 propagatedBuildInputs = [
1505 self."six"
1535 self."six"
1506 self."pytest"
1536 self."pytest"
1507 self."gprof2dot"
1537 self."gprof2dot"
1508 ];
1538 ];
1509 src = fetchurl {
1539 src = fetchurl {
1510 url = "https://files.pythonhosted.org/packages/f5/34/4626126e041a51ef50a80d0619519b18d20aef249aac25b0d0fdd47e57ee/pytest-profiling-1.3.0.tar.gz";
1540 url = "https://files.pythonhosted.org/packages/f5/34/4626126e041a51ef50a80d0619519b18d20aef249aac25b0d0fdd47e57ee/pytest-profiling-1.3.0.tar.gz";
1511 sha256 = "08r5afx5z22yvpmsnl91l4amsy1yxn8qsmm61mhp06mz8zjs51kb";
1541 sha256 = "08r5afx5z22yvpmsnl91l4amsy1yxn8qsmm61mhp06mz8zjs51kb";
1512 };
1542 };
1513 meta = {
1543 meta = {
1514 license = [ pkgs.lib.licenses.mit ];
1544 license = [ pkgs.lib.licenses.mit ];
1515 };
1545 };
1516 };
1546 };
1517 "pytest-runner" = super.buildPythonPackage {
1547 "pytest-runner" = super.buildPythonPackage {
1518 name = "pytest-runner-4.2";
1548 name = "pytest-runner-4.2";
1519 doCheck = false;
1549 doCheck = false;
1520 src = fetchurl {
1550 src = fetchurl {
1521 url = "https://files.pythonhosted.org/packages/9e/b7/fe6e8f87f9a756fd06722216f1b6698ccba4d269eac6329d9f0c441d0f93/pytest-runner-4.2.tar.gz";
1551 url = "https://files.pythonhosted.org/packages/9e/b7/fe6e8f87f9a756fd06722216f1b6698ccba4d269eac6329d9f0c441d0f93/pytest-runner-4.2.tar.gz";
1522 sha256 = "1gkpyphawxz38ni1gdq1fmwyqcg02m7ypzqvv46z06crwdxi2gyj";
1552 sha256 = "1gkpyphawxz38ni1gdq1fmwyqcg02m7ypzqvv46z06crwdxi2gyj";
1523 };
1553 };
1524 meta = {
1554 meta = {
1525 license = [ pkgs.lib.licenses.mit ];
1555 license = [ pkgs.lib.licenses.mit ];
1526 };
1556 };
1527 };
1557 };
1528 "pytest-sugar" = super.buildPythonPackage {
1558 "pytest-sugar" = super.buildPythonPackage {
1529 name = "pytest-sugar-0.9.1";
1559 name = "pytest-sugar-0.9.1";
1530 doCheck = false;
1560 doCheck = false;
1531 propagatedBuildInputs = [
1561 propagatedBuildInputs = [
1532 self."pytest"
1562 self."pytest"
1533 self."termcolor"
1563 self."termcolor"
1534 ];
1564 ];
1535 src = fetchurl {
1565 src = fetchurl {
1536 url = "https://files.pythonhosted.org/packages/3e/6a/a3f909083079d03bde11d06ab23088886bbe25f2c97fbe4bb865e2bf05bc/pytest-sugar-0.9.1.tar.gz";
1566 url = "https://files.pythonhosted.org/packages/3e/6a/a3f909083079d03bde11d06ab23088886bbe25f2c97fbe4bb865e2bf05bc/pytest-sugar-0.9.1.tar.gz";
1537 sha256 = "0b4av40dv30727m54v211r0nzwjp2ajkjgxix6j484qjmwpw935b";
1567 sha256 = "0b4av40dv30727m54v211r0nzwjp2ajkjgxix6j484qjmwpw935b";
1538 };
1568 };
1539 meta = {
1569 meta = {
1540 license = [ pkgs.lib.licenses.bsdOriginal ];
1570 license = [ pkgs.lib.licenses.bsdOriginal ];
1541 };
1571 };
1542 };
1572 };
1543 "pytest-timeout" = super.buildPythonPackage {
1573 "pytest-timeout" = super.buildPythonPackage {
1544 name = "pytest-timeout-1.3.2";
1574 name = "pytest-timeout-1.3.2";
1545 doCheck = false;
1575 doCheck = false;
1546 propagatedBuildInputs = [
1576 propagatedBuildInputs = [
1547 self."pytest"
1577 self."pytest"
1548 ];
1578 ];
1549 src = fetchurl {
1579 src = fetchurl {
1550 url = "https://files.pythonhosted.org/packages/8c/3e/1b6a319d12ae7baa3acb7c18ff2c8630a09471a0319d43535c683b4d03eb/pytest-timeout-1.3.2.tar.gz";
1580 url = "https://files.pythonhosted.org/packages/8c/3e/1b6a319d12ae7baa3acb7c18ff2c8630a09471a0319d43535c683b4d03eb/pytest-timeout-1.3.2.tar.gz";
1551 sha256 = "09wnmzvnls2mnsdz7x3c3sk2zdp6jl4dryvyj5i8hqz16q2zq5qi";
1581 sha256 = "09wnmzvnls2mnsdz7x3c3sk2zdp6jl4dryvyj5i8hqz16q2zq5qi";
1552 };
1582 };
1553 meta = {
1583 meta = {
1554 license = [ pkgs.lib.licenses.mit { fullName = "DFSG approved"; } ];
1584 license = [ pkgs.lib.licenses.mit { fullName = "DFSG approved"; } ];
1555 };
1585 };
1556 };
1586 };
1557 "python-dateutil" = super.buildPythonPackage {
1587 "python-dateutil" = super.buildPythonPackage {
1558 name = "python-dateutil-2.8.0";
1588 name = "python-dateutil-2.8.0";
1559 doCheck = false;
1589 doCheck = false;
1560 propagatedBuildInputs = [
1590 propagatedBuildInputs = [
1561 self."six"
1591 self."six"
1562 ];
1592 ];
1563 src = fetchurl {
1593 src = fetchurl {
1564 url = "https://files.pythonhosted.org/packages/ad/99/5b2e99737edeb28c71bcbec5b5dda19d0d9ef3ca3e92e3e925e7c0bb364c/python-dateutil-2.8.0.tar.gz";
1594 url = "https://files.pythonhosted.org/packages/ad/99/5b2e99737edeb28c71bcbec5b5dda19d0d9ef3ca3e92e3e925e7c0bb364c/python-dateutil-2.8.0.tar.gz";
1565 sha256 = "17nsfhy4xdz1khrfxa61vd7pmvd5z0wa3zb6v4gb4kfnykv0b668";
1595 sha256 = "17nsfhy4xdz1khrfxa61vd7pmvd5z0wa3zb6v4gb4kfnykv0b668";
1566 };
1596 };
1567 meta = {
1597 meta = {
1568 license = [ pkgs.lib.licenses.bsdOriginal pkgs.lib.licenses.asl20 { fullName = "Dual License"; } ];
1598 license = [ pkgs.lib.licenses.bsdOriginal pkgs.lib.licenses.asl20 { fullName = "Dual License"; } ];
1569 };
1599 };
1570 };
1600 };
1571 "python-editor" = super.buildPythonPackage {
1601 "python-editor" = super.buildPythonPackage {
1572 name = "python-editor-1.0.4";
1602 name = "python-editor-1.0.4";
1573 doCheck = false;
1603 doCheck = false;
1574 src = fetchurl {
1604 src = fetchurl {
1575 url = "https://files.pythonhosted.org/packages/0a/85/78f4a216d28343a67b7397c99825cff336330893f00601443f7c7b2f2234/python-editor-1.0.4.tar.gz";
1605 url = "https://files.pythonhosted.org/packages/0a/85/78f4a216d28343a67b7397c99825cff336330893f00601443f7c7b2f2234/python-editor-1.0.4.tar.gz";
1576 sha256 = "0yrjh8w72ivqxi4i7xsg5b1vz15x8fg51xra7c3bgfyxqnyadzai";
1606 sha256 = "0yrjh8w72ivqxi4i7xsg5b1vz15x8fg51xra7c3bgfyxqnyadzai";
1577 };
1607 };
1578 meta = {
1608 meta = {
1579 license = [ pkgs.lib.licenses.asl20 { fullName = "Apache"; } ];
1609 license = [ pkgs.lib.licenses.asl20 { fullName = "Apache"; } ];
1580 };
1610 };
1581 };
1611 };
1582 "python-ldap" = super.buildPythonPackage {
1612 "python-ldap" = super.buildPythonPackage {
1583 name = "python-ldap-3.1.0";
1613 name = "python-ldap-3.1.0";
1584 doCheck = false;
1614 doCheck = false;
1585 propagatedBuildInputs = [
1615 propagatedBuildInputs = [
1586 self."pyasn1"
1616 self."pyasn1"
1587 self."pyasn1-modules"
1617 self."pyasn1-modules"
1588 ];
1618 ];
1589 src = fetchurl {
1619 src = fetchurl {
1590 url = "https://files.pythonhosted.org/packages/7f/1c/28d721dff2fcd2fef9d55b40df63a00be26ec8a11e8c6fc612ae642f9cfd/python-ldap-3.1.0.tar.gz";
1620 url = "https://files.pythonhosted.org/packages/7f/1c/28d721dff2fcd2fef9d55b40df63a00be26ec8a11e8c6fc612ae642f9cfd/python-ldap-3.1.0.tar.gz";
1591 sha256 = "1i97nwfnraylyn0myxlf3vciicrf5h6fymrcff9c00k581wmx5s1";
1621 sha256 = "1i97nwfnraylyn0myxlf3vciicrf5h6fymrcff9c00k581wmx5s1";
1592 };
1622 };
1593 meta = {
1623 meta = {
1594 license = [ pkgs.lib.licenses.psfl ];
1624 license = [ pkgs.lib.licenses.psfl ];
1595 };
1625 };
1596 };
1626 };
1597 "python-memcached" = super.buildPythonPackage {
1627 "python-memcached" = super.buildPythonPackage {
1598 name = "python-memcached-1.59";
1628 name = "python-memcached-1.59";
1599 doCheck = false;
1629 doCheck = false;
1600 propagatedBuildInputs = [
1630 propagatedBuildInputs = [
1601 self."six"
1631 self."six"
1602 ];
1632 ];
1603 src = fetchurl {
1633 src = fetchurl {
1604 url = "https://files.pythonhosted.org/packages/90/59/5faf6e3cd8a568dd4f737ddae4f2e54204fd8c51f90bf8df99aca6c22318/python-memcached-1.59.tar.gz";
1634 url = "https://files.pythonhosted.org/packages/90/59/5faf6e3cd8a568dd4f737ddae4f2e54204fd8c51f90bf8df99aca6c22318/python-memcached-1.59.tar.gz";
1605 sha256 = "0kvyapavbirk2x3n1jx4yb9nyigrj1s3x15nm3qhpvhkpqvqdqm2";
1635 sha256 = "0kvyapavbirk2x3n1jx4yb9nyigrj1s3x15nm3qhpvhkpqvqdqm2";
1606 };
1636 };
1607 meta = {
1637 meta = {
1608 license = [ pkgs.lib.licenses.psfl ];
1638 license = [ pkgs.lib.licenses.psfl ];
1609 };
1639 };
1610 };
1640 };
1611 "python-pam" = super.buildPythonPackage {
1641 "python-pam" = super.buildPythonPackage {
1612 name = "python-pam-1.8.4";
1642 name = "python-pam-1.8.4";
1613 doCheck = false;
1643 doCheck = false;
1614 src = fetchurl {
1644 src = fetchurl {
1615 url = "https://files.pythonhosted.org/packages/01/16/544d01cae9f28e0292dbd092b6b8b0bf222b528f362ee768a5bed2140111/python-pam-1.8.4.tar.gz";
1645 url = "https://files.pythonhosted.org/packages/01/16/544d01cae9f28e0292dbd092b6b8b0bf222b528f362ee768a5bed2140111/python-pam-1.8.4.tar.gz";
1616 sha256 = "16whhc0vr7gxsbzvsnq65nq8fs3wwmx755cavm8kkczdkz4djmn8";
1646 sha256 = "16whhc0vr7gxsbzvsnq65nq8fs3wwmx755cavm8kkczdkz4djmn8";
1617 };
1647 };
1618 meta = {
1648 meta = {
1619 license = [ { fullName = "License :: OSI Approved :: MIT License"; } pkgs.lib.licenses.mit ];
1649 license = [ { fullName = "License :: OSI Approved :: MIT License"; } pkgs.lib.licenses.mit ];
1620 };
1650 };
1621 };
1651 };
1622 "python-saml" = super.buildPythonPackage {
1652 "python-saml" = super.buildPythonPackage {
1623 name = "python-saml-2.4.2";
1653 name = "python-saml-2.4.2";
1624 doCheck = false;
1654 doCheck = false;
1625 propagatedBuildInputs = [
1655 propagatedBuildInputs = [
1626 self."dm.xmlsec.binding"
1656 self."dm.xmlsec.binding"
1627 self."isodate"
1657 self."isodate"
1628 self."defusedxml"
1658 self."defusedxml"
1629 ];
1659 ];
1630 src = fetchurl {
1660 src = fetchurl {
1631 url = "https://files.pythonhosted.org/packages/79/a8/a6611017e0883102fd5e2b73c9d90691b8134e38247c04ee1531d3dc647c/python-saml-2.4.2.tar.gz";
1661 url = "https://files.pythonhosted.org/packages/79/a8/a6611017e0883102fd5e2b73c9d90691b8134e38247c04ee1531d3dc647c/python-saml-2.4.2.tar.gz";
1632 sha256 = "0dls4hwvf13yg7x5yfjrghbywg8g38vn5vr0rsf70hli3ydbfm43";
1662 sha256 = "0dls4hwvf13yg7x5yfjrghbywg8g38vn5vr0rsf70hli3ydbfm43";
1633 };
1663 };
1634 meta = {
1664 meta = {
1635 license = [ pkgs.lib.licenses.mit ];
1665 license = [ pkgs.lib.licenses.mit ];
1636 };
1666 };
1637 };
1667 };
1638 "pytz" = super.buildPythonPackage {
1668 "pytz" = super.buildPythonPackage {
1639 name = "pytz-2018.4";
1669 name = "pytz-2019.2";
1640 doCheck = false;
1670 doCheck = false;
1641 src = fetchurl {
1671 src = fetchurl {
1642 url = "https://files.pythonhosted.org/packages/10/76/52efda4ef98e7544321fd8d5d512e11739c1df18b0649551aeccfb1c8376/pytz-2018.4.tar.gz";
1672 url = "https://files.pythonhosted.org/packages/27/c0/fbd352ca76050952a03db776d241959d5a2ee1abddfeb9e2a53fdb489be4/pytz-2019.2.tar.gz";
1643 sha256 = "0jgpqx3kk2rhv81j1izjxvmx8d0x7hzs1857pgqnixic5wq2ar60";
1673 sha256 = "0ckb27hhjc8i8gcdvk4d9avld62b7k52yjijc60s2m3y8cpb7h16";
1644 };
1674 };
1645 meta = {
1675 meta = {
1646 license = [ pkgs.lib.licenses.mit ];
1676 license = [ pkgs.lib.licenses.mit ];
1647 };
1677 };
1648 };
1678 };
1649 "pyzmq" = super.buildPythonPackage {
1679 "pyzmq" = super.buildPythonPackage {
1650 name = "pyzmq-14.6.0";
1680 name = "pyzmq-14.6.0";
1651 doCheck = false;
1681 doCheck = false;
1652 src = fetchurl {
1682 src = fetchurl {
1653 url = "https://files.pythonhosted.org/packages/8a/3b/5463d5a9d712cd8bbdac335daece0d69f6a6792da4e3dd89956c0db4e4e6/pyzmq-14.6.0.tar.gz";
1683 url = "https://files.pythonhosted.org/packages/8a/3b/5463d5a9d712cd8bbdac335daece0d69f6a6792da4e3dd89956c0db4e4e6/pyzmq-14.6.0.tar.gz";
1654 sha256 = "1frmbjykvhmdg64g7sn20c9fpamrsfxwci1nhhg8q7jgz5pq0ikp";
1684 sha256 = "1frmbjykvhmdg64g7sn20c9fpamrsfxwci1nhhg8q7jgz5pq0ikp";
1655 };
1685 };
1656 meta = {
1686 meta = {
1657 license = [ pkgs.lib.licenses.bsdOriginal { fullName = "LGPL+BSD"; } { fullName = "GNU Library or Lesser General Public License (LGPL)"; } ];
1687 license = [ pkgs.lib.licenses.bsdOriginal { fullName = "LGPL+BSD"; } { fullName = "GNU Library or Lesser General Public License (LGPL)"; } ];
1658 };
1688 };
1659 };
1689 };
1660 "redis" = super.buildPythonPackage {
1690 "redis" = super.buildPythonPackage {
1661 name = "redis-3.3.8";
1691 name = "redis-3.3.8";
1662 doCheck = false;
1692 doCheck = false;
1663 src = fetchurl {
1693 src = fetchurl {
1664 url = "https://files.pythonhosted.org/packages/d7/e9/549305f1c2480f8c24abadfaa71c20967cc3269769073b59960e9a566072/redis-3.3.8.tar.gz";
1694 url = "https://files.pythonhosted.org/packages/d7/e9/549305f1c2480f8c24abadfaa71c20967cc3269769073b59960e9a566072/redis-3.3.8.tar.gz";
1665 sha256 = "0fyxzqax7lcwzwhvnz0i0q6v62hxyv1mv52ywx3bpff9a2vjz8lq";
1695 sha256 = "0fyxzqax7lcwzwhvnz0i0q6v62hxyv1mv52ywx3bpff9a2vjz8lq";
1666 };
1696 };
1667 meta = {
1697 meta = {
1668 license = [ pkgs.lib.licenses.mit ];
1698 license = [ pkgs.lib.licenses.mit ];
1669 };
1699 };
1670 };
1700 };
1671 "repoze.lru" = super.buildPythonPackage {
1701 "repoze.lru" = super.buildPythonPackage {
1672 name = "repoze.lru-0.7";
1702 name = "repoze.lru-0.7";
1673 doCheck = false;
1703 doCheck = false;
1674 src = fetchurl {
1704 src = fetchurl {
1675 url = "https://files.pythonhosted.org/packages/12/bc/595a77c4b5e204847fdf19268314ef59c85193a9dc9f83630fc459c0fee5/repoze.lru-0.7.tar.gz";
1705 url = "https://files.pythonhosted.org/packages/12/bc/595a77c4b5e204847fdf19268314ef59c85193a9dc9f83630fc459c0fee5/repoze.lru-0.7.tar.gz";
1676 sha256 = "0xzz1aw2smy8hdszrq8yhnklx6w1r1mf55061kalw3iq35gafa84";
1706 sha256 = "0xzz1aw2smy8hdszrq8yhnklx6w1r1mf55061kalw3iq35gafa84";
1677 };
1707 };
1678 meta = {
1708 meta = {
1679 license = [ { fullName = "Repoze Public License"; } { fullName = "BSD-derived (http://www.repoze.org/LICENSE.txt)"; } ];
1709 license = [ { fullName = "Repoze Public License"; } { fullName = "BSD-derived (http://www.repoze.org/LICENSE.txt)"; } ];
1680 };
1710 };
1681 };
1711 };
1682 "repoze.sendmail" = super.buildPythonPackage {
1712 "repoze.sendmail" = super.buildPythonPackage {
1683 name = "repoze.sendmail-4.4.1";
1713 name = "repoze.sendmail-4.4.1";
1684 doCheck = false;
1714 doCheck = false;
1685 propagatedBuildInputs = [
1715 propagatedBuildInputs = [
1686 self."setuptools"
1716 self."setuptools"
1687 self."zope.interface"
1717 self."zope.interface"
1688 self."transaction"
1718 self."transaction"
1689 ];
1719 ];
1690 src = fetchurl {
1720 src = fetchurl {
1691 url = "https://files.pythonhosted.org/packages/12/4e/8ef1fd5c42765d712427b9c391419a77bd48877886d2cbc5e9f23c8cad9b/repoze.sendmail-4.4.1.tar.gz";
1721 url = "https://files.pythonhosted.org/packages/12/4e/8ef1fd5c42765d712427b9c391419a77bd48877886d2cbc5e9f23c8cad9b/repoze.sendmail-4.4.1.tar.gz";
1692 sha256 = "096ln02jr2afk7ab9j2czxqv2ryqq7m86ah572nqplx52iws73ks";
1722 sha256 = "096ln02jr2afk7ab9j2czxqv2ryqq7m86ah572nqplx52iws73ks";
1693 };
1723 };
1694 meta = {
1724 meta = {
1695 license = [ pkgs.lib.licenses.zpl21 ];
1725 license = [ pkgs.lib.licenses.zpl21 ];
1696 };
1726 };
1697 };
1727 };
1698 "requests" = super.buildPythonPackage {
1728 "requests" = super.buildPythonPackage {
1699 name = "requests-2.9.1";
1729 name = "requests-2.9.1";
1700 doCheck = false;
1730 doCheck = false;
1701 src = fetchurl {
1731 src = fetchurl {
1702 url = "https://files.pythonhosted.org/packages/f9/6d/07c44fb1ebe04d069459a189e7dab9e4abfe9432adcd4477367c25332748/requests-2.9.1.tar.gz";
1732 url = "https://files.pythonhosted.org/packages/f9/6d/07c44fb1ebe04d069459a189e7dab9e4abfe9432adcd4477367c25332748/requests-2.9.1.tar.gz";
1703 sha256 = "0zsqrzlybf25xscgi7ja4s48y2abf9wvjkn47wh984qgs1fq2xy5";
1733 sha256 = "0zsqrzlybf25xscgi7ja4s48y2abf9wvjkn47wh984qgs1fq2xy5";
1704 };
1734 };
1705 meta = {
1735 meta = {
1706 license = [ pkgs.lib.licenses.asl20 ];
1736 license = [ pkgs.lib.licenses.asl20 ];
1707 };
1737 };
1708 };
1738 };
1709 "rhodecode-enterprise-ce" = super.buildPythonPackage {
1739 "rhodecode-enterprise-ce" = super.buildPythonPackage {
1710 name = "rhodecode-enterprise-ce-4.18.0";
1740 name = "rhodecode-enterprise-ce-4.18.0";
1711 buildInputs = [
1741 buildInputs = [
1712 self."pytest"
1742 self."pytest"
1713 self."py"
1743 self."py"
1714 self."pytest-cov"
1744 self."pytest-cov"
1715 self."pytest-sugar"
1745 self."pytest-sugar"
1716 self."pytest-runner"
1746 self."pytest-runner"
1717 self."pytest-profiling"
1747 self."pytest-profiling"
1718 self."pytest-timeout"
1748 self."pytest-timeout"
1719 self."gprof2dot"
1749 self."gprof2dot"
1720 self."mock"
1750 self."mock"
1721 self."cov-core"
1751 self."cov-core"
1722 self."coverage"
1752 self."coverage"
1723 self."webtest"
1753 self."webtest"
1724 self."beautifulsoup4"
1754 self."beautifulsoup4"
1725 self."configobj"
1755 self."configobj"
1726 ];
1756 ];
1727 doCheck = true;
1757 doCheck = true;
1728 propagatedBuildInputs = [
1758 propagatedBuildInputs = [
1729 self."amqp"
1759 self."amqp"
1730 self."babel"
1760 self."babel"
1731 self."beaker"
1761 self."beaker"
1732 self."bleach"
1762 self."bleach"
1733 self."celery"
1763 self."celery"
1734 self."channelstream"
1764 self."channelstream"
1735 self."click"
1765 self."click"
1736 self."colander"
1766 self."colander"
1737 self."configobj"
1767 self."configobj"
1738 self."cssselect"
1768 self."cssselect"
1739 self."cryptography"
1769 self."cryptography"
1740 self."decorator"
1770 self."decorator"
1741 self."deform"
1771 self."deform"
1742 self."docutils"
1772 self."docutils"
1743 self."dogpile.cache"
1773 self."dogpile.cache"
1744 self."dogpile.core"
1774 self."dogpile.core"
1745 self."formencode"
1775 self."formencode"
1746 self."future"
1776 self."future"
1747 self."futures"
1777 self."futures"
1748 self."infrae.cache"
1778 self."infrae.cache"
1749 self."iso8601"
1779 self."iso8601"
1750 self."itsdangerous"
1780 self."itsdangerous"
1751 self."kombu"
1781 self."kombu"
1752 self."lxml"
1782 self."lxml"
1753 self."mako"
1783 self."mako"
1754 self."markdown"
1784 self."markdown"
1755 self."markupsafe"
1785 self."markupsafe"
1756 self."msgpack-python"
1786 self."msgpack-python"
1757 self."pyotp"
1787 self."pyotp"
1758 self."packaging"
1788 self."packaging"
1759 self."pathlib2"
1789 self."pathlib2"
1760 self."paste"
1790 self."paste"
1761 self."pastedeploy"
1791 self."pastedeploy"
1762 self."pastescript"
1792 self."pastescript"
1763 self."peppercorn"
1793 self."peppercorn"
1764 self."psutil"
1794 self."psutil"
1765 self."py-bcrypt"
1795 self."py-bcrypt"
1766 self."pycurl"
1796 self."pycurl"
1767 self."pycrypto"
1797 self."pycrypto"
1768 self."pygments"
1798 self."pygments"
1769 self."pyparsing"
1799 self."pyparsing"
1770 self."pyramid-debugtoolbar"
1800 self."pyramid-debugtoolbar"
1771 self."pyramid-mako"
1801 self."pyramid-mako"
1772 self."pyramid"
1802 self."pyramid"
1773 self."pyramid-mailer"
1803 self."pyramid-mailer"
1774 self."python-dateutil"
1804 self."python-dateutil"
1775 self."python-ldap"
1805 self."python-ldap"
1776 self."python-memcached"
1806 self."python-memcached"
1777 self."python-pam"
1807 self."python-pam"
1778 self."python-saml"
1808 self."python-saml"
1779 self."pytz"
1809 self."pytz"
1780 self."tzlocal"
1810 self."tzlocal"
1781 self."pyzmq"
1811 self."pyzmq"
1782 self."py-gfm"
1812 self."py-gfm"
1783 self."redis"
1813 self."redis"
1784 self."repoze.lru"
1814 self."repoze.lru"
1785 self."requests"
1815 self."requests"
1786 self."routes"
1816 self."routes"
1787 self."simplejson"
1817 self."simplejson"
1788 self."six"
1818 self."six"
1789 self."sqlalchemy"
1819 self."sqlalchemy"
1790 self."sshpubkeys"
1820 self."sshpubkeys"
1791 self."subprocess32"
1821 self."subprocess32"
1792 self."supervisor"
1822 self."supervisor"
1793 self."translationstring"
1823 self."translationstring"
1794 self."urllib3"
1824 self."urllib3"
1795 self."urlobject"
1825 self."urlobject"
1796 self."venusian"
1826 self."venusian"
1797 self."weberror"
1827 self."weberror"
1798 self."webhelpers2"
1828 self."webhelpers2"
1799 self."webhelpers"
1829 self."webhelpers"
1800 self."webob"
1830 self."webob"
1801 self."whoosh"
1831 self."whoosh"
1802 self."wsgiref"
1832 self."wsgiref"
1803 self."zope.cachedescriptors"
1833 self."zope.cachedescriptors"
1804 self."zope.deprecation"
1834 self."zope.deprecation"
1805 self."zope.event"
1835 self."zope.event"
1806 self."zope.interface"
1836 self."zope.interface"
1807 self."mysql-python"
1837 self."mysql-python"
1808 self."pymysql"
1838 self."pymysql"
1809 self."pysqlite"
1839 self."pysqlite"
1810 self."psycopg2"
1840 self."psycopg2"
1811 self."nbconvert"
1841 self."nbconvert"
1812 self."nbformat"
1842 self."nbformat"
1813 self."jupyter-client"
1843 self."jupyter-client"
1814 self."alembic"
1844 self."alembic"
1815 self."invoke"
1845 self."invoke"
1816 self."bumpversion"
1846 self."bumpversion"
1817 self."gevent"
1847 self."gevent"
1818 self."greenlet"
1848 self."greenlet"
1819 self."gunicorn"
1849 self."gunicorn"
1820 self."waitress"
1850 self."waitress"
1821 self."ipdb"
1851 self."ipdb"
1822 self."ipython"
1852 self."ipython"
1823 self."rhodecode-tools"
1853 self."rhodecode-tools"
1824 self."appenlight-client"
1854 self."appenlight-client"
1825 self."pytest"
1855 self."pytest"
1826 self."py"
1856 self."py"
1827 self."pytest-cov"
1857 self."pytest-cov"
1828 self."pytest-sugar"
1858 self."pytest-sugar"
1829 self."pytest-runner"
1859 self."pytest-runner"
1830 self."pytest-profiling"
1860 self."pytest-profiling"
1831 self."pytest-timeout"
1861 self."pytest-timeout"
1832 self."gprof2dot"
1862 self."gprof2dot"
1833 self."mock"
1863 self."mock"
1834 self."cov-core"
1864 self."cov-core"
1835 self."coverage"
1865 self."coverage"
1836 self."webtest"
1866 self."webtest"
1837 self."beautifulsoup4"
1867 self."beautifulsoup4"
1838 ];
1868 ];
1839 src = ./.;
1869 src = ./.;
1840 meta = {
1870 meta = {
1841 license = [ { fullName = "Affero GNU General Public License v3 or later (AGPLv3+)"; } { fullName = "AGPLv3, and Commercial License"; } ];
1871 license = [ { fullName = "Affero GNU General Public License v3 or later (AGPLv3+)"; } { fullName = "AGPLv3, and Commercial License"; } ];
1842 };
1872 };
1843 };
1873 };
1844 "rhodecode-tools" = super.buildPythonPackage {
1874 "rhodecode-tools" = super.buildPythonPackage {
1845 name = "rhodecode-tools-1.2.1";
1875 name = "rhodecode-tools-1.2.1";
1846 doCheck = false;
1876 doCheck = false;
1847 propagatedBuildInputs = [
1877 propagatedBuildInputs = [
1848 self."click"
1878 self."click"
1849 self."future"
1879 self."future"
1850 self."six"
1880 self."six"
1851 self."mako"
1881 self."mako"
1852 self."markupsafe"
1882 self."markupsafe"
1853 self."requests"
1883 self."requests"
1854 self."urllib3"
1884 self."urllib3"
1855 self."whoosh"
1885 self."whoosh"
1856 self."elasticsearch"
1886 self."elasticsearch"
1857 self."elasticsearch-dsl"
1887 self."elasticsearch-dsl"
1858 self."elasticsearch2"
1888 self."elasticsearch2"
1859 self."elasticsearch1-dsl"
1889 self."elasticsearch1-dsl"
1860 ];
1890 ];
1861 src = fetchurl {
1891 src = fetchurl {
1862 url = "https://code.rhodecode.com/rhodecode-tools-ce/artifacts/download/0-10ac93f4-bb7d-4b97-baea-68110743dd5a.tar.gz?md5=962dc77c06aceee62282b98d33149661";
1892 url = "https://code.rhodecode.com/rhodecode-tools-ce/artifacts/download/0-10ac93f4-bb7d-4b97-baea-68110743dd5a.tar.gz?md5=962dc77c06aceee62282b98d33149661";
1863 sha256 = "1vfhgf46inbx7jvlfx4fdzh3vz7lh37r291gzb5hx447pfm3qllg";
1893 sha256 = "1vfhgf46inbx7jvlfx4fdzh3vz7lh37r291gzb5hx447pfm3qllg";
1864 };
1894 };
1865 meta = {
1895 meta = {
1866 license = [ { fullName = "Apache 2.0 and Proprietary"; } ];
1896 license = [ { fullName = "Apache 2.0 and Proprietary"; } ];
1867 };
1897 };
1868 };
1898 };
1869 "routes" = super.buildPythonPackage {
1899 "routes" = super.buildPythonPackage {
1870 name = "routes-2.4.1";
1900 name = "routes-2.4.1";
1871 doCheck = false;
1901 doCheck = false;
1872 propagatedBuildInputs = [
1902 propagatedBuildInputs = [
1873 self."six"
1903 self."six"
1874 self."repoze.lru"
1904 self."repoze.lru"
1875 ];
1905 ];
1876 src = fetchurl {
1906 src = fetchurl {
1877 url = "https://files.pythonhosted.org/packages/33/38/ea827837e68d9c7dde4cff7ec122a93c319f0effc08ce92a17095576603f/Routes-2.4.1.tar.gz";
1907 url = "https://files.pythonhosted.org/packages/33/38/ea827837e68d9c7dde4cff7ec122a93c319f0effc08ce92a17095576603f/Routes-2.4.1.tar.gz";
1878 sha256 = "1zamff3m0kc4vyfniyhxpkkcqv1rrgnmh37ykxv34nna1ws47vi6";
1908 sha256 = "1zamff3m0kc4vyfniyhxpkkcqv1rrgnmh37ykxv34nna1ws47vi6";
1879 };
1909 };
1880 meta = {
1910 meta = {
1881 license = [ pkgs.lib.licenses.mit ];
1911 license = [ pkgs.lib.licenses.mit ];
1882 };
1912 };
1883 };
1913 };
1884 "scandir" = super.buildPythonPackage {
1914 "scandir" = super.buildPythonPackage {
1885 name = "scandir-1.10.0";
1915 name = "scandir-1.10.0";
1886 doCheck = false;
1916 doCheck = false;
1887 src = fetchurl {
1917 src = fetchurl {
1888 url = "https://files.pythonhosted.org/packages/df/f5/9c052db7bd54d0cbf1bc0bb6554362bba1012d03e5888950a4f5c5dadc4e/scandir-1.10.0.tar.gz";
1918 url = "https://files.pythonhosted.org/packages/df/f5/9c052db7bd54d0cbf1bc0bb6554362bba1012d03e5888950a4f5c5dadc4e/scandir-1.10.0.tar.gz";
1889 sha256 = "1bkqwmf056pkchf05ywbnf659wqlp6lljcdb0y88wr9f0vv32ijd";
1919 sha256 = "1bkqwmf056pkchf05ywbnf659wqlp6lljcdb0y88wr9f0vv32ijd";
1890 };
1920 };
1891 meta = {
1921 meta = {
1892 license = [ pkgs.lib.licenses.bsdOriginal { fullName = "New BSD License"; } ];
1922 license = [ pkgs.lib.licenses.bsdOriginal { fullName = "New BSD License"; } ];
1893 };
1923 };
1894 };
1924 };
1895 "setproctitle" = super.buildPythonPackage {
1925 "setproctitle" = super.buildPythonPackage {
1896 name = "setproctitle-1.1.10";
1926 name = "setproctitle-1.1.10";
1897 doCheck = false;
1927 doCheck = false;
1898 src = fetchurl {
1928 src = fetchurl {
1899 url = "https://files.pythonhosted.org/packages/5a/0d/dc0d2234aacba6cf1a729964383e3452c52096dc695581248b548786f2b3/setproctitle-1.1.10.tar.gz";
1929 url = "https://files.pythonhosted.org/packages/5a/0d/dc0d2234aacba6cf1a729964383e3452c52096dc695581248b548786f2b3/setproctitle-1.1.10.tar.gz";
1900 sha256 = "163kplw9dcrw0lffq1bvli5yws3rngpnvrxrzdw89pbphjjvg0v2";
1930 sha256 = "163kplw9dcrw0lffq1bvli5yws3rngpnvrxrzdw89pbphjjvg0v2";
1901 };
1931 };
1902 meta = {
1932 meta = {
1903 license = [ pkgs.lib.licenses.bsdOriginal ];
1933 license = [ pkgs.lib.licenses.bsdOriginal ];
1904 };
1934 };
1905 };
1935 };
1906 "setuptools" = super.buildPythonPackage {
1936 "setuptools" = super.buildPythonPackage {
1907 name = "setuptools-41.2.0";
1937 name = "setuptools-41.2.0";
1908 doCheck = false;
1938 doCheck = false;
1909 src = fetchurl {
1939 src = fetchurl {
1910 url = "https://files.pythonhosted.org/packages/d9/ca/7279974e489e8b65003fe618a1a741d6350227fa2bf48d16be76c7422423/setuptools-41.2.0.zip";
1940 url = "https://files.pythonhosted.org/packages/d9/ca/7279974e489e8b65003fe618a1a741d6350227fa2bf48d16be76c7422423/setuptools-41.2.0.zip";
1911 sha256 = "04k0dp9msmlv3g3zx7f5p8wdjr6hdf5c0bgmczlc4yncwyx6pf36";
1941 sha256 = "04k0dp9msmlv3g3zx7f5p8wdjr6hdf5c0bgmczlc4yncwyx6pf36";
1912 };
1942 };
1913 meta = {
1943 meta = {
1914 license = [ pkgs.lib.licenses.mit ];
1944 license = [ pkgs.lib.licenses.mit ];
1915 };
1945 };
1916 };
1946 };
1917 "simplegeneric" = super.buildPythonPackage {
1947 "simplegeneric" = super.buildPythonPackage {
1918 name = "simplegeneric-0.8.1";
1948 name = "simplegeneric-0.8.1";
1919 doCheck = false;
1949 doCheck = false;
1920 src = fetchurl {
1950 src = fetchurl {
1921 url = "https://files.pythonhosted.org/packages/3d/57/4d9c9e3ae9a255cd4e1106bb57e24056d3d0709fc01b2e3e345898e49d5b/simplegeneric-0.8.1.zip";
1951 url = "https://files.pythonhosted.org/packages/3d/57/4d9c9e3ae9a255cd4e1106bb57e24056d3d0709fc01b2e3e345898e49d5b/simplegeneric-0.8.1.zip";
1922 sha256 = "0wwi1c6md4vkbcsfsf8dklf3vr4mcdj4mpxkanwgb6jb1432x5yw";
1952 sha256 = "0wwi1c6md4vkbcsfsf8dklf3vr4mcdj4mpxkanwgb6jb1432x5yw";
1923 };
1953 };
1924 meta = {
1954 meta = {
1925 license = [ pkgs.lib.licenses.zpl21 ];
1955 license = [ pkgs.lib.licenses.zpl21 ];
1926 };
1956 };
1927 };
1957 };
1928 "simplejson" = super.buildPythonPackage {
1958 "simplejson" = super.buildPythonPackage {
1929 name = "simplejson-3.16.0";
1959 name = "simplejson-3.16.0";
1930 doCheck = false;
1960 doCheck = false;
1931 src = fetchurl {
1961 src = fetchurl {
1932 url = "https://files.pythonhosted.org/packages/e3/24/c35fb1c1c315fc0fffe61ea00d3f88e85469004713dab488dee4f35b0aff/simplejson-3.16.0.tar.gz";
1962 url = "https://files.pythonhosted.org/packages/e3/24/c35fb1c1c315fc0fffe61ea00d3f88e85469004713dab488dee4f35b0aff/simplejson-3.16.0.tar.gz";
1933 sha256 = "19cws1syk8jzq2pw43878dv6fjkb0ifvjpx0i9aajix6kc9jkwxi";
1963 sha256 = "19cws1syk8jzq2pw43878dv6fjkb0ifvjpx0i9aajix6kc9jkwxi";
1934 };
1964 };
1935 meta = {
1965 meta = {
1936 license = [ { fullName = "Academic Free License (AFL)"; } pkgs.lib.licenses.mit ];
1966 license = [ { fullName = "Academic Free License (AFL)"; } pkgs.lib.licenses.mit ];
1937 };
1967 };
1938 };
1968 };
1939 "six" = super.buildPythonPackage {
1969 "six" = super.buildPythonPackage {
1940 name = "six-1.11.0";
1970 name = "six-1.11.0";
1941 doCheck = false;
1971 doCheck = false;
1942 src = fetchurl {
1972 src = fetchurl {
1943 url = "https://files.pythonhosted.org/packages/16/d8/bc6316cf98419719bd59c91742194c111b6f2e85abac88e496adefaf7afe/six-1.11.0.tar.gz";
1973 url = "https://files.pythonhosted.org/packages/16/d8/bc6316cf98419719bd59c91742194c111b6f2e85abac88e496adefaf7afe/six-1.11.0.tar.gz";
1944 sha256 = "1scqzwc51c875z23phj48gircqjgnn3af8zy2izjwmnlxrxsgs3h";
1974 sha256 = "1scqzwc51c875z23phj48gircqjgnn3af8zy2izjwmnlxrxsgs3h";
1945 };
1975 };
1946 meta = {
1976 meta = {
1947 license = [ pkgs.lib.licenses.mit ];
1977 license = [ pkgs.lib.licenses.mit ];
1948 };
1978 };
1949 };
1979 };
1950 "sqlalchemy" = super.buildPythonPackage {
1980 "sqlalchemy" = super.buildPythonPackage {
1951 name = "sqlalchemy-1.1.18";
1981 name = "sqlalchemy-1.1.18";
1952 doCheck = false;
1982 doCheck = false;
1953 src = fetchurl {
1983 src = fetchurl {
1954 url = "https://files.pythonhosted.org/packages/cc/4d/96d93ff77cd67aca7618e402191eee3490d8f5f245d6ab7622d35fe504f4/SQLAlchemy-1.1.18.tar.gz";
1984 url = "https://files.pythonhosted.org/packages/cc/4d/96d93ff77cd67aca7618e402191eee3490d8f5f245d6ab7622d35fe504f4/SQLAlchemy-1.1.18.tar.gz";
1955 sha256 = "1ab4ysip6irajfbxl9wy27kv76miaz8h6759hfx92499z4dcf3lb";
1985 sha256 = "1ab4ysip6irajfbxl9wy27kv76miaz8h6759hfx92499z4dcf3lb";
1956 };
1986 };
1957 meta = {
1987 meta = {
1958 license = [ pkgs.lib.licenses.mit ];
1988 license = [ pkgs.lib.licenses.mit ];
1959 };
1989 };
1960 };
1990 };
1961 "sshpubkeys" = super.buildPythonPackage {
1991 "sshpubkeys" = super.buildPythonPackage {
1962 name = "sshpubkeys-3.1.0";
1992 name = "sshpubkeys-3.1.0";
1963 doCheck = false;
1993 doCheck = false;
1964 propagatedBuildInputs = [
1994 propagatedBuildInputs = [
1965 self."cryptography"
1995 self."cryptography"
1966 self."ecdsa"
1996 self."ecdsa"
1967 ];
1997 ];
1968 src = fetchurl {
1998 src = fetchurl {
1969 url = "https://files.pythonhosted.org/packages/00/23/f7508a12007c96861c3da811992f14283d79c819d71a217b3e12d5196649/sshpubkeys-3.1.0.tar.gz";
1999 url = "https://files.pythonhosted.org/packages/00/23/f7508a12007c96861c3da811992f14283d79c819d71a217b3e12d5196649/sshpubkeys-3.1.0.tar.gz";
1970 sha256 = "105g2li04nm1hb15a2y6hm9m9k7fbrkd5l3gy12w3kgcmsf3k25k";
2000 sha256 = "105g2li04nm1hb15a2y6hm9m9k7fbrkd5l3gy12w3kgcmsf3k25k";
1971 };
2001 };
1972 meta = {
2002 meta = {
1973 license = [ pkgs.lib.licenses.bsdOriginal ];
2003 license = [ pkgs.lib.licenses.bsdOriginal ];
1974 };
2004 };
1975 };
2005 };
1976 "subprocess32" = super.buildPythonPackage {
2006 "subprocess32" = super.buildPythonPackage {
1977 name = "subprocess32-3.5.4";
2007 name = "subprocess32-3.5.4";
1978 doCheck = false;
2008 doCheck = false;
1979 src = fetchurl {
2009 src = fetchurl {
1980 url = "https://files.pythonhosted.org/packages/32/c8/564be4d12629b912ea431f1a50eb8b3b9d00f1a0b1ceff17f266be190007/subprocess32-3.5.4.tar.gz";
2010 url = "https://files.pythonhosted.org/packages/32/c8/564be4d12629b912ea431f1a50eb8b3b9d00f1a0b1ceff17f266be190007/subprocess32-3.5.4.tar.gz";
1981 sha256 = "17f7mvwx2271s1wrl0qac3wjqqnrqag866zs3qc8v5wp0k43fagb";
2011 sha256 = "17f7mvwx2271s1wrl0qac3wjqqnrqag866zs3qc8v5wp0k43fagb";
1982 };
2012 };
1983 meta = {
2013 meta = {
1984 license = [ pkgs.lib.licenses.psfl ];
2014 license = [ pkgs.lib.licenses.psfl ];
1985 };
2015 };
1986 };
2016 };
1987 "supervisor" = super.buildPythonPackage {
2017 "supervisor" = super.buildPythonPackage {
1988 name = "supervisor-4.0.3";
2018 name = "supervisor-4.0.3";
1989 doCheck = false;
2019 doCheck = false;
1990 propagatedBuildInputs = [
2020 propagatedBuildInputs = [
1991 self."meld3"
2021 self."meld3"
1992 ];
2022 ];
1993 src = fetchurl {
2023 src = fetchurl {
1994 url = "https://files.pythonhosted.org/packages/97/48/f38bf70bd9282d1a18d591616557cc1a77a1c627d57dff66ead65c891dc8/supervisor-4.0.3.tar.gz";
2024 url = "https://files.pythonhosted.org/packages/97/48/f38bf70bd9282d1a18d591616557cc1a77a1c627d57dff66ead65c891dc8/supervisor-4.0.3.tar.gz";
1995 sha256 = "17hla7mx6w5m5jzkkjxgqa8wpswqmfhbhf49f692hw78fg0ans7p";
2025 sha256 = "17hla7mx6w5m5jzkkjxgqa8wpswqmfhbhf49f692hw78fg0ans7p";
1996 };
2026 };
1997 meta = {
2027 meta = {
1998 license = [ { fullName = "BSD-derived (http://www.repoze.org/LICENSE.txt)"; } ];
2028 license = [ { fullName = "BSD-derived (http://www.repoze.org/LICENSE.txt)"; } ];
1999 };
2029 };
2000 };
2030 };
2001 "tempita" = super.buildPythonPackage {
2031 "tempita" = super.buildPythonPackage {
2002 name = "tempita-0.5.2";
2032 name = "tempita-0.5.2";
2003 doCheck = false;
2033 doCheck = false;
2004 src = fetchurl {
2034 src = fetchurl {
2005 url = "https://files.pythonhosted.org/packages/56/c8/8ed6eee83dbddf7b0fc64dd5d4454bc05e6ccaafff47991f73f2894d9ff4/Tempita-0.5.2.tar.gz";
2035 url = "https://files.pythonhosted.org/packages/56/c8/8ed6eee83dbddf7b0fc64dd5d4454bc05e6ccaafff47991f73f2894d9ff4/Tempita-0.5.2.tar.gz";
2006 sha256 = "177wwq45slfyajd8csy477bmdmzipyw0dm7i85k3akb7m85wzkna";
2036 sha256 = "177wwq45slfyajd8csy477bmdmzipyw0dm7i85k3akb7m85wzkna";
2007 };
2037 };
2008 meta = {
2038 meta = {
2009 license = [ pkgs.lib.licenses.mit ];
2039 license = [ pkgs.lib.licenses.mit ];
2010 };
2040 };
2011 };
2041 };
2012 "termcolor" = super.buildPythonPackage {
2042 "termcolor" = super.buildPythonPackage {
2013 name = "termcolor-1.1.0";
2043 name = "termcolor-1.1.0";
2014 doCheck = false;
2044 doCheck = false;
2015 src = fetchurl {
2045 src = fetchurl {
2016 url = "https://files.pythonhosted.org/packages/8a/48/a76be51647d0eb9f10e2a4511bf3ffb8cc1e6b14e9e4fab46173aa79f981/termcolor-1.1.0.tar.gz";
2046 url = "https://files.pythonhosted.org/packages/8a/48/a76be51647d0eb9f10e2a4511bf3ffb8cc1e6b14e9e4fab46173aa79f981/termcolor-1.1.0.tar.gz";
2017 sha256 = "0fv1vq14rpqwgazxg4981904lfyp84mnammw7y046491cv76jv8x";
2047 sha256 = "0fv1vq14rpqwgazxg4981904lfyp84mnammw7y046491cv76jv8x";
2018 };
2048 };
2019 meta = {
2049 meta = {
2020 license = [ pkgs.lib.licenses.mit ];
2050 license = [ pkgs.lib.licenses.mit ];
2021 };
2051 };
2022 };
2052 };
2023 "testpath" = super.buildPythonPackage {
2053 "testpath" = super.buildPythonPackage {
2024 name = "testpath-0.4.2";
2054 name = "testpath-0.4.2";
2025 doCheck = false;
2055 doCheck = false;
2026 src = fetchurl {
2056 src = fetchurl {
2027 url = "https://files.pythonhosted.org/packages/06/30/9a7e917066d851d8b4117e85794b5f14516419ea714a8a2681ec6aa8a981/testpath-0.4.2.tar.gz";
2057 url = "https://files.pythonhosted.org/packages/06/30/9a7e917066d851d8b4117e85794b5f14516419ea714a8a2681ec6aa8a981/testpath-0.4.2.tar.gz";
2028 sha256 = "1y40hywscnnyb734pnzm55nd8r8kp1072bjxbil83gcd53cv755n";
2058 sha256 = "1y40hywscnnyb734pnzm55nd8r8kp1072bjxbil83gcd53cv755n";
2029 };
2059 };
2030 meta = {
2060 meta = {
2031 license = [ ];
2061 license = [ ];
2032 };
2062 };
2033 };
2063 };
2034 "traitlets" = super.buildPythonPackage {
2064 "traitlets" = super.buildPythonPackage {
2035 name = "traitlets-4.3.2";
2065 name = "traitlets-4.3.2";
2036 doCheck = false;
2066 doCheck = false;
2037 propagatedBuildInputs = [
2067 propagatedBuildInputs = [
2038 self."ipython-genutils"
2068 self."ipython-genutils"
2039 self."six"
2069 self."six"
2040 self."decorator"
2070 self."decorator"
2041 self."enum34"
2071 self."enum34"
2042 ];
2072 ];
2043 src = fetchurl {
2073 src = fetchurl {
2044 url = "https://files.pythonhosted.org/packages/a5/98/7f5ef2fe9e9e071813aaf9cb91d1a732e0a68b6c44a32b38cb8e14c3f069/traitlets-4.3.2.tar.gz";
2074 url = "https://files.pythonhosted.org/packages/a5/98/7f5ef2fe9e9e071813aaf9cb91d1a732e0a68b6c44a32b38cb8e14c3f069/traitlets-4.3.2.tar.gz";
2045 sha256 = "0dbq7sx26xqz5ixs711k5nc88p8a0nqyz6162pwks5dpcz9d4jww";
2075 sha256 = "0dbq7sx26xqz5ixs711k5nc88p8a0nqyz6162pwks5dpcz9d4jww";
2046 };
2076 };
2047 meta = {
2077 meta = {
2048 license = [ pkgs.lib.licenses.bsdOriginal ];
2078 license = [ pkgs.lib.licenses.bsdOriginal ];
2049 };
2079 };
2050 };
2080 };
2051 "transaction" = super.buildPythonPackage {
2081 "transaction" = super.buildPythonPackage {
2052 name = "transaction-2.4.0";
2082 name = "transaction-2.4.0";
2053 doCheck = false;
2083 doCheck = false;
2054 propagatedBuildInputs = [
2084 propagatedBuildInputs = [
2055 self."zope.interface"
2085 self."zope.interface"
2056 ];
2086 ];
2057 src = fetchurl {
2087 src = fetchurl {
2058 url = "https://files.pythonhosted.org/packages/9d/7d/0e8af0d059e052b9dcf2bb5a08aad20ae3e238746bdd3f8701a60969b363/transaction-2.4.0.tar.gz";
2088 url = "https://files.pythonhosted.org/packages/9d/7d/0e8af0d059e052b9dcf2bb5a08aad20ae3e238746bdd3f8701a60969b363/transaction-2.4.0.tar.gz";
2059 sha256 = "17wz1y524ca07vr03yddy8dv0gbscs06dbdywmllxv5rc725jq3j";
2089 sha256 = "17wz1y524ca07vr03yddy8dv0gbscs06dbdywmllxv5rc725jq3j";
2060 };
2090 };
2061 meta = {
2091 meta = {
2062 license = [ pkgs.lib.licenses.zpl21 ];
2092 license = [ pkgs.lib.licenses.zpl21 ];
2063 };
2093 };
2064 };
2094 };
2065 "translationstring" = super.buildPythonPackage {
2095 "translationstring" = super.buildPythonPackage {
2066 name = "translationstring-1.3";
2096 name = "translationstring-1.3";
2067 doCheck = false;
2097 doCheck = false;
2068 src = fetchurl {
2098 src = fetchurl {
2069 url = "https://files.pythonhosted.org/packages/5e/eb/bee578cc150b44c653b63f5ebe258b5d0d812ddac12497e5f80fcad5d0b4/translationstring-1.3.tar.gz";
2099 url = "https://files.pythonhosted.org/packages/5e/eb/bee578cc150b44c653b63f5ebe258b5d0d812ddac12497e5f80fcad5d0b4/translationstring-1.3.tar.gz";
2070 sha256 = "0bdpcnd9pv0131dl08h4zbcwmgc45lyvq3pa224xwan5b3x4rr2f";
2100 sha256 = "0bdpcnd9pv0131dl08h4zbcwmgc45lyvq3pa224xwan5b3x4rr2f";
2071 };
2101 };
2072 meta = {
2102 meta = {
2073 license = [ { fullName = "BSD-like (http://repoze.org/license.html)"; } ];
2103 license = [ { fullName = "BSD-like (http://repoze.org/license.html)"; } ];
2074 };
2104 };
2075 };
2105 };
2076 "tzlocal" = super.buildPythonPackage {
2106 "tzlocal" = super.buildPythonPackage {
2077 name = "tzlocal-1.5.1";
2107 name = "tzlocal-1.5.1";
2078 doCheck = false;
2108 doCheck = false;
2079 propagatedBuildInputs = [
2109 propagatedBuildInputs = [
2080 self."pytz"
2110 self."pytz"
2081 ];
2111 ];
2082 src = fetchurl {
2112 src = fetchurl {
2083 url = "https://files.pythonhosted.org/packages/cb/89/e3687d3ed99bc882793f82634e9824e62499fdfdc4b1ae39e211c5b05017/tzlocal-1.5.1.tar.gz";
2113 url = "https://files.pythonhosted.org/packages/cb/89/e3687d3ed99bc882793f82634e9824e62499fdfdc4b1ae39e211c5b05017/tzlocal-1.5.1.tar.gz";
2084 sha256 = "0kiciwiqx0bv0fbc913idxibc4ygg4cb7f8rcpd9ij2shi4bigjf";
2114 sha256 = "0kiciwiqx0bv0fbc913idxibc4ygg4cb7f8rcpd9ij2shi4bigjf";
2085 };
2115 };
2086 meta = {
2116 meta = {
2087 license = [ pkgs.lib.licenses.mit ];
2117 license = [ pkgs.lib.licenses.mit ];
2088 };
2118 };
2089 };
2119 };
2090 "urllib3" = super.buildPythonPackage {
2120 "urllib3" = super.buildPythonPackage {
2091 name = "urllib3-1.24.1";
2121 name = "urllib3-1.24.1";
2092 doCheck = false;
2122 doCheck = false;
2093 src = fetchurl {
2123 src = fetchurl {
2094 url = "https://files.pythonhosted.org/packages/b1/53/37d82ab391393565f2f831b8eedbffd57db5a718216f82f1a8b4d381a1c1/urllib3-1.24.1.tar.gz";
2124 url = "https://files.pythonhosted.org/packages/b1/53/37d82ab391393565f2f831b8eedbffd57db5a718216f82f1a8b4d381a1c1/urllib3-1.24.1.tar.gz";
2095 sha256 = "08lwd9f3hqznyf32vnzwvp87pchx062nkbgyrf67rwlkgj0jk5fy";
2125 sha256 = "08lwd9f3hqznyf32vnzwvp87pchx062nkbgyrf67rwlkgj0jk5fy";
2096 };
2126 };
2097 meta = {
2127 meta = {
2098 license = [ pkgs.lib.licenses.mit ];
2128 license = [ pkgs.lib.licenses.mit ];
2099 };
2129 };
2100 };
2130 };
2101 "urlobject" = super.buildPythonPackage {
2131 "urlobject" = super.buildPythonPackage {
2102 name = "urlobject-2.4.3";
2132 name = "urlobject-2.4.3";
2103 doCheck = false;
2133 doCheck = false;
2104 src = fetchurl {
2134 src = fetchurl {
2105 url = "https://files.pythonhosted.org/packages/e2/b8/1d0a916f4b34c4618846e6da0e4eeaa8fcb4a2f39e006434fe38acb74b34/URLObject-2.4.3.tar.gz";
2135 url = "https://files.pythonhosted.org/packages/e2/b8/1d0a916f4b34c4618846e6da0e4eeaa8fcb4a2f39e006434fe38acb74b34/URLObject-2.4.3.tar.gz";
2106 sha256 = "1ahc8ficzfvr2avln71immfh4ls0zyv6cdaa5xmkdj5rd87f5cj7";
2136 sha256 = "1ahc8ficzfvr2avln71immfh4ls0zyv6cdaa5xmkdj5rd87f5cj7";
2107 };
2137 };
2108 meta = {
2138 meta = {
2109 license = [ pkgs.lib.licenses.publicDomain ];
2139 license = [ pkgs.lib.licenses.publicDomain ];
2110 };
2140 };
2111 };
2141 };
2112 "venusian" = super.buildPythonPackage {
2142 "venusian" = super.buildPythonPackage {
2113 name = "venusian-1.2.0";
2143 name = "venusian-1.2.0";
2114 doCheck = false;
2144 doCheck = false;
2115 src = fetchurl {
2145 src = fetchurl {
2116 url = "https://files.pythonhosted.org/packages/7e/6f/40a9d43ac77cb51cb62be5b5662d170f43f8037bdc4eab56336c4ca92bb7/venusian-1.2.0.tar.gz";
2146 url = "https://files.pythonhosted.org/packages/7e/6f/40a9d43ac77cb51cb62be5b5662d170f43f8037bdc4eab56336c4ca92bb7/venusian-1.2.0.tar.gz";
2117 sha256 = "0ghyx66g8ikx9nx1mnwqvdcqm11i1vlq0hnvwl50s48bp22q5v34";
2147 sha256 = "0ghyx66g8ikx9nx1mnwqvdcqm11i1vlq0hnvwl50s48bp22q5v34";
2118 };
2148 };
2119 meta = {
2149 meta = {
2120 license = [ { fullName = "BSD-derived (http://www.repoze.org/LICENSE.txt)"; } ];
2150 license = [ { fullName = "BSD-derived (http://www.repoze.org/LICENSE.txt)"; } ];
2121 };
2151 };
2122 };
2152 };
2123 "vine" = super.buildPythonPackage {
2153 "vine" = super.buildPythonPackage {
2124 name = "vine-1.3.0";
2154 name = "vine-1.3.0";
2125 doCheck = false;
2155 doCheck = false;
2126 src = fetchurl {
2156 src = fetchurl {
2127 url = "https://files.pythonhosted.org/packages/1c/e1/79fb8046e607dd6c2ad05c9b8ebac9d0bd31d086a08f02699e96fc5b3046/vine-1.3.0.tar.gz";
2157 url = "https://files.pythonhosted.org/packages/1c/e1/79fb8046e607dd6c2ad05c9b8ebac9d0bd31d086a08f02699e96fc5b3046/vine-1.3.0.tar.gz";
2128 sha256 = "11ydsbhl1vabndc2r979dv61s6j2b0giq6dgvryifvq1m7bycghk";
2158 sha256 = "11ydsbhl1vabndc2r979dv61s6j2b0giq6dgvryifvq1m7bycghk";
2129 };
2159 };
2130 meta = {
2160 meta = {
2131 license = [ pkgs.lib.licenses.bsdOriginal ];
2161 license = [ pkgs.lib.licenses.bsdOriginal ];
2132 };
2162 };
2133 };
2163 };
2134 "waitress" = super.buildPythonPackage {
2164 "waitress" = super.buildPythonPackage {
2135 name = "waitress-1.3.0";
2165 name = "waitress-1.3.0";
2136 doCheck = false;
2166 doCheck = false;
2137 src = fetchurl {
2167 src = fetchurl {
2138 url = "https://files.pythonhosted.org/packages/43/50/9890471320d5ad22761ae46661cf745f487b1c8c4ec49352b99e1078b970/waitress-1.3.0.tar.gz";
2168 url = "https://files.pythonhosted.org/packages/43/50/9890471320d5ad22761ae46661cf745f487b1c8c4ec49352b99e1078b970/waitress-1.3.0.tar.gz";
2139 sha256 = "09j5dzbbcxib7vdskhx39s1qsydlr4n2p2png71d7mjnr9pnwajf";
2169 sha256 = "09j5dzbbcxib7vdskhx39s1qsydlr4n2p2png71d7mjnr9pnwajf";
2140 };
2170 };
2141 meta = {
2171 meta = {
2142 license = [ pkgs.lib.licenses.zpl21 ];
2172 license = [ pkgs.lib.licenses.zpl21 ];
2143 };
2173 };
2144 };
2174 };
2145 "wcwidth" = super.buildPythonPackage {
2175 "wcwidth" = super.buildPythonPackage {
2146 name = "wcwidth-0.1.7";
2176 name = "wcwidth-0.1.7";
2147 doCheck = false;
2177 doCheck = false;
2148 src = fetchurl {
2178 src = fetchurl {
2149 url = "https://files.pythonhosted.org/packages/55/11/e4a2bb08bb450fdbd42cc709dd40de4ed2c472cf0ccb9e64af22279c5495/wcwidth-0.1.7.tar.gz";
2179 url = "https://files.pythonhosted.org/packages/55/11/e4a2bb08bb450fdbd42cc709dd40de4ed2c472cf0ccb9e64af22279c5495/wcwidth-0.1.7.tar.gz";
2150 sha256 = "0pn6dflzm609m4r3i8ik5ni9ijjbb5fa3vg1n7hn6vkd49r77wrx";
2180 sha256 = "0pn6dflzm609m4r3i8ik5ni9ijjbb5fa3vg1n7hn6vkd49r77wrx";
2151 };
2181 };
2152 meta = {
2182 meta = {
2153 license = [ pkgs.lib.licenses.mit ];
2183 license = [ pkgs.lib.licenses.mit ];
2154 };
2184 };
2155 };
2185 };
2156 "webencodings" = super.buildPythonPackage {
2186 "webencodings" = super.buildPythonPackage {
2157 name = "webencodings-0.5.1";
2187 name = "webencodings-0.5.1";
2158 doCheck = false;
2188 doCheck = false;
2159 src = fetchurl {
2189 src = fetchurl {
2160 url = "https://files.pythonhosted.org/packages/0b/02/ae6ceac1baeda530866a85075641cec12989bd8d31af6d5ab4a3e8c92f47/webencodings-0.5.1.tar.gz";
2190 url = "https://files.pythonhosted.org/packages/0b/02/ae6ceac1baeda530866a85075641cec12989bd8d31af6d5ab4a3e8c92f47/webencodings-0.5.1.tar.gz";
2161 sha256 = "08qrgrc4hrximb2gqnl69g01s93rhf2842jfxdjljc1dbwj1qsmk";
2191 sha256 = "08qrgrc4hrximb2gqnl69g01s93rhf2842jfxdjljc1dbwj1qsmk";
2162 };
2192 };
2163 meta = {
2193 meta = {
2164 license = [ pkgs.lib.licenses.bsdOriginal ];
2194 license = [ pkgs.lib.licenses.bsdOriginal ];
2165 };
2195 };
2166 };
2196 };
2167 "weberror" = super.buildPythonPackage {
2197 "weberror" = super.buildPythonPackage {
2168 name = "weberror-0.10.3";
2198 name = "weberror-0.10.3";
2169 doCheck = false;
2199 doCheck = false;
2170 propagatedBuildInputs = [
2200 propagatedBuildInputs = [
2171 self."webob"
2201 self."webob"
2172 self."tempita"
2202 self."tempita"
2173 self."pygments"
2203 self."pygments"
2174 self."paste"
2204 self."paste"
2175 ];
2205 ];
2176 src = fetchurl {
2206 src = fetchurl {
2177 url = "https://files.pythonhosted.org/packages/35/76/e7e5c2ce7e9c7f31b54c1ff295a495886d1279a002557d74dd8957346a79/WebError-0.10.3.tar.gz";
2207 url = "https://files.pythonhosted.org/packages/35/76/e7e5c2ce7e9c7f31b54c1ff295a495886d1279a002557d74dd8957346a79/WebError-0.10.3.tar.gz";
2178 sha256 = "0frg4kvycqpj5bi8asfqfs6bxsr2cvjvb6b56c4d1ai1z57kbjx6";
2208 sha256 = "0frg4kvycqpj5bi8asfqfs6bxsr2cvjvb6b56c4d1ai1z57kbjx6";
2179 };
2209 };
2180 meta = {
2210 meta = {
2181 license = [ pkgs.lib.licenses.mit ];
2211 license = [ pkgs.lib.licenses.mit ];
2182 };
2212 };
2183 };
2213 };
2184 "webhelpers" = super.buildPythonPackage {
2214 "webhelpers" = super.buildPythonPackage {
2185 name = "webhelpers-1.3";
2215 name = "webhelpers-1.3";
2186 doCheck = false;
2216 doCheck = false;
2187 propagatedBuildInputs = [
2217 propagatedBuildInputs = [
2188 self."markupsafe"
2218 self."markupsafe"
2189 ];
2219 ];
2190 src = fetchurl {
2220 src = fetchurl {
2191 url = "https://files.pythonhosted.org/packages/ee/68/4d07672821d514184357f1552f2dad923324f597e722de3b016ca4f7844f/WebHelpers-1.3.tar.gz";
2221 url = "https://files.pythonhosted.org/packages/ee/68/4d07672821d514184357f1552f2dad923324f597e722de3b016ca4f7844f/WebHelpers-1.3.tar.gz";
2192 sha256 = "10x5i82qdkrvyw18gsybwggfhfpl869siaab89vnndi9x62g51pa";
2222 sha256 = "10x5i82qdkrvyw18gsybwggfhfpl869siaab89vnndi9x62g51pa";
2193 };
2223 };
2194 meta = {
2224 meta = {
2195 license = [ pkgs.lib.licenses.bsdOriginal ];
2225 license = [ pkgs.lib.licenses.bsdOriginal ];
2196 };
2226 };
2197 };
2227 };
2198 "webhelpers2" = super.buildPythonPackage {
2228 "webhelpers2" = super.buildPythonPackage {
2199 name = "webhelpers2-2.0";
2229 name = "webhelpers2-2.0";
2200 doCheck = false;
2230 doCheck = false;
2201 propagatedBuildInputs = [
2231 propagatedBuildInputs = [
2202 self."markupsafe"
2232 self."markupsafe"
2203 self."six"
2233 self."six"
2204 ];
2234 ];
2205 src = fetchurl {
2235 src = fetchurl {
2206 url = "https://files.pythonhosted.org/packages/ff/30/56342c6ea522439e3662427c8d7b5e5b390dff4ff2dc92d8afcb8ab68b75/WebHelpers2-2.0.tar.gz";
2236 url = "https://files.pythonhosted.org/packages/ff/30/56342c6ea522439e3662427c8d7b5e5b390dff4ff2dc92d8afcb8ab68b75/WebHelpers2-2.0.tar.gz";
2207 sha256 = "0aphva1qmxh83n01p53f5fd43m4srzbnfbz5ajvbx9aj2aipwmcs";
2237 sha256 = "0aphva1qmxh83n01p53f5fd43m4srzbnfbz5ajvbx9aj2aipwmcs";
2208 };
2238 };
2209 meta = {
2239 meta = {
2210 license = [ pkgs.lib.licenses.mit ];
2240 license = [ pkgs.lib.licenses.mit ];
2211 };
2241 };
2212 };
2242 };
2213 "webob" = super.buildPythonPackage {
2243 "webob" = super.buildPythonPackage {
2214 name = "webob-1.8.5";
2244 name = "webob-1.8.5";
2215 doCheck = false;
2245 doCheck = false;
2216 src = fetchurl {
2246 src = fetchurl {
2217 url = "https://files.pythonhosted.org/packages/9d/1a/0c89c070ee2829c934cb6c7082287c822e28236a4fcf90063e6be7c35532/WebOb-1.8.5.tar.gz";
2247 url = "https://files.pythonhosted.org/packages/9d/1a/0c89c070ee2829c934cb6c7082287c822e28236a4fcf90063e6be7c35532/WebOb-1.8.5.tar.gz";
2218 sha256 = "11khpzaxc88q31v25ic330gsf56fwmbdc9b30br8mvp0fmwspah5";
2248 sha256 = "11khpzaxc88q31v25ic330gsf56fwmbdc9b30br8mvp0fmwspah5";
2219 };
2249 };
2220 meta = {
2250 meta = {
2221 license = [ pkgs.lib.licenses.mit ];
2251 license = [ pkgs.lib.licenses.mit ];
2222 };
2252 };
2223 };
2253 };
2224 "webtest" = super.buildPythonPackage {
2254 "webtest" = super.buildPythonPackage {
2225 name = "webtest-2.0.33";
2255 name = "webtest-2.0.33";
2226 doCheck = false;
2256 doCheck = false;
2227 propagatedBuildInputs = [
2257 propagatedBuildInputs = [
2228 self."six"
2258 self."six"
2229 self."webob"
2259 self."webob"
2230 self."waitress"
2260 self."waitress"
2231 self."beautifulsoup4"
2261 self."beautifulsoup4"
2232 ];
2262 ];
2233 src = fetchurl {
2263 src = fetchurl {
2234 url = "https://files.pythonhosted.org/packages/a8/b0/ffc9413b637dbe26e291429bb0f6ed731e518d0cd03da28524a8fe2e8a8f/WebTest-2.0.33.tar.gz";
2264 url = "https://files.pythonhosted.org/packages/a8/b0/ffc9413b637dbe26e291429bb0f6ed731e518d0cd03da28524a8fe2e8a8f/WebTest-2.0.33.tar.gz";
2235 sha256 = "1l3z0cwqslsf4rcrhi2gr8kdfh74wn2dw76376i4g9i38gz8wd21";
2265 sha256 = "1l3z0cwqslsf4rcrhi2gr8kdfh74wn2dw76376i4g9i38gz8wd21";
2236 };
2266 };
2237 meta = {
2267 meta = {
2238 license = [ pkgs.lib.licenses.mit ];
2268 license = [ pkgs.lib.licenses.mit ];
2239 };
2269 };
2240 };
2270 };
2241 "whoosh" = super.buildPythonPackage {
2271 "whoosh" = super.buildPythonPackage {
2242 name = "whoosh-2.7.4";
2272 name = "whoosh-2.7.4";
2243 doCheck = false;
2273 doCheck = false;
2244 src = fetchurl {
2274 src = fetchurl {
2245 url = "https://files.pythonhosted.org/packages/25/2b/6beed2107b148edc1321da0d489afc4617b9ed317ef7b72d4993cad9b684/Whoosh-2.7.4.tar.gz";
2275 url = "https://files.pythonhosted.org/packages/25/2b/6beed2107b148edc1321da0d489afc4617b9ed317ef7b72d4993cad9b684/Whoosh-2.7.4.tar.gz";
2246 sha256 = "10qsqdjpbc85fykc1vgcs8xwbgn4l2l52c8d83xf1q59pwyn79bw";
2276 sha256 = "10qsqdjpbc85fykc1vgcs8xwbgn4l2l52c8d83xf1q59pwyn79bw";
2247 };
2277 };
2248 meta = {
2278 meta = {
2249 license = [ pkgs.lib.licenses.bsdOriginal pkgs.lib.licenses.bsd2 ];
2279 license = [ pkgs.lib.licenses.bsdOriginal pkgs.lib.licenses.bsd2 ];
2250 };
2280 };
2251 };
2281 };
2252 "ws4py" = super.buildPythonPackage {
2282 "ws4py" = super.buildPythonPackage {
2253 name = "ws4py-0.5.1";
2283 name = "ws4py-0.5.1";
2254 doCheck = false;
2284 doCheck = false;
2255 src = fetchurl {
2285 src = fetchurl {
2256 url = "https://files.pythonhosted.org/packages/53/20/4019a739b2eefe9282d3822ef6a225250af964b117356971bd55e274193c/ws4py-0.5.1.tar.gz";
2286 url = "https://files.pythonhosted.org/packages/53/20/4019a739b2eefe9282d3822ef6a225250af964b117356971bd55e274193c/ws4py-0.5.1.tar.gz";
2257 sha256 = "10slbbf2jm4hpr92jx7kh7mhf48sjl01v2w4d8z3f1p0ybbp7l19";
2287 sha256 = "10slbbf2jm4hpr92jx7kh7mhf48sjl01v2w4d8z3f1p0ybbp7l19";
2258 };
2288 };
2259 meta = {
2289 meta = {
2260 license = [ pkgs.lib.licenses.bsdOriginal ];
2290 license = [ pkgs.lib.licenses.bsdOriginal ];
2261 };
2291 };
2262 };
2292 };
2263 "wsgiref" = super.buildPythonPackage {
2293 "wsgiref" = super.buildPythonPackage {
2264 name = "wsgiref-0.1.2";
2294 name = "wsgiref-0.1.2";
2265 doCheck = false;
2295 doCheck = false;
2266 src = fetchurl {
2296 src = fetchurl {
2267 url = "https://files.pythonhosted.org/packages/41/9e/309259ce8dff8c596e8c26df86dbc4e848b9249fd36797fd60be456f03fc/wsgiref-0.1.2.zip";
2297 url = "https://files.pythonhosted.org/packages/41/9e/309259ce8dff8c596e8c26df86dbc4e848b9249fd36797fd60be456f03fc/wsgiref-0.1.2.zip";
2268 sha256 = "0y8fyjmpq7vwwm4x732w97qbkw78rjwal5409k04cw4m03411rn7";
2298 sha256 = "0y8fyjmpq7vwwm4x732w97qbkw78rjwal5409k04cw4m03411rn7";
2269 };
2299 };
2270 meta = {
2300 meta = {
2271 license = [ { fullName = "PSF or ZPL"; } ];
2301 license = [ { fullName = "PSF or ZPL"; } ];
2272 };
2302 };
2273 };
2303 };
2304 "zipp" = super.buildPythonPackage {
2305 name = "zipp-0.6.0";
2306 doCheck = false;
2307 propagatedBuildInputs = [
2308 self."more-itertools"
2309 ];
2310 src = fetchurl {
2311 url = "https://files.pythonhosted.org/packages/57/dd/585d728479d97d25aeeb9aa470d36a4ad8d0ba5610f84e14770128ce6ff7/zipp-0.6.0.tar.gz";
2312 sha256 = "13ndkf7vklw978a4gdl1yfvn8hch28429a0iam67sg4nrp5v261p";
2313 };
2314 meta = {
2315 license = [ pkgs.lib.licenses.mit ];
2316 };
2317 };
2274 "zope.cachedescriptors" = super.buildPythonPackage {
2318 "zope.cachedescriptors" = super.buildPythonPackage {
2275 name = "zope.cachedescriptors-4.3.1";
2319 name = "zope.cachedescriptors-4.3.1";
2276 doCheck = false;
2320 doCheck = false;
2277 propagatedBuildInputs = [
2321 propagatedBuildInputs = [
2278 self."setuptools"
2322 self."setuptools"
2279 ];
2323 ];
2280 src = fetchurl {
2324 src = fetchurl {
2281 url = "https://files.pythonhosted.org/packages/2f/89/ebe1890cc6d3291ebc935558fa764d5fffe571018dbbee200e9db78762cb/zope.cachedescriptors-4.3.1.tar.gz";
2325 url = "https://files.pythonhosted.org/packages/2f/89/ebe1890cc6d3291ebc935558fa764d5fffe571018dbbee200e9db78762cb/zope.cachedescriptors-4.3.1.tar.gz";
2282 sha256 = "0jhr3m5p74c6r7k8iv0005b8bfsialih9d7zl5vx38rf5xq1lk8z";
2326 sha256 = "0jhr3m5p74c6r7k8iv0005b8bfsialih9d7zl5vx38rf5xq1lk8z";
2283 };
2327 };
2284 meta = {
2328 meta = {
2285 license = [ pkgs.lib.licenses.zpl21 ];
2329 license = [ pkgs.lib.licenses.zpl21 ];
2286 };
2330 };
2287 };
2331 };
2288 "zope.deprecation" = super.buildPythonPackage {
2332 "zope.deprecation" = super.buildPythonPackage {
2289 name = "zope.deprecation-4.4.0";
2333 name = "zope.deprecation-4.4.0";
2290 doCheck = false;
2334 doCheck = false;
2291 propagatedBuildInputs = [
2335 propagatedBuildInputs = [
2292 self."setuptools"
2336 self."setuptools"
2293 ];
2337 ];
2294 src = fetchurl {
2338 src = fetchurl {
2295 url = "https://files.pythonhosted.org/packages/34/da/46e92d32d545dd067b9436279d84c339e8b16de2ca393d7b892bc1e1e9fd/zope.deprecation-4.4.0.tar.gz";
2339 url = "https://files.pythonhosted.org/packages/34/da/46e92d32d545dd067b9436279d84c339e8b16de2ca393d7b892bc1e1e9fd/zope.deprecation-4.4.0.tar.gz";
2296 sha256 = "1pz2cv7gv9y1r3m0bdv7ks1alagmrn5msm5spwdzkb2by0w36i8d";
2340 sha256 = "1pz2cv7gv9y1r3m0bdv7ks1alagmrn5msm5spwdzkb2by0w36i8d";
2297 };
2341 };
2298 meta = {
2342 meta = {
2299 license = [ pkgs.lib.licenses.zpl21 ];
2343 license = [ pkgs.lib.licenses.zpl21 ];
2300 };
2344 };
2301 };
2345 };
2302 "zope.event" = super.buildPythonPackage {
2346 "zope.event" = super.buildPythonPackage {
2303 name = "zope.event-4.4";
2347 name = "zope.event-4.4";
2304 doCheck = false;
2348 doCheck = false;
2305 propagatedBuildInputs = [
2349 propagatedBuildInputs = [
2306 self."setuptools"
2350 self."setuptools"
2307 ];
2351 ];
2308 src = fetchurl {
2352 src = fetchurl {
2309 url = "https://files.pythonhosted.org/packages/4c/b2/51c0369adcf5be2334280eed230192ab3b03f81f8efda9ddea6f65cc7b32/zope.event-4.4.tar.gz";
2353 url = "https://files.pythonhosted.org/packages/4c/b2/51c0369adcf5be2334280eed230192ab3b03f81f8efda9ddea6f65cc7b32/zope.event-4.4.tar.gz";
2310 sha256 = "1ksbc726av9xacml6jhcfyn828hlhb9xlddpx6fcvnlvmpmpvhk9";
2354 sha256 = "1ksbc726av9xacml6jhcfyn828hlhb9xlddpx6fcvnlvmpmpvhk9";
2311 };
2355 };
2312 meta = {
2356 meta = {
2313 license = [ pkgs.lib.licenses.zpl21 ];
2357 license = [ pkgs.lib.licenses.zpl21 ];
2314 };
2358 };
2315 };
2359 };
2316 "zope.interface" = super.buildPythonPackage {
2360 "zope.interface" = super.buildPythonPackage {
2317 name = "zope.interface-4.6.0";
2361 name = "zope.interface-4.6.0";
2318 doCheck = false;
2362 doCheck = false;
2319 propagatedBuildInputs = [
2363 propagatedBuildInputs = [
2320 self."setuptools"
2364 self."setuptools"
2321 ];
2365 ];
2322 src = fetchurl {
2366 src = fetchurl {
2323 url = "https://files.pythonhosted.org/packages/4e/d0/c9d16bd5b38de44a20c6dc5d5ed80a49626fafcb3db9f9efdc2a19026db6/zope.interface-4.6.0.tar.gz";
2367 url = "https://files.pythonhosted.org/packages/4e/d0/c9d16bd5b38de44a20c6dc5d5ed80a49626fafcb3db9f9efdc2a19026db6/zope.interface-4.6.0.tar.gz";
2324 sha256 = "1rgh2x3rcl9r0v0499kf78xy86rnmanajf4ywmqb943wpk50sg8v";
2368 sha256 = "1rgh2x3rcl9r0v0499kf78xy86rnmanajf4ywmqb943wpk50sg8v";
2325 };
2369 };
2326 meta = {
2370 meta = {
2327 license = [ pkgs.lib.licenses.zpl21 ];
2371 license = [ pkgs.lib.licenses.zpl21 ];
2328 };
2372 };
2329 };
2373 };
2330
2374
2331 ### Test requirements
2375 ### Test requirements
2332
2376
2333
2377
2334 }
2378 }
@@ -1,122 +1,122 b''
1 ## dependencies
1 ## dependencies
2
2
3 amqp==2.3.1
3 amqp==2.5.1
4
4
5 babel==1.3
5 babel==1.3
6 beaker==1.9.1
6 beaker==1.9.1
7 bleach==3.1.0
7 bleach==3.1.0
8 celery==4.1.1
8 celery==4.3.0
9 channelstream==0.5.2
9 channelstream==0.5.2
10 click==7.0
10 click==7.0
11 colander==1.7.0
11 colander==1.7.0
12 # our custom configobj
12 # our custom configobj
13 https://code.rhodecode.com/upstream/configobj/artifacts/download/0-012de99a-b1e1-4f64-a5c0-07a98a41b324.tar.gz?md5=6a513f51fe04b2c18cf84c1395a7c626#egg=configobj==5.0.6
13 https://code.rhodecode.com/upstream/configobj/artifacts/download/0-012de99a-b1e1-4f64-a5c0-07a98a41b324.tar.gz?md5=6a513f51fe04b2c18cf84c1395a7c626#egg=configobj==5.0.6
14 cssselect==1.0.3
14 cssselect==1.0.3
15 cryptography==2.6.1
15 cryptography==2.6.1
16 decorator==4.1.2
16 decorator==4.1.2
17 deform==2.0.7
17 deform==2.0.7
18 docutils==0.14.0
18 docutils==0.14.0
19 dogpile.cache==0.7.1
19 dogpile.cache==0.7.1
20 dogpile.core==0.4.1
20 dogpile.core==0.4.1
21 formencode==1.2.4
21 formencode==1.2.4
22 future==0.14.3
22 future==0.14.3
23 futures==3.0.2
23 futures==3.0.2
24 infrae.cache==1.0.1
24 infrae.cache==1.0.1
25 iso8601==0.1.12
25 iso8601==0.1.12
26 itsdangerous==0.24
26 itsdangerous==0.24
27 kombu==4.2.1
27 kombu==4.6.4
28 lxml==4.2.5
28 lxml==4.2.5
29 mako==1.0.7
29 mako==1.0.7
30 markdown==2.6.11
30 markdown==2.6.11
31 markupsafe==1.1.0
31 markupsafe==1.1.0
32 msgpack-python==0.5.6
32 msgpack-python==0.5.6
33 pyotp==2.2.7
33 pyotp==2.2.7
34 packaging==15.2
34 packaging==15.2
35 pathlib2==2.3.4
35 pathlib2==2.3.4
36 paste==3.0.8
36 paste==3.0.8
37 pastedeploy==2.0.1
37 pastedeploy==2.0.1
38 pastescript==3.1.0
38 pastescript==3.1.0
39 peppercorn==0.6
39 peppercorn==0.6
40 psutil==5.5.1
40 psutil==5.5.1
41 py-bcrypt==0.4
41 py-bcrypt==0.4
42 pycurl==7.43.0.2
42 pycurl==7.43.0.2
43 pycrypto==2.6.1
43 pycrypto==2.6.1
44 pygments==2.4.2
44 pygments==2.4.2
45 pyparsing==2.3.0
45 pyparsing==2.3.0
46 pyramid-debugtoolbar==4.5.0
46 pyramid-debugtoolbar==4.5.0
47 pyramid-mako==1.0.2
47 pyramid-mako==1.0.2
48 pyramid==1.10.4
48 pyramid==1.10.4
49 pyramid_mailer==0.15.1
49 pyramid_mailer==0.15.1
50 python-dateutil
50 python-dateutil
51 python-ldap==3.1.0
51 python-ldap==3.1.0
52 python-memcached==1.59
52 python-memcached==1.59
53 python-pam==1.8.4
53 python-pam==1.8.4
54 python-saml==2.4.2
54 python-saml==2.4.2
55 pytz==2018.4
55 pytz==2019.2
56 tzlocal==1.5.1
56 tzlocal==1.5.1
57 pyzmq==14.6.0
57 pyzmq==14.6.0
58 py-gfm==0.1.4
58 py-gfm==0.1.4
59 redis==3.3.8
59 redis==3.3.8
60 repoze.lru==0.7
60 repoze.lru==0.7
61 requests==2.9.1
61 requests==2.9.1
62 routes==2.4.1
62 routes==2.4.1
63 simplejson==3.16.0
63 simplejson==3.16.0
64 six==1.11.0
64 six==1.11.0
65 sqlalchemy==1.1.18
65 sqlalchemy==1.1.18
66 sshpubkeys==3.1.0
66 sshpubkeys==3.1.0
67 subprocess32==3.5.4
67 subprocess32==3.5.4
68 supervisor==4.0.3
68 supervisor==4.0.3
69 translationstring==1.3
69 translationstring==1.3
70 urllib3==1.24.1
70 urllib3==1.24.1
71 urlobject==2.4.3
71 urlobject==2.4.3
72 venusian==1.2.0
72 venusian==1.2.0
73 weberror==0.10.3
73 weberror==0.10.3
74 webhelpers2==2.0
74 webhelpers2==2.0
75 webhelpers==1.3
75 webhelpers==1.3
76 webob==1.8.5
76 webob==1.8.5
77 whoosh==2.7.4
77 whoosh==2.7.4
78 wsgiref==0.1.2
78 wsgiref==0.1.2
79 zope.cachedescriptors==4.3.1
79 zope.cachedescriptors==4.3.1
80 zope.deprecation==4.4.0
80 zope.deprecation==4.4.0
81 zope.event==4.4.0
81 zope.event==4.4.0
82 zope.interface==4.6.0
82 zope.interface==4.6.0
83
83
84 # DB drivers
84 # DB drivers
85 mysql-python==1.2.5
85 mysql-python==1.2.5
86 pymysql==0.8.1
86 pymysql==0.8.1
87 pysqlite==2.8.3
87 pysqlite==2.8.3
88 psycopg2==2.8.3
88 psycopg2==2.8.3
89
89
90 # IPYTHON RENDERING
90 # IPYTHON RENDERING
91 # entrypoints backport, pypi version doesn't support egg installs
91 # entrypoints backport, pypi version doesn't support egg installs
92 https://code.rhodecode.com/upstream/entrypoints/artifacts/download/0-8e9ee9e4-c4db-409c-b07e-81568fd1832d.tar.gz?md5=3a027b8ff1d257b91fe257de6c43357d#egg=entrypoints==0.2.2.rhodecode-upstream1
92 https://code.rhodecode.com/upstream/entrypoints/artifacts/download/0-8e9ee9e4-c4db-409c-b07e-81568fd1832d.tar.gz?md5=3a027b8ff1d257b91fe257de6c43357d#egg=entrypoints==0.2.2.rhodecode-upstream1
93 nbconvert==5.3.1
93 nbconvert==5.3.1
94 nbformat==4.4.0
94 nbformat==4.4.0
95 jupyter_client==5.0.0
95 jupyter_client==5.0.0
96
96
97 ## cli tools
97 ## cli tools
98 alembic==1.0.10
98 alembic==1.0.10
99 invoke==0.13.0
99 invoke==0.13.0
100 bumpversion==0.5.3
100 bumpversion==0.5.3
101
101
102 ## http servers
102 ## http servers
103 gevent==1.4.0
103 gevent==1.4.0
104 greenlet==0.4.15
104 greenlet==0.4.15
105 gunicorn==19.9.0
105 gunicorn==19.9.0
106 waitress==1.3.0
106 waitress==1.3.0
107
107
108 ## debug
108 ## debug
109 ipdb==0.12.0
109 ipdb==0.12.0
110 ipython==5.1.0
110 ipython==5.1.0
111
111
112 ## rhodecode-tools, special case
112 ## rhodecode-tools, special case
113 https://code.rhodecode.com/rhodecode-tools-ce/artifacts/download/0-10ac93f4-bb7d-4b97-baea-68110743dd5a.tar.gz?md5=962dc77c06aceee62282b98d33149661#egg=rhodecode-tools==1.2.1
113 https://code.rhodecode.com/rhodecode-tools-ce/artifacts/download/0-10ac93f4-bb7d-4b97-baea-68110743dd5a.tar.gz?md5=962dc77c06aceee62282b98d33149661#egg=rhodecode-tools==1.2.1
114
114
115 ## appenlight
115 ## appenlight
116 appenlight-client==0.6.26
116 appenlight-client==0.6.26
117
117
118 ## test related requirements
118 ## test related requirements
119 -r requirements_test.txt
119 -r requirements_test.txt
120
120
121 ## uncomment to add the debug libraries
121 ## uncomment to add the debug libraries
122 #-r requirements_debug.txt
122 #-r requirements_debug.txt
@@ -1,19 +1,19 b''
1 # contains not directly required libraries we want to pin the version.
1 # contains not directly required libraries we want to pin the version.
2
2
3 atomicwrites==1.2.1
3 atomicwrites==1.2.1
4 attrs==18.2.0
4 attrs==18.2.0
5 billiard==3.5.0.3
5 billiard==3.6.1.0
6 chameleon==2.24
6 chameleon==2.24
7 cffi==1.12.2
7 cffi==1.12.2
8 ecdsa==0.13.2
8 ecdsa==0.13.2
9 hupper==1.6.1
9 hupper==1.6.1
10 gnureadline==6.3.8
10 gnureadline==6.3.8
11 jinja2==2.9.6
11 jinja2==2.9.6
12 jsonschema==2.6.0
12 jsonschema==2.6.0
13 pyramid-jinja2==2.7
13 pyramid-jinja2==2.7
14 pluggy==0.11.0
14 pluggy==0.11.0
15 setproctitle==1.1.10
15 setproctitle==1.1.10
16 scandir==1.10.0
16 scandir==1.10.0
17 tempita==0.5.2
17 tempita==0.5.2
18 vine==1.3.0
18 vine==1.3.0
19 configparser==3.7.4
19 configparser==3.7.4
General Comments 0
You need to be logged in to leave comments. Login now