##// END OF EJS Templates
mailing: switched from homebrew lib to pyramid_mailer with python3 compatability
marcink -
r3113:d517813a default
parent child Browse files
Show More
@@ -1,726 +1,724 b''
1 1
2 2
3 3 ################################################################################
4 4 ## RHODECODE COMMUNITY EDITION CONFIGURATION ##
5 5 ################################################################################
6 6
7 7 [DEFAULT]
8 8 debug = true
9 9
10 10 ################################################################################
11 11 ## EMAIL CONFIGURATION ##
12 12 ## Uncomment and replace with the email address which should receive ##
13 13 ## any error reports after an application crash ##
14 14 ## Additionally these settings will be used by the RhodeCode mailing system ##
15 15 ################################################################################
16 16
17 17 ## prefix all emails subjects with given prefix, helps filtering out emails
18 18 #email_prefix = [RhodeCode]
19 19
20 20 ## email FROM address all mails will be sent
21 21 #app_email_from = rhodecode-noreply@localhost
22 22
23 23 #smtp_server = mail.server.com
24 24 #smtp_username =
25 25 #smtp_password =
26 26 #smtp_port =
27 27 #smtp_use_tls = false
28 28 #smtp_use_ssl = true
29 ## Specify available auth parameters here (e.g. LOGIN PLAIN CRAM-MD5, etc.)
30 #smtp_auth =
31 29
32 30 [server:main]
33 31 ## COMMON ##
34 32 host = 127.0.0.1
35 33 port = 5000
36 34
37 35 ###########################################################
38 36 ## WAITRESS WSGI SERVER - Recommended for Development ####
39 37 ###########################################################
40 38
41 39 use = egg:waitress#main
42 40 ## number of worker threads
43 41 threads = 5
44 42 ## MAX BODY SIZE 100GB
45 43 max_request_body_size = 107374182400
46 44 ## Use poll instead of select, fixes file descriptors limits problems.
47 45 ## May not work on old windows systems.
48 46 asyncore_use_poll = true
49 47
50 48
51 49 ##########################
52 50 ## GUNICORN WSGI SERVER ##
53 51 ##########################
54 52 ## run with gunicorn --log-config rhodecode.ini --paste rhodecode.ini
55 53
56 54 #use = egg:gunicorn#main
57 55 ## Sets the number of process workers. More workers means more concurent connections
58 56 ## RhodeCode can handle at the same time. Each additional worker also it increases
59 57 ## memory usage as each has it's own set of caches.
60 58 ## Recommended value is (2 * NUMBER_OF_CPUS + 1), eg 2CPU = 5 workers, but no more
61 59 ## than 8-10 unless for really big deployments .e.g 700-1000 users.
62 60 ## `instance_id = *` must be set in the [app:main] section below (which is the default)
63 61 ## when using more than 1 worker.
64 62 #workers = 2
65 63 ## process name visible in process list
66 64 #proc_name = rhodecode
67 65 ## type of worker class, one of sync, gevent
68 66 ## recommended for bigger setup is using of of other than sync one
69 67 #worker_class = gevent
70 68 ## The maximum number of simultaneous clients. Valid only for Gevent
71 69 #worker_connections = 10
72 70 ## max number of requests that worker will handle before being gracefully
73 71 ## restarted, could prevent memory leaks
74 72 #max_requests = 1000
75 73 #max_requests_jitter = 30
76 74 ## amount of time a worker can spend with handling a request before it
77 75 ## gets killed and restarted. Set to 6hrs
78 76 #timeout = 21600
79 77
80 78
81 79 ## prefix middleware for RhodeCode.
82 80 ## recommended when using proxy setup.
83 81 ## allows to set RhodeCode under a prefix in server.
84 82 ## eg https://server.com/custom_prefix. Enable `filter-with =` option below as well.
85 83 ## And set your prefix like: `prefix = /custom_prefix`
86 84 ## be sure to also set beaker.session.cookie_path = /custom_prefix if you need
87 85 ## to make your cookies only work on prefix url
88 86 [filter:proxy-prefix]
89 87 use = egg:PasteDeploy#prefix
90 88 prefix = /
91 89
92 90 [app:main]
93 91 ## The %(here)s variable will be replaced with the absolute path of parent directory
94 92 ## of this file
95 93 ## In addition ENVIRONMENT variables usage is possible, e.g
96 94 ## sqlalchemy.db1.url = {ENV_RC_DB_URL}
97 95
98 96 use = egg:rhodecode-enterprise-ce
99 97
100 98 ## enable proxy prefix middleware, defined above
101 99 #filter-with = proxy-prefix
102 100
103 101 # During development the we want to have the debug toolbar enabled
104 102 pyramid.includes =
105 103 pyramid_debugtoolbar
106 104 rhodecode.lib.middleware.request_wrapper
107 105
108 106 pyramid.reload_templates = true
109 107
110 108 debugtoolbar.hosts = 0.0.0.0/0
111 109 debugtoolbar.exclude_prefixes =
112 110 /css
113 111 /fonts
114 112 /images
115 113 /js
116 114
117 115 ## RHODECODE PLUGINS ##
118 116 rhodecode.includes =
119 117 rhodecode.api
120 118
121 119
122 120 # api prefix url
123 121 rhodecode.api.url = /_admin/api
124 122
125 123
126 124 ## END RHODECODE PLUGINS ##
127 125
128 126 ## encryption key used to encrypt social plugin tokens,
129 127 ## remote_urls with credentials etc, if not set it defaults to
130 128 ## `beaker.session.secret`
131 129 #rhodecode.encrypted_values.secret =
132 130
133 131 ## decryption strict mode (enabled by default). It controls if decryption raises
134 132 ## `SignatureVerificationError` in case of wrong key, or damaged encryption data.
135 133 #rhodecode.encrypted_values.strict = false
136 134
137 135 ## return gzipped responses from Rhodecode (static files/application)
138 136 gzip_responses = false
139 137
140 138 ## autogenerate javascript routes file on startup
141 139 generate_js_files = false
142 140
143 141 ## System global default language.
144 142 ## All available languages: en(default), be, de, es, fr, it, ja, pl, pt, ru, zh
145 143 lang = en
146 144
147 145 ## Perform a full repository scan and import on each server start.
148 146 ## Settings this to true could lead to very long startup time.
149 147 startup.import_repos = false
150 148
151 149 ## Uncomment and set this path to use archive download cache.
152 150 ## Once enabled, generated archives will be cached at this location
153 151 ## and served from the cache during subsequent requests for the same archive of
154 152 ## the repository.
155 153 #archive_cache_dir = /tmp/tarballcache
156 154
157 155 ## URL at which the application is running. This is used for bootstraping
158 156 ## requests in context when no web request is available. Used in ishell, or
159 157 ## SSH calls. Set this for events to receive proper url for SSH calls.
160 158 app.base_url = http://rhodecode.local
161 159
162 160 ## Unique application ID. Should be a random unique string for security.
163 161 app_instance_uuid = rc-production
164 162
165 163 ## Cut off limit for large diffs (size in bytes). If overall diff size on
166 164 ## commit, or pull request exceeds this limit this diff will be displayed
167 165 ## partially. E.g 512000 == 512Kb
168 166 cut_off_limit_diff = 512000
169 167
170 168 ## Cut off limit for large files inside diffs (size in bytes). Each individual
171 169 ## file inside diff which exceeds this limit will be displayed partially.
172 170 ## E.g 128000 == 128Kb
173 171 cut_off_limit_file = 128000
174 172
175 173 ## use cached version of vcs repositories everywhere. Recommended to be `true`
176 174 vcs_full_cache = true
177 175
178 176 ## Force https in RhodeCode, fixes https redirects, assumes it's always https.
179 177 ## Normally this is controlled by proper http flags sent from http server
180 178 force_https = false
181 179
182 180 ## use Strict-Transport-Security headers
183 181 use_htsts = false
184 182
185 183 ## git rev filter option, --all is the default filter, if you need to
186 184 ## hide all refs in changelog switch this to --branches --tags
187 185 git_rev_filter = --branches --tags
188 186
189 187 # Set to true if your repos are exposed using the dumb protocol
190 188 git_update_server_info = false
191 189
192 190 ## RSS/ATOM feed options
193 191 rss_cut_off_limit = 256000
194 192 rss_items_per_page = 10
195 193 rss_include_diff = false
196 194
197 195 ## gist URL alias, used to create nicer urls for gist. This should be an
198 196 ## url that does rewrites to _admin/gists/{gistid}.
199 197 ## example: http://gist.rhodecode.org/{gistid}. Empty means use the internal
200 198 ## RhodeCode url, ie. http[s]://rhodecode.server/_admin/gists/{gistid}
201 199 gist_alias_url =
202 200
203 201 ## List of views (using glob pattern syntax) that AUTH TOKENS could be
204 202 ## used for access.
205 203 ## Adding ?auth_token=TOKEN_HASH to the url authenticates this request as if it
206 204 ## came from the the logged in user who own this authentication token.
207 205 ## Additionally @TOKEN syntaxt can be used to bound the view to specific
208 206 ## authentication token. Such view would be only accessible when used together
209 207 ## with this authentication token
210 208 ##
211 209 ## list of all views can be found under `/_admin/permissions/auth_token_access`
212 210 ## The list should be "," separated and on a single line.
213 211 ##
214 212 ## Most common views to enable:
215 213 # RepoCommitsView:repo_commit_download
216 214 # RepoCommitsView:repo_commit_patch
217 215 # RepoCommitsView:repo_commit_raw
218 216 # RepoCommitsView:repo_commit_raw@TOKEN
219 217 # RepoFilesView:repo_files_diff
220 218 # RepoFilesView:repo_archivefile
221 219 # RepoFilesView:repo_file_raw
222 220 # GistView:*
223 221 api_access_controllers_whitelist =
224 222
225 223 ## Default encoding used to convert from and to unicode
226 224 ## can be also a comma separated list of encoding in case of mixed encodings
227 225 default_encoding = UTF-8
228 226
229 227 ## instance-id prefix
230 228 ## a prefix key for this instance used for cache invalidation when running
231 229 ## multiple instances of rhodecode, make sure it's globally unique for
232 230 ## all running rhodecode instances. Leave empty if you don't use it
233 231 instance_id =
234 232
235 233 ## Fallback authentication plugin. Set this to a plugin ID to force the usage
236 234 ## of an authentication plugin also if it is disabled by it's settings.
237 235 ## This could be useful if you are unable to log in to the system due to broken
238 236 ## authentication settings. Then you can enable e.g. the internal rhodecode auth
239 237 ## module to log in again and fix the settings.
240 238 ##
241 239 ## Available builtin plugin IDs (hash is part of the ID):
242 240 ## egg:rhodecode-enterprise-ce#rhodecode
243 241 ## egg:rhodecode-enterprise-ce#pam
244 242 ## egg:rhodecode-enterprise-ce#ldap
245 243 ## egg:rhodecode-enterprise-ce#jasig_cas
246 244 ## egg:rhodecode-enterprise-ce#headers
247 245 ## egg:rhodecode-enterprise-ce#crowd
248 246 #rhodecode.auth_plugin_fallback = egg:rhodecode-enterprise-ce#rhodecode
249 247
250 248 ## alternative return HTTP header for failed authentication. Default HTTP
251 249 ## response is 401 HTTPUnauthorized. Currently HG clients have troubles with
252 250 ## handling that causing a series of failed authentication calls.
253 251 ## Set this variable to 403 to return HTTPForbidden, or any other HTTP code
254 252 ## This will be served instead of default 401 on bad authnetication
255 253 auth_ret_code =
256 254
257 255 ## use special detection method when serving auth_ret_code, instead of serving
258 256 ## ret_code directly, use 401 initially (Which triggers credentials prompt)
259 257 ## and then serve auth_ret_code to clients
260 258 auth_ret_code_detection = false
261 259
262 260 ## locking return code. When repository is locked return this HTTP code. 2XX
263 261 ## codes don't break the transactions while 4XX codes do
264 262 lock_ret_code = 423
265 263
266 264 ## allows to change the repository location in settings page
267 265 allow_repo_location_change = true
268 266
269 267 ## allows to setup custom hooks in settings page
270 268 allow_custom_hooks_settings = true
271 269
272 270 ## Generated license token required for EE edition license.
273 271 ## New generated token value can be found in Admin > settings > license page.
274 272 license_token =
275 273
276 274 ## supervisor connection uri, for managing supervisor and logs.
277 275 supervisor.uri =
278 276 ## supervisord group name/id we only want this RC instance to handle
279 277 supervisor.group_id = dev
280 278
281 279 ## Display extended labs settings
282 280 labs_settings_active = true
283 281
284 282 ## Custom exception store path, defaults to TMPDIR
285 283 ## This is used to store exception from RhodeCode in shared directory
286 284 #exception_tracker.store_path =
287 285
288 286
289 287 ####################################
290 288 ### CELERY CONFIG ####
291 289 ####################################
292 290 ## run: /path/to/celery worker \
293 291 ## -E --beat --app rhodecode.lib.celerylib.loader \
294 292 ## --scheduler rhodecode.lib.celerylib.scheduler.RcScheduler \
295 293 ## --loglevel DEBUG --ini /path/to/rhodecode.ini
296 294
297 295 use_celery = false
298 296
299 297 ## connection url to the message broker (default rabbitmq)
300 298 celery.broker_url = amqp://rabbitmq:qweqwe@localhost:5672/rabbitmqhost
301 299
302 300 ## maximum tasks to execute before worker restart
303 301 celery.max_tasks_per_child = 100
304 302
305 303 ## tasks will never be sent to the queue, but executed locally instead.
306 304 celery.task_always_eager = false
307 305
308 306 #####################################
309 307 ### DOGPILE CACHE ####
310 308 #####################################
311 309 ## Default cache dir for caches. Putting this into a ramdisk
312 310 ## can boost performance, eg. /tmpfs/data_ramdisk, however this directory might require
313 311 ## large amount of space
314 312 cache_dir = %(here)s/data
315 313
316 314 ## `cache_perms` cache settings for permission tree, auth TTL.
317 315 rc_cache.cache_perms.backend = dogpile.cache.rc.file_namespace
318 316 rc_cache.cache_perms.expiration_time = 300
319 317
320 318 ## alternative `cache_perms` redis backend with distributed lock
321 319 #rc_cache.cache_perms.backend = dogpile.cache.rc.redis
322 320 #rc_cache.cache_perms.expiration_time = 300
323 321 ## redis_expiration_time needs to be greater then expiration_time
324 322 #rc_cache.cache_perms.arguments.redis_expiration_time = 7200
325 323 #rc_cache.cache_perms.arguments.socket_timeout = 30
326 324 #rc_cache.cache_perms.arguments.host = localhost
327 325 #rc_cache.cache_perms.arguments.port = 6379
328 326 #rc_cache.cache_perms.arguments.db = 0
329 327 #rc_cache.cache_perms.arguments.distributed_lock = true
330 328
331 329 ## `cache_repo` cache settings for FileTree, Readme, RSS FEEDS
332 330 rc_cache.cache_repo.backend = dogpile.cache.rc.file_namespace
333 331 rc_cache.cache_repo.expiration_time = 2592000
334 332
335 333 ## alternative `cache_repo` redis backend with distributed lock
336 334 #rc_cache.cache_repo.backend = dogpile.cache.rc.redis
337 335 #rc_cache.cache_repo.expiration_time = 2592000
338 336 ## redis_expiration_time needs to be greater then expiration_time
339 337 #rc_cache.cache_repo.arguments.redis_expiration_time = 2678400
340 338 #rc_cache.cache_repo.arguments.socket_timeout = 30
341 339 #rc_cache.cache_repo.arguments.host = localhost
342 340 #rc_cache.cache_repo.arguments.port = 6379
343 341 #rc_cache.cache_repo.arguments.db = 1
344 342 #rc_cache.cache_repo.arguments.distributed_lock = true
345 343
346 344 ## cache settings for SQL queries, this needs to use memory type backend
347 345 rc_cache.sql_cache_short.backend = dogpile.cache.rc.memory_lru
348 346 rc_cache.sql_cache_short.expiration_time = 30
349 347
350 348 ## `cache_repo_longterm` cache for repo object instances, this needs to use memory
351 349 ## type backend as the objects kept are not pickle serializable
352 350 rc_cache.cache_repo_longterm.backend = dogpile.cache.rc.memory_lru
353 351 ## by default we use 96H, this is using invalidation on push anyway
354 352 rc_cache.cache_repo_longterm.expiration_time = 345600
355 353 ## max items in LRU cache, reduce this number to save memory, and expire last used
356 354 ## cached objects
357 355 rc_cache.cache_repo_longterm.max_size = 10000
358 356
359 357
360 358 ####################################
361 359 ### BEAKER SESSION ####
362 360 ####################################
363 361
364 362 ## .session.type is type of storage options for the session, current allowed
365 363 ## types are file, ext:memcached, ext:redis, ext:database, and memory (default).
366 364 beaker.session.type = file
367 365 beaker.session.data_dir = %(here)s/data/sessions
368 366
369 367 ## db based session, fast, and allows easy management over logged in users
370 368 #beaker.session.type = ext:database
371 369 #beaker.session.table_name = db_session
372 370 #beaker.session.sa.url = postgresql://postgres:secret@localhost/rhodecode
373 371 #beaker.session.sa.url = mysql://root:secret@127.0.0.1/rhodecode
374 372 #beaker.session.sa.pool_recycle = 3600
375 373 #beaker.session.sa.echo = false
376 374
377 375 beaker.session.key = rhodecode
378 376 beaker.session.secret = develop-rc-uytcxaz
379 377 beaker.session.lock_dir = %(here)s/data/sessions/lock
380 378
381 379 ## Secure encrypted cookie. Requires AES and AES python libraries
382 380 ## you must disable beaker.session.secret to use this
383 381 #beaker.session.encrypt_key = key_for_encryption
384 382 #beaker.session.validate_key = validation_key
385 383
386 384 ## sets session as invalid(also logging out user) if it haven not been
387 385 ## accessed for given amount of time in seconds
388 386 beaker.session.timeout = 2592000
389 387 beaker.session.httponly = true
390 388 ## Path to use for the cookie. Set to prefix if you use prefix middleware
391 389 #beaker.session.cookie_path = /custom_prefix
392 390
393 391 ## uncomment for https secure cookie
394 392 beaker.session.secure = false
395 393
396 394 ## auto save the session to not to use .save()
397 395 beaker.session.auto = false
398 396
399 397 ## default cookie expiration time in seconds, set to `true` to set expire
400 398 ## at browser close
401 399 #beaker.session.cookie_expires = 3600
402 400
403 401 ###################################
404 402 ## SEARCH INDEXING CONFIGURATION ##
405 403 ###################################
406 404 ## Full text search indexer is available in rhodecode-tools under
407 405 ## `rhodecode-tools index` command
408 406
409 407 ## WHOOSH Backend, doesn't require additional services to run
410 408 ## it works good with few dozen repos
411 409 search.module = rhodecode.lib.index.whoosh
412 410 search.location = %(here)s/data/index
413 411
414 412 ########################################
415 413 ### CHANNELSTREAM CONFIG ####
416 414 ########################################
417 415 ## channelstream enables persistent connections and live notification
418 416 ## in the system. It's also used by the chat system
419 417 channelstream.enabled = false
420 418
421 419 ## server address for channelstream server on the backend
422 420 channelstream.server = 127.0.0.1:9800
423 421
424 422 ## location of the channelstream server from outside world
425 423 ## use ws:// for http or wss:// for https. This address needs to be handled
426 424 ## by external HTTP server such as Nginx or Apache
427 425 ## see nginx/apache configuration examples in our docs
428 426 channelstream.ws_url = ws://rhodecode.yourserver.com/_channelstream
429 427 channelstream.secret = secret
430 428 channelstream.history.location = %(here)s/channelstream_history
431 429
432 430 ## Internal application path that Javascript uses to connect into.
433 431 ## If you use proxy-prefix the prefix should be added before /_channelstream
434 432 channelstream.proxy_path = /_channelstream
435 433
436 434
437 435 ###################################
438 436 ## APPENLIGHT CONFIG ##
439 437 ###################################
440 438
441 439 ## Appenlight is tailored to work with RhodeCode, see
442 440 ## http://appenlight.com for details how to obtain an account
443 441
444 442 ## appenlight integration enabled
445 443 appenlight = false
446 444
447 445 appenlight.server_url = https://api.appenlight.com
448 446 appenlight.api_key = YOUR_API_KEY
449 447 #appenlight.transport_config = https://api.appenlight.com?threaded=1&timeout=5
450 448
451 449 # used for JS client
452 450 appenlight.api_public_key = YOUR_API_PUBLIC_KEY
453 451
454 452 ## TWEAK AMOUNT OF INFO SENT HERE
455 453
456 454 ## enables 404 error logging (default False)
457 455 appenlight.report_404 = false
458 456
459 457 ## time in seconds after request is considered being slow (default 1)
460 458 appenlight.slow_request_time = 1
461 459
462 460 ## record slow requests in application
463 461 ## (needs to be enabled for slow datastore recording and time tracking)
464 462 appenlight.slow_requests = true
465 463
466 464 ## enable hooking to application loggers
467 465 appenlight.logging = true
468 466
469 467 ## minimum log level for log capture
470 468 appenlight.logging.level = WARNING
471 469
472 470 ## send logs only from erroneous/slow requests
473 471 ## (saves API quota for intensive logging)
474 472 appenlight.logging_on_error = false
475 473
476 474 ## list of additonal keywords that should be grabbed from environ object
477 475 ## can be string with comma separated list of words in lowercase
478 476 ## (by default client will always send following info:
479 477 ## 'REMOTE_USER', 'REMOTE_ADDR', 'SERVER_NAME', 'CONTENT_TYPE' + all keys that
480 478 ## start with HTTP* this list be extended with additional keywords here
481 479 appenlight.environ_keys_whitelist =
482 480
483 481 ## list of keywords that should be blanked from request object
484 482 ## can be string with comma separated list of words in lowercase
485 483 ## (by default client will always blank keys that contain following words
486 484 ## 'password', 'passwd', 'pwd', 'auth_tkt', 'secret', 'csrf'
487 485 ## this list be extended with additional keywords set here
488 486 appenlight.request_keys_blacklist =
489 487
490 488 ## list of namespaces that should be ignores when gathering log entries
491 489 ## can be string with comma separated list of namespaces
492 490 ## (by default the client ignores own entries: appenlight_client.client)
493 491 appenlight.log_namespace_blacklist =
494 492
495 493
496 494 ################################################################################
497 495 ## WARNING: *THE LINE BELOW MUST BE UNCOMMENTED ON A PRODUCTION ENVIRONMENT* ##
498 496 ## Debug mode will enable the interactive debugging tool, allowing ANYONE to ##
499 497 ## execute malicious code after an exception is raised. ##
500 498 ################################################################################
501 499 #set debug = false
502 500
503 501 # enable debug style page
504 502 debug_style = true
505 503
506 504 ###########################################
507 505 ### MAIN RHODECODE DATABASE CONFIG ###
508 506 ###########################################
509 507 #sqlalchemy.db1.url = sqlite:///%(here)s/rhodecode.db?timeout=30
510 508 #sqlalchemy.db1.url = postgresql://postgres:qweqwe@localhost/rhodecode
511 509 #sqlalchemy.db1.url = mysql://root:qweqwe@localhost/rhodecode?charset=utf8
512 510 # pymysql is an alternative driver for MySQL, use in case of problems with default one
513 511 #sqlalchemy.db1.url = mysql+pymysql://root:qweqwe@localhost/rhodecode
514 512
515 513 sqlalchemy.db1.url = sqlite:///%(here)s/rhodecode.db?timeout=30
516 514
517 515 # see sqlalchemy docs for other advanced settings
518 516
519 517 ## print the sql statements to output
520 518 sqlalchemy.db1.echo = false
521 519 ## recycle the connections after this amount of seconds
522 520 sqlalchemy.db1.pool_recycle = 3600
523 521 sqlalchemy.db1.convert_unicode = true
524 522
525 523 ## the number of connections to keep open inside the connection pool.
526 524 ## 0 indicates no limit
527 525 #sqlalchemy.db1.pool_size = 5
528 526
529 527 ## the number of connections to allow in connection pool "overflow", that is
530 528 ## connections that can be opened above and beyond the pool_size setting,
531 529 ## which defaults to five.
532 530 #sqlalchemy.db1.max_overflow = 10
533 531
534 532 ## Connection check ping, used to detect broken database connections
535 533 ## could be enabled to better handle cases if MySQL has gone away errors
536 534 #sqlalchemy.db1.ping_connection = true
537 535
538 536 ##################
539 537 ### VCS CONFIG ###
540 538 ##################
541 539 vcs.server.enable = true
542 540 vcs.server = localhost:9900
543 541
544 542 ## Web server connectivity protocol, responsible for web based VCS operatations
545 543 ## Available protocols are:
546 544 ## `http` - use http-rpc backend (default)
547 545 vcs.server.protocol = http
548 546
549 547 ## Push/Pull operations protocol, available options are:
550 548 ## `http` - use http-rpc backend (default)
551 549 vcs.scm_app_implementation = http
552 550
553 551 ## Push/Pull operations hooks protocol, available options are:
554 552 ## `http` - use http-rpc backend (default)
555 553 vcs.hooks.protocol = http
556 554
557 555 ## Host on which this instance is listening for hooks. If vcsserver is in other location
558 556 ## this should be adjusted.
559 557 vcs.hooks.host = 127.0.0.1
560 558
561 559 vcs.server.log_level = debug
562 560 ## Start VCSServer with this instance as a subprocess, useful for development
563 561 vcs.start_server = false
564 562
565 563 ## List of enabled VCS backends, available options are:
566 564 ## `hg` - mercurial
567 565 ## `git` - git
568 566 ## `svn` - subversion
569 567 vcs.backends = hg, git, svn
570 568
571 569 vcs.connection_timeout = 3600
572 570 ## Compatibility version when creating SVN repositories. Defaults to newest version when commented out.
573 571 ## Available options are: pre-1.4-compatible, pre-1.5-compatible, pre-1.6-compatible, pre-1.8-compatible, pre-1.9-compatible
574 572 #vcs.svn.compatible_version = pre-1.8-compatible
575 573
576 574
577 575 ############################################################
578 576 ### Subversion proxy support (mod_dav_svn) ###
579 577 ### Maps RhodeCode repo groups into SVN paths for Apache ###
580 578 ############################################################
581 579 ## Enable or disable the config file generation.
582 580 svn.proxy.generate_config = false
583 581 ## Generate config file with `SVNListParentPath` set to `On`.
584 582 svn.proxy.list_parent_path = true
585 583 ## Set location and file name of generated config file.
586 584 svn.proxy.config_file_path = %(here)s/mod_dav_svn.conf
587 585 ## alternative mod_dav config template. This needs to be a mako template
588 586 #svn.proxy.config_template = ~/.rccontrol/enterprise-1/custom_svn_conf.mako
589 587 ## Used as a prefix to the `Location` block in the generated config file.
590 588 ## In most cases it should be set to `/`.
591 589 svn.proxy.location_root = /
592 590 ## Command to reload the mod dav svn configuration on change.
593 591 ## Example: `/etc/init.d/apache2 reload`
594 592 #svn.proxy.reload_cmd = /etc/init.d/apache2 reload
595 593 ## If the timeout expires before the reload command finishes, the command will
596 594 ## be killed. Setting it to zero means no timeout. Defaults to 10 seconds.
597 595 #svn.proxy.reload_timeout = 10
598 596
599 597 ############################################################
600 598 ### SSH Support Settings ###
601 599 ############################################################
602 600
603 601 ## Defines if a custom authorized_keys file should be created and written on
604 602 ## any change user ssh keys. Setting this to false also disables posibility
605 603 ## of adding SSH keys by users from web interface. Super admins can still
606 604 ## manage SSH Keys.
607 605 ssh.generate_authorized_keyfile = false
608 606
609 607 ## Options for ssh, default is `no-pty,no-port-forwarding,no-X11-forwarding,no-agent-forwarding`
610 608 # ssh.authorized_keys_ssh_opts =
611 609
612 610 ## Path to the authrozied_keys file where the generate entries are placed.
613 611 ## It is possible to have multiple key files specified in `sshd_config` e.g.
614 612 ## AuthorizedKeysFile %h/.ssh/authorized_keys %h/.ssh/authorized_keys_rhodecode
615 613 ssh.authorized_keys_file_path = ~/.ssh/authorized_keys_rhodecode
616 614
617 615 ## Command to execute the SSH wrapper. The binary is available in the
618 616 ## rhodecode installation directory.
619 617 ## e.g ~/.rccontrol/community-1/profile/bin/rc-ssh-wrapper
620 618 ssh.wrapper_cmd = ~/.rccontrol/community-1/rc-ssh-wrapper
621 619
622 620 ## Allow shell when executing the ssh-wrapper command
623 621 ssh.wrapper_cmd_allow_shell = false
624 622
625 623 ## Enables logging, and detailed output send back to the client during SSH
626 624 ## operations. Usefull for debugging, shouldn't be used in production.
627 625 ssh.enable_debug_logging = true
628 626
629 627 ## Paths to binary executable, by default they are the names, but we can
630 628 ## override them if we want to use a custom one
631 629 ssh.executable.hg = ~/.rccontrol/vcsserver-1/profile/bin/hg
632 630 ssh.executable.git = ~/.rccontrol/vcsserver-1/profile/bin/git
633 631 ssh.executable.svn = ~/.rccontrol/vcsserver-1/profile/bin/svnserve
634 632
635 633
636 634 ## Dummy marker to add new entries after.
637 635 ## Add any custom entries below. Please don't remove.
638 636 custom.conf = 1
639 637
640 638
641 639 ################################
642 640 ### LOGGING CONFIGURATION ####
643 641 ################################
644 642 [loggers]
645 643 keys = root, sqlalchemy, beaker, celery, rhodecode, ssh_wrapper
646 644
647 645 [handlers]
648 646 keys = console, console_sql
649 647
650 648 [formatters]
651 649 keys = generic, color_formatter, color_formatter_sql
652 650
653 651 #############
654 652 ## LOGGERS ##
655 653 #############
656 654 [logger_root]
657 655 level = NOTSET
658 656 handlers = console
659 657
660 658 [logger_sqlalchemy]
661 659 level = INFO
662 660 handlers = console_sql
663 661 qualname = sqlalchemy.engine
664 662 propagate = 0
665 663
666 664 [logger_beaker]
667 665 level = DEBUG
668 666 handlers =
669 667 qualname = beaker.container
670 668 propagate = 1
671 669
672 670 [logger_rhodecode]
673 671 level = DEBUG
674 672 handlers =
675 673 qualname = rhodecode
676 674 propagate = 1
677 675
678 676 [logger_ssh_wrapper]
679 677 level = DEBUG
680 678 handlers =
681 679 qualname = ssh_wrapper
682 680 propagate = 1
683 681
684 682 [logger_celery]
685 683 level = DEBUG
686 684 handlers =
687 685 qualname = celery
688 686
689 687
690 688 ##############
691 689 ## HANDLERS ##
692 690 ##############
693 691
694 692 [handler_console]
695 693 class = StreamHandler
696 694 args = (sys.stderr, )
697 695 level = DEBUG
698 696 formatter = color_formatter
699 697
700 698 [handler_console_sql]
701 699 # "level = DEBUG" logs SQL queries and results.
702 700 # "level = INFO" logs SQL queries.
703 701 # "level = WARN" logs neither. (Recommended for production systems.)
704 702 class = StreamHandler
705 703 args = (sys.stderr, )
706 704 level = WARN
707 705 formatter = color_formatter_sql
708 706
709 707 ################
710 708 ## FORMATTERS ##
711 709 ################
712 710
713 711 [formatter_generic]
714 712 class = rhodecode.lib.logging_formatter.ExceptionAwareFormatter
715 713 format = %(asctime)s.%(msecs)03d [%(process)d] %(levelname)-5.5s [%(name)s] %(message)s
716 714 datefmt = %Y-%m-%d %H:%M:%S
717 715
718 716 [formatter_color_formatter]
719 717 class = rhodecode.lib.logging_formatter.ColorFormatter
720 718 format = %(asctime)s.%(msecs)03d [%(process)d] %(levelname)-5.5s [%(name)s] %(message)s
721 719 datefmt = %Y-%m-%d %H:%M:%S
722 720
723 721 [formatter_color_formatter_sql]
724 722 class = rhodecode.lib.logging_formatter.ColorFormatterSql
725 723 format = %(asctime)s.%(msecs)03d [%(process)d] %(levelname)-5.5s [%(name)s] %(message)s
726 724 datefmt = %Y-%m-%d %H:%M:%S
@@ -1,698 +1,696 b''
1 1
2 2
3 3 ################################################################################
4 4 ## RHODECODE COMMUNITY EDITION CONFIGURATION ##
5 5 ################################################################################
6 6
7 7 [DEFAULT]
8 8 debug = true
9 9
10 10 ################################################################################
11 11 ## EMAIL CONFIGURATION ##
12 12 ## Uncomment and replace with the email address which should receive ##
13 13 ## any error reports after an application crash ##
14 14 ## Additionally these settings will be used by the RhodeCode mailing system ##
15 15 ################################################################################
16 16
17 17 ## prefix all emails subjects with given prefix, helps filtering out emails
18 18 #email_prefix = [RhodeCode]
19 19
20 20 ## email FROM address all mails will be sent
21 21 #app_email_from = rhodecode-noreply@localhost
22 22
23 23 #smtp_server = mail.server.com
24 24 #smtp_username =
25 25 #smtp_password =
26 26 #smtp_port =
27 27 #smtp_use_tls = false
28 28 #smtp_use_ssl = true
29 ## Specify available auth parameters here (e.g. LOGIN PLAIN CRAM-MD5, etc.)
30 #smtp_auth =
31 29
32 30 [server:main]
33 31 ## COMMON ##
34 32 host = 127.0.0.1
35 33 port = 5000
36 34
37 35 ###########################################################
38 36 ## WAITRESS WSGI SERVER - Recommended for Development ####
39 37 ###########################################################
40 38
41 39 #use = egg:waitress#main
42 40 ## number of worker threads
43 41 #threads = 5
44 42 ## MAX BODY SIZE 100GB
45 43 #max_request_body_size = 107374182400
46 44 ## Use poll instead of select, fixes file descriptors limits problems.
47 45 ## May not work on old windows systems.
48 46 #asyncore_use_poll = true
49 47
50 48
51 49 ##########################
52 50 ## GUNICORN WSGI SERVER ##
53 51 ##########################
54 52 ## run with gunicorn --log-config rhodecode.ini --paste rhodecode.ini
55 53
56 54 use = egg:gunicorn#main
57 55 ## Sets the number of process workers. More workers means more concurent connections
58 56 ## RhodeCode can handle at the same time. Each additional worker also it increases
59 57 ## memory usage as each has it's own set of caches.
60 58 ## Recommended value is (2 * NUMBER_OF_CPUS + 1), eg 2CPU = 5 workers, but no more
61 59 ## than 8-10 unless for really big deployments .e.g 700-1000 users.
62 60 ## `instance_id = *` must be set in the [app:main] section below (which is the default)
63 61 ## when using more than 1 worker.
64 62 workers = 2
65 63 ## process name visible in process list
66 64 proc_name = rhodecode
67 65 ## type of worker class, one of sync, gevent
68 66 ## recommended for bigger setup is using of of other than sync one
69 67 worker_class = gevent
70 68 ## The maximum number of simultaneous clients. Valid only for Gevent
71 69 worker_connections = 10
72 70 ## max number of requests that worker will handle before being gracefully
73 71 ## restarted, could prevent memory leaks
74 72 max_requests = 1000
75 73 max_requests_jitter = 30
76 74 ## amount of time a worker can spend with handling a request before it
77 75 ## gets killed and restarted. Set to 6hrs
78 76 timeout = 21600
79 77
80 78
81 79 ## prefix middleware for RhodeCode.
82 80 ## recommended when using proxy setup.
83 81 ## allows to set RhodeCode under a prefix in server.
84 82 ## eg https://server.com/custom_prefix. Enable `filter-with =` option below as well.
85 83 ## And set your prefix like: `prefix = /custom_prefix`
86 84 ## be sure to also set beaker.session.cookie_path = /custom_prefix if you need
87 85 ## to make your cookies only work on prefix url
88 86 [filter:proxy-prefix]
89 87 use = egg:PasteDeploy#prefix
90 88 prefix = /
91 89
92 90 [app:main]
93 91 ## The %(here)s variable will be replaced with the absolute path of parent directory
94 92 ## of this file
95 93 ## In addition ENVIRONMENT variables usage is possible, e.g
96 94 ## sqlalchemy.db1.url = {ENV_RC_DB_URL}
97 95
98 96 use = egg:rhodecode-enterprise-ce
99 97
100 98 ## enable proxy prefix middleware, defined above
101 99 #filter-with = proxy-prefix
102 100
103 101 ## encryption key used to encrypt social plugin tokens,
104 102 ## remote_urls with credentials etc, if not set it defaults to
105 103 ## `beaker.session.secret`
106 104 #rhodecode.encrypted_values.secret =
107 105
108 106 ## decryption strict mode (enabled by default). It controls if decryption raises
109 107 ## `SignatureVerificationError` in case of wrong key, or damaged encryption data.
110 108 #rhodecode.encrypted_values.strict = false
111 109
112 110 ## return gzipped responses from Rhodecode (static files/application)
113 111 gzip_responses = false
114 112
115 113 ## autogenerate javascript routes file on startup
116 114 generate_js_files = false
117 115
118 116 ## System global default language.
119 117 ## All available languages: en(default), be, de, es, fr, it, ja, pl, pt, ru, zh
120 118 lang = en
121 119
122 120 ## Perform a full repository scan and import on each server start.
123 121 ## Settings this to true could lead to very long startup time.
124 122 startup.import_repos = false
125 123
126 124 ## Uncomment and set this path to use archive download cache.
127 125 ## Once enabled, generated archives will be cached at this location
128 126 ## and served from the cache during subsequent requests for the same archive of
129 127 ## the repository.
130 128 #archive_cache_dir = /tmp/tarballcache
131 129
132 130 ## URL at which the application is running. This is used for bootstraping
133 131 ## requests in context when no web request is available. Used in ishell, or
134 132 ## SSH calls. Set this for events to receive proper url for SSH calls.
135 133 app.base_url = http://rhodecode.local
136 134
137 135 ## Unique application ID. Should be a random unique string for security.
138 136 app_instance_uuid = rc-production
139 137
140 138 ## Cut off limit for large diffs (size in bytes). If overall diff size on
141 139 ## commit, or pull request exceeds this limit this diff will be displayed
142 140 ## partially. E.g 512000 == 512Kb
143 141 cut_off_limit_diff = 512000
144 142
145 143 ## Cut off limit for large files inside diffs (size in bytes). Each individual
146 144 ## file inside diff which exceeds this limit will be displayed partially.
147 145 ## E.g 128000 == 128Kb
148 146 cut_off_limit_file = 128000
149 147
150 148 ## use cached version of vcs repositories everywhere. Recommended to be `true`
151 149 vcs_full_cache = true
152 150
153 151 ## Force https in RhodeCode, fixes https redirects, assumes it's always https.
154 152 ## Normally this is controlled by proper http flags sent from http server
155 153 force_https = false
156 154
157 155 ## use Strict-Transport-Security headers
158 156 use_htsts = false
159 157
160 158 ## git rev filter option, --all is the default filter, if you need to
161 159 ## hide all refs in changelog switch this to --branches --tags
162 160 git_rev_filter = --branches --tags
163 161
164 162 # Set to true if your repos are exposed using the dumb protocol
165 163 git_update_server_info = false
166 164
167 165 ## RSS/ATOM feed options
168 166 rss_cut_off_limit = 256000
169 167 rss_items_per_page = 10
170 168 rss_include_diff = false
171 169
172 170 ## gist URL alias, used to create nicer urls for gist. This should be an
173 171 ## url that does rewrites to _admin/gists/{gistid}.
174 172 ## example: http://gist.rhodecode.org/{gistid}. Empty means use the internal
175 173 ## RhodeCode url, ie. http[s]://rhodecode.server/_admin/gists/{gistid}
176 174 gist_alias_url =
177 175
178 176 ## List of views (using glob pattern syntax) that AUTH TOKENS could be
179 177 ## used for access.
180 178 ## Adding ?auth_token=TOKEN_HASH to the url authenticates this request as if it
181 179 ## came from the the logged in user who own this authentication token.
182 180 ## Additionally @TOKEN syntaxt can be used to bound the view to specific
183 181 ## authentication token. Such view would be only accessible when used together
184 182 ## with this authentication token
185 183 ##
186 184 ## list of all views can be found under `/_admin/permissions/auth_token_access`
187 185 ## The list should be "," separated and on a single line.
188 186 ##
189 187 ## Most common views to enable:
190 188 # RepoCommitsView:repo_commit_download
191 189 # RepoCommitsView:repo_commit_patch
192 190 # RepoCommitsView:repo_commit_raw
193 191 # RepoCommitsView:repo_commit_raw@TOKEN
194 192 # RepoFilesView:repo_files_diff
195 193 # RepoFilesView:repo_archivefile
196 194 # RepoFilesView:repo_file_raw
197 195 # GistView:*
198 196 api_access_controllers_whitelist =
199 197
200 198 ## Default encoding used to convert from and to unicode
201 199 ## can be also a comma separated list of encoding in case of mixed encodings
202 200 default_encoding = UTF-8
203 201
204 202 ## instance-id prefix
205 203 ## a prefix key for this instance used for cache invalidation when running
206 204 ## multiple instances of rhodecode, make sure it's globally unique for
207 205 ## all running rhodecode instances. Leave empty if you don't use it
208 206 instance_id =
209 207
210 208 ## Fallback authentication plugin. Set this to a plugin ID to force the usage
211 209 ## of an authentication plugin also if it is disabled by it's settings.
212 210 ## This could be useful if you are unable to log in to the system due to broken
213 211 ## authentication settings. Then you can enable e.g. the internal rhodecode auth
214 212 ## module to log in again and fix the settings.
215 213 ##
216 214 ## Available builtin plugin IDs (hash is part of the ID):
217 215 ## egg:rhodecode-enterprise-ce#rhodecode
218 216 ## egg:rhodecode-enterprise-ce#pam
219 217 ## egg:rhodecode-enterprise-ce#ldap
220 218 ## egg:rhodecode-enterprise-ce#jasig_cas
221 219 ## egg:rhodecode-enterprise-ce#headers
222 220 ## egg:rhodecode-enterprise-ce#crowd
223 221 #rhodecode.auth_plugin_fallback = egg:rhodecode-enterprise-ce#rhodecode
224 222
225 223 ## alternative return HTTP header for failed authentication. Default HTTP
226 224 ## response is 401 HTTPUnauthorized. Currently HG clients have troubles with
227 225 ## handling that causing a series of failed authentication calls.
228 226 ## Set this variable to 403 to return HTTPForbidden, or any other HTTP code
229 227 ## This will be served instead of default 401 on bad authnetication
230 228 auth_ret_code =
231 229
232 230 ## use special detection method when serving auth_ret_code, instead of serving
233 231 ## ret_code directly, use 401 initially (Which triggers credentials prompt)
234 232 ## and then serve auth_ret_code to clients
235 233 auth_ret_code_detection = false
236 234
237 235 ## locking return code. When repository is locked return this HTTP code. 2XX
238 236 ## codes don't break the transactions while 4XX codes do
239 237 lock_ret_code = 423
240 238
241 239 ## allows to change the repository location in settings page
242 240 allow_repo_location_change = true
243 241
244 242 ## allows to setup custom hooks in settings page
245 243 allow_custom_hooks_settings = true
246 244
247 245 ## Generated license token required for EE edition license.
248 246 ## New generated token value can be found in Admin > settings > license page.
249 247 license_token =
250 248
251 249 ## supervisor connection uri, for managing supervisor and logs.
252 250 supervisor.uri =
253 251 ## supervisord group name/id we only want this RC instance to handle
254 252 supervisor.group_id = prod
255 253
256 254 ## Display extended labs settings
257 255 labs_settings_active = true
258 256
259 257 ## Custom exception store path, defaults to TMPDIR
260 258 ## This is used to store exception from RhodeCode in shared directory
261 259 #exception_tracker.store_path =
262 260
263 261
264 262 ####################################
265 263 ### CELERY CONFIG ####
266 264 ####################################
267 265 ## run: /path/to/celery worker \
268 266 ## -E --beat --app rhodecode.lib.celerylib.loader \
269 267 ## --scheduler rhodecode.lib.celerylib.scheduler.RcScheduler \
270 268 ## --loglevel DEBUG --ini /path/to/rhodecode.ini
271 269
272 270 use_celery = false
273 271
274 272 ## connection url to the message broker (default rabbitmq)
275 273 celery.broker_url = amqp://rabbitmq:qweqwe@localhost:5672/rabbitmqhost
276 274
277 275 ## maximum tasks to execute before worker restart
278 276 celery.max_tasks_per_child = 100
279 277
280 278 ## tasks will never be sent to the queue, but executed locally instead.
281 279 celery.task_always_eager = false
282 280
283 281 #####################################
284 282 ### DOGPILE CACHE ####
285 283 #####################################
286 284 ## Default cache dir for caches. Putting this into a ramdisk
287 285 ## can boost performance, eg. /tmpfs/data_ramdisk, however this directory might require
288 286 ## large amount of space
289 287 cache_dir = %(here)s/data
290 288
291 289 ## `cache_perms` cache settings for permission tree, auth TTL.
292 290 rc_cache.cache_perms.backend = dogpile.cache.rc.file_namespace
293 291 rc_cache.cache_perms.expiration_time = 300
294 292
295 293 ## alternative `cache_perms` redis backend with distributed lock
296 294 #rc_cache.cache_perms.backend = dogpile.cache.rc.redis
297 295 #rc_cache.cache_perms.expiration_time = 300
298 296 ## redis_expiration_time needs to be greater then expiration_time
299 297 #rc_cache.cache_perms.arguments.redis_expiration_time = 7200
300 298 #rc_cache.cache_perms.arguments.socket_timeout = 30
301 299 #rc_cache.cache_perms.arguments.host = localhost
302 300 #rc_cache.cache_perms.arguments.port = 6379
303 301 #rc_cache.cache_perms.arguments.db = 0
304 302 #rc_cache.cache_perms.arguments.distributed_lock = true
305 303
306 304 ## `cache_repo` cache settings for FileTree, Readme, RSS FEEDS
307 305 rc_cache.cache_repo.backend = dogpile.cache.rc.file_namespace
308 306 rc_cache.cache_repo.expiration_time = 2592000
309 307
310 308 ## alternative `cache_repo` redis backend with distributed lock
311 309 #rc_cache.cache_repo.backend = dogpile.cache.rc.redis
312 310 #rc_cache.cache_repo.expiration_time = 2592000
313 311 ## redis_expiration_time needs to be greater then expiration_time
314 312 #rc_cache.cache_repo.arguments.redis_expiration_time = 2678400
315 313 #rc_cache.cache_repo.arguments.socket_timeout = 30
316 314 #rc_cache.cache_repo.arguments.host = localhost
317 315 #rc_cache.cache_repo.arguments.port = 6379
318 316 #rc_cache.cache_repo.arguments.db = 1
319 317 #rc_cache.cache_repo.arguments.distributed_lock = true
320 318
321 319 ## cache settings for SQL queries, this needs to use memory type backend
322 320 rc_cache.sql_cache_short.backend = dogpile.cache.rc.memory_lru
323 321 rc_cache.sql_cache_short.expiration_time = 30
324 322
325 323 ## `cache_repo_longterm` cache for repo object instances, this needs to use memory
326 324 ## type backend as the objects kept are not pickle serializable
327 325 rc_cache.cache_repo_longterm.backend = dogpile.cache.rc.memory_lru
328 326 ## by default we use 96H, this is using invalidation on push anyway
329 327 rc_cache.cache_repo_longterm.expiration_time = 345600
330 328 ## max items in LRU cache, reduce this number to save memory, and expire last used
331 329 ## cached objects
332 330 rc_cache.cache_repo_longterm.max_size = 10000
333 331
334 332
335 333 ####################################
336 334 ### BEAKER SESSION ####
337 335 ####################################
338 336
339 337 ## .session.type is type of storage options for the session, current allowed
340 338 ## types are file, ext:memcached, ext:redis, ext:database, and memory (default).
341 339 beaker.session.type = file
342 340 beaker.session.data_dir = %(here)s/data/sessions
343 341
344 342 ## db based session, fast, and allows easy management over logged in users
345 343 #beaker.session.type = ext:database
346 344 #beaker.session.table_name = db_session
347 345 #beaker.session.sa.url = postgresql://postgres:secret@localhost/rhodecode
348 346 #beaker.session.sa.url = mysql://root:secret@127.0.0.1/rhodecode
349 347 #beaker.session.sa.pool_recycle = 3600
350 348 #beaker.session.sa.echo = false
351 349
352 350 beaker.session.key = rhodecode
353 351 beaker.session.secret = production-rc-uytcxaz
354 352 beaker.session.lock_dir = %(here)s/data/sessions/lock
355 353
356 354 ## Secure encrypted cookie. Requires AES and AES python libraries
357 355 ## you must disable beaker.session.secret to use this
358 356 #beaker.session.encrypt_key = key_for_encryption
359 357 #beaker.session.validate_key = validation_key
360 358
361 359 ## sets session as invalid(also logging out user) if it haven not been
362 360 ## accessed for given amount of time in seconds
363 361 beaker.session.timeout = 2592000
364 362 beaker.session.httponly = true
365 363 ## Path to use for the cookie. Set to prefix if you use prefix middleware
366 364 #beaker.session.cookie_path = /custom_prefix
367 365
368 366 ## uncomment for https secure cookie
369 367 beaker.session.secure = false
370 368
371 369 ## auto save the session to not to use .save()
372 370 beaker.session.auto = false
373 371
374 372 ## default cookie expiration time in seconds, set to `true` to set expire
375 373 ## at browser close
376 374 #beaker.session.cookie_expires = 3600
377 375
378 376 ###################################
379 377 ## SEARCH INDEXING CONFIGURATION ##
380 378 ###################################
381 379 ## Full text search indexer is available in rhodecode-tools under
382 380 ## `rhodecode-tools index` command
383 381
384 382 ## WHOOSH Backend, doesn't require additional services to run
385 383 ## it works good with few dozen repos
386 384 search.module = rhodecode.lib.index.whoosh
387 385 search.location = %(here)s/data/index
388 386
389 387 ########################################
390 388 ### CHANNELSTREAM CONFIG ####
391 389 ########################################
392 390 ## channelstream enables persistent connections and live notification
393 391 ## in the system. It's also used by the chat system
394 392 channelstream.enabled = false
395 393
396 394 ## server address for channelstream server on the backend
397 395 channelstream.server = 127.0.0.1:9800
398 396
399 397 ## location of the channelstream server from outside world
400 398 ## use ws:// for http or wss:// for https. This address needs to be handled
401 399 ## by external HTTP server such as Nginx or Apache
402 400 ## see nginx/apache configuration examples in our docs
403 401 channelstream.ws_url = ws://rhodecode.yourserver.com/_channelstream
404 402 channelstream.secret = secret
405 403 channelstream.history.location = %(here)s/channelstream_history
406 404
407 405 ## Internal application path that Javascript uses to connect into.
408 406 ## If you use proxy-prefix the prefix should be added before /_channelstream
409 407 channelstream.proxy_path = /_channelstream
410 408
411 409
412 410 ###################################
413 411 ## APPENLIGHT CONFIG ##
414 412 ###################################
415 413
416 414 ## Appenlight is tailored to work with RhodeCode, see
417 415 ## http://appenlight.com for details how to obtain an account
418 416
419 417 ## appenlight integration enabled
420 418 appenlight = false
421 419
422 420 appenlight.server_url = https://api.appenlight.com
423 421 appenlight.api_key = YOUR_API_KEY
424 422 #appenlight.transport_config = https://api.appenlight.com?threaded=1&timeout=5
425 423
426 424 # used for JS client
427 425 appenlight.api_public_key = YOUR_API_PUBLIC_KEY
428 426
429 427 ## TWEAK AMOUNT OF INFO SENT HERE
430 428
431 429 ## enables 404 error logging (default False)
432 430 appenlight.report_404 = false
433 431
434 432 ## time in seconds after request is considered being slow (default 1)
435 433 appenlight.slow_request_time = 1
436 434
437 435 ## record slow requests in application
438 436 ## (needs to be enabled for slow datastore recording and time tracking)
439 437 appenlight.slow_requests = true
440 438
441 439 ## enable hooking to application loggers
442 440 appenlight.logging = true
443 441
444 442 ## minimum log level for log capture
445 443 appenlight.logging.level = WARNING
446 444
447 445 ## send logs only from erroneous/slow requests
448 446 ## (saves API quota for intensive logging)
449 447 appenlight.logging_on_error = false
450 448
451 449 ## list of additonal keywords that should be grabbed from environ object
452 450 ## can be string with comma separated list of words in lowercase
453 451 ## (by default client will always send following info:
454 452 ## 'REMOTE_USER', 'REMOTE_ADDR', 'SERVER_NAME', 'CONTENT_TYPE' + all keys that
455 453 ## start with HTTP* this list be extended with additional keywords here
456 454 appenlight.environ_keys_whitelist =
457 455
458 456 ## list of keywords that should be blanked from request object
459 457 ## can be string with comma separated list of words in lowercase
460 458 ## (by default client will always blank keys that contain following words
461 459 ## 'password', 'passwd', 'pwd', 'auth_tkt', 'secret', 'csrf'
462 460 ## this list be extended with additional keywords set here
463 461 appenlight.request_keys_blacklist =
464 462
465 463 ## list of namespaces that should be ignores when gathering log entries
466 464 ## can be string with comma separated list of namespaces
467 465 ## (by default the client ignores own entries: appenlight_client.client)
468 466 appenlight.log_namespace_blacklist =
469 467
470 468
471 469 ################################################################################
472 470 ## WARNING: *THE LINE BELOW MUST BE UNCOMMENTED ON A PRODUCTION ENVIRONMENT* ##
473 471 ## Debug mode will enable the interactive debugging tool, allowing ANYONE to ##
474 472 ## execute malicious code after an exception is raised. ##
475 473 ################################################################################
476 474 set debug = false
477 475
478 476
479 477 ###########################################
480 478 ### MAIN RHODECODE DATABASE CONFIG ###
481 479 ###########################################
482 480 #sqlalchemy.db1.url = sqlite:///%(here)s/rhodecode.db?timeout=30
483 481 #sqlalchemy.db1.url = postgresql://postgres:qweqwe@localhost/rhodecode
484 482 #sqlalchemy.db1.url = mysql://root:qweqwe@localhost/rhodecode?charset=utf8
485 483 # pymysql is an alternative driver for MySQL, use in case of problems with default one
486 484 #sqlalchemy.db1.url = mysql+pymysql://root:qweqwe@localhost/rhodecode
487 485
488 486 sqlalchemy.db1.url = postgresql://postgres:qweqwe@localhost/rhodecode
489 487
490 488 # see sqlalchemy docs for other advanced settings
491 489
492 490 ## print the sql statements to output
493 491 sqlalchemy.db1.echo = false
494 492 ## recycle the connections after this amount of seconds
495 493 sqlalchemy.db1.pool_recycle = 3600
496 494 sqlalchemy.db1.convert_unicode = true
497 495
498 496 ## the number of connections to keep open inside the connection pool.
499 497 ## 0 indicates no limit
500 498 #sqlalchemy.db1.pool_size = 5
501 499
502 500 ## the number of connections to allow in connection pool "overflow", that is
503 501 ## connections that can be opened above and beyond the pool_size setting,
504 502 ## which defaults to five.
505 503 #sqlalchemy.db1.max_overflow = 10
506 504
507 505 ## Connection check ping, used to detect broken database connections
508 506 ## could be enabled to better handle cases if MySQL has gone away errors
509 507 #sqlalchemy.db1.ping_connection = true
510 508
511 509 ##################
512 510 ### VCS CONFIG ###
513 511 ##################
514 512 vcs.server.enable = true
515 513 vcs.server = localhost:9900
516 514
517 515 ## Web server connectivity protocol, responsible for web based VCS operatations
518 516 ## Available protocols are:
519 517 ## `http` - use http-rpc backend (default)
520 518 vcs.server.protocol = http
521 519
522 520 ## Push/Pull operations protocol, available options are:
523 521 ## `http` - use http-rpc backend (default)
524 522 vcs.scm_app_implementation = http
525 523
526 524 ## Push/Pull operations hooks protocol, available options are:
527 525 ## `http` - use http-rpc backend (default)
528 526 vcs.hooks.protocol = http
529 527 ## Host on which this instance is listening for hooks. If vcsserver is in other location
530 528 ## this should be adjusted.
531 529 vcs.hooks.host = 127.0.0.1
532 530
533 531 vcs.server.log_level = info
534 532 ## Start VCSServer with this instance as a subprocess, useful for development
535 533 vcs.start_server = false
536 534
537 535 ## List of enabled VCS backends, available options are:
538 536 ## `hg` - mercurial
539 537 ## `git` - git
540 538 ## `svn` - subversion
541 539 vcs.backends = hg, git, svn
542 540
543 541 vcs.connection_timeout = 3600
544 542 ## Compatibility version when creating SVN repositories. Defaults to newest version when commented out.
545 543 ## Available options are: pre-1.4-compatible, pre-1.5-compatible, pre-1.6-compatible, pre-1.8-compatible, pre-1.9-compatible
546 544 #vcs.svn.compatible_version = pre-1.8-compatible
547 545
548 546
549 547 ############################################################
550 548 ### Subversion proxy support (mod_dav_svn) ###
551 549 ### Maps RhodeCode repo groups into SVN paths for Apache ###
552 550 ############################################################
553 551 ## Enable or disable the config file generation.
554 552 svn.proxy.generate_config = false
555 553 ## Generate config file with `SVNListParentPath` set to `On`.
556 554 svn.proxy.list_parent_path = true
557 555 ## Set location and file name of generated config file.
558 556 svn.proxy.config_file_path = %(here)s/mod_dav_svn.conf
559 557 ## alternative mod_dav config template. This needs to be a mako template
560 558 #svn.proxy.config_template = ~/.rccontrol/enterprise-1/custom_svn_conf.mako
561 559 ## Used as a prefix to the `Location` block in the generated config file.
562 560 ## In most cases it should be set to `/`.
563 561 svn.proxy.location_root = /
564 562 ## Command to reload the mod dav svn configuration on change.
565 563 ## Example: `/etc/init.d/apache2 reload`
566 564 #svn.proxy.reload_cmd = /etc/init.d/apache2 reload
567 565 ## If the timeout expires before the reload command finishes, the command will
568 566 ## be killed. Setting it to zero means no timeout. Defaults to 10 seconds.
569 567 #svn.proxy.reload_timeout = 10
570 568
571 569 ############################################################
572 570 ### SSH Support Settings ###
573 571 ############################################################
574 572
575 573 ## Defines if a custom authorized_keys file should be created and written on
576 574 ## any change user ssh keys. Setting this to false also disables posibility
577 575 ## of adding SSH keys by users from web interface. Super admins can still
578 576 ## manage SSH Keys.
579 577 ssh.generate_authorized_keyfile = false
580 578
581 579 ## Options for ssh, default is `no-pty,no-port-forwarding,no-X11-forwarding,no-agent-forwarding`
582 580 # ssh.authorized_keys_ssh_opts =
583 581
584 582 ## Path to the authrozied_keys file where the generate entries are placed.
585 583 ## It is possible to have multiple key files specified in `sshd_config` e.g.
586 584 ## AuthorizedKeysFile %h/.ssh/authorized_keys %h/.ssh/authorized_keys_rhodecode
587 585 ssh.authorized_keys_file_path = ~/.ssh/authorized_keys_rhodecode
588 586
589 587 ## Command to execute the SSH wrapper. The binary is available in the
590 588 ## rhodecode installation directory.
591 589 ## e.g ~/.rccontrol/community-1/profile/bin/rc-ssh-wrapper
592 590 ssh.wrapper_cmd = ~/.rccontrol/community-1/rc-ssh-wrapper
593 591
594 592 ## Allow shell when executing the ssh-wrapper command
595 593 ssh.wrapper_cmd_allow_shell = false
596 594
597 595 ## Enables logging, and detailed output send back to the client during SSH
598 596 ## operations. Usefull for debugging, shouldn't be used in production.
599 597 ssh.enable_debug_logging = false
600 598
601 599 ## Paths to binary executable, by default they are the names, but we can
602 600 ## override them if we want to use a custom one
603 601 ssh.executable.hg = ~/.rccontrol/vcsserver-1/profile/bin/hg
604 602 ssh.executable.git = ~/.rccontrol/vcsserver-1/profile/bin/git
605 603 ssh.executable.svn = ~/.rccontrol/vcsserver-1/profile/bin/svnserve
606 604
607 605
608 606 ## Dummy marker to add new entries after.
609 607 ## Add any custom entries below. Please don't remove.
610 608 custom.conf = 1
611 609
612 610
613 611 ################################
614 612 ### LOGGING CONFIGURATION ####
615 613 ################################
616 614 [loggers]
617 615 keys = root, sqlalchemy, beaker, celery, rhodecode, ssh_wrapper
618 616
619 617 [handlers]
620 618 keys = console, console_sql
621 619
622 620 [formatters]
623 621 keys = generic, color_formatter, color_formatter_sql
624 622
625 623 #############
626 624 ## LOGGERS ##
627 625 #############
628 626 [logger_root]
629 627 level = NOTSET
630 628 handlers = console
631 629
632 630 [logger_sqlalchemy]
633 631 level = INFO
634 632 handlers = console_sql
635 633 qualname = sqlalchemy.engine
636 634 propagate = 0
637 635
638 636 [logger_beaker]
639 637 level = DEBUG
640 638 handlers =
641 639 qualname = beaker.container
642 640 propagate = 1
643 641
644 642 [logger_rhodecode]
645 643 level = DEBUG
646 644 handlers =
647 645 qualname = rhodecode
648 646 propagate = 1
649 647
650 648 [logger_ssh_wrapper]
651 649 level = DEBUG
652 650 handlers =
653 651 qualname = ssh_wrapper
654 652 propagate = 1
655 653
656 654 [logger_celery]
657 655 level = DEBUG
658 656 handlers =
659 657 qualname = celery
660 658
661 659
662 660 ##############
663 661 ## HANDLERS ##
664 662 ##############
665 663
666 664 [handler_console]
667 665 class = StreamHandler
668 666 args = (sys.stderr, )
669 667 level = INFO
670 668 formatter = generic
671 669
672 670 [handler_console_sql]
673 671 # "level = DEBUG" logs SQL queries and results.
674 672 # "level = INFO" logs SQL queries.
675 673 # "level = WARN" logs neither. (Recommended for production systems.)
676 674 class = StreamHandler
677 675 args = (sys.stderr, )
678 676 level = WARN
679 677 formatter = generic
680 678
681 679 ################
682 680 ## FORMATTERS ##
683 681 ################
684 682
685 683 [formatter_generic]
686 684 class = rhodecode.lib.logging_formatter.ExceptionAwareFormatter
687 685 format = %(asctime)s.%(msecs)03d [%(process)d] %(levelname)-5.5s [%(name)s] %(message)s
688 686 datefmt = %Y-%m-%d %H:%M:%S
689 687
690 688 [formatter_color_formatter]
691 689 class = rhodecode.lib.logging_formatter.ColorFormatter
692 690 format = %(asctime)s.%(msecs)03d [%(process)d] %(levelname)-5.5s [%(name)s] %(message)s
693 691 datefmt = %Y-%m-%d %H:%M:%S
694 692
695 693 [formatter_color_formatter_sql]
696 694 class = rhodecode.lib.logging_formatter.ColorFormatterSql
697 695 format = %(asctime)s.%(msecs)03d [%(process)d] %(levelname)-5.5s [%(name)s] %(message)s
698 696 datefmt = %Y-%m-%d %H:%M:%S
@@ -1,34 +1,30 b''
1 1 .. _set-up-mail:
2 2
3 3 Set up Email
4 4 ------------
5 5
6 6 To setup email with your |RCM| instance, open the default
7 7 :file:`/home/{user}/.rccontrol/{instance-id}/rhodecode.ini`
8 8 file and uncomment and configure the email section. If it is not there,
9 9 use the below example to insert it.
10 10
11 11 Once configured you can check the settings for your |RCM| instance on the
12 12 :menuselection:`Admin --> Settings --> Email` page.
13 13
14 14 .. code-block:: ini
15 15
16 16 ################################################################################
17 17 ## Uncomment and replace with the email address which should receive ##
18 18 ## any error reports after an application crash ##
19 19 ## Additionally these settings will be used by the RhodeCode mailing system ##
20 20 ################################################################################
21 21 #email_to = admin@localhost
22 #error_email_from = paste_error@localhost
23 22 #app_email_from = rhodecode-noreply@localhost
24 #error_message =
25 23 #email_prefix = [RhodeCode]
26 24
27 25 #smtp_server = mail.server.com
28 26 #smtp_username =
29 27 #smtp_password =
30 28 #smtp_port =
31 29 #smtp_use_tls = false
32 30 #smtp_use_ssl = true
33 ## Specify available auth parameters here (e.g. LOGIN PLAIN CRAM-MD5, etc.)
34 #smtp_auth =
@@ -1,2256 +1,2303 b''
1 1 # Generated by pip2nix 0.8.0.dev1
2 2 # See https://github.com/johbo/pip2nix
3 3
4 4 { pkgs, fetchurl, fetchgit, fetchhg }:
5 5
6 6 self: super: {
7 7 "alembic" = super.buildPythonPackage {
8 8 name = "alembic-0.9.9";
9 9 doCheck = false;
10 10 propagatedBuildInputs = [
11 11 self."sqlalchemy"
12 12 self."mako"
13 13 self."python-editor"
14 14 self."python-dateutil"
15 15 ];
16 16 src = fetchurl {
17 17 url = "https://files.pythonhosted.org/packages/89/03/756d5b8e1c90bf283c3f435766aa3f20208d1c3887579dd8f2122e01d5f4/alembic-0.9.9.tar.gz";
18 18 sha256 = "0bmkq6isjbmy4p7nxfvfpknjsx7rb3xn9g00169y891hcfkkxgc5";
19 19 };
20 20 meta = {
21 21 license = [ pkgs.lib.licenses.mit ];
22 22 };
23 23 };
24 24 "amqp" = super.buildPythonPackage {
25 25 name = "amqp-2.3.1";
26 26 doCheck = false;
27 27 propagatedBuildInputs = [
28 28 self."vine"
29 29 ];
30 30 src = fetchurl {
31 31 url = "https://files.pythonhosted.org/packages/1b/32/242ff76cd802766f11c89c72f3389b5c8de4bdfbab406137b90c5fae8b05/amqp-2.3.1.tar.gz";
32 32 sha256 = "0wlfnvhmfrn7c8qif2jyvsm63ibdxp02ss564qwrvqfhz0di72s0";
33 33 };
34 34 meta = {
35 35 license = [ pkgs.lib.licenses.bsdOriginal ];
36 36 };
37 37 };
38 38 "appenlight-client" = super.buildPythonPackage {
39 39 name = "appenlight-client-0.6.25";
40 40 doCheck = false;
41 41 propagatedBuildInputs = [
42 42 self."webob"
43 43 self."requests"
44 44 self."six"
45 45 ];
46 46 src = fetchurl {
47 47 url = "https://files.pythonhosted.org/packages/fa/44/2911ef85ea4f4fe65058fd22959d8dad598fab6a3c84e5bcb569d15c8783/appenlight_client-0.6.25.tar.gz";
48 48 sha256 = "1r9l2rfg677nxhamdbyb9y4fs1zgy2dy1p19c68fnvqkxz40y627";
49 49 };
50 50 meta = {
51 51 license = [ pkgs.lib.licenses.bsdOriginal ];
52 52 };
53 53 };
54 54 "atomicwrites" = super.buildPythonPackage {
55 55 name = "atomicwrites-1.2.1";
56 56 doCheck = false;
57 57 src = fetchurl {
58 58 url = "https://files.pythonhosted.org/packages/ac/ed/a311712ef6b4355035489f665e63e1a73f9eb371929e3c98e5efd451069e/atomicwrites-1.2.1.tar.gz";
59 59 sha256 = "1vmkbw9j0qammwxbxycrs39gvdg4lc2d4lk98kwf8ag2manyi6pc";
60 60 };
61 61 meta = {
62 62 license = [ pkgs.lib.licenses.mit ];
63 63 };
64 64 };
65 65 "attrs" = super.buildPythonPackage {
66 66 name = "attrs-18.2.0";
67 67 doCheck = false;
68 68 src = fetchurl {
69 69 url = "https://files.pythonhosted.org/packages/0f/9e/26b1d194aab960063b266170e53c39f73ea0d0d3f5ce23313e0ec8ee9bdf/attrs-18.2.0.tar.gz";
70 70 sha256 = "0s9ydh058wmmf5v391pym877x4ahxg45dw6a0w4c7s5wgpigdjqh";
71 71 };
72 72 meta = {
73 73 license = [ pkgs.lib.licenses.mit ];
74 74 };
75 75 };
76 76 "authomatic" = super.buildPythonPackage {
77 77 name = "authomatic-0.1.0.post1";
78 78 doCheck = false;
79 79 src = fetchurl {
80 80 url = "https://code.rhodecode.com/upstream/authomatic/archive/90a9ce60cc405ae8a2bf5c3713acd5d78579a04e.tar.gz?md5=3c68720a1322b25254009518d1ff6801";
81 81 sha256 = "1cgk0a86sbsjbri06gf5z5l4npwkjdxw6fdnwl4vvfmxs2sx9yxw";
82 82 };
83 83 meta = {
84 84 license = [ pkgs.lib.licenses.mit ];
85 85 };
86 86 };
87 87 "babel" = super.buildPythonPackage {
88 88 name = "babel-1.3";
89 89 doCheck = false;
90 90 propagatedBuildInputs = [
91 91 self."pytz"
92 92 ];
93 93 src = fetchurl {
94 94 url = "https://files.pythonhosted.org/packages/33/27/e3978243a03a76398c384c83f7ca879bc6e8f1511233a621fcada135606e/Babel-1.3.tar.gz";
95 95 sha256 = "0bnin777lc53nxd1hp3apq410jj5wx92n08h7h4izpl4f4sx00lz";
96 96 };
97 97 meta = {
98 98 license = [ pkgs.lib.licenses.bsdOriginal ];
99 99 };
100 100 };
101 101 "backports.shutil-get-terminal-size" = super.buildPythonPackage {
102 102 name = "backports.shutil-get-terminal-size-1.0.0";
103 103 doCheck = false;
104 104 src = fetchurl {
105 105 url = "https://files.pythonhosted.org/packages/ec/9c/368086faa9c016efce5da3e0e13ba392c9db79e3ab740b763fe28620b18b/backports.shutil_get_terminal_size-1.0.0.tar.gz";
106 106 sha256 = "107cmn7g3jnbkp826zlj8rrj19fam301qvaqf0f3905f5217lgki";
107 107 };
108 108 meta = {
109 109 license = [ pkgs.lib.licenses.mit ];
110 110 };
111 111 };
112 112 "beaker" = super.buildPythonPackage {
113 113 name = "beaker-1.9.1";
114 114 doCheck = false;
115 115 propagatedBuildInputs = [
116 116 self."funcsigs"
117 117 ];
118 118 src = fetchurl {
119 119 url = "https://files.pythonhosted.org/packages/ca/14/a626188d0d0c7b55dd7cf1902046c2743bd392a7078bb53073e13280eb1e/Beaker-1.9.1.tar.gz";
120 120 sha256 = "08arsn61r255lhz6hcpn2lsiqpg30clla805ysx06wmbhvb6w9rj";
121 121 };
122 122 meta = {
123 123 license = [ pkgs.lib.licenses.bsdOriginal ];
124 124 };
125 125 };
126 126 "beautifulsoup4" = super.buildPythonPackage {
127 127 name = "beautifulsoup4-4.6.3";
128 128 doCheck = false;
129 129 src = fetchurl {
130 130 url = "https://files.pythonhosted.org/packages/88/df/86bffad6309f74f3ff85ea69344a078fc30003270c8df6894fca7a3c72ff/beautifulsoup4-4.6.3.tar.gz";
131 131 sha256 = "041dhalzjciw6qyzzq7a2k4h1yvyk76xigp35hv5ibnn448ydy4h";
132 132 };
133 133 meta = {
134 134 license = [ pkgs.lib.licenses.mit ];
135 135 };
136 136 };
137 137 "billiard" = super.buildPythonPackage {
138 138 name = "billiard-3.5.0.3";
139 139 doCheck = false;
140 140 src = fetchurl {
141 141 url = "https://files.pythonhosted.org/packages/39/ac/f5571210cca2e4f4532e38aaff242f26c8654c5e2436bee966c230647ccc/billiard-3.5.0.3.tar.gz";
142 142 sha256 = "1riwiiwgb141151md4ykx49qrz749akj5k8g290ji9bsqjyj4yqx";
143 143 };
144 144 meta = {
145 145 license = [ pkgs.lib.licenses.bsdOriginal ];
146 146 };
147 147 };
148 148 "bleach" = super.buildPythonPackage {
149 149 name = "bleach-2.1.4";
150 150 doCheck = false;
151 151 propagatedBuildInputs = [
152 152 self."six"
153 153 self."html5lib"
154 154 ];
155 155 src = fetchurl {
156 156 url = "https://files.pythonhosted.org/packages/7a/b7/fa555afb61462b030abaf9ed1479b8ea031510f58c7706b06113be9f82ea/bleach-2.1.4.tar.gz";
157 157 sha256 = "1n337zbdml6z6zia0b1qgv6xiddx3qlwmcg9vk2mk60jcxhmzs8f";
158 158 };
159 159 meta = {
160 160 license = [ pkgs.lib.licenses.asl20 ];
161 161 };
162 162 };
163 163 "bumpversion" = super.buildPythonPackage {
164 164 name = "bumpversion-0.5.3";
165 165 doCheck = false;
166 166 src = fetchurl {
167 167 url = "https://files.pythonhosted.org/packages/14/41/8c9da3549f8e00c84f0432c3a8cf8ed6898374714676aab91501d48760db/bumpversion-0.5.3.tar.gz";
168 168 sha256 = "0zn7694yfipxg35ikkfh7kvgl2fissha3dnqad2c5bvsvmrwhi37";
169 169 };
170 170 meta = {
171 171 license = [ pkgs.lib.licenses.mit ];
172 172 };
173 173 };
174 174 "celery" = super.buildPythonPackage {
175 175 name = "celery-4.1.1";
176 176 doCheck = false;
177 177 propagatedBuildInputs = [
178 178 self."pytz"
179 179 self."billiard"
180 180 self."kombu"
181 181 ];
182 182 src = fetchurl {
183 183 url = "https://files.pythonhosted.org/packages/e9/cf/a4c0597effca20c57eb586324e41d1180bc8f13a933da41e0646cff69f02/celery-4.1.1.tar.gz";
184 184 sha256 = "1xbir4vw42n2ir9lanhwl7w69zpmj7lbi66fxm2b7pyvkcss7wni";
185 185 };
186 186 meta = {
187 187 license = [ pkgs.lib.licenses.bsdOriginal ];
188 188 };
189 189 };
190 190 "chameleon" = super.buildPythonPackage {
191 191 name = "chameleon-2.24";
192 192 doCheck = false;
193 193 src = fetchurl {
194 194 url = "https://files.pythonhosted.org/packages/5a/9e/637379ffa13c5172b5c0e704833ffea6bf51cec7567f93fd6e903d53ed74/Chameleon-2.24.tar.gz";
195 195 sha256 = "0ykqr7syxfa6h9adjfnsv1gdsca2xzm22vmic8859n0f0j09abj5";
196 196 };
197 197 meta = {
198 198 license = [ { fullName = "BSD-like (http://repoze.org/license.html)"; } ];
199 199 };
200 200 };
201 201 "channelstream" = super.buildPythonPackage {
202 202 name = "channelstream-0.5.2";
203 203 doCheck = false;
204 204 propagatedBuildInputs = [
205 205 self."gevent"
206 206 self."ws4py"
207 207 self."pyramid"
208 208 self."pyramid-jinja2"
209 209 self."itsdangerous"
210 210 self."requests"
211 211 self."six"
212 212 ];
213 213 src = fetchurl {
214 214 url = "https://files.pythonhosted.org/packages/2b/31/29a8e085cf5bf97fa88e7b947adabfc581a18a3463adf77fb6dada34a65f/channelstream-0.5.2.tar.gz";
215 215 sha256 = "1qbm4xdl5hfkja683x546bncg3rqq8qv79w1m1a1wd48cqqzb6rm";
216 216 };
217 217 meta = {
218 218 license = [ pkgs.lib.licenses.bsdOriginal ];
219 219 };
220 220 };
221 221 "click" = super.buildPythonPackage {
222 222 name = "click-6.6";
223 223 doCheck = false;
224 224 src = fetchurl {
225 225 url = "https://files.pythonhosted.org/packages/7a/00/c14926d8232b36b08218067bcd5853caefb4737cda3f0a47437151344792/click-6.6.tar.gz";
226 226 sha256 = "1sggipyz52crrybwbr9xvwxd4aqigvplf53k9w3ygxmzivd1jsnc";
227 227 };
228 228 meta = {
229 229 license = [ pkgs.lib.licenses.bsdOriginal ];
230 230 };
231 231 };
232 232 "colander" = super.buildPythonPackage {
233 233 name = "colander-1.4";
234 234 doCheck = false;
235 235 propagatedBuildInputs = [
236 236 self."translationstring"
237 237 self."iso8601"
238 238 ];
239 239 src = fetchurl {
240 240 url = "https://files.pythonhosted.org/packages/cc/e2/c4e716ac4a426d8ad4dfe306c34f0018a22275d2420815784005bf771c84/colander-1.4.tar.gz";
241 241 sha256 = "0wjfphyr5aakv5hw73q287lbc15cbm0aardajv7i2mqf377rl3p2";
242 242 };
243 243 meta = {
244 244 license = [ { fullName = "BSD-derived (http://www.repoze.org/LICENSE.txt)"; } ];
245 245 };
246 246 };
247 247 "configobj" = super.buildPythonPackage {
248 248 name = "configobj-5.0.6";
249 249 doCheck = false;
250 250 propagatedBuildInputs = [
251 251 self."six"
252 252 ];
253 253 src = fetchurl {
254 254 url = "https://code.rhodecode.com/upstream/configobj/archive/a11ff0a0bd4fbda9e3a91267e720f88329efb4a6.tar.gz?md5=9916c524ea11a6c418217af6b28d4b3c";
255 255 sha256 = "1hhcxirwvg58grlfr177b3awhbq8hlx1l3lh69ifl1ki7lfd1s1x";
256 256 };
257 257 meta = {
258 258 license = [ pkgs.lib.licenses.bsdOriginal ];
259 259 };
260 260 };
261 261 "configparser" = super.buildPythonPackage {
262 262 name = "configparser-3.5.0";
263 263 doCheck = false;
264 264 src = fetchurl {
265 265 url = "https://files.pythonhosted.org/packages/7c/69/c2ce7e91c89dc073eb1aa74c0621c3eefbffe8216b3f9af9d3885265c01c/configparser-3.5.0.tar.gz";
266 266 sha256 = "0fi7vf09vi1588jd8f16a021m5y6ih2hy7rpbjb408xw45qb822k";
267 267 };
268 268 meta = {
269 269 license = [ pkgs.lib.licenses.mit ];
270 270 };
271 271 };
272 272 "cov-core" = super.buildPythonPackage {
273 273 name = "cov-core-1.15.0";
274 274 doCheck = false;
275 275 propagatedBuildInputs = [
276 276 self."coverage"
277 277 ];
278 278 src = fetchurl {
279 279 url = "https://files.pythonhosted.org/packages/4b/87/13e75a47b4ba1be06f29f6d807ca99638bedc6b57fa491cd3de891ca2923/cov-core-1.15.0.tar.gz";
280 280 sha256 = "0k3np9ymh06yv1ib96sb6wfsxjkqhmik8qfsn119vnhga9ywc52a";
281 281 };
282 282 meta = {
283 283 license = [ pkgs.lib.licenses.mit ];
284 284 };
285 285 };
286 286 "coverage" = super.buildPythonPackage {
287 287 name = "coverage-4.5.1";
288 288 doCheck = false;
289 289 src = fetchurl {
290 290 url = "https://files.pythonhosted.org/packages/35/fe/e7df7289d717426093c68d156e0fd9117c8f4872b6588e8a8928a0f68424/coverage-4.5.1.tar.gz";
291 291 sha256 = "1wbrzpxka3xd4nmmkc6q0ir343d91kymwsm8pbmwa0d2a7q4ir2n";
292 292 };
293 293 meta = {
294 294 license = [ pkgs.lib.licenses.asl20 ];
295 295 };
296 296 };
297 297 "cssselect" = super.buildPythonPackage {
298 298 name = "cssselect-1.0.3";
299 299 doCheck = false;
300 300 src = fetchurl {
301 301 url = "https://files.pythonhosted.org/packages/52/ea/f31e1d2e9eb130fda2a631e22eac369dc644e8807345fbed5113f2d6f92b/cssselect-1.0.3.tar.gz";
302 302 sha256 = "011jqa2jhmydhi0iz4v1w3cr540z5zas8g2bw8brdw4s4b2qnv86";
303 303 };
304 304 meta = {
305 305 license = [ pkgs.lib.licenses.bsdOriginal ];
306 306 };
307 307 };
308 308 "decorator" = super.buildPythonPackage {
309 309 name = "decorator-4.1.2";
310 310 doCheck = false;
311 311 src = fetchurl {
312 312 url = "https://files.pythonhosted.org/packages/bb/e0/f6e41e9091e130bf16d4437dabbac3993908e4d6485ecbc985ef1352db94/decorator-4.1.2.tar.gz";
313 313 sha256 = "1d8npb11kxyi36mrvjdpcjij76l5zfyrz2f820brf0l0rcw4vdkw";
314 314 };
315 315 meta = {
316 316 license = [ pkgs.lib.licenses.bsdOriginal { fullName = "new BSD License"; } ];
317 317 };
318 318 };
319 319 "deform" = super.buildPythonPackage {
320 320 name = "deform-2.0.5";
321 321 doCheck = false;
322 322 propagatedBuildInputs = [
323 323 self."chameleon"
324 324 self."colander"
325 325 self."iso8601"
326 326 self."peppercorn"
327 327 self."translationstring"
328 328 self."zope.deprecation"
329 329 ];
330 330 src = fetchurl {
331 331 url = "https://files.pythonhosted.org/packages/0c/b1/ba711d5808c12538c8504f534d79c124ed834f19ac36f0ac5391c3bbd1c1/deform-2.0.5.tar.gz";
332 332 sha256 = "0ybg9zsnfac1kaxrjanmkjk0xaklf4d3piywxwr08l1cl1336kc7";
333 333 };
334 334 meta = {
335 335 license = [ { fullName = "BSD-derived (http://www.repoze.org/LICENSE.txt)"; } ];
336 336 };
337 337 };
338 338 "docutils" = super.buildPythonPackage {
339 339 name = "docutils-0.14";
340 340 doCheck = false;
341 341 src = fetchurl {
342 342 url = "https://files.pythonhosted.org/packages/84/f4/5771e41fdf52aabebbadecc9381d11dea0fa34e4759b4071244fa094804c/docutils-0.14.tar.gz";
343 343 sha256 = "0x22fs3pdmr42kvz6c654756wja305qv6cx1zbhwlagvxgr4xrji";
344 344 };
345 345 meta = {
346 346 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 ];
347 347 };
348 348 };
349 349 "dogpile.cache" = super.buildPythonPackage {
350 350 name = "dogpile.cache-0.6.7";
351 351 doCheck = false;
352 352 src = fetchurl {
353 353 url = "https://files.pythonhosted.org/packages/ee/bd/440da735a11c6087eed7cc8747fc4b995cbac2464168682f8ee1c8e43844/dogpile.cache-0.6.7.tar.gz";
354 354 sha256 = "1aw8rx8vhb75y7zc6gi67g21sw057jdx7i8m3jq7kf3nqavxx9zw";
355 355 };
356 356 meta = {
357 357 license = [ pkgs.lib.licenses.bsdOriginal ];
358 358 };
359 359 };
360 360 "dogpile.core" = super.buildPythonPackage {
361 361 name = "dogpile.core-0.4.1";
362 362 doCheck = false;
363 363 src = fetchurl {
364 364 url = "https://files.pythonhosted.org/packages/0e/77/e72abc04c22aedf874301861e5c1e761231c288b5de369c18be8f4b5c9bb/dogpile.core-0.4.1.tar.gz";
365 365 sha256 = "0xpdvg4kr1isfkrh1rfsh7za4q5a5s6l2kf9wpvndbwf3aqjyrdy";
366 366 };
367 367 meta = {
368 368 license = [ pkgs.lib.licenses.bsdOriginal ];
369 369 };
370 370 };
371 371 "ecdsa" = super.buildPythonPackage {
372 372 name = "ecdsa-0.13";
373 373 doCheck = false;
374 374 src = fetchurl {
375 375 url = "https://files.pythonhosted.org/packages/f9/e5/99ebb176e47f150ac115ffeda5fedb6a3dbb3c00c74a59fd84ddf12f5857/ecdsa-0.13.tar.gz";
376 376 sha256 = "1yj31j0asmrx4an9xvsaj2icdmzy6pw0glfpqrrkrphwdpi1xkv4";
377 377 };
378 378 meta = {
379 379 license = [ pkgs.lib.licenses.mit ];
380 380 };
381 381 };
382 382 "elasticsearch" = super.buildPythonPackage {
383 383 name = "elasticsearch-2.3.0";
384 384 doCheck = false;
385 385 propagatedBuildInputs = [
386 386 self."urllib3"
387 387 ];
388 388 src = fetchurl {
389 389 url = "https://files.pythonhosted.org/packages/10/35/5fd52c5f0b0ee405ed4b5195e8bce44c5e041787680dc7b94b8071cac600/elasticsearch-2.3.0.tar.gz";
390 390 sha256 = "10ad2dk73xsys9vajwsncibs69asa63w1hgwz6lz1prjpyi80c5y";
391 391 };
392 392 meta = {
393 393 license = [ pkgs.lib.licenses.asl20 ];
394 394 };
395 395 };
396 396 "elasticsearch-dsl" = super.buildPythonPackage {
397 397 name = "elasticsearch-dsl-2.2.0";
398 398 doCheck = false;
399 399 propagatedBuildInputs = [
400 400 self."six"
401 401 self."python-dateutil"
402 402 self."elasticsearch"
403 403 ];
404 404 src = fetchurl {
405 405 url = "https://files.pythonhosted.org/packages/66/2f/52a086968788e58461641570f45c3207a52d46ebbe9b77dc22b6a8ffda66/elasticsearch-dsl-2.2.0.tar.gz";
406 406 sha256 = "1g4kxzxsdwlsl2a9kscmx11pafgimhj7y8wrfksv8pgvpkfb9fwr";
407 407 };
408 408 meta = {
409 409 license = [ pkgs.lib.licenses.asl20 ];
410 410 };
411 411 };
412 412 "entrypoints" = super.buildPythonPackage {
413 413 name = "entrypoints-0.2.2";
414 414 doCheck = false;
415 415 propagatedBuildInputs = [
416 416 self."configparser"
417 417 ];
418 418 src = fetchurl {
419 419 url = "https://code.rhodecode.com/upstream/entrypoints/archive/96e6d645684e1af3d7df5b5272f3fe85a546b233.tar.gz?md5=7db37771aea9ac9fefe093e5d6987313";
420 420 sha256 = "0bihrdp8ahsys437kxdhk52gz6kib8rxjv71i93wkw7594fcaxll";
421 421 };
422 422 meta = {
423 423 license = [ pkgs.lib.licenses.mit ];
424 424 };
425 425 };
426 426 "enum34" = super.buildPythonPackage {
427 427 name = "enum34-1.1.6";
428 428 doCheck = false;
429 429 src = fetchurl {
430 430 url = "https://files.pythonhosted.org/packages/bf/3e/31d502c25302814a7c2f1d3959d2a3b3f78e509002ba91aea64993936876/enum34-1.1.6.tar.gz";
431 431 sha256 = "1cgm5ng2gcfrkrm3hc22brl6chdmv67b9zvva9sfs7gn7dwc9n4a";
432 432 };
433 433 meta = {
434 434 license = [ pkgs.lib.licenses.bsdOriginal ];
435 435 };
436 436 };
437 437 "formencode" = super.buildPythonPackage {
438 438 name = "formencode-1.2.4";
439 439 doCheck = false;
440 440 src = fetchurl {
441 441 url = "https://files.pythonhosted.org/packages/8e/59/0174271a6f004512e0201188593e6d319db139d14cb7490e488bbb078015/FormEncode-1.2.4.tar.gz";
442 442 sha256 = "1fgy04sdy4yry5xcjls3x3xy30dqwj58ycnkndim819jx0788w42";
443 443 };
444 444 meta = {
445 445 license = [ pkgs.lib.licenses.psfl ];
446 446 };
447 447 };
448 448 "funcsigs" = super.buildPythonPackage {
449 449 name = "funcsigs-1.0.2";
450 450 doCheck = false;
451 451 src = fetchurl {
452 452 url = "https://files.pythonhosted.org/packages/94/4a/db842e7a0545de1cdb0439bb80e6e42dfe82aaeaadd4072f2263a4fbed23/funcsigs-1.0.2.tar.gz";
453 453 sha256 = "0l4g5818ffyfmfs1a924811azhjj8ax9xd1cffr1mzd3ycn0zfx7";
454 454 };
455 455 meta = {
456 456 license = [ { fullName = "ASL"; } pkgs.lib.licenses.asl20 ];
457 457 };
458 458 };
459 459 "functools32" = super.buildPythonPackage {
460 460 name = "functools32-3.2.3.post2";
461 461 doCheck = false;
462 462 src = fetchurl {
463 463 url = "https://files.pythonhosted.org/packages/c5/60/6ac26ad05857c601308d8fb9e87fa36d0ebf889423f47c3502ef034365db/functools32-3.2.3-2.tar.gz";
464 464 sha256 = "0v8ya0b58x47wp216n1zamimv4iw57cxz3xxhzix52jkw3xks9gn";
465 465 };
466 466 meta = {
467 467 license = [ pkgs.lib.licenses.psfl ];
468 468 };
469 469 };
470 470 "future" = super.buildPythonPackage {
471 471 name = "future-0.14.3";
472 472 doCheck = false;
473 473 src = fetchurl {
474 474 url = "https://files.pythonhosted.org/packages/83/80/8ef3a11a15f8eaafafa0937b20c1b3f73527e69ab6b3fa1cf94a5a96aabb/future-0.14.3.tar.gz";
475 475 sha256 = "1savk7jx7hal032f522c5ajhh8fra6gmnadrj9adv5qxi18pv1b2";
476 476 };
477 477 meta = {
478 478 license = [ { fullName = "OSI Approved"; } pkgs.lib.licenses.mit ];
479 479 };
480 480 };
481 481 "futures" = super.buildPythonPackage {
482 482 name = "futures-3.0.2";
483 483 doCheck = false;
484 484 src = fetchurl {
485 485 url = "https://files.pythonhosted.org/packages/f8/e7/fc0fcbeb9193ba2d4de00b065e7fd5aecd0679e93ce95a07322b2b1434f4/futures-3.0.2.tar.gz";
486 486 sha256 = "0mz2pbgxbc2nbib1szifi07whjbfs4r02pv2z390z7p410awjgyw";
487 487 };
488 488 meta = {
489 489 license = [ pkgs.lib.licenses.bsdOriginal ];
490 490 };
491 491 };
492 492 "gevent" = super.buildPythonPackage {
493 493 name = "gevent-1.3.6";
494 494 doCheck = false;
495 495 propagatedBuildInputs = [
496 496 self."greenlet"
497 497 ];
498 498 src = fetchurl {
499 499 url = "https://files.pythonhosted.org/packages/49/13/aa4bb3640b5167fe58875d3d7e65390cdb14f9682a41a741a566bb560842/gevent-1.3.6.tar.gz";
500 500 sha256 = "1ih4k73dqz2zb561hda99vbanja3m6cdch3mgxxn1mla3qwkqhbv";
501 501 };
502 502 meta = {
503 503 license = [ pkgs.lib.licenses.mit ];
504 504 };
505 505 };
506 506 "gnureadline" = super.buildPythonPackage {
507 507 name = "gnureadline-6.3.8";
508 508 doCheck = false;
509 509 src = fetchurl {
510 510 url = "https://files.pythonhosted.org/packages/50/64/86085c823cd78f9df9d8e33dce0baa71618016f8860460b82cf6610e1eb3/gnureadline-6.3.8.tar.gz";
511 511 sha256 = "0ddhj98x2nv45iz4aadk4b9m0b1kpsn1xhcbypn5cd556knhiqjq";
512 512 };
513 513 meta = {
514 514 license = [ { fullName = "GNU General Public License v3 (GPLv3)"; } pkgs.lib.licenses.gpl1 ];
515 515 };
516 516 };
517 517 "gprof2dot" = super.buildPythonPackage {
518 518 name = "gprof2dot-2017.9.19";
519 519 doCheck = false;
520 520 src = fetchurl {
521 521 url = "https://files.pythonhosted.org/packages/9d/36/f977122502979f3dfb50704979c9ed70e6b620787942b089bf1af15f5aba/gprof2dot-2017.9.19.tar.gz";
522 522 sha256 = "17ih23ld2nzgc3xwgbay911l6lh96jp1zshmskm17n1gg2i7mg6f";
523 523 };
524 524 meta = {
525 525 license = [ { fullName = "GNU Lesser General Public License v3 or later (LGPLv3+)"; } { fullName = "LGPL"; } ];
526 526 };
527 527 };
528 528 "graphviz" = super.buildPythonPackage {
529 529 name = "graphviz-0.9";
530 530 doCheck = false;
531 531 src = fetchurl {
532 532 url = "https://files.pythonhosted.org/packages/2b/e6/71521bab8fb99833133f08f6ac0460e2f6b425a7f75ac4b02323c3c3b512/graphviz-0.9.zip";
533 533 sha256 = "14r9brj4r31b3qy1nnn34v3l4h0n39bqxg9sn2fz4p3pp5mglnl6";
534 534 };
535 535 meta = {
536 536 license = [ pkgs.lib.licenses.mit ];
537 537 };
538 538 };
539 539 "greenlet" = super.buildPythonPackage {
540 540 name = "greenlet-0.4.15";
541 541 doCheck = false;
542 542 src = fetchurl {
543 543 url = "https://files.pythonhosted.org/packages/f8/e8/b30ae23b45f69aa3f024b46064c0ac8e5fcb4f22ace0dca8d6f9c8bbe5e7/greenlet-0.4.15.tar.gz";
544 544 sha256 = "1g4g1wwc472ds89zmqlpyan3fbnzpa8qm48z3z1y6mlk44z485ll";
545 545 };
546 546 meta = {
547 547 license = [ pkgs.lib.licenses.mit ];
548 548 };
549 549 };
550 550 "gunicorn" = super.buildPythonPackage {
551 551 name = "gunicorn-19.9.0";
552 552 doCheck = false;
553 553 src = fetchurl {
554 554 url = "https://files.pythonhosted.org/packages/47/52/68ba8e5e8ba251e54006a49441f7ccabca83b6bef5aedacb4890596c7911/gunicorn-19.9.0.tar.gz";
555 555 sha256 = "1wzlf4xmn6qjirh5w81l6i6kqjnab1n1qqkh7zsj1yb6gh4n49ps";
556 556 };
557 557 meta = {
558 558 license = [ pkgs.lib.licenses.mit ];
559 559 };
560 560 };
561 561 "html5lib" = super.buildPythonPackage {
562 562 name = "html5lib-1.0.1";
563 563 doCheck = false;
564 564 propagatedBuildInputs = [
565 565 self."six"
566 566 self."webencodings"
567 567 ];
568 568 src = fetchurl {
569 569 url = "https://files.pythonhosted.org/packages/85/3e/cf449cf1b5004e87510b9368e7a5f1acd8831c2d6691edd3c62a0823f98f/html5lib-1.0.1.tar.gz";
570 570 sha256 = "0dipzfrycv6j1jw82v9b7d8lzggx3x8xngx6l4xrqkxwvg7hvjv6";
571 571 };
572 572 meta = {
573 573 license = [ pkgs.lib.licenses.mit ];
574 574 };
575 575 };
576 576 "hupper" = super.buildPythonPackage {
577 577 name = "hupper-1.3";
578 578 doCheck = false;
579 579 src = fetchurl {
580 580 url = "https://files.pythonhosted.org/packages/51/0c/96335b1f2f32245fb871eea5bb9773196505ddb71fad15190056a282df9e/hupper-1.3.tar.gz";
581 581 sha256 = "1pkyrm9c2crc32ps00k1ahnc5clj3pjwiarc7j0x8aykwih7ff10";
582 582 };
583 583 meta = {
584 584 license = [ pkgs.lib.licenses.mit ];
585 585 };
586 586 };
587 587 "infrae.cache" = super.buildPythonPackage {
588 588 name = "infrae.cache-1.0.1";
589 589 doCheck = false;
590 590 propagatedBuildInputs = [
591 591 self."beaker"
592 592 self."repoze.lru"
593 593 ];
594 594 src = fetchurl {
595 595 url = "https://files.pythonhosted.org/packages/bb/f0/e7d5e984cf6592fd2807dc7bc44a93f9d18e04e6a61f87fdfb2622422d74/infrae.cache-1.0.1.tar.gz";
596 596 sha256 = "1dvqsjn8vw253wz9d1pz17j79mf4bs53dvp2qxck2qdp1am1njw4";
597 597 };
598 598 meta = {
599 599 license = [ pkgs.lib.licenses.zpl21 ];
600 600 };
601 601 };
602 602 "invoke" = super.buildPythonPackage {
603 603 name = "invoke-0.13.0";
604 604 doCheck = false;
605 605 src = fetchurl {
606 606 url = "https://files.pythonhosted.org/packages/47/bf/d07ef52fa1ac645468858bbac7cb95b246a972a045e821493d17d89c81be/invoke-0.13.0.tar.gz";
607 607 sha256 = "0794vhgxfmkh0vzkkg5cfv1w82g3jc3xr18wim29far9qpx9468s";
608 608 };
609 609 meta = {
610 610 license = [ pkgs.lib.licenses.bsdOriginal ];
611 611 };
612 612 };
613 613 "ipaddress" = super.buildPythonPackage {
614 614 name = "ipaddress-1.0.22";
615 615 doCheck = false;
616 616 src = fetchurl {
617 617 url = "https://files.pythonhosted.org/packages/97/8d/77b8cedcfbf93676148518036c6b1ce7f8e14bf07e95d7fd4ddcb8cc052f/ipaddress-1.0.22.tar.gz";
618 618 sha256 = "0b570bm6xqpjwqis15pvdy6lyvvzfndjvkynilcddjj5x98wfimi";
619 619 };
620 620 meta = {
621 621 license = [ pkgs.lib.licenses.psfl ];
622 622 };
623 623 };
624 624 "ipdb" = super.buildPythonPackage {
625 625 name = "ipdb-0.11";
626 626 doCheck = false;
627 627 propagatedBuildInputs = [
628 628 self."setuptools"
629 629 self."ipython"
630 630 ];
631 631 src = fetchurl {
632 632 url = "https://files.pythonhosted.org/packages/80/fe/4564de08f174f3846364b3add8426d14cebee228f741c27e702b2877e85b/ipdb-0.11.tar.gz";
633 633 sha256 = "02m0l8wrhhd3z7dg3czn5ys1g5pxib516hpshdzp7rxzsxgcd0bh";
634 634 };
635 635 meta = {
636 636 license = [ pkgs.lib.licenses.bsdOriginal ];
637 637 };
638 638 };
639 639 "ipython" = super.buildPythonPackage {
640 640 name = "ipython-5.1.0";
641 641 doCheck = false;
642 642 propagatedBuildInputs = [
643 643 self."setuptools"
644 644 self."decorator"
645 645 self."pickleshare"
646 646 self."simplegeneric"
647 647 self."traitlets"
648 648 self."prompt-toolkit"
649 649 self."pygments"
650 650 self."pexpect"
651 651 self."backports.shutil-get-terminal-size"
652 652 self."pathlib2"
653 653 self."pexpect"
654 654 ];
655 655 src = fetchurl {
656 656 url = "https://files.pythonhosted.org/packages/89/63/a9292f7cd9d0090a0f995e1167f3f17d5889dcbc9a175261719c513b9848/ipython-5.1.0.tar.gz";
657 657 sha256 = "0qdrf6aj9kvjczd5chj1my8y2iq09am9l8bb2a1334a52d76kx3y";
658 658 };
659 659 meta = {
660 660 license = [ pkgs.lib.licenses.bsdOriginal ];
661 661 };
662 662 };
663 663 "ipython-genutils" = super.buildPythonPackage {
664 664 name = "ipython-genutils-0.2.0";
665 665 doCheck = false;
666 666 src = fetchurl {
667 667 url = "https://files.pythonhosted.org/packages/e8/69/fbeffffc05236398ebfcfb512b6d2511c622871dca1746361006da310399/ipython_genutils-0.2.0.tar.gz";
668 668 sha256 = "1a4bc9y8hnvq6cp08qs4mckgm6i6ajpndp4g496rvvzcfmp12bpb";
669 669 };
670 670 meta = {
671 671 license = [ pkgs.lib.licenses.bsdOriginal ];
672 672 };
673 673 };
674 674 "iso8601" = super.buildPythonPackage {
675 675 name = "iso8601-0.1.11";
676 676 doCheck = false;
677 677 src = fetchurl {
678 678 url = "https://files.pythonhosted.org/packages/c0/75/c9209ee4d1b5975eb8c2cba4428bde6b61bd55664a98290dd015cdb18e98/iso8601-0.1.11.tar.gz";
679 679 sha256 = "0c7gh3lsdjds262h0v1sqc66l7hqgfwbakn96qrhdbl0i3vm5yz8";
680 680 };
681 681 meta = {
682 682 license = [ pkgs.lib.licenses.mit ];
683 683 };
684 684 };
685 685 "itsdangerous" = super.buildPythonPackage {
686 686 name = "itsdangerous-0.24";
687 687 doCheck = false;
688 688 src = fetchurl {
689 689 url = "https://files.pythonhosted.org/packages/dc/b4/a60bcdba945c00f6d608d8975131ab3f25b22f2bcfe1dab221165194b2d4/itsdangerous-0.24.tar.gz";
690 690 sha256 = "06856q6x675ly542ig0plbqcyab6ksfzijlyf1hzhgg3sgwgrcyb";
691 691 };
692 692 meta = {
693 693 license = [ pkgs.lib.licenses.bsdOriginal ];
694 694 };
695 695 };
696 696 "jinja2" = super.buildPythonPackage {
697 697 name = "jinja2-2.9.6";
698 698 doCheck = false;
699 699 propagatedBuildInputs = [
700 700 self."markupsafe"
701 701 ];
702 702 src = fetchurl {
703 703 url = "https://files.pythonhosted.org/packages/90/61/f820ff0076a2599dd39406dcb858ecb239438c02ce706c8e91131ab9c7f1/Jinja2-2.9.6.tar.gz";
704 704 sha256 = "1zzrkywhziqffrzks14kzixz7nd4yh2vc0fb04a68vfd2ai03anx";
705 705 };
706 706 meta = {
707 707 license = [ pkgs.lib.licenses.bsdOriginal ];
708 708 };
709 709 };
710 710 "jsonschema" = super.buildPythonPackage {
711 711 name = "jsonschema-2.6.0";
712 712 doCheck = false;
713 713 propagatedBuildInputs = [
714 714 self."functools32"
715 715 ];
716 716 src = fetchurl {
717 717 url = "https://files.pythonhosted.org/packages/58/b9/171dbb07e18c6346090a37f03c7e74410a1a56123f847efed59af260a298/jsonschema-2.6.0.tar.gz";
718 718 sha256 = "00kf3zmpp9ya4sydffpifn0j0mzm342a2vzh82p6r0vh10cg7xbg";
719 719 };
720 720 meta = {
721 721 license = [ pkgs.lib.licenses.mit ];
722 722 };
723 723 };
724 724 "jupyter-client" = super.buildPythonPackage {
725 725 name = "jupyter-client-5.0.0";
726 726 doCheck = false;
727 727 propagatedBuildInputs = [
728 728 self."traitlets"
729 729 self."jupyter-core"
730 730 self."pyzmq"
731 731 self."python-dateutil"
732 732 ];
733 733 src = fetchurl {
734 734 url = "https://files.pythonhosted.org/packages/e5/6f/65412ed462202b90134b7e761b0b7e7f949e07a549c1755475333727b3d0/jupyter_client-5.0.0.tar.gz";
735 735 sha256 = "0nxw4rqk4wsjhc87gjqd7pv89cb9dnimcfnmcmp85bmrvv1gjri7";
736 736 };
737 737 meta = {
738 738 license = [ pkgs.lib.licenses.bsdOriginal ];
739 739 };
740 740 };
741 741 "jupyter-core" = super.buildPythonPackage {
742 742 name = "jupyter-core-4.4.0";
743 743 doCheck = false;
744 744 propagatedBuildInputs = [
745 745 self."traitlets"
746 746 ];
747 747 src = fetchurl {
748 748 url = "https://files.pythonhosted.org/packages/b6/2d/2804f4de3a95583f65e5dcb4d7c8c7183124882323758996e867f47e72af/jupyter_core-4.4.0.tar.gz";
749 749 sha256 = "1dy083rarba8prn9f9srxq3c7n7vyql02ycrqq306c40lr57aw5s";
750 750 };
751 751 meta = {
752 752 license = [ pkgs.lib.licenses.bsdOriginal ];
753 753 };
754 754 };
755 755 "kombu" = super.buildPythonPackage {
756 756 name = "kombu-4.2.0";
757 757 doCheck = false;
758 758 propagatedBuildInputs = [
759 759 self."amqp"
760 760 ];
761 761 src = fetchurl {
762 762 url = "https://files.pythonhosted.org/packages/ab/b1/46a7a8babf5e60f3b2ca081a100af8edfcf132078a726375f52a054e70cf/kombu-4.2.0.tar.gz";
763 763 sha256 = "1yz19qlqf0inl1mnwlpq9j6kj9r67clpy0xg99phyg4329rw80fn";
764 764 };
765 765 meta = {
766 766 license = [ pkgs.lib.licenses.bsdOriginal ];
767 767 };
768 768 };
769 769 "lxml" = super.buildPythonPackage {
770 770 name = "lxml-3.7.3";
771 771 doCheck = false;
772 772 src = fetchurl {
773 773 url = "https://files.pythonhosted.org/packages/39/e8/a8e0b1fa65dd021d48fe21464f71783655f39a41f218293c1c590d54eb82/lxml-3.7.3.tar.gz";
774 774 sha256 = "1iv1jgkqn1hdh1xyxri6g0y1s67h01jzjkw2nhkx3rqylmw2sl5a";
775 775 };
776 776 meta = {
777 777 license = [ pkgs.lib.licenses.bsdOriginal ];
778 778 };
779 779 };
780 780 "mako" = super.buildPythonPackage {
781 781 name = "mako-1.0.7";
782 782 doCheck = false;
783 783 propagatedBuildInputs = [
784 784 self."markupsafe"
785 785 ];
786 786 src = fetchurl {
787 787 url = "https://files.pythonhosted.org/packages/eb/f3/67579bb486517c0d49547f9697e36582cd19dafb5df9e687ed8e22de57fa/Mako-1.0.7.tar.gz";
788 788 sha256 = "1bi5gnr8r8dva06qpyx4kgjc6spm2k1y908183nbbaylggjzs0jf";
789 789 };
790 790 meta = {
791 791 license = [ pkgs.lib.licenses.mit ];
792 792 };
793 793 };
794 794 "markdown" = super.buildPythonPackage {
795 795 name = "markdown-2.6.11";
796 796 doCheck = false;
797 797 src = fetchurl {
798 798 url = "https://files.pythonhosted.org/packages/b3/73/fc5c850f44af5889192dff783b7b0d8f3fe8d30b65c8e3f78f8f0265fecf/Markdown-2.6.11.tar.gz";
799 799 sha256 = "108g80ryzykh8bj0i7jfp71510wrcixdi771lf2asyghgyf8cmm8";
800 800 };
801 801 meta = {
802 802 license = [ pkgs.lib.licenses.bsdOriginal ];
803 803 };
804 804 };
805 805 "markupsafe" = super.buildPythonPackage {
806 806 name = "markupsafe-1.0";
807 807 doCheck = false;
808 808 src = fetchurl {
809 809 url = "https://files.pythonhosted.org/packages/4d/de/32d741db316d8fdb7680822dd37001ef7a448255de9699ab4bfcbdf4172b/MarkupSafe-1.0.tar.gz";
810 810 sha256 = "0rdn1s8x9ni7ss8rfiacj7x1085lx8mh2zdwqslnw8xc3l4nkgm6";
811 811 };
812 812 meta = {
813 813 license = [ pkgs.lib.licenses.bsdOriginal ];
814 814 };
815 815 };
816 816 "meld3" = super.buildPythonPackage {
817 817 name = "meld3-1.0.2";
818 818 doCheck = false;
819 819 src = fetchurl {
820 820 url = "https://files.pythonhosted.org/packages/45/a0/317c6422b26c12fe0161e936fc35f36552069ba8e6f7ecbd99bbffe32a5f/meld3-1.0.2.tar.gz";
821 821 sha256 = "0n4mkwlpsqnmn0dm0wm5hn9nkda0nafl0jdy5sdl5977znh59dzp";
822 822 };
823 823 meta = {
824 824 license = [ { fullName = "BSD-derived (http://www.repoze.org/LICENSE.txt)"; } ];
825 825 };
826 826 };
827 827 "mistune" = super.buildPythonPackage {
828 828 name = "mistune-0.8.3";
829 829 doCheck = false;
830 830 src = fetchurl {
831 831 url = "https://files.pythonhosted.org/packages/9d/be/e06d4346cc608a01dec6bf770d7d0303a4fd6db588b318ced18f5f257145/mistune-0.8.3.tar.gz";
832 832 sha256 = "06b662p6kf46wh2jsabaqhaq4bz1srh2zxkrnx4yg96azlxw645w";
833 833 };
834 834 meta = {
835 835 license = [ pkgs.lib.licenses.bsdOriginal ];
836 836 };
837 837 };
838 838 "mock" = super.buildPythonPackage {
839 839 name = "mock-1.0.1";
840 840 doCheck = false;
841 841 src = fetchurl {
842 842 url = "https://files.pythonhosted.org/packages/a2/52/7edcd94f0afb721a2d559a5b9aae8af4f8f2c79bc63fdbe8a8a6c9b23bbe/mock-1.0.1.tar.gz";
843 843 sha256 = "0kzlsbki6q0awf89rc287f3aj8x431lrajf160a70z0ikhnxsfdq";
844 844 };
845 845 meta = {
846 846 license = [ pkgs.lib.licenses.bsdOriginal ];
847 847 };
848 848 };
849 849 "more-itertools" = super.buildPythonPackage {
850 850 name = "more-itertools-4.3.0";
851 851 doCheck = false;
852 852 propagatedBuildInputs = [
853 853 self."six"
854 854 ];
855 855 src = fetchurl {
856 856 url = "https://files.pythonhosted.org/packages/88/ff/6d485d7362f39880810278bdc906c13300db05485d9c65971dec1142da6a/more-itertools-4.3.0.tar.gz";
857 857 sha256 = "17h3na0rdh8xq30w4b9pizgkdxmm51896bxw600x84jflg9vaxn4";
858 858 };
859 859 meta = {
860 860 license = [ pkgs.lib.licenses.mit ];
861 861 };
862 862 };
863 863 "msgpack-python" = super.buildPythonPackage {
864 864 name = "msgpack-python-0.5.6";
865 865 doCheck = false;
866 866 src = fetchurl {
867 867 url = "https://files.pythonhosted.org/packages/8a/20/6eca772d1a5830336f84aca1d8198e5a3f4715cd1c7fc36d3cc7f7185091/msgpack-python-0.5.6.tar.gz";
868 868 sha256 = "16wh8qgybmfh4pjp8vfv78mdlkxfmcasg78lzlnm6nslsfkci31p";
869 869 };
870 870 meta = {
871 871 license = [ pkgs.lib.licenses.asl20 ];
872 872 };
873 873 };
874 874 "mysql-python" = super.buildPythonPackage {
875 875 name = "mysql-python-1.2.5";
876 876 doCheck = false;
877 877 src = fetchurl {
878 878 url = "https://files.pythonhosted.org/packages/a5/e9/51b544da85a36a68debe7a7091f068d802fc515a3a202652828c73453cad/MySQL-python-1.2.5.zip";
879 879 sha256 = "0x0c2jg0bb3pp84njaqiic050qkyd7ymwhfvhipnimg58yv40441";
880 880 };
881 881 meta = {
882 882 license = [ pkgs.lib.licenses.gpl1 ];
883 883 };
884 884 };
885 885 "nbconvert" = super.buildPythonPackage {
886 886 name = "nbconvert-5.3.1";
887 887 doCheck = false;
888 888 propagatedBuildInputs = [
889 889 self."mistune"
890 890 self."jinja2"
891 891 self."pygments"
892 892 self."traitlets"
893 893 self."jupyter-core"
894 894 self."nbformat"
895 895 self."entrypoints"
896 896 self."bleach"
897 897 self."pandocfilters"
898 898 self."testpath"
899 899 ];
900 900 src = fetchurl {
901 901 url = "https://files.pythonhosted.org/packages/b9/a4/d0a0938ad6f5eeb4dea4e73d255c617ef94b0b2849d51194c9bbdb838412/nbconvert-5.3.1.tar.gz";
902 902 sha256 = "1f9dkvpx186xjm4xab0qbph588mncp4vqk3fmxrsnqs43mks9c8j";
903 903 };
904 904 meta = {
905 905 license = [ pkgs.lib.licenses.bsdOriginal ];
906 906 };
907 907 };
908 908 "nbformat" = super.buildPythonPackage {
909 909 name = "nbformat-4.4.0";
910 910 doCheck = false;
911 911 propagatedBuildInputs = [
912 912 self."ipython-genutils"
913 913 self."traitlets"
914 914 self."jsonschema"
915 915 self."jupyter-core"
916 916 ];
917 917 src = fetchurl {
918 918 url = "https://files.pythonhosted.org/packages/6e/0e/160754f7ae3e984863f585a3743b0ed1702043a81245907c8fae2d537155/nbformat-4.4.0.tar.gz";
919 919 sha256 = "00nlf08h8yc4q73nphfvfhxrcnilaqanb8z0mdy6nxk0vzq4wjgp";
920 920 };
921 921 meta = {
922 922 license = [ pkgs.lib.licenses.bsdOriginal ];
923 923 };
924 924 };
925 925 "objgraph" = super.buildPythonPackage {
926 926 name = "objgraph-3.1.1";
927 927 doCheck = false;
928 928 propagatedBuildInputs = [
929 929 self."graphviz"
930 930 ];
931 931 src = fetchurl {
932 932 url = "https://files.pythonhosted.org/packages/be/58/9ca81a20cc837054e94866df1475d899caaa94f3732b8a46006858b015f7/objgraph-3.1.1.tar.gz";
933 933 sha256 = "17aq4cwainiwvj8x61j0hx45c313bkwza5fijnmmw8v8glyy2bcc";
934 934 };
935 935 meta = {
936 936 license = [ pkgs.lib.licenses.mit ];
937 937 };
938 938 };
939 939 "packaging" = super.buildPythonPackage {
940 940 name = "packaging-15.2";
941 941 doCheck = false;
942 942 src = fetchurl {
943 943 url = "https://files.pythonhosted.org/packages/24/c4/185da1304f07047dc9e0c46c31db75c0351bd73458ac3efad7da3dbcfbe1/packaging-15.2.tar.gz";
944 944 sha256 = "1zn60w84bxvw6wypffka18ca66pa1k2cfrq3cq8fnsfja5m3k4ng";
945 945 };
946 946 meta = {
947 947 license = [ pkgs.lib.licenses.asl20 ];
948 948 };
949 949 };
950 950 "pandocfilters" = super.buildPythonPackage {
951 951 name = "pandocfilters-1.4.2";
952 952 doCheck = false;
953 953 src = fetchurl {
954 954 url = "https://files.pythonhosted.org/packages/4c/ea/236e2584af67bb6df960832731a6e5325fd4441de001767da328c33368ce/pandocfilters-1.4.2.tar.gz";
955 955 sha256 = "1a8d9b7s48gmq9zj0pmbyv2sivn5i7m6mybgpkk4jm5vd7hp1pdk";
956 956 };
957 957 meta = {
958 958 license = [ pkgs.lib.licenses.bsdOriginal ];
959 959 };
960 960 };
961 961 "paste" = super.buildPythonPackage {
962 962 name = "paste-2.0.3";
963 963 doCheck = false;
964 964 propagatedBuildInputs = [
965 965 self."six"
966 966 ];
967 967 src = fetchurl {
968 968 url = "https://files.pythonhosted.org/packages/30/c3/5c2f7c7a02e4f58d4454353fa1c32c94f79fa4e36d07a67c0ac295ea369e/Paste-2.0.3.tar.gz";
969 969 sha256 = "062jk0nlxf6lb2wwj6zc20rlvrwsnikpkh90y0dn8cjch93s6ii3";
970 970 };
971 971 meta = {
972 972 license = [ pkgs.lib.licenses.mit ];
973 973 };
974 974 };
975 975 "pastedeploy" = super.buildPythonPackage {
976 976 name = "pastedeploy-1.5.2";
977 977 doCheck = false;
978 978 src = fetchurl {
979 979 url = "https://files.pythonhosted.org/packages/0f/90/8e20cdae206c543ea10793cbf4136eb9a8b3f417e04e40a29d72d9922cbd/PasteDeploy-1.5.2.tar.gz";
980 980 sha256 = "1jz3m4hq8v6hyhfjz9425nd3nvn52cvbfipdcd72krjmla4qz1fm";
981 981 };
982 982 meta = {
983 983 license = [ pkgs.lib.licenses.mit ];
984 984 };
985 985 };
986 986 "pastescript" = super.buildPythonPackage {
987 987 name = "pastescript-2.0.2";
988 988 doCheck = false;
989 989 propagatedBuildInputs = [
990 990 self."paste"
991 991 self."pastedeploy"
992 992 self."six"
993 993 ];
994 994 src = fetchurl {
995 995 url = "https://files.pythonhosted.org/packages/e5/f0/78e766c3dcc61a4f3a6f71dd8c95168ae9c7a31722b5663d19c1fdf62cb6/PasteScript-2.0.2.tar.gz";
996 996 sha256 = "1h3nnhn45kf4pbcv669ik4faw04j58k8vbj1hwrc532k0nc28gy0";
997 997 };
998 998 meta = {
999 999 license = [ pkgs.lib.licenses.mit ];
1000 1000 };
1001 1001 };
1002 1002 "pathlib2" = super.buildPythonPackage {
1003 1003 name = "pathlib2-2.3.2";
1004 1004 doCheck = false;
1005 1005 propagatedBuildInputs = [
1006 1006 self."six"
1007 1007 self."scandir"
1008 1008 ];
1009 1009 src = fetchurl {
1010 1010 url = "https://files.pythonhosted.org/packages/db/a8/7d6439c1aec525ed70810abee5b7d7f3aa35347f59bc28343e8f62019aa2/pathlib2-2.3.2.tar.gz";
1011 1011 sha256 = "10yb0iv5x2hs631rcppkhbddx799d3h8pcwmkbh2a66ns3w71ccf";
1012 1012 };
1013 1013 meta = {
1014 1014 license = [ pkgs.lib.licenses.mit ];
1015 1015 };
1016 1016 };
1017 1017 "peppercorn" = super.buildPythonPackage {
1018 1018 name = "peppercorn-0.5";
1019 1019 doCheck = false;
1020 1020 src = fetchurl {
1021 1021 url = "https://files.pythonhosted.org/packages/45/ec/a62ec317d1324a01567c5221b420742f094f05ee48097e5157d32be3755c/peppercorn-0.5.tar.gz";
1022 1022 sha256 = "0jvp144zn7yqk9kbpxc059167mlqk85i5lpvl1niw8gsa5fvl74j";
1023 1023 };
1024 1024 meta = {
1025 1025 license = [ { fullName = "BSD-derived (http://www.repoze.org/LICENSE.txt)"; } ];
1026 1026 };
1027 1027 };
1028 1028 "pexpect" = super.buildPythonPackage {
1029 1029 name = "pexpect-4.6.0";
1030 1030 doCheck = false;
1031 1031 propagatedBuildInputs = [
1032 1032 self."ptyprocess"
1033 1033 ];
1034 1034 src = fetchurl {
1035 1035 url = "https://files.pythonhosted.org/packages/89/43/07d07654ee3e25235d8cea4164cdee0ec39d1fda8e9203156ebe403ffda4/pexpect-4.6.0.tar.gz";
1036 1036 sha256 = "1fla85g47iaxxpjhp9vkxdnv4pgc7rplfy6ja491smrrk0jqi3ia";
1037 1037 };
1038 1038 meta = {
1039 1039 license = [ pkgs.lib.licenses.isc { fullName = "ISC License (ISCL)"; } ];
1040 1040 };
1041 1041 };
1042 1042 "pickleshare" = super.buildPythonPackage {
1043 1043 name = "pickleshare-0.7.5";
1044 1044 doCheck = false;
1045 1045 propagatedBuildInputs = [
1046 1046 self."pathlib2"
1047 1047 ];
1048 1048 src = fetchurl {
1049 1049 url = "https://files.pythonhosted.org/packages/d8/b6/df3c1c9b616e9c0edbc4fbab6ddd09df9535849c64ba51fcb6531c32d4d8/pickleshare-0.7.5.tar.gz";
1050 1050 sha256 = "1jmghg3c53yp1i8cm6pcrm280ayi8621rwyav9fac7awjr3kss47";
1051 1051 };
1052 1052 meta = {
1053 1053 license = [ pkgs.lib.licenses.mit ];
1054 1054 };
1055 1055 };
1056 1056 "plaster" = super.buildPythonPackage {
1057 1057 name = "plaster-1.0";
1058 1058 doCheck = false;
1059 1059 propagatedBuildInputs = [
1060 1060 self."setuptools"
1061 1061 ];
1062 1062 src = fetchurl {
1063 1063 url = "https://files.pythonhosted.org/packages/37/e1/56d04382d718d32751017d32f351214384e529b794084eee20bb52405563/plaster-1.0.tar.gz";
1064 1064 sha256 = "1hy8k0nv2mxq94y5aysk6hjk9ryb4bsd13g83m60hcyzxz3wflc3";
1065 1065 };
1066 1066 meta = {
1067 1067 license = [ pkgs.lib.licenses.mit ];
1068 1068 };
1069 1069 };
1070 1070 "plaster-pastedeploy" = super.buildPythonPackage {
1071 1071 name = "plaster-pastedeploy-0.6";
1072 1072 doCheck = false;
1073 1073 propagatedBuildInputs = [
1074 1074 self."pastedeploy"
1075 1075 self."plaster"
1076 1076 ];
1077 1077 src = fetchurl {
1078 1078 url = "https://files.pythonhosted.org/packages/3f/e7/6a6833158d2038ec40085433308a1e164fd1dac595513f6dd556d5669bb8/plaster_pastedeploy-0.6.tar.gz";
1079 1079 sha256 = "1bkggk18f4z2bmsmxyxabvf62znvjwbivzh880419r3ap0616cf2";
1080 1080 };
1081 1081 meta = {
1082 1082 license = [ pkgs.lib.licenses.mit ];
1083 1083 };
1084 1084 };
1085 1085 "pluggy" = super.buildPythonPackage {
1086 1086 name = "pluggy-0.7.1";
1087 1087 doCheck = false;
1088 1088 src = fetchurl {
1089 1089 url = "https://files.pythonhosted.org/packages/a1/83/ef7d976c12d67a5c7a5bc2a47f0501c926cabae9d9fcfdc26d72abc9ba15/pluggy-0.7.1.tar.gz";
1090 1090 sha256 = "1qbn70mksmr03hac6jgp6fiqc4l7859z8dchx2x950vhlij87swm";
1091 1091 };
1092 1092 meta = {
1093 1093 license = [ pkgs.lib.licenses.mit ];
1094 1094 };
1095 1095 };
1096 1096 "prompt-toolkit" = super.buildPythonPackage {
1097 1097 name = "prompt-toolkit-1.0.15";
1098 1098 doCheck = false;
1099 1099 propagatedBuildInputs = [
1100 1100 self."six"
1101 1101 self."wcwidth"
1102 1102 ];
1103 1103 src = fetchurl {
1104 1104 url = "https://files.pythonhosted.org/packages/8a/ad/cf6b128866e78ad6d7f1dc5b7f99885fb813393d9860778b2984582e81b5/prompt_toolkit-1.0.15.tar.gz";
1105 1105 sha256 = "05v9h5nydljwpj5nm8n804ms0glajwfy1zagrzqrg91wk3qqi1c5";
1106 1106 };
1107 1107 meta = {
1108 1108 license = [ pkgs.lib.licenses.bsdOriginal ];
1109 1109 };
1110 1110 };
1111 1111 "psutil" = super.buildPythonPackage {
1112 1112 name = "psutil-5.4.7";
1113 1113 doCheck = false;
1114 1114 src = fetchurl {
1115 1115 url = "https://files.pythonhosted.org/packages/7d/9a/1e93d41708f8ed2b564395edfa3389f0fd6d567597401c2e5e2775118d8b/psutil-5.4.7.tar.gz";
1116 1116 sha256 = "0fsgmvzwbdbszkwfnqhib8jcxm4w6zyhvlxlcda0rfm5cyqj4qsv";
1117 1117 };
1118 1118 meta = {
1119 1119 license = [ pkgs.lib.licenses.bsdOriginal ];
1120 1120 };
1121 1121 };
1122 1122 "psycopg2" = super.buildPythonPackage {
1123 1123 name = "psycopg2-2.7.5";
1124 1124 doCheck = false;
1125 1125 src = fetchurl {
1126 1126 url = "https://files.pythonhosted.org/packages/b2/c1/7bf6c464e903ffc4f3f5907c389e5a4199666bf57f6cd6bf46c17912a1f9/psycopg2-2.7.5.tar.gz";
1127 1127 sha256 = "17klx964gw8z0znl0raz3by8vdc7cq5gxj4pdcrfcina84nrdkzc";
1128 1128 };
1129 1129 meta = {
1130 1130 license = [ pkgs.lib.licenses.zpl21 { fullName = "GNU Library or Lesser General Public License (LGPL)"; } { fullName = "LGPL with exceptions or ZPL"; } ];
1131 1131 };
1132 1132 };
1133 1133 "ptyprocess" = super.buildPythonPackage {
1134 1134 name = "ptyprocess-0.6.0";
1135 1135 doCheck = false;
1136 1136 src = fetchurl {
1137 1137 url = "https://files.pythonhosted.org/packages/7d/2d/e4b8733cf79b7309d84c9081a4ab558c89d8c89da5961bf4ddb050ca1ce0/ptyprocess-0.6.0.tar.gz";
1138 1138 sha256 = "1h4lcd3w5nrxnsk436ar7fwkiy5rfn5wj2xwy9l0r4mdqnf2jgwj";
1139 1139 };
1140 1140 meta = {
1141 1141 license = [ ];
1142 1142 };
1143 1143 };
1144 1144 "py" = super.buildPythonPackage {
1145 1145 name = "py-1.6.0";
1146 1146 doCheck = false;
1147 1147 src = fetchurl {
1148 1148 url = "https://files.pythonhosted.org/packages/4f/38/5f427d1eedae73063ce4da680d2bae72014995f9fdeaa57809df61c968cd/py-1.6.0.tar.gz";
1149 1149 sha256 = "1wcs3zv9wl5m5x7p16avqj2gsrviyb23yvc3pr330isqs0sh98q6";
1150 1150 };
1151 1151 meta = {
1152 1152 license = [ pkgs.lib.licenses.mit ];
1153 1153 };
1154 1154 };
1155 1155 "py-bcrypt" = super.buildPythonPackage {
1156 1156 name = "py-bcrypt-0.4";
1157 1157 doCheck = false;
1158 1158 src = fetchurl {
1159 1159 url = "https://files.pythonhosted.org/packages/68/b1/1c3068c5c4d2e35c48b38dcc865301ebfdf45f54507086ac65ced1fd3b3d/py-bcrypt-0.4.tar.gz";
1160 1160 sha256 = "0y6smdggwi5s72v6p1nn53dg6w05hna3d264cq6kas0lap73p8az";
1161 1161 };
1162 1162 meta = {
1163 1163 license = [ pkgs.lib.licenses.bsdOriginal ];
1164 1164 };
1165 1165 };
1166 1166 "py-gfm" = super.buildPythonPackage {
1167 1167 name = "py-gfm-0.1.3";
1168 1168 doCheck = false;
1169 1169 propagatedBuildInputs = [
1170 1170 self."setuptools"
1171 1171 self."markdown"
1172 1172 ];
1173 1173 src = fetchurl {
1174 1174 url = "https://files.pythonhosted.org/packages/12/e4/6b3d8678da04f97d7490d8264d8de51c2dc9fb91209ccee9c515c95e14c5/py-gfm-0.1.3.tar.gz";
1175 1175 sha256 = "162ggwwj0af9g3s1k8m4bfwbvis03x9pinnf35mj79pb90rf81zi";
1176 1176 };
1177 1177 meta = {
1178 1178 license = [ pkgs.lib.licenses.bsdOriginal ];
1179 1179 };
1180 1180 };
1181 1181 "pyasn1" = super.buildPythonPackage {
1182 1182 name = "pyasn1-0.4.4";
1183 1183 doCheck = false;
1184 1184 src = fetchurl {
1185 1185 url = "https://files.pythonhosted.org/packages/10/46/059775dc8e50f722d205452bced4b3cc965d27e8c3389156acd3b1123ae3/pyasn1-0.4.4.tar.gz";
1186 1186 sha256 = "0drilmx5j25aplfr5wrml0030cs5fgxp9yp94fhllxgx28yjm3zm";
1187 1187 };
1188 1188 meta = {
1189 1189 license = [ pkgs.lib.licenses.bsdOriginal ];
1190 1190 };
1191 1191 };
1192 1192 "pyasn1-modules" = super.buildPythonPackage {
1193 1193 name = "pyasn1-modules-0.2.2";
1194 1194 doCheck = false;
1195 1195 propagatedBuildInputs = [
1196 1196 self."pyasn1"
1197 1197 ];
1198 1198 src = fetchurl {
1199 1199 url = "https://files.pythonhosted.org/packages/37/33/74ebdc52be534e683dc91faf263931bc00ae05c6073909fde53999088541/pyasn1-modules-0.2.2.tar.gz";
1200 1200 sha256 = "0ivm850yi7ajjbi8j115qpsj95bgxdsx48nbjzg0zip788c3xkx0";
1201 1201 };
1202 1202 meta = {
1203 1203 license = [ pkgs.lib.licenses.bsdOriginal ];
1204 1204 };
1205 1205 };
1206 1206 "pycrypto" = super.buildPythonPackage {
1207 1207 name = "pycrypto-2.6.1";
1208 1208 doCheck = false;
1209 1209 src = fetchurl {
1210 1210 url = "https://files.pythonhosted.org/packages/60/db/645aa9af249f059cc3a368b118de33889219e0362141e75d4eaf6f80f163/pycrypto-2.6.1.tar.gz";
1211 1211 sha256 = "0g0ayql5b9mkjam8hym6zyg6bv77lbh66rv1fyvgqb17kfc1xkpj";
1212 1212 };
1213 1213 meta = {
1214 1214 license = [ pkgs.lib.licenses.publicDomain ];
1215 1215 };
1216 1216 };
1217 1217 "pycurl" = super.buildPythonPackage {
1218 1218 name = "pycurl-7.43.0.2";
1219 1219 doCheck = false;
1220 1220 src = fetchurl {
1221 1221 url = "https://files.pythonhosted.org/packages/e8/e4/0dbb8735407189f00b33d84122b9be52c790c7c3b25286826f4e1bdb7bde/pycurl-7.43.0.2.tar.gz";
1222 1222 sha256 = "1915kb04k1j4y6k1dx1sgnbddxrl9r1n4q928if2lkrdm73xy30g";
1223 1223 };
1224 1224 meta = {
1225 1225 license = [ pkgs.lib.licenses.mit { fullName = "LGPL/MIT"; } { fullName = "GNU Library or Lesser General Public License (LGPL)"; } ];
1226 1226 };
1227 1227 };
1228 1228 "pyflakes" = super.buildPythonPackage {
1229 1229 name = "pyflakes-0.8.1";
1230 1230 doCheck = false;
1231 1231 src = fetchurl {
1232 1232 url = "https://files.pythonhosted.org/packages/75/22/a90ec0252f4f87f3ffb6336504de71fe16a49d69c4538dae2f12b9360a38/pyflakes-0.8.1.tar.gz";
1233 1233 sha256 = "0sbpq6pqm1i9wqi41mlfrsc5rk92jv4mskvlyxmnhlbdnc80ma1z";
1234 1234 };
1235 1235 meta = {
1236 1236 license = [ pkgs.lib.licenses.mit ];
1237 1237 };
1238 1238 };
1239 1239 "pygments" = super.buildPythonPackage {
1240 1240 name = "pygments-2.2.0";
1241 1241 doCheck = false;
1242 1242 src = fetchurl {
1243 1243 url = "https://files.pythonhosted.org/packages/71/2a/2e4e77803a8bd6408a2903340ac498cb0a2181811af7c9ec92cb70b0308a/Pygments-2.2.0.tar.gz";
1244 1244 sha256 = "1k78qdvir1yb1c634nkv6rbga8wv4289xarghmsbbvzhvr311bnv";
1245 1245 };
1246 1246 meta = {
1247 1247 license = [ pkgs.lib.licenses.bsdOriginal ];
1248 1248 };
1249 1249 };
1250 1250 "pygments-markdown-lexer" = super.buildPythonPackage {
1251 1251 name = "pygments-markdown-lexer-0.1.0.dev39";
1252 1252 doCheck = false;
1253 1253 propagatedBuildInputs = [
1254 1254 self."pygments"
1255 1255 ];
1256 1256 src = fetchurl {
1257 1257 url = "https://files.pythonhosted.org/packages/c3/12/674cdee66635d638cedb2c5d9c85ce507b7b2f91bdba29e482f1b1160ff6/pygments-markdown-lexer-0.1.0.dev39.zip";
1258 1258 sha256 = "1pzb5wy23q3fhs0rqzasjnw6hdzwjngpakb73i98cn0b8lk8q4jc";
1259 1259 };
1260 1260 meta = {
1261 1261 license = [ pkgs.lib.licenses.asl20 ];
1262 1262 };
1263 1263 };
1264 1264 "pymysql" = super.buildPythonPackage {
1265 1265 name = "pymysql-0.8.1";
1266 1266 doCheck = false;
1267 1267 src = fetchurl {
1268 1268 url = "https://files.pythonhosted.org/packages/44/39/6bcb83cae0095a31b6be4511707fdf2009d3e29903a55a0494d3a9a2fac0/PyMySQL-0.8.1.tar.gz";
1269 1269 sha256 = "0a96crz55bw4h6myh833skrli7b0ck89m3x673y2z2ryy7zrpq9l";
1270 1270 };
1271 1271 meta = {
1272 1272 license = [ pkgs.lib.licenses.mit ];
1273 1273 };
1274 1274 };
1275 1275 "pyotp" = super.buildPythonPackage {
1276 1276 name = "pyotp-2.2.6";
1277 1277 doCheck = false;
1278 1278 src = fetchurl {
1279 1279 url = "https://files.pythonhosted.org/packages/67/69/131f5ad63de40c30f3be88d891e4a2ea1b69398528db99bc1e5c543422fa/pyotp-2.2.6.tar.gz";
1280 1280 sha256 = "0sdxxvr3j4j0pk26v258jpxhgpbnpmyqhvzhl24hsd50j7fk14fx";
1281 1281 };
1282 1282 meta = {
1283 1283 license = [ pkgs.lib.licenses.bsdOriginal ];
1284 1284 };
1285 1285 };
1286 1286 "pyparsing" = super.buildPythonPackage {
1287 1287 name = "pyparsing-1.5.7";
1288 1288 doCheck = false;
1289 1289 src = fetchurl {
1290 1290 url = "https://files.pythonhosted.org/packages/6f/2c/47457771c02a8ff0f302b695e094ec309e30452232bd79198ee94fda689f/pyparsing-1.5.7.tar.gz";
1291 1291 sha256 = "17z7ws076z977sclj628fvwrp8y9j2rvdjcsq42v129n1gwi8vk4";
1292 1292 };
1293 1293 meta = {
1294 1294 license = [ pkgs.lib.licenses.mit ];
1295 1295 };
1296 1296 };
1297 1297 "pyramid" = super.buildPythonPackage {
1298 1298 name = "pyramid-1.9.2";
1299 1299 doCheck = false;
1300 1300 propagatedBuildInputs = [
1301 1301 self."setuptools"
1302 1302 self."webob"
1303 1303 self."repoze.lru"
1304 1304 self."zope.interface"
1305 1305 self."zope.deprecation"
1306 1306 self."venusian"
1307 1307 self."translationstring"
1308 1308 self."pastedeploy"
1309 1309 self."plaster"
1310 1310 self."plaster-pastedeploy"
1311 1311 self."hupper"
1312 1312 ];
1313 1313 src = fetchurl {
1314 1314 url = "https://files.pythonhosted.org/packages/a0/c1/b321d07cfc4870541989ad131c86a1d593bfe802af0eca9718a0dadfb97a/pyramid-1.9.2.tar.gz";
1315 1315 sha256 = "09drsl0346nchgxp2j7sa5hlk7mkhfld9wvbd0wicacrp26a92fg";
1316 1316 };
1317 1317 meta = {
1318 1318 license = [ { fullName = "Repoze Public License"; } { fullName = "BSD-derived (http://www.repoze.org/LICENSE.txt)"; } ];
1319 1319 };
1320 1320 };
1321 1321 "pyramid-beaker" = super.buildPythonPackage {
1322 1322 name = "pyramid-beaker-0.8";
1323 1323 doCheck = false;
1324 1324 propagatedBuildInputs = [
1325 1325 self."pyramid"
1326 1326 self."beaker"
1327 1327 ];
1328 1328 src = fetchurl {
1329 1329 url = "https://files.pythonhosted.org/packages/d9/6e/b85426e00fd3d57f4545f74e1c3828552d8700f13ededeef9233f7bca8be/pyramid_beaker-0.8.tar.gz";
1330 1330 sha256 = "0hflx3qkcdml1mwpq53sz46s7jickpfn0zy0ns2c7j445j66bp3p";
1331 1331 };
1332 1332 meta = {
1333 1333 license = [ { fullName = "BSD-derived (http://www.repoze.org/LICENSE.txt)"; } ];
1334 1334 };
1335 1335 };
1336 1336 "pyramid-debugtoolbar" = super.buildPythonPackage {
1337 1337 name = "pyramid-debugtoolbar-4.4";
1338 1338 doCheck = false;
1339 1339 propagatedBuildInputs = [
1340 1340 self."pyramid"
1341 1341 self."pyramid-mako"
1342 1342 self."repoze.lru"
1343 1343 self."pygments"
1344 1344 self."ipaddress"
1345 1345 ];
1346 1346 src = fetchurl {
1347 1347 url = "https://files.pythonhosted.org/packages/00/6f/c04eb4e715a7a5a4b24079ab7ffd1dceb1f70b2e24fc17686a2922dbac0a/pyramid_debugtoolbar-4.4.tar.gz";
1348 1348 sha256 = "17p7nxvapvy2hab1rah3ndq2kbs4v83pixj8x2n4m7008ai9lxsz";
1349 1349 };
1350 1350 meta = {
1351 1351 license = [ { fullName = "Repoze Public License"; } pkgs.lib.licenses.bsdOriginal ];
1352 1352 };
1353 1353 };
1354 1354 "pyramid-jinja2" = super.buildPythonPackage {
1355 1355 name = "pyramid-jinja2-2.7";
1356 1356 doCheck = false;
1357 1357 propagatedBuildInputs = [
1358 1358 self."pyramid"
1359 1359 self."zope.deprecation"
1360 1360 self."jinja2"
1361 1361 self."markupsafe"
1362 1362 ];
1363 1363 src = fetchurl {
1364 1364 url = "https://files.pythonhosted.org/packages/d8/80/d60a7233823de22ce77bd864a8a83736a1fe8b49884b08303a2e68b2c853/pyramid_jinja2-2.7.tar.gz";
1365 1365 sha256 = "1sz5s0pp5jqhf4w22w9527yz8hgdi4mhr6apd6vw1gm5clghh8aw";
1366 1366 };
1367 1367 meta = {
1368 1368 license = [ { fullName = "Repoze Public License"; } { fullName = "BSD-derived (http://www.repoze.org/LICENSE.txt)"; } ];
1369 1369 };
1370 1370 };
1371 "pyramid-mailer" = super.buildPythonPackage {
1372 name = "pyramid-mailer-0.15.1";
1373 doCheck = false;
1374 propagatedBuildInputs = [
1375 self."pyramid"
1376 self."repoze.sendmail"
1377 self."transaction"
1378 ];
1379 src = fetchurl {
1380 url = "https://files.pythonhosted.org/packages/a0/f2/6febf5459dff4d7e653314d575469ad2e11b9d2af2c3606360e1c67202f2/pyramid_mailer-0.15.1.tar.gz";
1381 sha256 = "16vg8jb203jgb7b0hd6wllfqvp542qh2ry1gjai2m6qpv5agy2pc";
1382 };
1383 meta = {
1384 license = [ pkgs.lib.licenses.bsdOriginal ];
1385 };
1386 };
1371 1387 "pyramid-mako" = super.buildPythonPackage {
1372 1388 name = "pyramid-mako-1.0.2";
1373 1389 doCheck = false;
1374 1390 propagatedBuildInputs = [
1375 1391 self."pyramid"
1376 1392 self."mako"
1377 1393 ];
1378 1394 src = fetchurl {
1379 1395 url = "https://files.pythonhosted.org/packages/f1/92/7e69bcf09676d286a71cb3bbb887b16595b96f9ba7adbdc239ffdd4b1eb9/pyramid_mako-1.0.2.tar.gz";
1380 1396 sha256 = "18gk2vliq8z4acblsl6yzgbvnr9rlxjlcqir47km7kvlk1xri83d";
1381 1397 };
1382 1398 meta = {
1383 1399 license = [ { fullName = "Repoze Public License"; } { fullName = "BSD-derived (http://www.repoze.org/LICENSE.txt)"; } ];
1384 1400 };
1385 1401 };
1386 1402 "pysqlite" = super.buildPythonPackage {
1387 1403 name = "pysqlite-2.8.3";
1388 1404 doCheck = false;
1389 1405 src = fetchurl {
1390 1406 url = "https://files.pythonhosted.org/packages/42/02/981b6703e3c83c5b25a829c6e77aad059f9481b0bbacb47e6e8ca12bd731/pysqlite-2.8.3.tar.gz";
1391 1407 sha256 = "1424gwq9sil2ffmnizk60q36vydkv8rxs6m7xs987kz8cdc37lqp";
1392 1408 };
1393 1409 meta = {
1394 1410 license = [ { fullName = "zlib/libpng License"; } { fullName = "zlib/libpng license"; } ];
1395 1411 };
1396 1412 };
1397 1413 "pytest" = super.buildPythonPackage {
1398 1414 name = "pytest-3.8.1";
1399 1415 doCheck = false;
1400 1416 propagatedBuildInputs = [
1401 1417 self."py"
1402 1418 self."six"
1403 1419 self."setuptools"
1404 1420 self."attrs"
1405 1421 self."more-itertools"
1406 1422 self."atomicwrites"
1407 1423 self."pluggy"
1408 1424 self."funcsigs"
1409 1425 self."pathlib2"
1410 1426 ];
1411 1427 src = fetchurl {
1412 1428 url = "https://files.pythonhosted.org/packages/22/77/8dba15a7ec756b040e82bc216120d19dffb5f4a1e4f896822fd3a45bd0a8/pytest-3.8.1.tar.gz";
1413 1429 sha256 = "0m6qn5kblnkc6qjhw8r8dga4gjii077ykn0a1d5131afzy49allm";
1414 1430 };
1415 1431 meta = {
1416 1432 license = [ pkgs.lib.licenses.mit ];
1417 1433 };
1418 1434 };
1419 1435 "pytest-cov" = super.buildPythonPackage {
1420 1436 name = "pytest-cov-2.6.0";
1421 1437 doCheck = false;
1422 1438 propagatedBuildInputs = [
1423 1439 self."pytest"
1424 1440 self."coverage"
1425 1441 ];
1426 1442 src = fetchurl {
1427 1443 url = "https://files.pythonhosted.org/packages/d9/e2/58f90a316fbd94dd50bf5c826a23f3f5d079fb3cc448c1e9f0e3c33a3d2a/pytest-cov-2.6.0.tar.gz";
1428 1444 sha256 = "0qnpp9y3ygx4jk4pf5ad71fh2skbvnr6gl54m7rg5qysnx4g0q73";
1429 1445 };
1430 1446 meta = {
1431 1447 license = [ pkgs.lib.licenses.bsdOriginal pkgs.lib.licenses.mit ];
1432 1448 };
1433 1449 };
1434 1450 "pytest-profiling" = super.buildPythonPackage {
1435 1451 name = "pytest-profiling-1.3.0";
1436 1452 doCheck = false;
1437 1453 propagatedBuildInputs = [
1438 1454 self."six"
1439 1455 self."pytest"
1440 1456 self."gprof2dot"
1441 1457 ];
1442 1458 src = fetchurl {
1443 1459 url = "https://files.pythonhosted.org/packages/f5/34/4626126e041a51ef50a80d0619519b18d20aef249aac25b0d0fdd47e57ee/pytest-profiling-1.3.0.tar.gz";
1444 1460 sha256 = "08r5afx5z22yvpmsnl91l4amsy1yxn8qsmm61mhp06mz8zjs51kb";
1445 1461 };
1446 1462 meta = {
1447 1463 license = [ pkgs.lib.licenses.mit ];
1448 1464 };
1449 1465 };
1450 1466 "pytest-runner" = super.buildPythonPackage {
1451 1467 name = "pytest-runner-4.2";
1452 1468 doCheck = false;
1453 1469 src = fetchurl {
1454 1470 url = "https://files.pythonhosted.org/packages/9e/b7/fe6e8f87f9a756fd06722216f1b6698ccba4d269eac6329d9f0c441d0f93/pytest-runner-4.2.tar.gz";
1455 1471 sha256 = "1gkpyphawxz38ni1gdq1fmwyqcg02m7ypzqvv46z06crwdxi2gyj";
1456 1472 };
1457 1473 meta = {
1458 1474 license = [ pkgs.lib.licenses.mit ];
1459 1475 };
1460 1476 };
1461 1477 "pytest-sugar" = super.buildPythonPackage {
1462 1478 name = "pytest-sugar-0.9.1";
1463 1479 doCheck = false;
1464 1480 propagatedBuildInputs = [
1465 1481 self."pytest"
1466 1482 self."termcolor"
1467 1483 ];
1468 1484 src = fetchurl {
1469 1485 url = "https://files.pythonhosted.org/packages/3e/6a/a3f909083079d03bde11d06ab23088886bbe25f2c97fbe4bb865e2bf05bc/pytest-sugar-0.9.1.tar.gz";
1470 1486 sha256 = "0b4av40dv30727m54v211r0nzwjp2ajkjgxix6j484qjmwpw935b";
1471 1487 };
1472 1488 meta = {
1473 1489 license = [ pkgs.lib.licenses.bsdOriginal ];
1474 1490 };
1475 1491 };
1476 1492 "pytest-timeout" = super.buildPythonPackage {
1477 1493 name = "pytest-timeout-1.3.2";
1478 1494 doCheck = false;
1479 1495 propagatedBuildInputs = [
1480 1496 self."pytest"
1481 1497 ];
1482 1498 src = fetchurl {
1483 1499 url = "https://files.pythonhosted.org/packages/8c/3e/1b6a319d12ae7baa3acb7c18ff2c8630a09471a0319d43535c683b4d03eb/pytest-timeout-1.3.2.tar.gz";
1484 1500 sha256 = "09wnmzvnls2mnsdz7x3c3sk2zdp6jl4dryvyj5i8hqz16q2zq5qi";
1485 1501 };
1486 1502 meta = {
1487 1503 license = [ pkgs.lib.licenses.mit { fullName = "DFSG approved"; } ];
1488 1504 };
1489 1505 };
1490 1506 "python-dateutil" = super.buildPythonPackage {
1491 1507 name = "python-dateutil-2.7.3";
1492 1508 doCheck = false;
1493 1509 propagatedBuildInputs = [
1494 1510 self."six"
1495 1511 ];
1496 1512 src = fetchurl {
1497 1513 url = "https://files.pythonhosted.org/packages/a0/b0/a4e3241d2dee665fea11baec21389aec6886655cd4db7647ddf96c3fad15/python-dateutil-2.7.3.tar.gz";
1498 1514 sha256 = "1f7h54lg0w2ckch7592xpjkh8dg87k2br256h0iw49zn6bg02w72";
1499 1515 };
1500 1516 meta = {
1501 1517 license = [ pkgs.lib.licenses.bsdOriginal pkgs.lib.licenses.asl20 { fullName = "Dual License"; } ];
1502 1518 };
1503 1519 };
1504 1520 "python-editor" = super.buildPythonPackage {
1505 1521 name = "python-editor-1.0.3";
1506 1522 doCheck = false;
1507 1523 src = fetchurl {
1508 1524 url = "https://files.pythonhosted.org/packages/65/1e/adf6e000ea5dc909aa420352d6ba37f16434c8a3c2fa030445411a1ed545/python-editor-1.0.3.tar.gz";
1509 1525 sha256 = "0rf5xz8vw93v7mhdcvind7fkykipzga430wkcd7wk892xsn6dh53";
1510 1526 };
1511 1527 meta = {
1512 1528 license = [ pkgs.lib.licenses.asl20 { fullName = "Apache"; } ];
1513 1529 };
1514 1530 };
1515 1531 "python-ldap" = super.buildPythonPackage {
1516 1532 name = "python-ldap-3.1.0";
1517 1533 doCheck = false;
1518 1534 propagatedBuildInputs = [
1519 1535 self."pyasn1"
1520 1536 self."pyasn1-modules"
1521 1537 ];
1522 1538 src = fetchurl {
1523 1539 url = "https://files.pythonhosted.org/packages/7f/1c/28d721dff2fcd2fef9d55b40df63a00be26ec8a11e8c6fc612ae642f9cfd/python-ldap-3.1.0.tar.gz";
1524 1540 sha256 = "1i97nwfnraylyn0myxlf3vciicrf5h6fymrcff9c00k581wmx5s1";
1525 1541 };
1526 1542 meta = {
1527 1543 license = [ pkgs.lib.licenses.psfl ];
1528 1544 };
1529 1545 };
1530 1546 "python-memcached" = super.buildPythonPackage {
1531 1547 name = "python-memcached-1.59";
1532 1548 doCheck = false;
1533 1549 propagatedBuildInputs = [
1534 1550 self."six"
1535 1551 ];
1536 1552 src = fetchurl {
1537 1553 url = "https://files.pythonhosted.org/packages/90/59/5faf6e3cd8a568dd4f737ddae4f2e54204fd8c51f90bf8df99aca6c22318/python-memcached-1.59.tar.gz";
1538 1554 sha256 = "0kvyapavbirk2x3n1jx4yb9nyigrj1s3x15nm3qhpvhkpqvqdqm2";
1539 1555 };
1540 1556 meta = {
1541 1557 license = [ pkgs.lib.licenses.psfl ];
1542 1558 };
1543 1559 };
1544 1560 "python-pam" = super.buildPythonPackage {
1545 1561 name = "python-pam-1.8.4";
1546 1562 doCheck = false;
1547 1563 src = fetchurl {
1548 1564 url = "https://files.pythonhosted.org/packages/01/16/544d01cae9f28e0292dbd092b6b8b0bf222b528f362ee768a5bed2140111/python-pam-1.8.4.tar.gz";
1549 1565 sha256 = "16whhc0vr7gxsbzvsnq65nq8fs3wwmx755cavm8kkczdkz4djmn8";
1550 1566 };
1551 1567 meta = {
1552 1568 license = [ { fullName = "License :: OSI Approved :: MIT License"; } pkgs.lib.licenses.mit ];
1553 1569 };
1554 1570 };
1555 1571 "pytz" = super.buildPythonPackage {
1556 1572 name = "pytz-2018.4";
1557 1573 doCheck = false;
1558 1574 src = fetchurl {
1559 1575 url = "https://files.pythonhosted.org/packages/10/76/52efda4ef98e7544321fd8d5d512e11739c1df18b0649551aeccfb1c8376/pytz-2018.4.tar.gz";
1560 1576 sha256 = "0jgpqx3kk2rhv81j1izjxvmx8d0x7hzs1857pgqnixic5wq2ar60";
1561 1577 };
1562 1578 meta = {
1563 1579 license = [ pkgs.lib.licenses.mit ];
1564 1580 };
1565 1581 };
1566 1582 "pyzmq" = super.buildPythonPackage {
1567 1583 name = "pyzmq-14.6.0";
1568 1584 doCheck = false;
1569 1585 src = fetchurl {
1570 1586 url = "https://files.pythonhosted.org/packages/8a/3b/5463d5a9d712cd8bbdac335daece0d69f6a6792da4e3dd89956c0db4e4e6/pyzmq-14.6.0.tar.gz";
1571 1587 sha256 = "1frmbjykvhmdg64g7sn20c9fpamrsfxwci1nhhg8q7jgz5pq0ikp";
1572 1588 };
1573 1589 meta = {
1574 1590 license = [ pkgs.lib.licenses.bsdOriginal { fullName = "LGPL+BSD"; } { fullName = "GNU Library or Lesser General Public License (LGPL)"; } ];
1575 1591 };
1576 1592 };
1577 1593 "redis" = super.buildPythonPackage {
1578 1594 name = "redis-2.10.6";
1579 1595 doCheck = false;
1580 1596 src = fetchurl {
1581 1597 url = "https://files.pythonhosted.org/packages/09/8d/6d34b75326bf96d4139a2ddd8e74b80840f800a0a79f9294399e212cb9a7/redis-2.10.6.tar.gz";
1582 1598 sha256 = "03vcgklykny0g0wpvqmy8p6azi2s078317wgb2xjv5m2rs9sjb52";
1583 1599 };
1584 1600 meta = {
1585 1601 license = [ pkgs.lib.licenses.mit ];
1586 1602 };
1587 1603 };
1588 1604 "repoze.lru" = super.buildPythonPackage {
1589 1605 name = "repoze.lru-0.7";
1590 1606 doCheck = false;
1591 1607 src = fetchurl {
1592 1608 url = "https://files.pythonhosted.org/packages/12/bc/595a77c4b5e204847fdf19268314ef59c85193a9dc9f83630fc459c0fee5/repoze.lru-0.7.tar.gz";
1593 1609 sha256 = "0xzz1aw2smy8hdszrq8yhnklx6w1r1mf55061kalw3iq35gafa84";
1594 1610 };
1595 1611 meta = {
1596 1612 license = [ { fullName = "Repoze Public License"; } { fullName = "BSD-derived (http://www.repoze.org/LICENSE.txt)"; } ];
1597 1613 };
1598 1614 };
1615 "repoze.sendmail" = super.buildPythonPackage {
1616 name = "repoze.sendmail-4.4.1";
1617 doCheck = false;
1618 propagatedBuildInputs = [
1619 self."setuptools"
1620 self."zope.interface"
1621 self."transaction"
1622 ];
1623 src = fetchurl {
1624 url = "https://files.pythonhosted.org/packages/12/4e/8ef1fd5c42765d712427b9c391419a77bd48877886d2cbc5e9f23c8cad9b/repoze.sendmail-4.4.1.tar.gz";
1625 sha256 = "096ln02jr2afk7ab9j2czxqv2ryqq7m86ah572nqplx52iws73ks";
1626 };
1627 meta = {
1628 license = [ pkgs.lib.licenses.zpl21 ];
1629 };
1630 };
1599 1631 "requests" = super.buildPythonPackage {
1600 1632 name = "requests-2.9.1";
1601 1633 doCheck = false;
1602 1634 src = fetchurl {
1603 1635 url = "https://files.pythonhosted.org/packages/f9/6d/07c44fb1ebe04d069459a189e7dab9e4abfe9432adcd4477367c25332748/requests-2.9.1.tar.gz";
1604 1636 sha256 = "0zsqrzlybf25xscgi7ja4s48y2abf9wvjkn47wh984qgs1fq2xy5";
1605 1637 };
1606 1638 meta = {
1607 1639 license = [ pkgs.lib.licenses.asl20 ];
1608 1640 };
1609 1641 };
1610 1642 "rhodecode-enterprise-ce" = super.buildPythonPackage {
1611 1643 name = "rhodecode-enterprise-ce-4.14.0";
1612 1644 buildInputs = [
1613 1645 self."pytest"
1614 1646 self."py"
1615 1647 self."pytest-cov"
1616 1648 self."pytest-sugar"
1617 1649 self."pytest-runner"
1618 1650 self."pytest-profiling"
1619 1651 self."pytest-timeout"
1620 1652 self."gprof2dot"
1621 1653 self."mock"
1622 1654 self."webtest"
1623 1655 self."cov-core"
1624 1656 self."coverage"
1625 1657 self."configobj"
1626 1658 ];
1627 1659 doCheck = true;
1628 1660 propagatedBuildInputs = [
1629 1661 self."setuptools-scm"
1630 1662 self."amqp"
1631 1663 self."authomatic"
1632 1664 self."atomicwrites"
1633 1665 self."attrs"
1634 1666 self."babel"
1635 1667 self."beaker"
1636 1668 self."celery"
1637 1669 self."chameleon"
1638 1670 self."channelstream"
1639 1671 self."click"
1640 1672 self."colander"
1641 1673 self."configobj"
1642 1674 self."cssselect"
1643 1675 self."decorator"
1644 1676 self."deform"
1645 1677 self."docutils"
1646 1678 self."dogpile.cache"
1647 1679 self."dogpile.core"
1648 1680 self."ecdsa"
1649 1681 self."formencode"
1650 1682 self."future"
1651 1683 self."futures"
1652 1684 self."gnureadline"
1653 1685 self."infrae.cache"
1654 1686 self."iso8601"
1655 1687 self."itsdangerous"
1656 1688 self."jinja2"
1657 1689 self."billiard"
1658 1690 self."kombu"
1659 1691 self."lxml"
1660 1692 self."mako"
1661 1693 self."markdown"
1662 1694 self."markupsafe"
1663 1695 self."msgpack-python"
1664 1696 self."mysql-python"
1665 1697 self."pymysql"
1666 1698 self."pyotp"
1667 1699 self."objgraph"
1668 1700 self."packaging"
1669 1701 self."paste"
1670 1702 self."pastedeploy"
1671 1703 self."pastescript"
1672 1704 self."pathlib2"
1673 1705 self."peppercorn"
1674 1706 self."psutil"
1675 1707 self."psycopg2"
1676 1708 self."py-bcrypt"
1677 1709 self."pycrypto"
1678 1710 self."pycurl"
1679 1711 self."pyflakes"
1680 1712 self."pygments-markdown-lexer"
1681 1713 self."pygments"
1682 1714 self."pyparsing"
1683 1715 self."pyramid-beaker"
1684 1716 self."pyramid-debugtoolbar"
1685 1717 self."pyramid-jinja2"
1686 1718 self."pyramid-mako"
1687 1719 self."pyramid"
1720 self."pyramid-mailer"
1688 1721 self."pysqlite"
1689 1722 self."python-dateutil"
1690 1723 self."python-ldap"
1691 1724 self."python-memcached"
1692 1725 self."python-pam"
1693 1726 self."pytz"
1694 1727 self."tzlocal"
1695 1728 self."pyzmq"
1696 1729 self."py-gfm"
1697 1730 self."redis"
1698 1731 self."repoze.lru"
1699 1732 self."requests"
1700 1733 self."routes"
1701 1734 self."simplejson"
1702 1735 self."six"
1703 1736 self."sqlalchemy"
1704 1737 self."sshpubkeys"
1705 1738 self."subprocess32"
1706 1739 self."supervisor"
1707 1740 self."tempita"
1708 1741 self."translationstring"
1709 1742 self."trollius"
1710 1743 self."urllib3"
1711 1744 self."urlobject"
1712 1745 self."venusian"
1713 1746 self."weberror"
1714 1747 self."webhelpers2"
1715 1748 self."webhelpers"
1716 1749 self."webob"
1717 1750 self."whoosh"
1718 1751 self."wsgiref"
1719 1752 self."zope.cachedescriptors"
1720 1753 self."zope.deprecation"
1721 1754 self."zope.event"
1722 1755 self."zope.interface"
1723 1756 self."nbconvert"
1724 1757 self."bleach"
1725 1758 self."nbformat"
1726 1759 self."jupyter-client"
1727 1760 self."alembic"
1728 1761 self."invoke"
1729 1762 self."bumpversion"
1730 1763 self."gevent"
1731 1764 self."greenlet"
1732 1765 self."gunicorn"
1733 1766 self."waitress"
1734 1767 self."setproctitle"
1735 1768 self."ipdb"
1736 1769 self."ipython"
1737 1770 self."rhodecode-tools"
1738 1771 self."appenlight-client"
1739 1772 self."pytest"
1740 1773 self."py"
1741 1774 self."pytest-cov"
1742 1775 self."pytest-sugar"
1743 1776 self."pytest-runner"
1744 1777 self."pytest-profiling"
1745 1778 self."pytest-timeout"
1746 1779 self."gprof2dot"
1747 1780 self."mock"
1748 1781 self."webtest"
1749 1782 self."cov-core"
1750 1783 self."coverage"
1751 1784 ];
1752 1785 src = ./.;
1753 1786 meta = {
1754 1787 license = [ { fullName = "Affero GNU General Public License v3 or later (AGPLv3+)"; } { fullName = "AGPLv3, and Commercial License"; } ];
1755 1788 };
1756 1789 };
1757 1790 "rhodecode-tools" = super.buildPythonPackage {
1758 1791 name = "rhodecode-tools-1.0.0";
1759 1792 doCheck = false;
1760 1793 propagatedBuildInputs = [
1761 1794 self."click"
1762 1795 self."future"
1763 1796 self."six"
1764 1797 self."mako"
1765 1798 self."markupsafe"
1766 1799 self."requests"
1767 1800 self."elasticsearch"
1768 1801 self."elasticsearch-dsl"
1769 1802 self."urllib3"
1770 1803 self."whoosh"
1771 1804 ];
1772 1805 src = fetchurl {
1773 1806 url = "https://code.rhodecode.com/rhodecode-tools-ce/archive/v1.0.0.tar.gz?md5=19d554ca6cb043b821caa20c1d28b085";
1774 1807 sha256 = "1apd8dav7rj7m3wqrkr1kfjpflc5hkcq7gca0pvy12nvswwjr3wp";
1775 1808 };
1776 1809 meta = {
1777 1810 license = [ { fullName = "Apache 2.0 and Proprietary"; } ];
1778 1811 };
1779 1812 };
1780 1813 "routes" = super.buildPythonPackage {
1781 1814 name = "routes-2.4.1";
1782 1815 doCheck = false;
1783 1816 propagatedBuildInputs = [
1784 1817 self."six"
1785 1818 self."repoze.lru"
1786 1819 ];
1787 1820 src = fetchurl {
1788 1821 url = "https://files.pythonhosted.org/packages/33/38/ea827837e68d9c7dde4cff7ec122a93c319f0effc08ce92a17095576603f/Routes-2.4.1.tar.gz";
1789 1822 sha256 = "1zamff3m0kc4vyfniyhxpkkcqv1rrgnmh37ykxv34nna1ws47vi6";
1790 1823 };
1791 1824 meta = {
1792 1825 license = [ pkgs.lib.licenses.mit ];
1793 1826 };
1794 1827 };
1795 1828 "scandir" = super.buildPythonPackage {
1796 1829 name = "scandir-1.9.0";
1797 1830 doCheck = false;
1798 1831 src = fetchurl {
1799 1832 url = "https://files.pythonhosted.org/packages/16/2a/557af1181e6b4e30254d5a6163b18f5053791ca66e251e77ab08887e8fe3/scandir-1.9.0.tar.gz";
1800 1833 sha256 = "0r3hvf1a9jm1rkqgx40gxkmccknkaiqjavs8lccgq9s8khh5x5s4";
1801 1834 };
1802 1835 meta = {
1803 1836 license = [ pkgs.lib.licenses.bsdOriginal { fullName = "New BSD License"; } ];
1804 1837 };
1805 1838 };
1806 1839 "setproctitle" = super.buildPythonPackage {
1807 1840 name = "setproctitle-1.1.10";
1808 1841 doCheck = false;
1809 1842 src = fetchurl {
1810 1843 url = "https://files.pythonhosted.org/packages/5a/0d/dc0d2234aacba6cf1a729964383e3452c52096dc695581248b548786f2b3/setproctitle-1.1.10.tar.gz";
1811 1844 sha256 = "163kplw9dcrw0lffq1bvli5yws3rngpnvrxrzdw89pbphjjvg0v2";
1812 1845 };
1813 1846 meta = {
1814 1847 license = [ pkgs.lib.licenses.bsdOriginal ];
1815 1848 };
1816 1849 };
1817 1850 "setuptools" = super.buildPythonPackage {
1818 1851 name = "setuptools-40.4.3";
1819 1852 doCheck = false;
1820 1853 src = fetchurl {
1821 1854 url = "https://files.pythonhosted.org/packages/6e/9c/6a003320b00ef237f94aa74e4ad66c57a7618f6c79d67527136e2544b728/setuptools-40.4.3.zip";
1822 1855 sha256 = "058v6zns4634n4al2nmmvp15j8nrgwn8wjrbdks47wk3vm05gg5c";
1823 1856 };
1824 1857 meta = {
1825 1858 license = [ pkgs.lib.licenses.mit ];
1826 1859 };
1827 1860 };
1828 1861 "setuptools-scm" = super.buildPythonPackage {
1829 1862 name = "setuptools-scm-2.1.0";
1830 1863 doCheck = false;
1831 1864 src = fetchurl {
1832 1865 url = "https://files.pythonhosted.org/packages/e5/62/f9e1ac314464eb5945c97542acb6bf6f3381dfa5d7a658de7730c36f31a1/setuptools_scm-2.1.0.tar.gz";
1833 1866 sha256 = "0yb364cgk15sfw3x8ln4ssh98z1dj6n8iiz4r2rw1cfsxhgi8rx7";
1834 1867 };
1835 1868 meta = {
1836 1869 license = [ pkgs.lib.licenses.mit ];
1837 1870 };
1838 1871 };
1839 1872 "simplegeneric" = super.buildPythonPackage {
1840 1873 name = "simplegeneric-0.8.1";
1841 1874 doCheck = false;
1842 1875 src = fetchurl {
1843 1876 url = "https://files.pythonhosted.org/packages/3d/57/4d9c9e3ae9a255cd4e1106bb57e24056d3d0709fc01b2e3e345898e49d5b/simplegeneric-0.8.1.zip";
1844 1877 sha256 = "0wwi1c6md4vkbcsfsf8dklf3vr4mcdj4mpxkanwgb6jb1432x5yw";
1845 1878 };
1846 1879 meta = {
1847 1880 license = [ pkgs.lib.licenses.zpl21 ];
1848 1881 };
1849 1882 };
1850 1883 "simplejson" = super.buildPythonPackage {
1851 1884 name = "simplejson-3.11.1";
1852 1885 doCheck = false;
1853 1886 src = fetchurl {
1854 1887 url = "https://files.pythonhosted.org/packages/08/48/c97b668d6da7d7bebe7ea1817a6f76394b0ec959cb04214ca833c34359df/simplejson-3.11.1.tar.gz";
1855 1888 sha256 = "1rr58dppsq73p0qcd9bsw066cdd3v63sqv7j6sqni8frvm4jv8h1";
1856 1889 };
1857 1890 meta = {
1858 1891 license = [ { fullName = "Academic Free License (AFL)"; } pkgs.lib.licenses.mit ];
1859 1892 };
1860 1893 };
1861 1894 "six" = super.buildPythonPackage {
1862 1895 name = "six-1.11.0";
1863 1896 doCheck = false;
1864 1897 src = fetchurl {
1865 1898 url = "https://files.pythonhosted.org/packages/16/d8/bc6316cf98419719bd59c91742194c111b6f2e85abac88e496adefaf7afe/six-1.11.0.tar.gz";
1866 1899 sha256 = "1scqzwc51c875z23phj48gircqjgnn3af8zy2izjwmnlxrxsgs3h";
1867 1900 };
1868 1901 meta = {
1869 1902 license = [ pkgs.lib.licenses.mit ];
1870 1903 };
1871 1904 };
1872 1905 "sqlalchemy" = super.buildPythonPackage {
1873 1906 name = "sqlalchemy-1.1.18";
1874 1907 doCheck = false;
1875 1908 src = fetchurl {
1876 1909 url = "https://files.pythonhosted.org/packages/cc/4d/96d93ff77cd67aca7618e402191eee3490d8f5f245d6ab7622d35fe504f4/SQLAlchemy-1.1.18.tar.gz";
1877 1910 sha256 = "1ab4ysip6irajfbxl9wy27kv76miaz8h6759hfx92499z4dcf3lb";
1878 1911 };
1879 1912 meta = {
1880 1913 license = [ pkgs.lib.licenses.mit ];
1881 1914 };
1882 1915 };
1883 1916 "sshpubkeys" = super.buildPythonPackage {
1884 1917 name = "sshpubkeys-2.2.0";
1885 1918 doCheck = false;
1886 1919 propagatedBuildInputs = [
1887 1920 self."pycrypto"
1888 1921 self."ecdsa"
1889 1922 ];
1890 1923 src = fetchurl {
1891 1924 url = "https://files.pythonhosted.org/packages/27/da/337fabeb3dca6b62039a93ceaa636f25065e0ae92b575b1235342076cf0a/sshpubkeys-2.2.0.tar.gz";
1892 1925 sha256 = "0r4kpwzmg96a2x56pllik7dmc3fnqk189v3sfgsi07q2ryrhr6xm";
1893 1926 };
1894 1927 meta = {
1895 1928 license = [ pkgs.lib.licenses.bsdOriginal ];
1896 1929 };
1897 1930 };
1898 1931 "subprocess32" = super.buildPythonPackage {
1899 1932 name = "subprocess32-3.5.2";
1900 1933 doCheck = false;
1901 1934 src = fetchurl {
1902 1935 url = "https://files.pythonhosted.org/packages/c3/5f/7117737fc7114061837a4f51670d863dd7f7f9c762a6546fa8a0dcfe61c8/subprocess32-3.5.2.tar.gz";
1903 1936 sha256 = "11v62shwmdys48g7ncs3a8jwwnkcl8d4zcwy6dk73z1zy2f9hazb";
1904 1937 };
1905 1938 meta = {
1906 1939 license = [ pkgs.lib.licenses.psfl ];
1907 1940 };
1908 1941 };
1909 1942 "supervisor" = super.buildPythonPackage {
1910 1943 name = "supervisor-3.3.4";
1911 1944 doCheck = false;
1912 1945 propagatedBuildInputs = [
1913 1946 self."meld3"
1914 1947 ];
1915 1948 src = fetchurl {
1916 1949 url = "https://files.pythonhosted.org/packages/44/60/698e54b4a4a9b956b2d709b4b7b676119c833d811d53ee2500f1b5e96dc3/supervisor-3.3.4.tar.gz";
1917 1950 sha256 = "0wp62z9xprvz2krg02xnbwcnq6pxfq3byd8cxx8c2d8xznih28i1";
1918 1951 };
1919 1952 meta = {
1920 1953 license = [ { fullName = "BSD-derived (http://www.repoze.org/LICENSE.txt)"; } ];
1921 1954 };
1922 1955 };
1923 1956 "tempita" = super.buildPythonPackage {
1924 1957 name = "tempita-0.5.2";
1925 1958 doCheck = false;
1926 1959 src = fetchurl {
1927 1960 url = "https://files.pythonhosted.org/packages/56/c8/8ed6eee83dbddf7b0fc64dd5d4454bc05e6ccaafff47991f73f2894d9ff4/Tempita-0.5.2.tar.gz";
1928 1961 sha256 = "177wwq45slfyajd8csy477bmdmzipyw0dm7i85k3akb7m85wzkna";
1929 1962 };
1930 1963 meta = {
1931 1964 license = [ pkgs.lib.licenses.mit ];
1932 1965 };
1933 1966 };
1934 1967 "termcolor" = super.buildPythonPackage {
1935 1968 name = "termcolor-1.1.0";
1936 1969 doCheck = false;
1937 1970 src = fetchurl {
1938 1971 url = "https://files.pythonhosted.org/packages/8a/48/a76be51647d0eb9f10e2a4511bf3ffb8cc1e6b14e9e4fab46173aa79f981/termcolor-1.1.0.tar.gz";
1939 1972 sha256 = "0fv1vq14rpqwgazxg4981904lfyp84mnammw7y046491cv76jv8x";
1940 1973 };
1941 1974 meta = {
1942 1975 license = [ pkgs.lib.licenses.mit ];
1943 1976 };
1944 1977 };
1945 1978 "testpath" = super.buildPythonPackage {
1946 1979 name = "testpath-0.3.1";
1947 1980 doCheck = false;
1948 1981 src = fetchurl {
1949 1982 url = "https://files.pythonhosted.org/packages/f4/8b/b71e9ee10e5f751e9d959bc750ab122ba04187f5aa52aabdc4e63b0e31a7/testpath-0.3.1.tar.gz";
1950 1983 sha256 = "02bnmkvm6a8a1p5kcygylcd19v2s040qw3zp1n8ab3bqkj1kflqd";
1951 1984 };
1952 1985 meta = {
1953 1986 license = [ ];
1954 1987 };
1955 1988 };
1956 1989 "traitlets" = super.buildPythonPackage {
1957 1990 name = "traitlets-4.3.2";
1958 1991 doCheck = false;
1959 1992 propagatedBuildInputs = [
1960 1993 self."ipython-genutils"
1961 1994 self."six"
1962 1995 self."decorator"
1963 1996 self."enum34"
1964 1997 ];
1965 1998 src = fetchurl {
1966 1999 url = "https://files.pythonhosted.org/packages/a5/98/7f5ef2fe9e9e071813aaf9cb91d1a732e0a68b6c44a32b38cb8e14c3f069/traitlets-4.3.2.tar.gz";
1967 2000 sha256 = "0dbq7sx26xqz5ixs711k5nc88p8a0nqyz6162pwks5dpcz9d4jww";
1968 2001 };
1969 2002 meta = {
1970 2003 license = [ pkgs.lib.licenses.bsdOriginal ];
1971 2004 };
1972 2005 };
2006 "transaction" = super.buildPythonPackage {
2007 name = "transaction-2.2.1";
2008 doCheck = false;
2009 propagatedBuildInputs = [
2010 self."zope.interface"
2011 ];
2012 src = fetchurl {
2013 url = "https://files.pythonhosted.org/packages/a6/5e/09da91cb9373c73aae41721e5571c47db72fa9e11b259ca8fd3b01e306e9/transaction-2.2.1.tar.gz";
2014 sha256 = "0ykcfx5mw76z8wwg6a68ahr52q3qa75hky1xx9axbr9pwiq2097j";
2015 };
2016 meta = {
2017 license = [ pkgs.lib.licenses.zpl21 ];
2018 };
2019 };
1973 2020 "translationstring" = super.buildPythonPackage {
1974 2021 name = "translationstring-1.3";
1975 2022 doCheck = false;
1976 2023 src = fetchurl {
1977 2024 url = "https://files.pythonhosted.org/packages/5e/eb/bee578cc150b44c653b63f5ebe258b5d0d812ddac12497e5f80fcad5d0b4/translationstring-1.3.tar.gz";
1978 2025 sha256 = "0bdpcnd9pv0131dl08h4zbcwmgc45lyvq3pa224xwan5b3x4rr2f";
1979 2026 };
1980 2027 meta = {
1981 2028 license = [ { fullName = "BSD-like (http://repoze.org/license.html)"; } ];
1982 2029 };
1983 2030 };
1984 2031 "trollius" = super.buildPythonPackage {
1985 2032 name = "trollius-1.0.4";
1986 2033 doCheck = false;
1987 2034 propagatedBuildInputs = [
1988 2035 self."futures"
1989 2036 ];
1990 2037 src = fetchurl {
1991 2038 url = "https://files.pythonhosted.org/packages/aa/e6/4141db437f55e6ee7a3fb69663239e3fde7841a811b4bef293145ad6c836/trollius-1.0.4.tar.gz";
1992 2039 sha256 = "0xny8y12x3wrflmyn6xi8a7n3m3ac80fgmgzphx5jbbaxkjcm148";
1993 2040 };
1994 2041 meta = {
1995 2042 license = [ pkgs.lib.licenses.asl20 ];
1996 2043 };
1997 2044 };
1998 2045 "tzlocal" = super.buildPythonPackage {
1999 2046 name = "tzlocal-1.5.1";
2000 2047 doCheck = false;
2001 2048 propagatedBuildInputs = [
2002 2049 self."pytz"
2003 2050 ];
2004 2051 src = fetchurl {
2005 2052 url = "https://files.pythonhosted.org/packages/cb/89/e3687d3ed99bc882793f82634e9824e62499fdfdc4b1ae39e211c5b05017/tzlocal-1.5.1.tar.gz";
2006 2053 sha256 = "0kiciwiqx0bv0fbc913idxibc4ygg4cb7f8rcpd9ij2shi4bigjf";
2007 2054 };
2008 2055 meta = {
2009 2056 license = [ pkgs.lib.licenses.mit ];
2010 2057 };
2011 2058 };
2012 2059 "urllib3" = super.buildPythonPackage {
2013 2060 name = "urllib3-1.21";
2014 2061 doCheck = false;
2015 2062 src = fetchurl {
2016 2063 url = "https://files.pythonhosted.org/packages/34/95/7b28259d0006ed681c424cd71a668363265eac92b67dddd018eb9a22bff8/urllib3-1.21.tar.gz";
2017 2064 sha256 = "0irnj4wvh2y36s4q3l2vas9qr9m766w6w418nb490j3mf8a8zw6h";
2018 2065 };
2019 2066 meta = {
2020 2067 license = [ pkgs.lib.licenses.mit ];
2021 2068 };
2022 2069 };
2023 2070 "urlobject" = super.buildPythonPackage {
2024 2071 name = "urlobject-2.4.3";
2025 2072 doCheck = false;
2026 2073 src = fetchurl {
2027 2074 url = "https://files.pythonhosted.org/packages/e2/b8/1d0a916f4b34c4618846e6da0e4eeaa8fcb4a2f39e006434fe38acb74b34/URLObject-2.4.3.tar.gz";
2028 2075 sha256 = "1ahc8ficzfvr2avln71immfh4ls0zyv6cdaa5xmkdj5rd87f5cj7";
2029 2076 };
2030 2077 meta = {
2031 2078 license = [ pkgs.lib.licenses.publicDomain ];
2032 2079 };
2033 2080 };
2034 2081 "venusian" = super.buildPythonPackage {
2035 2082 name = "venusian-1.1.0";
2036 2083 doCheck = false;
2037 2084 src = fetchurl {
2038 2085 url = "https://files.pythonhosted.org/packages/38/24/b4b470ab9e0a2e2e9b9030c7735828c8934b4c6b45befd1bb713ec2aeb2d/venusian-1.1.0.tar.gz";
2039 2086 sha256 = "0zapz131686qm0gazwy8bh11vr57pr89jbwbl50s528sqy9f80lr";
2040 2087 };
2041 2088 meta = {
2042 2089 license = [ { fullName = "BSD-derived (http://www.repoze.org/LICENSE.txt)"; } ];
2043 2090 };
2044 2091 };
2045 2092 "vine" = super.buildPythonPackage {
2046 2093 name = "vine-1.1.4";
2047 2094 doCheck = false;
2048 2095 src = fetchurl {
2049 2096 url = "https://files.pythonhosted.org/packages/32/23/36284986e011f3c130d802c3c66abd8f1aef371eae110ddf80c5ae22e1ff/vine-1.1.4.tar.gz";
2050 2097 sha256 = "0wkskb2hb494v9gixqnf4bl972p4ibcmxdykzpwjlfa5picns4aj";
2051 2098 };
2052 2099 meta = {
2053 2100 license = [ pkgs.lib.licenses.bsdOriginal ];
2054 2101 };
2055 2102 };
2056 2103 "waitress" = super.buildPythonPackage {
2057 2104 name = "waitress-1.1.0";
2058 2105 doCheck = false;
2059 2106 src = fetchurl {
2060 2107 url = "https://files.pythonhosted.org/packages/3c/68/1c10dd5c556872ceebe88483b0436140048d39de83a84a06a8baa8136f4f/waitress-1.1.0.tar.gz";
2061 2108 sha256 = "1a85gyji0kajc3p0s1pwwfm06w4wfxjkvvl4rnrz3h164kbd6g6k";
2062 2109 };
2063 2110 meta = {
2064 2111 license = [ pkgs.lib.licenses.zpl21 ];
2065 2112 };
2066 2113 };
2067 2114 "wcwidth" = super.buildPythonPackage {
2068 2115 name = "wcwidth-0.1.7";
2069 2116 doCheck = false;
2070 2117 src = fetchurl {
2071 2118 url = "https://files.pythonhosted.org/packages/55/11/e4a2bb08bb450fdbd42cc709dd40de4ed2c472cf0ccb9e64af22279c5495/wcwidth-0.1.7.tar.gz";
2072 2119 sha256 = "0pn6dflzm609m4r3i8ik5ni9ijjbb5fa3vg1n7hn6vkd49r77wrx";
2073 2120 };
2074 2121 meta = {
2075 2122 license = [ pkgs.lib.licenses.mit ];
2076 2123 };
2077 2124 };
2078 2125 "webencodings" = super.buildPythonPackage {
2079 2126 name = "webencodings-0.5.1";
2080 2127 doCheck = false;
2081 2128 src = fetchurl {
2082 2129 url = "https://files.pythonhosted.org/packages/0b/02/ae6ceac1baeda530866a85075641cec12989bd8d31af6d5ab4a3e8c92f47/webencodings-0.5.1.tar.gz";
2083 2130 sha256 = "08qrgrc4hrximb2gqnl69g01s93rhf2842jfxdjljc1dbwj1qsmk";
2084 2131 };
2085 2132 meta = {
2086 2133 license = [ pkgs.lib.licenses.bsdOriginal ];
2087 2134 };
2088 2135 };
2089 2136 "weberror" = super.buildPythonPackage {
2090 2137 name = "weberror-0.10.3";
2091 2138 doCheck = false;
2092 2139 propagatedBuildInputs = [
2093 2140 self."webob"
2094 2141 self."tempita"
2095 2142 self."pygments"
2096 2143 self."paste"
2097 2144 ];
2098 2145 src = fetchurl {
2099 2146 url = "https://files.pythonhosted.org/packages/35/76/e7e5c2ce7e9c7f31b54c1ff295a495886d1279a002557d74dd8957346a79/WebError-0.10.3.tar.gz";
2100 2147 sha256 = "0frg4kvycqpj5bi8asfqfs6bxsr2cvjvb6b56c4d1ai1z57kbjx6";
2101 2148 };
2102 2149 meta = {
2103 2150 license = [ pkgs.lib.licenses.mit ];
2104 2151 };
2105 2152 };
2106 2153 "webhelpers" = super.buildPythonPackage {
2107 2154 name = "webhelpers-1.3";
2108 2155 doCheck = false;
2109 2156 propagatedBuildInputs = [
2110 2157 self."markupsafe"
2111 2158 ];
2112 2159 src = fetchurl {
2113 2160 url = "https://files.pythonhosted.org/packages/ee/68/4d07672821d514184357f1552f2dad923324f597e722de3b016ca4f7844f/WebHelpers-1.3.tar.gz";
2114 2161 sha256 = "10x5i82qdkrvyw18gsybwggfhfpl869siaab89vnndi9x62g51pa";
2115 2162 };
2116 2163 meta = {
2117 2164 license = [ pkgs.lib.licenses.bsdOriginal ];
2118 2165 };
2119 2166 };
2120 2167 "webhelpers2" = super.buildPythonPackage {
2121 2168 name = "webhelpers2-2.0";
2122 2169 doCheck = false;
2123 2170 propagatedBuildInputs = [
2124 2171 self."markupsafe"
2125 2172 self."six"
2126 2173 ];
2127 2174 src = fetchurl {
2128 2175 url = "https://files.pythonhosted.org/packages/ff/30/56342c6ea522439e3662427c8d7b5e5b390dff4ff2dc92d8afcb8ab68b75/WebHelpers2-2.0.tar.gz";
2129 2176 sha256 = "0aphva1qmxh83n01p53f5fd43m4srzbnfbz5ajvbx9aj2aipwmcs";
2130 2177 };
2131 2178 meta = {
2132 2179 license = [ pkgs.lib.licenses.mit ];
2133 2180 };
2134 2181 };
2135 2182 "webob" = super.buildPythonPackage {
2136 2183 name = "webob-1.7.4";
2137 2184 doCheck = false;
2138 2185 src = fetchurl {
2139 2186 url = "https://files.pythonhosted.org/packages/75/34/731e23f52371852dfe7490a61644826ba7fe70fd52a377aaca0f4956ba7f/WebOb-1.7.4.tar.gz";
2140 2187 sha256 = "1na01ljg04z40il7vcrn8g29vaw7nvg1xvhk64cr4jys5wcay44d";
2141 2188 };
2142 2189 meta = {
2143 2190 license = [ pkgs.lib.licenses.mit ];
2144 2191 };
2145 2192 };
2146 2193 "webtest" = super.buildPythonPackage {
2147 2194 name = "webtest-2.0.29";
2148 2195 doCheck = false;
2149 2196 propagatedBuildInputs = [
2150 2197 self."six"
2151 2198 self."webob"
2152 2199 self."waitress"
2153 2200 self."beautifulsoup4"
2154 2201 ];
2155 2202 src = fetchurl {
2156 2203 url = "https://files.pythonhosted.org/packages/94/de/8f94738be649997da99c47b104aa3c3984ecec51a1d8153ed09638253d56/WebTest-2.0.29.tar.gz";
2157 2204 sha256 = "0bcj1ica5lnmj5zbvk46x28kgphcsgh7sfnwjmn0cr94mhawrg6v";
2158 2205 };
2159 2206 meta = {
2160 2207 license = [ pkgs.lib.licenses.mit ];
2161 2208 };
2162 2209 };
2163 2210 "whoosh" = super.buildPythonPackage {
2164 2211 name = "whoosh-2.7.4";
2165 2212 doCheck = false;
2166 2213 src = fetchurl {
2167 2214 url = "https://files.pythonhosted.org/packages/25/2b/6beed2107b148edc1321da0d489afc4617b9ed317ef7b72d4993cad9b684/Whoosh-2.7.4.tar.gz";
2168 2215 sha256 = "10qsqdjpbc85fykc1vgcs8xwbgn4l2l52c8d83xf1q59pwyn79bw";
2169 2216 };
2170 2217 meta = {
2171 2218 license = [ pkgs.lib.licenses.bsdOriginal pkgs.lib.licenses.bsd2 ];
2172 2219 };
2173 2220 };
2174 2221 "ws4py" = super.buildPythonPackage {
2175 2222 name = "ws4py-0.5.1";
2176 2223 doCheck = false;
2177 2224 src = fetchurl {
2178 2225 url = "https://files.pythonhosted.org/packages/53/20/4019a739b2eefe9282d3822ef6a225250af964b117356971bd55e274193c/ws4py-0.5.1.tar.gz";
2179 2226 sha256 = "10slbbf2jm4hpr92jx7kh7mhf48sjl01v2w4d8z3f1p0ybbp7l19";
2180 2227 };
2181 2228 meta = {
2182 2229 license = [ pkgs.lib.licenses.bsdOriginal ];
2183 2230 };
2184 2231 };
2185 2232 "wsgiref" = super.buildPythonPackage {
2186 2233 name = "wsgiref-0.1.2";
2187 2234 doCheck = false;
2188 2235 src = fetchurl {
2189 2236 url = "https://files.pythonhosted.org/packages/41/9e/309259ce8dff8c596e8c26df86dbc4e848b9249fd36797fd60be456f03fc/wsgiref-0.1.2.zip";
2190 2237 sha256 = "0y8fyjmpq7vwwm4x732w97qbkw78rjwal5409k04cw4m03411rn7";
2191 2238 };
2192 2239 meta = {
2193 2240 license = [ { fullName = "PSF or ZPL"; } ];
2194 2241 };
2195 2242 };
2196 2243 "zope.cachedescriptors" = super.buildPythonPackage {
2197 2244 name = "zope.cachedescriptors-4.3.1";
2198 2245 doCheck = false;
2199 2246 propagatedBuildInputs = [
2200 2247 self."setuptools"
2201 2248 ];
2202 2249 src = fetchurl {
2203 2250 url = "https://files.pythonhosted.org/packages/2f/89/ebe1890cc6d3291ebc935558fa764d5fffe571018dbbee200e9db78762cb/zope.cachedescriptors-4.3.1.tar.gz";
2204 2251 sha256 = "0jhr3m5p74c6r7k8iv0005b8bfsialih9d7zl5vx38rf5xq1lk8z";
2205 2252 };
2206 2253 meta = {
2207 2254 license = [ pkgs.lib.licenses.zpl21 ];
2208 2255 };
2209 2256 };
2210 2257 "zope.deprecation" = super.buildPythonPackage {
2211 2258 name = "zope.deprecation-4.3.0";
2212 2259 doCheck = false;
2213 2260 propagatedBuildInputs = [
2214 2261 self."setuptools"
2215 2262 ];
2216 2263 src = fetchurl {
2217 2264 url = "https://files.pythonhosted.org/packages/a1/18/2dc5e6bfe64fdc3b79411b67464c55bb0b43b127051a20f7f492ab767758/zope.deprecation-4.3.0.tar.gz";
2218 2265 sha256 = "095jas41wbxgmw95kwdxqhbc3bgihw2hzj9b3qpdg85apcsf2lkx";
2219 2266 };
2220 2267 meta = {
2221 2268 license = [ pkgs.lib.licenses.zpl21 ];
2222 2269 };
2223 2270 };
2224 2271 "zope.event" = super.buildPythonPackage {
2225 2272 name = "zope.event-4.3.0";
2226 2273 doCheck = false;
2227 2274 propagatedBuildInputs = [
2228 2275 self."setuptools"
2229 2276 ];
2230 2277 src = fetchurl {
2231 2278 url = "https://files.pythonhosted.org/packages/9e/d0/54ba59f19a0635f6591b74be259cf6fbf67e73f4edda27b5cd0cf4d26efa/zope.event-4.3.0.tar.gz";
2232 2279 sha256 = "1rrkyx42bcq8dkpj23c2v99kczlrg8d39c06q5qpr0vs4hjfmv70";
2233 2280 };
2234 2281 meta = {
2235 2282 license = [ pkgs.lib.licenses.zpl21 ];
2236 2283 };
2237 2284 };
2238 2285 "zope.interface" = super.buildPythonPackage {
2239 2286 name = "zope.interface-4.5.0";
2240 2287 doCheck = false;
2241 2288 propagatedBuildInputs = [
2242 2289 self."setuptools"
2243 2290 ];
2244 2291 src = fetchurl {
2245 2292 url = "https://files.pythonhosted.org/packages/ac/8a/657532df378c2cd2a1fe6b12be3b4097521570769d4852ec02c24bd3594e/zope.interface-4.5.0.tar.gz";
2246 2293 sha256 = "0k67m60ij06wkg82n15qgyn96waf4pmrkhv0njpkfzpmv5q89hsp";
2247 2294 };
2248 2295 meta = {
2249 2296 license = [ pkgs.lib.licenses.zpl21 ];
2250 2297 };
2251 2298 };
2252 2299
2253 2300 ### Test requirements
2254 2301
2255 2302
2256 2303 }
@@ -1,132 +1,133 b''
1 1 ## dependencies
2 2
3 3 setuptools-scm==2.1.0
4 4 amqp==2.3.1
5 5 # not released authomatic that has updated some oauth providers
6 6 https://code.rhodecode.com/upstream/authomatic/archive/90a9ce60cc405ae8a2bf5c3713acd5d78579a04e.tar.gz?md5=3c68720a1322b25254009518d1ff6801#egg=authomatic==0.1.0.post1
7 7 atomicwrites==1.2.1
8 8 attrs==18.2.0
9 9 babel==1.3
10 10 beaker==1.9.1
11 11 celery==4.1.1
12 12 chameleon==2.24
13 13 channelstream==0.5.2
14 14 click==6.6
15 15 colander==1.4.0
16 16 # our custom configobj
17 17 https://code.rhodecode.com/upstream/configobj/archive/a11ff0a0bd4fbda9e3a91267e720f88329efb4a6.tar.gz?md5=9916c524ea11a6c418217af6b28d4b3c#egg=configobj==5.0.6
18 18 cssselect==1.0.3
19 19 decorator==4.1.2
20 20 deform==2.0.5
21 21 docutils==0.14.0
22 22 dogpile.cache==0.6.7
23 23 dogpile.core==0.4.1
24 24 ecdsa==0.13
25 25 formencode==1.2.4
26 26 future==0.14.3
27 27 futures==3.0.2
28 28 gnureadline==6.3.8
29 29 infrae.cache==1.0.1
30 30 iso8601==0.1.11
31 31 itsdangerous==0.24
32 32 jinja2==2.9.6
33 33 billiard==3.5.0.3
34 34 kombu==4.2.0
35 35 lxml==3.7.3
36 36 mako==1.0.7
37 37 markdown==2.6.11
38 38 markupsafe==1.0.0
39 39 msgpack-python==0.5.6
40 40 mysql-python==1.2.5
41 41 pymysql==0.8.1
42 42 pyotp==2.2.6
43 43 objgraph==3.1.1
44 44 packaging==15.2
45 45 paste==2.0.3
46 46 pastedeploy==1.5.2
47 47 pastescript==2.0.2
48 48 pathlib2==2.3.2
49 49 peppercorn==0.5
50 50 psutil==5.4.7
51 51 psycopg2==2.7.5
52 52 py-bcrypt==0.4
53 53 pycrypto==2.6.1
54 54 pycurl==7.43.0.2
55 55 pyflakes==0.8.1
56 56 pygments-markdown-lexer==0.1.0.dev39
57 57 pygments==2.2.0
58 58 pyparsing==1.5.7
59 59 pyramid-beaker==0.8
60 60 pyramid-debugtoolbar==4.4.0
61 61 pyramid-jinja2==2.7
62 62 pyramid-mako==1.0.2
63 63 pyramid==1.9.2
64 pyramid_mailer==0.15.1
64 65 pysqlite==2.8.3
65 66 python-dateutil
66 67 python-ldap==3.1.0
67 68 python-memcached==1.59
68 69 python-pam==1.8.4
69 70 pytz==2018.4
70 71 tzlocal==1.5.1
71 72 pyzmq==14.6.0
72 73 py-gfm==0.1.3
73 74 redis==2.10.6
74 75 repoze.lru==0.7
75 76 requests==2.9.1
76 77 routes==2.4.1
77 78 simplejson==3.11.1
78 79 six==1.11.0
79 80 sqlalchemy==1.1.18
80 81 sshpubkeys==2.2.0
81 82 subprocess32==3.5.2
82 83 supervisor==3.3.4
83 84 tempita==0.5.2
84 85 translationstring==1.3
85 86 trollius==1.0.4
86 87 urllib3==1.21
87 88 urlobject==2.4.3
88 89 venusian==1.1.0
89 90 weberror==0.10.3
90 91 webhelpers2==2.0
91 92 webhelpers==1.3
92 93 webob==1.7.4
93 94 whoosh==2.7.4
94 95 wsgiref==0.1.2
95 96 zope.cachedescriptors==4.3.1
96 97 zope.deprecation==4.3.0
97 98 zope.event==4.3.0
98 99 zope.interface==4.5.0
99 100
100 101
101 102 # IPYTHON RENDERING
102 103 # entrypoints backport, pypi version doesn't support egg installs
103 104 https://code.rhodecode.com/upstream/entrypoints/archive/96e6d645684e1af3d7df5b5272f3fe85a546b233.tar.gz?md5=7db37771aea9ac9fefe093e5d6987313#egg=entrypoints==0.2.2.rhodecode-upstream1
104 105 nbconvert==5.3.1
105 106 bleach==2.1.4
106 107 nbformat==4.4.0
107 108 jupyter_client==5.0.0
108 109
109 110 ## cli tools
110 111 alembic==0.9.9
111 112 invoke==0.13.0
112 113 bumpversion==0.5.3
113 114
114 115 ## http servers
115 116 gevent==1.3.6
116 117 greenlet==0.4.15
117 118 gunicorn==19.9.0
118 119 waitress==1.1.0
119 120 setproctitle==1.1.10
120 121
121 122 ## debug
122 123 ipdb==0.11.0
123 124 ipython==5.1.0
124 125
125 126 ## rhodecode-tools, special case
126 127 https://code.rhodecode.com/rhodecode-tools-ce/archive/v1.0.0.tar.gz?md5=19d554ca6cb043b821caa20c1d28b085#egg=rhodecode-tools==1.0.0
127 128
128 129 ## appenlight
129 130 appenlight-client==0.6.25
130 131
131 132 ## test related requirements
132 133 -r requirements_test.txt
@@ -1,308 +1,339 b''
1 1 # -*- coding: utf-8 -*-
2 2
3 3 # Copyright (C) 2012-2018 RhodeCode GmbH
4 4 #
5 5 # This program is free software: you can redistribute it and/or modify
6 6 # it under the terms of the GNU Affero General Public License, version 3
7 7 # (only), as published by the Free Software Foundation.
8 8 #
9 9 # This program is distributed in the hope that it will be useful,
10 10 # but WITHOUT ANY WARRANTY; without even the implied warranty of
11 11 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 12 # GNU General Public License for more details.
13 13 #
14 14 # You should have received a copy of the GNU Affero General Public License
15 15 # along with this program. If not, see <http://www.gnu.org/licenses/>.
16 16 #
17 17 # This program is dual-licensed. If you wish to learn more about the
18 18 # RhodeCode Enterprise Edition, including its added features, Support services,
19 19 # and proprietary license terms, please see https://rhodecode.com/licenses/
20 20
21 21 """
22 22 RhodeCode task modules, containing all task that suppose to be run
23 23 by celery daemon
24 24 """
25 25
26 26 import os
27 27 import time
28 28
29 from pyramid_mailer.mailer import Mailer
30 from pyramid_mailer.message import Message
31
29 32 import rhodecode
30 33 from rhodecode.lib import audit_logger
31 34 from rhodecode.lib.celerylib import get_logger, async_task, RequestContextTask
32 35 from rhodecode.lib.hooks_base import log_create_repository
33 from rhodecode.lib.rcmail.smtp_mailer import SmtpMailer
34 36 from rhodecode.lib.utils2 import safe_int, str2bool
35 37 from rhodecode.model.db import Session, IntegrityError, Repository, User, true
36 38
37 39
38 40 @async_task(ignore_result=True, base=RequestContextTask)
39 41 def send_email(recipients, subject, body='', html_body='', email_config=None):
40 42 """
41 43 Sends an email with defined parameters from the .ini files.
42 44
43 45 :param recipients: list of recipients, it this is empty the defined email
44 46 address from field 'email_to' is used instead
45 47 :param subject: subject of the mail
46 48 :param body: body of the mail
47 49 :param html_body: html version of body
48 50 """
49 51 log = get_logger(send_email)
50 52
51 53 email_config = email_config or rhodecode.CONFIG
52 54
53 55 mail_server = email_config.get('smtp_server') or None
54 56 if mail_server is None:
55 57 log.error("SMTP server information missing. Sending email failed. "
56 58 "Make sure that `smtp_server` variable is configured "
57 59 "inside the .ini file")
58 60 return False
59 61
60 62 subject = "%s %s" % (email_config.get('email_prefix', ''), subject)
61 if not recipients:
63
64 if recipients:
65 if isinstance(recipients, basestring):
66 recipients = recipients.split(',')
67 else:
62 68 # if recipients are not defined we send to email_config + all admins
63 69 admins = []
64 70 for u in User.query().filter(User.admin == true()).all():
65 71 if u.email:
66 72 admins.append(u.email)
67 73 recipients = []
68 74 config_email = email_config.get('email_to')
69 75 if config_email:
70 76 recipients += [config_email]
71 77 recipients += admins
72 78
73 mail_from = email_config.get('app_email_from', 'RhodeCode')
74 user = email_config.get('smtp_username')
75 passwd = email_config.get('smtp_password')
76 mail_port = email_config.get('smtp_port')
77 tls = str2bool(email_config.get('smtp_use_tls'))
78 ssl = str2bool(email_config.get('smtp_use_ssl'))
79 debug = str2bool(email_config.get('debug'))
80 smtp_auth = email_config.get('smtp_auth')
79 # translate our LEGACY config into the one that pyramid_mailer supports
80 email_conf = dict(
81 host=mail_server,
82 port=email_config.get('smtp_port'),
83 username=email_config.get('smtp_username'),
84 password=email_config.get('smtp_password'),
85
86 tls=str2bool(email_config.get('smtp_use_tls')),
87 ssl=str2bool(email_config.get('smtp_use_ssl')),
88
89 # SSL key file
90 # keyfile='',
91
92 # SSL certificate file
93 # certfile='',
94
95 # Location of maildir
96 # queue_path='',
97
98 default_sender=email_config.get('app_email_from', 'RhodeCode'),
99
100 debug=str2bool(email_config.get('smtp_debug')),
101 # /usr/sbin/sendmail Sendmail executable
102 # sendmail_app='',
103
104 # {sendmail_app} -t -i -f {sender} Template for sendmail execution
105 # sendmail_template='',
106 )
81 107
82 108 try:
83 m = SmtpMailer(mail_from, user, passwd, mail_server, smtp_auth,
84 mail_port, ssl, tls, debug=debug)
85 m.send(recipients, subject, body, html_body)
109 mailer = Mailer(**email_conf)
110
111 message = Message(subject=subject,
112 sender=email_conf['default_sender'],
113 recipients=recipients,
114 body=body, html=html_body)
115 mailer.send_immediately(message)
116
86 117 except Exception:
87 118 log.exception('Mail sending failed')
88 119 return False
89 120 return True
90 121
91 122
92 123 @async_task(ignore_result=True, base=RequestContextTask)
93 124 def create_repo(form_data, cur_user):
94 125 from rhodecode.model.repo import RepoModel
95 126 from rhodecode.model.user import UserModel
96 127 from rhodecode.model.settings import SettingsModel
97 128
98 129 log = get_logger(create_repo)
99 130
100 131 cur_user = UserModel()._get_user(cur_user)
101 132 owner = cur_user
102 133
103 134 repo_name = form_data['repo_name']
104 135 repo_name_full = form_data['repo_name_full']
105 136 repo_type = form_data['repo_type']
106 137 description = form_data['repo_description']
107 138 private = form_data['repo_private']
108 139 clone_uri = form_data.get('clone_uri')
109 140 repo_group = safe_int(form_data['repo_group'])
110 141 landing_rev = form_data['repo_landing_rev']
111 142 copy_fork_permissions = form_data.get('copy_permissions')
112 143 copy_group_permissions = form_data.get('repo_copy_permissions')
113 144 fork_of = form_data.get('fork_parent_id')
114 145 state = form_data.get('repo_state', Repository.STATE_PENDING)
115 146
116 147 # repo creation defaults, private and repo_type are filled in form
117 148 defs = SettingsModel().get_default_repo_settings(strip_prefix=True)
118 149 enable_statistics = form_data.get(
119 150 'enable_statistics', defs.get('repo_enable_statistics'))
120 151 enable_locking = form_data.get(
121 152 'enable_locking', defs.get('repo_enable_locking'))
122 153 enable_downloads = form_data.get(
123 154 'enable_downloads', defs.get('repo_enable_downloads'))
124 155
125 156 try:
126 157 RepoModel()._create_repo(
127 158 repo_name=repo_name_full,
128 159 repo_type=repo_type,
129 160 description=description,
130 161 owner=owner,
131 162 private=private,
132 163 clone_uri=clone_uri,
133 164 repo_group=repo_group,
134 165 landing_rev=landing_rev,
135 166 fork_of=fork_of,
136 167 copy_fork_permissions=copy_fork_permissions,
137 168 copy_group_permissions=copy_group_permissions,
138 169 enable_statistics=enable_statistics,
139 170 enable_locking=enable_locking,
140 171 enable_downloads=enable_downloads,
141 172 state=state
142 173 )
143 174 Session().commit()
144 175
145 176 # now create this repo on Filesystem
146 177 RepoModel()._create_filesystem_repo(
147 178 repo_name=repo_name,
148 179 repo_type=repo_type,
149 180 repo_group=RepoModel()._get_repo_group(repo_group),
150 181 clone_uri=clone_uri,
151 182 )
152 183 repo = Repository.get_by_repo_name(repo_name_full)
153 184 log_create_repository(created_by=owner.username, **repo.get_dict())
154 185
155 186 # update repo commit caches initially
156 187 repo.update_commit_cache()
157 188
158 189 # set new created state
159 190 repo.set_state(Repository.STATE_CREATED)
160 191 repo_id = repo.repo_id
161 192 repo_data = repo.get_api_data()
162 193
163 194 audit_logger.store(
164 195 'repo.create', action_data={'data': repo_data},
165 196 user=cur_user,
166 197 repo=audit_logger.RepoWrap(repo_name=repo_name, repo_id=repo_id))
167 198
168 199 Session().commit()
169 200 except Exception as e:
170 201 log.warning('Exception occurred when creating repository, '
171 202 'doing cleanup...', exc_info=True)
172 203 if isinstance(e, IntegrityError):
173 204 Session().rollback()
174 205
175 206 # rollback things manually !
176 207 repo = Repository.get_by_repo_name(repo_name_full)
177 208 if repo:
178 209 Repository.delete(repo.repo_id)
179 210 Session().commit()
180 211 RepoModel()._delete_filesystem_repo(repo)
181 212 log.info('Cleanup of repo %s finished', repo_name_full)
182 213 raise
183 214
184 215 return True
185 216
186 217
187 218 @async_task(ignore_result=True, base=RequestContextTask)
188 219 def create_repo_fork(form_data, cur_user):
189 220 """
190 221 Creates a fork of repository using internal VCS methods
191 222 """
192 223 from rhodecode.model.repo import RepoModel
193 224 from rhodecode.model.user import UserModel
194 225
195 226 log = get_logger(create_repo_fork)
196 227
197 228 cur_user = UserModel()._get_user(cur_user)
198 229 owner = cur_user
199 230
200 231 repo_name = form_data['repo_name'] # fork in this case
201 232 repo_name_full = form_data['repo_name_full']
202 233 repo_type = form_data['repo_type']
203 234 description = form_data['description']
204 235 private = form_data['private']
205 236 clone_uri = form_data.get('clone_uri')
206 237 repo_group = safe_int(form_data['repo_group'])
207 238 landing_rev = form_data['landing_rev']
208 239 copy_fork_permissions = form_data.get('copy_permissions')
209 240 fork_id = safe_int(form_data.get('fork_parent_id'))
210 241
211 242 try:
212 243 fork_of = RepoModel()._get_repo(fork_id)
213 244 RepoModel()._create_repo(
214 245 repo_name=repo_name_full,
215 246 repo_type=repo_type,
216 247 description=description,
217 248 owner=owner,
218 249 private=private,
219 250 clone_uri=clone_uri,
220 251 repo_group=repo_group,
221 252 landing_rev=landing_rev,
222 253 fork_of=fork_of,
223 254 copy_fork_permissions=copy_fork_permissions
224 255 )
225 256
226 257 Session().commit()
227 258
228 259 base_path = Repository.base_path()
229 260 source_repo_path = os.path.join(base_path, fork_of.repo_name)
230 261
231 262 # now create this repo on Filesystem
232 263 RepoModel()._create_filesystem_repo(
233 264 repo_name=repo_name,
234 265 repo_type=repo_type,
235 266 repo_group=RepoModel()._get_repo_group(repo_group),
236 267 clone_uri=source_repo_path,
237 268 )
238 269 repo = Repository.get_by_repo_name(repo_name_full)
239 270 log_create_repository(created_by=owner.username, **repo.get_dict())
240 271
241 272 # update repo commit caches initially
242 273 config = repo._config
243 274 config.set('extensions', 'largefiles', '')
244 275 repo.update_commit_cache(config=config)
245 276
246 277 # set new created state
247 278 repo.set_state(Repository.STATE_CREATED)
248 279
249 280 repo_id = repo.repo_id
250 281 repo_data = repo.get_api_data()
251 282 audit_logger.store(
252 283 'repo.fork', action_data={'data': repo_data},
253 284 user=cur_user,
254 285 repo=audit_logger.RepoWrap(repo_name=repo_name, repo_id=repo_id))
255 286
256 287 Session().commit()
257 288 except Exception as e:
258 289 log.warning('Exception occurred when forking repository, '
259 290 'doing cleanup...', exc_info=True)
260 291 if isinstance(e, IntegrityError):
261 292 Session().rollback()
262 293
263 294 # rollback things manually !
264 295 repo = Repository.get_by_repo_name(repo_name_full)
265 296 if repo:
266 297 Repository.delete(repo.repo_id)
267 298 Session().commit()
268 299 RepoModel()._delete_filesystem_repo(repo)
269 300 log.info('Cleanup of repo %s finished', repo_name_full)
270 301 raise
271 302
272 303 return True
273 304
274 305
275 306 @async_task(ignore_result=True)
276 307 def repo_maintenance(repoid):
277 308 from rhodecode.lib import repo_maintenance as repo_maintenance_lib
278 309 log = get_logger(repo_maintenance)
279 310 repo = Repository.get_by_id_or_repo_name(repoid)
280 311 if repo:
281 312 maintenance = repo_maintenance_lib.RepoMaintenance()
282 313 tasks = maintenance.get_tasks_for_repo(repo)
283 314 log.debug('Executing %s tasks on repo `%s`', tasks, repoid)
284 315 executed_types = maintenance.execute(repo)
285 316 log.debug('Got execution results %s', executed_types)
286 317 else:
287 318 log.debug('Repo `%s` not found or without a clone_url', repoid)
288 319
289 320
290 321 @async_task(ignore_result=True)
291 322 def check_for_update():
292 323 from rhodecode.model.update import UpdateModel
293 324 update_url = UpdateModel().get_update_url()
294 325 cur_ver = rhodecode.__version__
295 326
296 327 try:
297 328 data = UpdateModel().get_update_data(update_url)
298 329 latest = data['versions'][0]
299 330 UpdateModel().store_version(latest['version'])
300 331 except Exception:
301 332 pass
302 333
303 334
304 335 @async_task(ignore_result=False)
305 336 def beat_check(*args, **kwargs):
306 337 log = get_logger(beat_check)
307 338 log.info('Got args: %r and kwargs %r', args, kwargs)
308 339 return time.time()
@@ -1,60 +1,54 b''
1 1 <div class="panel panel-default">
2 2 <div class="panel-heading">
3 3 <h3 class="panel-title">${_('Email Configuration')}</h3>
4 4 </div>
5 5 <div class="panel-body">
6 6 <%
7 7 elems = [
8 8 (_('Email prefix'), c.rhodecode_ini.get('email_prefix'), ''),
9 (_('RhodeCode email from'), c.rhodecode_ini.get('app_email_from'), ''),
10 (_('Error email from'), c.rhodecode_ini.get('error_email_from'), ''),
11 (_('Error email recipients'), c.rhodecode_ini.get('email_to'), ''),
9 (_('Email from'), c.rhodecode_ini.get('app_email_from'), ''),
12 10
13 11 (_('SMTP server'), c.rhodecode_ini.get('smtp_server'), ''),
14 12 (_('SMTP username'), c.rhodecode_ini.get('smtp_username'), ''),
15 13 (_('SMTP password'), '%s chars' % len(c.rhodecode_ini.get('smtp_password', '')), ''),
16 14 (_('SMTP port'), c.rhodecode_ini.get('smtp_port'), ''),
17 15
18 16 (_('SMTP use TLS'), c.rhodecode_ini.get('smtp_use_tls'), ''),
19 17 (_('SMTP use SSL'), c.rhodecode_ini.get('smtp_use_ssl'), ''),
20 (_('SMTP auth'), c.rhodecode_ini.get('smtp_auth'), ''),
18
21 19 ]
22 20 %>
23 21 <dl class="dl-horizontal settings">
24 22 %for dt, dd, tt in elems:
25 23 <dt >${dt}:</dt>
26 24 <dd title="${h.tooltip(tt)}">${dd}</dd>
27 25 %endfor
28 26 </dl>
29 27 <span class="help-block">
30 28 ${_('You can adjust those settings in [DEFAULT] section of .ini file located at')}: <br/>
31 29 ${c.rhodecode_ini.get('__file__')}
32 30 </span>
33 31 </div>
34 32 </div>
35 33
36 34 <div class="panel panel-default">
37 35 <div class="panel-heading">
38 36 <h3 class="panel-title">${_('Test Email')}</h3>
39 37 </div>
40 38 <div class="panel-body">
41 39 ${h.secure_form(h.route_path('admin_settings_email_update'), request=request)}
42 40
43 41 <div class="field input">
44 42 ${h.text('test_email', size=60, placeholder=_('enter valid email'))}
45 43 </div>
46 44 <div class="field">
47 45 <span class="help-block">
48 46 ${_('Send an auto-generated email from this server to above email...')}
49 47 </span>
50 48 </div>
51 49 <div class="buttons">
52 50 ${h.submit('send',_('Send'),class_="btn")}
53 51 </div>
54 52 ${h.end_form()}
55 53 </div>
56 54 </div>
57
58
59
60
@@ -1,674 +1,665 b''
1 1
2 2
3 3 ################################################################################
4 4 ## RHODECODE COMMUNITY EDITION CONFIGURATION ##
5 5 # The %(here)s variable will be replaced with the parent directory of this file#
6 6 ################################################################################
7 7
8 8 [DEFAULT]
9 9 debug = true
10 10
11 11 ################################################################################
12 12 ## EMAIL CONFIGURATION ##
13 13 ## Uncomment and replace with the email address which should receive ##
14 14 ## any error reports after an application crash ##
15 15 ## Additionally these settings will be used by the RhodeCode mailing system ##
16 16 ################################################################################
17 17
18 18 ## prefix all emails subjects with given prefix, helps filtering out emails
19 19 #email_prefix = [RhodeCode]
20 20
21 21 ## email FROM address all mails will be sent
22 22 #app_email_from = rhodecode-noreply@localhost
23 23
24 24 ## Uncomment and replace with the address which should receive any error report
25 25 ## note: using appenlight for error handling doesn't need this to be uncommented
26 26 #email_to = admin@localhost
27 27
28 ## in case of Application errors, sent an error email form
29 #error_email_from = rhodecode_error@localhost
30
31 ## additional error message to be send in case of server crash
32 #error_message =
33
34
35 28 #smtp_server = mail.server.com
36 29 #smtp_username =
37 30 #smtp_password =
38 31 #smtp_port =
39 32 #smtp_use_tls = false
40 33 #smtp_use_ssl = true
41 ## Specify available auth parameters here (e.g. LOGIN PLAIN CRAM-MD5, etc.)
42 #smtp_auth =
43 34
44 35 [server:main]
45 36 ## COMMON ##
46 37 host = 0.0.0.0
47 38 port = 5000
48 39
49 40 ##########################
50 41 ## GUNICORN WSGI SERVER ##
51 42 ##########################
52 43 ## run with gunicorn --log-config rhodecode.ini --paste rhodecode.ini
53 44
54 45 use = egg:gunicorn#main
55 46 ## Sets the number of process workers. You must set `instance_id = *`
56 47 ## when this option is set to more than one worker, recommended
57 48 ## value is (2 * NUMBER_OF_CPUS + 1), eg 2CPU = 5 workers
58 49 ## The `instance_id = *` must be set in the [app:main] section below
59 50 #workers = 2
60 51 ## number of threads for each of the worker, must be set to 1 for gevent
61 52 ## generally recommened to be at 1
62 53 #threads = 1
63 54 ## process name
64 55 #proc_name = rhodecode
65 56 ## type of worker class, one of sync, gevent
66 57 ## recommended for bigger setup is using of of other than sync one
67 58 #worker_class = sync
68 59 ## The maximum number of simultaneous clients. Valid only for Gevent
69 60 #worker_connections = 10
70 61 ## max number of requests that worker will handle before being gracefully
71 62 ## restarted, could prevent memory leaks
72 63 #max_requests = 1000
73 64 #max_requests_jitter = 30
74 65 ## amount of time a worker can spend with handling a request before it
75 66 ## gets killed and restarted. Set to 6hrs
76 67 #timeout = 21600
77 68
78 69 ## prefix middleware for RhodeCode.
79 70 ## recommended when using proxy setup.
80 71 ## allows to set RhodeCode under a prefix in server.
81 72 ## eg https://server.com/custom_prefix. Enable `filter-with =` option below as well.
82 73 ## And set your prefix like: `prefix = /custom_prefix`
83 74 ## be sure to also set beaker.session.cookie_path = /custom_prefix if you need
84 75 ## to make your cookies only work on prefix url
85 76 [filter:proxy-prefix]
86 77 use = egg:PasteDeploy#prefix
87 78 prefix = /
88 79
89 80 [app:main]
90 81 is_test = True
91 82 use = egg:rhodecode-enterprise-ce
92 83
93 84 ## enable proxy prefix middleware, defined above
94 85 #filter-with = proxy-prefix
95 86
96 87
97 88 ## RHODECODE PLUGINS ##
98 89 rhodecode.includes = rhodecode.api
99 90
100 91 # api prefix url
101 92 rhodecode.api.url = /_admin/api
102 93
103 94
104 95 ## END RHODECODE PLUGINS ##
105 96
106 97 ## encryption key used to encrypt social plugin tokens,
107 98 ## remote_urls with credentials etc, if not set it defaults to
108 99 ## `beaker.session.secret`
109 100 #rhodecode.encrypted_values.secret =
110 101
111 102 ## decryption strict mode (enabled by default). It controls if decryption raises
112 103 ## `SignatureVerificationError` in case of wrong key, or damaged encryption data.
113 104 #rhodecode.encrypted_values.strict = false
114 105
115 106 ## return gzipped responses from Rhodecode (static files/application)
116 107 gzip_responses = false
117 108
118 109 ## autogenerate javascript routes file on startup
119 110 generate_js_files = false
120 111
121 112 ## Optional Languages
122 113 ## en(default), be, de, es, fr, it, ja, pl, pt, ru, zh
123 114 lang = en
124 115
125 116 ## perform a full repository scan on each server start, this should be
126 117 ## set to false after first startup, to allow faster server restarts.
127 118 startup.import_repos = true
128 119
129 120 ## Uncomment and set this path to use archive download cache.
130 121 ## Once enabled, generated archives will be cached at this location
131 122 ## and served from the cache during subsequent requests for the same archive of
132 123 ## the repository.
133 124 #archive_cache_dir = /tmp/tarballcache
134 125
135 126 ## URL at which the application is running. This is used for bootstraping
136 127 ## requests in context when no web request is available. Used in ishell, or
137 128 ## SSH calls. Set this for events to receive proper url for SSH calls.
138 129 app.base_url = http://rhodecode.local
139 130
140 131 ## change this to unique ID for security
141 132 app_instance_uuid = rc-production
142 133
143 134 ## cut off limit for large diffs (size in bytes)
144 135 cut_off_limit_diff = 1024000
145 136 cut_off_limit_file = 256000
146 137
147 138 ## use cache version of scm repo everywhere
148 139 vcs_full_cache = false
149 140
150 141 ## force https in RhodeCode, fixes https redirects, assumes it's always https
151 142 ## Normally this is controlled by proper http flags sent from http server
152 143 force_https = false
153 144
154 145 ## use Strict-Transport-Security headers
155 146 use_htsts = false
156 147
157 148 ## git rev filter option, --all is the default filter, if you need to
158 149 ## hide all refs in changelog switch this to --branches --tags
159 150 git_rev_filter = --all
160 151
161 152 # Set to true if your repos are exposed using the dumb protocol
162 153 git_update_server_info = false
163 154
164 155 ## RSS/ATOM feed options
165 156 rss_cut_off_limit = 256000
166 157 rss_items_per_page = 10
167 158 rss_include_diff = false
168 159
169 160 ## gist URL alias, used to create nicer urls for gist. This should be an
170 161 ## url that does rewrites to _admin/gists/{gistid}.
171 162 ## example: http://gist.rhodecode.org/{gistid}. Empty means use the internal
172 163 ## RhodeCode url, ie. http[s]://rhodecode.server/_admin/gists/{gistid}
173 164 gist_alias_url =
174 165
175 166 ## List of views (using glob pattern syntax) that AUTH TOKENS could be
176 167 ## used for access.
177 168 ## Adding ?auth_token=TOKEN_HASH to the url authenticates this request as if it
178 169 ## came from the the logged in user who own this authentication token.
179 170 ## Additionally @TOKEN syntaxt can be used to bound the view to specific
180 171 ## authentication token. Such view would be only accessible when used together
181 172 ## with this authentication token
182 173 ##
183 174 ## list of all views can be found under `/_admin/permissions/auth_token_access`
184 175 ## The list should be "," separated and on a single line.
185 176 ##
186 177 ## Most common views to enable:
187 178 # RepoCommitsView:repo_commit_download
188 179 # RepoCommitsView:repo_commit_patch
189 180 # RepoCommitsView:repo_commit_raw
190 181 # RepoCommitsView:repo_commit_raw@TOKEN
191 182 # RepoFilesView:repo_files_diff
192 183 # RepoFilesView:repo_archivefile
193 184 # RepoFilesView:repo_file_raw
194 185 # GistView:*
195 186 api_access_controllers_whitelist =
196 187
197 188 ## default encoding used to convert from and to unicode
198 189 ## can be also a comma separated list of encoding in case of mixed encodings
199 190 default_encoding = UTF-8
200 191
201 192 ## instance-id prefix
202 193 ## a prefix key for this instance used for cache invalidation when running
203 194 ## multiple instances of rhodecode, make sure it's globally unique for
204 195 ## all running rhodecode instances. Leave empty if you don't use it
205 196 instance_id =
206 197
207 198 ## Fallback authentication plugin. Set this to a plugin ID to force the usage
208 199 ## of an authentication plugin also if it is disabled by it's settings.
209 200 ## This could be useful if you are unable to log in to the system due to broken
210 201 ## authentication settings. Then you can enable e.g. the internal rhodecode auth
211 202 ## module to log in again and fix the settings.
212 203 ##
213 204 ## Available builtin plugin IDs (hash is part of the ID):
214 205 ## egg:rhodecode-enterprise-ce#rhodecode
215 206 ## egg:rhodecode-enterprise-ce#pam
216 207 ## egg:rhodecode-enterprise-ce#ldap
217 208 ## egg:rhodecode-enterprise-ce#jasig_cas
218 209 ## egg:rhodecode-enterprise-ce#headers
219 210 ## egg:rhodecode-enterprise-ce#crowd
220 211 #rhodecode.auth_plugin_fallback = egg:rhodecode-enterprise-ce#rhodecode
221 212
222 213 ## alternative return HTTP header for failed authentication. Default HTTP
223 214 ## response is 401 HTTPUnauthorized. Currently HG clients have troubles with
224 215 ## handling that causing a series of failed authentication calls.
225 216 ## Set this variable to 403 to return HTTPForbidden, or any other HTTP code
226 217 ## This will be served instead of default 401 on bad authnetication
227 218 auth_ret_code =
228 219
229 220 ## use special detection method when serving auth_ret_code, instead of serving
230 221 ## ret_code directly, use 401 initially (Which triggers credentials prompt)
231 222 ## and then serve auth_ret_code to clients
232 223 auth_ret_code_detection = false
233 224
234 225 ## locking return code. When repository is locked return this HTTP code. 2XX
235 226 ## codes don't break the transactions while 4XX codes do
236 227 lock_ret_code = 423
237 228
238 229 ## allows to change the repository location in settings page
239 230 allow_repo_location_change = true
240 231
241 232 ## allows to setup custom hooks in settings page
242 233 allow_custom_hooks_settings = true
243 234
244 235 ## generated license token, goto license page in RhodeCode settings to obtain
245 236 ## new token
246 237 license_token = abra-cada-bra1-rce3
247 238
248 239 ## supervisor connection uri, for managing supervisor and logs.
249 240 supervisor.uri =
250 241 ## supervisord group name/id we only want this RC instance to handle
251 242 supervisor.group_id = dev
252 243
253 244 ## Display extended labs settings
254 245 labs_settings_active = true
255 246
256 247 ####################################
257 248 ### CELERY CONFIG ####
258 249 ####################################
259 250 use_celery = false
260 251 broker.host = localhost
261 252 broker.vhost = rabbitmqhost
262 253 broker.port = 5672
263 254 broker.user = rabbitmq
264 255 broker.password = qweqwe
265 256
266 257 celery.imports = rhodecode.lib.celerylib.tasks
267 258
268 259 celery.result.backend = amqp
269 260 celery.result.dburi = amqp://
270 261 celery.result.serialier = json
271 262
272 263 #celery.send.task.error.emails = true
273 264 #celery.amqp.task.result.expires = 18000
274 265
275 266 celeryd.concurrency = 2
276 267 #celeryd.log.file = celeryd.log
277 268 celeryd.log.level = debug
278 269 celeryd.max.tasks.per.child = 1
279 270
280 271 ## tasks will never be sent to the queue, but executed locally instead.
281 272 celery.always.eager = false
282 273
283 274 ####################################
284 275 ### BEAKER CACHE ####
285 276 ####################################
286 277 # default cache dir for templates. Putting this into a ramdisk
287 278 ## can boost performance, eg. %(here)s/data_ramdisk
288 279 cache_dir = %(here)s/data
289 280
290 281 ## locking and default file storage for Beaker. Putting this into a ramdisk
291 282 ## can boost performance, eg. %(here)s/data_ramdisk/cache/beaker_data
292 283 beaker.cache.data_dir = %(here)s/rc/data/cache/beaker_data
293 284 beaker.cache.lock_dir = %(here)s/rc/data/cache/beaker_lock
294 285
295 286 beaker.cache.regions = long_term
296 287
297 288 beaker.cache.long_term.type = memory
298 289 beaker.cache.long_term.expire = 36000
299 290 beaker.cache.long_term.key_length = 256
300 291
301 292
302 293 #####################################
303 294 ### DOGPILE CACHE ####
304 295 #####################################
305 296
306 297 ## permission tree cache settings
307 298 rc_cache.cache_perms.backend = dogpile.cache.rc.file_namespace
308 299 rc_cache.cache_perms.expiration_time = 0
309 300 rc_cache.cache_perms.arguments.filename = /tmp/rc_cache_1
310 301
311 302
312 303 ## cache settings for SQL queries
313 304 rc_cache.sql_cache_short.backend = dogpile.cache.rc.memory_lru
314 305 rc_cache.sql_cache_short.expiration_time = 0
315 306
316 307
317 308 ####################################
318 309 ### BEAKER SESSION ####
319 310 ####################################
320 311
321 312 ## .session.type is type of storage options for the session, current allowed
322 313 ## types are file, ext:memcached, ext:database, and memory (default).
323 314 beaker.session.type = file
324 315 beaker.session.data_dir = %(here)s/rc/data/sessions/data
325 316
326 317 ## db based session, fast, and allows easy management over logged in users
327 318 #beaker.session.type = ext:database
328 319 #beaker.session.table_name = db_session
329 320 #beaker.session.sa.url = postgresql://postgres:secret@localhost/rhodecode
330 321 #beaker.session.sa.url = mysql://root:secret@127.0.0.1/rhodecode
331 322 #beaker.session.sa.pool_recycle = 3600
332 323 #beaker.session.sa.echo = false
333 324
334 325 beaker.session.key = rhodecode
335 326 beaker.session.secret = test-rc-uytcxaz
336 327 beaker.session.lock_dir = %(here)s/rc/data/sessions/lock
337 328
338 329 ## Secure encrypted cookie. Requires AES and AES python libraries
339 330 ## you must disable beaker.session.secret to use this
340 331 #beaker.session.encrypt_key = key_for_encryption
341 332 #beaker.session.validate_key = validation_key
342 333
343 334 ## sets session as invalid(also logging out user) if it haven not been
344 335 ## accessed for given amount of time in seconds
345 336 beaker.session.timeout = 2592000
346 337 beaker.session.httponly = true
347 338 ## Path to use for the cookie. Set to prefix if you use prefix middleware
348 339 #beaker.session.cookie_path = /custom_prefix
349 340
350 341 ## uncomment for https secure cookie
351 342 beaker.session.secure = false
352 343
353 344 ## auto save the session to not to use .save()
354 345 beaker.session.auto = false
355 346
356 347 ## default cookie expiration time in seconds, set to `true` to set expire
357 348 ## at browser close
358 349 #beaker.session.cookie_expires = 3600
359 350
360 351 ###################################
361 352 ## SEARCH INDEXING CONFIGURATION ##
362 353 ###################################
363 354 ## Full text search indexer is available in rhodecode-tools under
364 355 ## `rhodecode-tools index` command
365 356
366 357 ## WHOOSH Backend, doesn't require additional services to run
367 358 ## it works good with few dozen repos
368 359 search.module = rhodecode.lib.index.whoosh
369 360 search.location = %(here)s/data/index
370 361
371 362 ########################################
372 363 ### CHANNELSTREAM CONFIG ####
373 364 ########################################
374 365 ## channelstream enables persistent connections and live notification
375 366 ## in the system. It's also used by the chat system
376 367
377 368 channelstream.enabled = false
378 369
379 370 ## server address for channelstream server on the backend
380 371 channelstream.server = 127.0.0.1:9800
381 372 ## location of the channelstream server from outside world
382 373 ## use ws:// for http or wss:// for https. This address needs to be handled
383 374 ## by external HTTP server such as Nginx or Apache
384 375 ## see nginx/apache configuration examples in our docs
385 376 channelstream.ws_url = ws://rhodecode.yourserver.com/_channelstream
386 377 channelstream.secret = secret
387 378 channelstream.history.location = %(here)s/channelstream_history
388 379
389 380 ## Internal application path that Javascript uses to connect into.
390 381 ## If you use proxy-prefix the prefix should be added before /_channelstream
391 382 channelstream.proxy_path = /_channelstream
392 383
393 384
394 385 ###################################
395 386 ## APPENLIGHT CONFIG ##
396 387 ###################################
397 388
398 389 ## Appenlight is tailored to work with RhodeCode, see
399 390 ## http://appenlight.com for details how to obtain an account
400 391
401 392 ## appenlight integration enabled
402 393 appenlight = false
403 394
404 395 appenlight.server_url = https://api.appenlight.com
405 396 appenlight.api_key = YOUR_API_KEY
406 397 #appenlight.transport_config = https://api.appenlight.com?threaded=1&timeout=5
407 398
408 399 # used for JS client
409 400 appenlight.api_public_key = YOUR_API_PUBLIC_KEY
410 401
411 402 ## TWEAK AMOUNT OF INFO SENT HERE
412 403
413 404 ## enables 404 error logging (default False)
414 405 appenlight.report_404 = false
415 406
416 407 ## time in seconds after request is considered being slow (default 1)
417 408 appenlight.slow_request_time = 1
418 409
419 410 ## record slow requests in application
420 411 ## (needs to be enabled for slow datastore recording and time tracking)
421 412 appenlight.slow_requests = true
422 413
423 414 ## enable hooking to application loggers
424 415 appenlight.logging = true
425 416
426 417 ## minimum log level for log capture
427 418 appenlight.logging.level = WARNING
428 419
429 420 ## send logs only from erroneous/slow requests
430 421 ## (saves API quota for intensive logging)
431 422 appenlight.logging_on_error = false
432 423
433 424 ## list of additonal keywords that should be grabbed from environ object
434 425 ## can be string with comma separated list of words in lowercase
435 426 ## (by default client will always send following info:
436 427 ## 'REMOTE_USER', 'REMOTE_ADDR', 'SERVER_NAME', 'CONTENT_TYPE' + all keys that
437 428 ## start with HTTP* this list be extended with additional keywords here
438 429 appenlight.environ_keys_whitelist =
439 430
440 431 ## list of keywords that should be blanked from request object
441 432 ## can be string with comma separated list of words in lowercase
442 433 ## (by default client will always blank keys that contain following words
443 434 ## 'password', 'passwd', 'pwd', 'auth_tkt', 'secret', 'csrf'
444 435 ## this list be extended with additional keywords set here
445 436 appenlight.request_keys_blacklist =
446 437
447 438 ## list of namespaces that should be ignores when gathering log entries
448 439 ## can be string with comma separated list of namespaces
449 440 ## (by default the client ignores own entries: appenlight_client.client)
450 441 appenlight.log_namespace_blacklist =
451 442
452 443
453 444 ################################################################################
454 445 ## WARNING: *THE LINE BELOW MUST BE UNCOMMENTED ON A PRODUCTION ENVIRONMENT* ##
455 446 ## Debug mode will enable the interactive debugging tool, allowing ANYONE to ##
456 447 ## execute malicious code after an exception is raised. ##
457 448 ################################################################################
458 449 set debug = false
459 450
460 451
461 452 ##############
462 453 ## STYLING ##
463 454 ##############
464 455 debug_style = false
465 456
466 457 ###########################################
467 458 ### MAIN RHODECODE DATABASE CONFIG ###
468 459 ###########################################
469 460 #sqlalchemy.db1.url = sqlite:///%(here)s/rhodecode_test.db?timeout=30
470 461 #sqlalchemy.db1.url = postgresql://postgres:qweqwe@localhost/rhodecode_test
471 462 #sqlalchemy.db1.url = mysql://root:qweqwe@localhost/rhodecode_test
472 463 sqlalchemy.db1.url = sqlite:///%(here)s/rhodecode_test.db?timeout=30
473 464
474 465 # see sqlalchemy docs for other advanced settings
475 466
476 467 ## print the sql statements to output
477 468 sqlalchemy.db1.echo = false
478 469 ## recycle the connections after this amount of seconds
479 470 sqlalchemy.db1.pool_recycle = 3600
480 471 sqlalchemy.db1.convert_unicode = true
481 472
482 473 ## the number of connections to keep open inside the connection pool.
483 474 ## 0 indicates no limit
484 475 #sqlalchemy.db1.pool_size = 5
485 476
486 477 ## the number of connections to allow in connection pool "overflow", that is
487 478 ## connections that can be opened above and beyond the pool_size setting,
488 479 ## which defaults to five.
489 480 #sqlalchemy.db1.max_overflow = 10
490 481
491 482
492 483 ##################
493 484 ### VCS CONFIG ###
494 485 ##################
495 486 vcs.server.enable = true
496 487 vcs.server = localhost:9901
497 488
498 489 ## Web server connectivity protocol, responsible for web based VCS operatations
499 490 ## Available protocols are:
500 491 ## `http` - use http-rpc backend (default)
501 492 vcs.server.protocol = http
502 493
503 494 ## Push/Pull operations protocol, available options are:
504 495 ## `http` - use http-rpc backend (default)
505 496 ## `vcsserver.scm_app` - internal app (EE only)
506 497 vcs.scm_app_implementation = http
507 498
508 499 ## Push/Pull operations hooks protocol, available options are:
509 500 ## `http` - use http-rpc backend (default)
510 501 vcs.hooks.protocol = http
511 502 vcs.hooks.host = 127.0.0.1
512 503
513 504 vcs.server.log_level = debug
514 505 ## Start VCSServer with this instance as a subprocess, usefull for development
515 506 vcs.start_server = false
516 507
517 508 ## List of enabled VCS backends, available options are:
518 509 ## `hg` - mercurial
519 510 ## `git` - git
520 511 ## `svn` - subversion
521 512 vcs.backends = hg, git, svn
522 513
523 514 vcs.connection_timeout = 3600
524 515 ## Compatibility version when creating SVN repositories. Defaults to newest version when commented out.
525 516 ## Available options are: pre-1.4-compatible, pre-1.5-compatible, pre-1.6-compatible, pre-1.8-compatible, pre-1.9-compatible
526 517 #vcs.svn.compatible_version = pre-1.8-compatible
527 518
528 519
529 520 ############################################################
530 521 ### Subversion proxy support (mod_dav_svn) ###
531 522 ### Maps RhodeCode repo groups into SVN paths for Apache ###
532 523 ############################################################
533 524 ## Enable or disable the config file generation.
534 525 svn.proxy.generate_config = false
535 526 ## Generate config file with `SVNListParentPath` set to `On`.
536 527 svn.proxy.list_parent_path = true
537 528 ## Set location and file name of generated config file.
538 529 svn.proxy.config_file_path = %(here)s/mod_dav_svn.conf
539 530 ## Used as a prefix to the `Location` block in the generated config file.
540 531 ## In most cases it should be set to `/`.
541 532 svn.proxy.location_root = /
542 533 ## Command to reload the mod dav svn configuration on change.
543 534 ## Example: `/etc/init.d/apache2 reload`
544 535 #svn.proxy.reload_cmd = /etc/init.d/apache2 reload
545 536 ## If the timeout expires before the reload command finishes, the command will
546 537 ## be killed. Setting it to zero means no timeout. Defaults to 10 seconds.
547 538 #svn.proxy.reload_timeout = 10
548 539
549 540 ############################################################
550 541 ### SSH Support Settings ###
551 542 ############################################################
552 543
553 544 ## Defines if the authorized_keys file should be written on any change of
554 545 ## user ssh keys, setting this to false also disables posibility of adding
555 546 ## ssh keys for users from web interface.
556 547 ssh.generate_authorized_keyfile = true
557 548
558 549 ## Options for ssh, default is `no-pty,no-port-forwarding,no-X11-forwarding,no-agent-forwarding`
559 550 # ssh.authorized_keys_ssh_opts =
560 551
561 552 ## File to generate the authorized keys together with options
562 553 ## It is possible to have multiple key files specified in `sshd_config` e.g.
563 554 ## AuthorizedKeysFile %h/.ssh/authorized_keys %h/.ssh/authorized_keys_rhodecode
564 555 ssh.authorized_keys_file_path = %(here)s/rc/authorized_keys_rhodecode
565 556
566 557 ## Command to execute the SSH wrapper. The binary is available in the
567 558 ## rhodecode installation directory.
568 559 ## e.g ~/.rccontrol/community-1/profile/bin/rc-ssh-wrapper
569 560 ssh.wrapper_cmd = ~/.rccontrol/community-1/rc-ssh-wrapper
570 561
571 562 ## Allow shell when executing the ssh-wrapper command
572 563 ssh.wrapper_cmd_allow_shell = false
573 564
574 565 ## Enables logging, and detailed output send back to the client. Usefull for
575 566 ## debugging, shouldn't be used in production.
576 567 ssh.enable_debug_logging = false
577 568
578 569 ## Paths to binary executrables, by default they are the names, but we can
579 570 ## override them if we want to use a custom one
580 571 ssh.executable.hg = ~/.rccontrol/vcsserver-1/profile/bin/hg
581 572 ssh.executable.git = ~/.rccontrol/vcsserver-1/profile/bin/git
582 573 ssh.executable.svn = ~/.rccontrol/vcsserver-1/profile/bin/svnserve
583 574
584 575
585 576 ## Dummy marker to add new entries after.
586 577 ## Add any custom entries below. Please don't remove.
587 578 custom.conf = 1
588 579
589 580
590 581 ################################
591 582 ### LOGGING CONFIGURATION ####
592 583 ################################
593 584 [loggers]
594 585 keys = root, sqlalchemy, beaker, rhodecode, ssh_wrapper
595 586
596 587 [handlers]
597 588 keys = console, console_sql
598 589
599 590 [formatters]
600 591 keys = generic, color_formatter, color_formatter_sql
601 592
602 593 #############
603 594 ## LOGGERS ##
604 595 #############
605 596 [logger_root]
606 597 level = NOTSET
607 598 handlers = console
608 599
609 600 [logger_routes]
610 601 level = DEBUG
611 602 handlers =
612 603 qualname = routes.middleware
613 604 ## "level = DEBUG" logs the route matched and routing variables.
614 605 propagate = 1
615 606
616 607 [logger_beaker]
617 608 level = DEBUG
618 609 handlers =
619 610 qualname = beaker.container
620 611 propagate = 1
621 612
622 613 [logger_rhodecode]
623 614 level = DEBUG
624 615 handlers =
625 616 qualname = rhodecode
626 617 propagate = 1
627 618
628 619 [logger_sqlalchemy]
629 620 level = ERROR
630 621 handlers = console_sql
631 622 qualname = sqlalchemy.engine
632 623 propagate = 0
633 624
634 625 [logger_ssh_wrapper]
635 626 level = DEBUG
636 627 handlers =
637 628 qualname = ssh_wrapper
638 629 propagate = 1
639 630
640 631
641 632 ##############
642 633 ## HANDLERS ##
643 634 ##############
644 635
645 636 [handler_console]
646 637 class = StreamHandler
647 638 args = (sys.stderr,)
648 639 level = DEBUG
649 640 formatter = generic
650 641
651 642 [handler_console_sql]
652 643 class = StreamHandler
653 644 args = (sys.stderr,)
654 645 level = WARN
655 646 formatter = generic
656 647
657 648 ################
658 649 ## FORMATTERS ##
659 650 ################
660 651
661 652 [formatter_generic]
662 653 class = rhodecode.lib.logging_formatter.ExceptionAwareFormatter
663 654 format = %(asctime)s.%(msecs)03d %(levelname)-5.5s [%(name)s] %(message)s
664 655 datefmt = %Y-%m-%d %H:%M:%S
665 656
666 657 [formatter_color_formatter]
667 658 class = rhodecode.lib.logging_formatter.ColorFormatter
668 659 format = %(asctime)s.%(msecs)03d %(levelname)-5.5s [%(name)s] %(message)s
669 660 datefmt = %Y-%m-%d %H:%M:%S
670 661
671 662 [formatter_color_formatter_sql]
672 663 class = rhodecode.lib.logging_formatter.ColorFormatterSql
673 664 format = %(asctime)s.%(msecs)03d %(levelname)-5.5s [%(name)s] %(message)s
674 665 datefmt = %Y-%m-%d %H:%M:%S
1 NO CONTENT: file was removed
1 NO CONTENT: file was removed
1 NO CONTENT: file was removed
1 NO CONTENT: file was removed
1 NO CONTENT: file was removed
1 NO CONTENT: file was removed
General Comments 0
You need to be logged in to leave comments. Login now