at 15.09-beta 17326 lines 505 kB view raw
1{ pkgs, stdenv, python, self }: 2 3with pkgs.lib; 4 5let 6 pythonAtLeast = versionAtLeast python.pythonVersion; 7 pythonOlder = versionOlder python.pythonVersion; 8 isPy26 = python.majorVersion == "2.6"; 9 isPy27 = python.majorVersion == "2.7"; 10 isPy33 = python.majorVersion == "3.3"; 11 isPy34 = python.majorVersion == "3.4"; 12 isPyPy = python.executable == "pypy"; 13 isPy3k = strings.substring 0 1 python.majorVersion == "3"; 14 15 callPackage = pkgs.newScope self; 16 17 buildPythonPackage = makeOverridable (callPackage ../development/python-modules/generic { }); 18 19 # Unique python version identifier 20 pythonName = 21 if isPy26 then "python26" else 22 if isPy27 then "python27" else 23 if isPy33 then "python33" else 24 if isPy34 then "python34" else 25 if isPyPy then "pypy" else ""; 26 27 modules = python.modules or { 28 readline = null; 29 sqlite3 = null; 30 curses = null; 31 curses_panel = null; 32 crypt = null; 33 }; 34 35 pythonPackages = modules // { 36 37 inherit python isPy26 isPy27 isPy33 isPy34 isPyPy isPy3k pythonName buildPythonPackage; 38 39 # helpers 40 41 # global distutils config used by buildPythonPackage 42 distutils-cfg = callPackage ../development/python-modules/distutils-cfg { }; 43 44 wrapPython = pkgs.makeSetupHook 45 { deps = pkgs.makeWrapper; 46 substitutions.libPrefix = python.libPrefix; 47 substitutions.executable = "${python}/bin/${python.executable}"; 48 substitutions.magicalSedExpression = let 49 # Looks weird? Of course, it's between single quoted shell strings. 50 # NOTE: Order DOES matter here, so single character quotes need to be 51 # at the last position. 52 quoteVariants = [ "'\"'''\"'" "\"\"\"" "\"" "'\"'\"'" ]; # hey Vim: '' 53 54 mkStringSkipper = labelNum: quote: let 55 label = "q${toString labelNum}"; 56 isSingle = elem quote [ "\"" "'\"'\"'" ]; 57 endQuote = if isSingle then "[^\\\\]${quote}" else quote; 58 in '' 59 /^ *[a-z]?${quote}/ { 60 /${quote}${quote}|${quote}.*${endQuote}/{n;br} 61 :${label}; n; /^${quote}/{n;br}; /${endQuote}/{n;br}; b${label} 62 } 63 ''; 64 65 in '' 66 1 { 67 /^#!/!b; :r 68 /\\$/{N;br} 69 /__future__|^ *(#.*)?$/{n;br} 70 ${concatImapStrings mkStringSkipper quoteVariants} 71 /^ *[^# ]/i import sys; sys.argv[0] = '"'$(basename "$f")'"' 72 } 73 ''; 74 } 75 ../development/python-modules/generic/wrap.sh; 76 77 # specials 78 79 recursivePthLoader = callPackage ../development/python-modules/recursive-pth-loader { }; 80 81 setuptools = callPackage ../development/python-modules/setuptools { }; 82 83 # packages defined elsewhere 84 85 blivet = callPackage ../development/python-modules/blivet { }; 86 87 dbus = callPackage ../development/python-modules/dbus { 88 dbus = pkgs.dbus; 89 }; 90 91 discid = buildPythonPackage rec { 92 name = "discid-1.1.0"; 93 94 meta = { 95 description = "Python binding of libdiscid"; 96 homepage = "https://python-discid.readthedocs.org/"; 97 license = licenses.lgpl3Plus; 98 platforms = platforms.linux; 99 maintainers = with maintainers; [ iyzsong ]; 100 }; 101 102 src = pkgs.fetchurl { 103 url = "https://pypi.python.org/packages/source/d/discid/${name}.tar.gz"; 104 md5 = "2ad2141452dd10b03ad96ccdad075235"; 105 }; 106 107 patchPhase = '' 108 substituteInPlace discid/libdiscid.py \ 109 --replace '_open_library(_LIB_NAME)' "_open_library('${pkgs.libdiscid}/lib/libdiscid.so.0')" 110 ''; 111 }; 112 113 h5py = callPackage ../development/python-modules/h5py { 114 hdf5 = pkgs.hdf5.override { mpi = null; }; 115 }; 116 117 h5py-mpi = self.h5py.override { 118 mpiSupport = true; 119 mpi = pkgs.openmpi; 120 hdf5 = pkgs.hdf5.override { mpi = pkgs.openmpi; enableShared = true; }; 121 }; 122 123 ipython = callPackage ../shells/ipython { 124 inherit pythonPackages; 125 126 qtconsoleSupport = !pkgs.stdenv.isDarwin; # qt is not supported on darwin 127 pylabQtSupport = !pkgs.stdenv.isDarwin; 128 pylabSupport = !pkgs.stdenv.isDarwin; # cups is not supported on darwin 129 }; 130 131 ipythonLight = lowPrio (self.ipython.override { 132 qtconsoleSupport = false; 133 pylabSupport = false; 134 pylabQtSupport = false; 135 }); 136 137 mpi4py = callPackage ../development/python-modules/mpi4py { 138 mpi = pkgs.openmpi; 139 }; 140 141 nixpart = callPackage ../tools/filesystems/nixpart { }; 142 143 # This is used for NixOps to make sure we won't break it with the next major 144 # version of nixpart. 145 nixpart0 = callPackage ../tools/filesystems/nixpart/0.4 { }; 146 147 pitz = callPackage ../applications/misc/pitz { }; 148 149 plantuml = callPackage ../tools/misc/plantuml { }; 150 151 pycairo = callPackage ../development/python-modules/pycairo { 152 }; 153 154 pycrypto = callPackage ../development/python-modules/pycrypto { }; 155 156 pygobject = callPackage ../development/python-modules/pygobject { }; 157 158 pygobject3 = callPackage ../development/python-modules/pygobject/3.nix { }; 159 160 pygtk = callPackage ../development/python-modules/pygtk { libglade = null; }; 161 162 pyGtkGlade = self.pygtk.override { 163 libglade = pkgs.gnome.libglade; 164 }; 165 166 pyqt4 = callPackage ../development/python-modules/pyqt/4.x.nix { 167 pythonDBus = self.dbus; 168 pythonPackages = self; 169 }; 170 171 pyqt5 = callPackage ../development/python-modules/pyqt/5.x.nix { 172 sip = self.sip_4_16; 173 pythonDBus = self.dbus; 174 qt5 = pkgs.qt5; 175 }; 176 177 sip = callPackage ../development/python-modules/sip { }; 178 179 sip_4_16 = callPackage ../development/python-modules/sip/4.16.nix { }; 180 181 tables = callPackage ../development/python-modules/tables { 182 hdf5 = pkgs.hdf5.override { zlib = pkgs.zlib; }; 183 }; 184 185 # packages defined here 186 187 aafigure = buildPythonPackage rec { 188 name = "aafigure-0.5"; 189 190 src = pkgs.fetchurl { 191 url = "https://pypi.python.org/packages/source/a/aafigure/${name}.tar.gz"; 192 md5 = "5322888a21eb0bb2e749fbf98eddf574"; 193 }; 194 195 propagatedBuildInputs = with self; [ pillow ]; 196 197 # error: invalid command 'test' 198 doCheck = false; 199 200 # Fix impurity. TODO: Do the font lookup using fontconfig instead of this 201 # manual method. Until that is fixed, we get this whenever we run aafigure: 202 # WARNING: font not found, using PIL default font 203 patchPhase = '' 204 sed -i "s|/usr/share/fonts|/nonexisting-fonts-path|" aafigure/PILhelper.py 205 ''; 206 207 meta = { 208 description = "ASCII art to image converter"; 209 homepage = https://launchpad.net/aafigure/; 210 license = licenses.bsd2; 211 platforms = platforms.linux; 212 maintainers = with maintainers; [ bjornfor ]; 213 }; 214 }; 215 216 217 actdiag = buildPythonPackage rec { 218 name = "actdiag-0.5.3"; 219 220 src = pkgs.fetchurl { 221 url = "https://pypi.python.org/packages/source/a/actdiag/${name}.tar.gz"; 222 sha256 = "1vr4hnkr0gcvvpaycd8q3vcx029b2f5yv8swhdr8kwspaqb0dvfa"; 223 }; 224 225 buildInputs = with self; [ pep8 nose unittest2 docutils ]; 226 227 propagatedBuildInputs = with self; [ blockdiag ]; 228 229 # One test fails: 230 # UnicodeEncodeError: 'ascii' codec can't encode character u'\u3042' in position 0: ordinal not in range(128) 231 doCheck = false; 232 233 meta = { 234 description = "Generate activity-diagram image from spec-text file (similar to Graphviz)"; 235 homepage = http://blockdiag.com/; 236 license = licenses.asl20; 237 platforms = platforms.linux; 238 maintainers = with maintainers; [ bjornfor ]; 239 }; 240 }; 241 242 243 afew = buildPythonPackage rec { 244 rev = "9744c18c4d6b0a3e7f57b01e5fe145a60fc82a47"; 245 name = "afew-1.0_${rev}"; 246 247 src = pkgs.fetchurl { 248 url = "https://github.com/teythoon/afew/tarball/${rev}"; 249 name = "${name}.tar.bz"; 250 sha256 = "1qyban022aji2hl91dh0j3xa6ikkxl5argc6w71yp2x8b02kp3mf"; 251 }; 252 253 buildInputs = with self; [ pkgs.dbacl ]; 254 255 propagatedBuildInputs = with self; [ 256 self.notmuch 257 self.chardet 258 ] ++ optional (!isPy3k) self.subprocess32; 259 260 doCheck = false; 261 262 preConfigure = '' 263 substituteInPlace afew/DBACL.py --replace "'dbacl'" "'${pkgs.dbacl}/bin/dbacl'" 264 ''; 265 266 postInstall = '' 267 wrapProgram $out/bin/afew \ 268 --prefix LD_LIBRARY_PATH : ${pkgs.notmuch}/lib 269 ''; 270 271 meta = { 272 homepage = https://github.com/teythoon/afew; 273 description = "An initial tagging script for notmuch mail"; 274 maintainers = with maintainers; [ garbas ]; 275 }; 276 }; 277 278 aiodns = buildPythonPackage rec { 279 name = "aiodns-${version}"; 280 version = "0.3.2"; 281 282 src = pkgs.fetchurl { 283 url = "https://pypi.python.org/packages/source/a/aiodns/${name}.tar.gz"; 284 sha256 = "0i9ypv9l4d59j87kkrsh1livfgnspyzcbx26jw9x58xs5z05xj7k"; 285 }; 286 287 propagatedBuildInputs = with self ; [ 288 pycares 289 ] ++ optional (isPy33) self.asyncio 290 ++ optional (isPy26 || isPy27) self.trollius; 291 292 meta = { 293 homepage = http://github.com/saghul/aiodns; 294 license = licenses.mit; 295 description = "Simple DNS resolver for asyncio"; 296 }; 297 }; 298 299 alabaster = buildPythonPackage rec { 300 name = "alabaster-0.7.3"; 301 302 src = pkgs.fetchurl { 303 url = "https://pypi.python.org/packages/source/a/alabaster/${name}.tar.gz"; 304 md5 = "67428d1383fd833f1282fed5deba0898"; 305 }; 306 307 meta = { 308 homepage = https://github.com/bitprophet/alabaster; 309 description = "a Sphinx theme"; 310 license = licenses.bsd3; 311 }; 312 }; 313 314 315 alembic = buildPythonPackage rec { 316 name = "alembic-0.7.6"; 317 318 src = pkgs.fetchurl { 319 url = "https://pypi.python.org/packages/source/a/alembic/${name}.tar.gz"; 320 sha256 = "0qgglnxsn470ncyipm33j3d5nf5ny2g3wq7fxyy9fv2x4rhs8kw6"; 321 }; 322 323 buildInputs = with self; [ nose mock ]; 324 propagatedBuildInputs = with self; [ Mako sqlalchemy9 ]; 325 326 meta = { 327 homepage = http://bitbucket.org/zzzeek/alembic; 328 description = "A database migration tool for SQLAlchemy"; 329 license = licenses.mit; 330 }; 331 }; 332 333 334 almir = buildPythonPackage rec { 335 name = "almir-0.1.8"; 336 337 src = pkgs.fetchurl { 338 url = "http://pypi.python.org/packages/source/a/almir/${name}.zip"; 339 md5 = "9a1f3c72a039622ca72b74be7a1cd37e"; 340 }; 341 342 buildInputs = with self; [ 343 pkgs.which 344 self.coverage 345 self.mock 346 self.tissue 347 self.unittest2 348 self.webtest 349 ]; 350 351 propagatedBuildInputs = with self; [ 352 pkgs.makeWrapper 353 pkgs.bacula 354 self.colander 355 self.deform 356 self.deform_bootstrap 357 self.docutils 358 self.nose 359 self.mysql_connector_repackaged 360 self.pg8000 361 self.pyramid 362 self.pyramid_beaker 363 self.pyramid_exclog 364 self.pyramid_jinja2 365 self.pyramid_tm 366 self.pytz 367 self.sqlalchemy 368 self.transaction 369 self.waitress 370 self.webhelpers 371 self.psycopg2 372 (self.zope_sqlalchemy.override rec {propagatedBuildInputs = with self; [ sqlalchemy8 transaction ];}) 373 ]; 374 375 postInstall = '' 376 ln -s ${pkgs.bacula}/bin/bconsole $out/bin 377 ''; 378 379 meta = { 380 maintainers = with maintainers; [ iElectric ]; 381 platforms = platforms.all; 382 }; 383 }; 384 385 386 alot = buildPythonPackage rec { 387 rev = "0.3.6"; 388 name = "alot-0.3.6"; 389 390 src = pkgs.fetchurl { 391 url = "https://github.com/pazz/alot/tarball/${rev}"; 392 name = "${name}.tar.bz"; 393 sha256 = "1rzy70w4isvypa94310xw403vq5him21q8rlx4laa0z530phkrmq"; 394 }; 395 396 # error: invalid command 'test' 397 doCheck = false; 398 399 propagatedBuildInputs = 400 [ self.notmuch 401 self.urwid 402 self.twisted 403 self.magic 404 self.configobj 405 self.pygpgme 406 ]; 407 408 postInstall = '' 409 wrapProgram $out/bin/alot \ 410 --prefix LD_LIBRARY_PATH : ${pkgs.notmuch}/lib:${pkgs.file}/lib:${pkgs.gpgme}/lib 411 ''; 412 413 meta = { 414 homepage = https://github.com/pazz/alot; 415 description = "Terminal MUA using notmuch mail"; 416 maintainers = with maintainers; [ garbas ]; 417 }; 418 }; 419 420 421 anyjson = buildPythonPackage rec { 422 name = "anyjson-0.3.3"; 423 disabled = isPy3k; 424 425 src = pkgs.fetchurl { 426 url = "http://pypi.python.org/packages/source/a/anyjson/${name}.tar.gz"; 427 md5 = "2ea28d6ec311aeeebaf993cb3008b27c"; 428 }; 429 430 buildInputs = with self; [ self.nose ]; 431 432 meta = { 433 homepage = http://pypi.python.org/pypi/anyjson/; 434 description = "Wrapper that selects the best available JSON implementation"; 435 }; 436 }; 437 438 439 amqp = buildPythonPackage rec { 440 name = "amqp-${version}"; 441 version = "1.4.6"; 442 disabled = pythonOlder "2.6"; 443 444 src = pkgs.fetchurl { 445 url = "https://pypi.python.org/packages/source/a/amqp/${name}.tar.gz"; 446 sha256 = "0h76dnqfbc6fslwr7lx86n2gyslfv2x1vl8lpbszjs2svrkwikzb"; 447 md5 = "a061581b6864f838bffd62b6a3d0fb9f"; 448 }; 449 450 buildInputs = with self; [ mock coverage nose-cover3 unittest2 ]; 451 452 meta = { 453 homepage = http://github.com/celery/py-amqp; 454 description = "Python client for the Advanced Message Queuing Procotol (AMQP). This is a fork of amqplib which is maintained by the Celery project"; 455 license = licenses.lgpl21; 456 }; 457 }; 458 459 460 amqplib = buildPythonPackage rec { 461 name = "amqplib-0.6.1"; 462 463 src = pkgs.fetchurl { 464 url = "http://py-amqplib.googlecode.com/files/${name}.tgz"; 465 sha1 = "f124e5e4a6644bf6d1734032a01ac44db1b25a29"; 466 }; 467 468 # error: invalid command 'test' 469 doCheck = false; 470 471 meta = { 472 homepage = http://code.google.com/p/py-amqplib/; 473 description = "Python client for the Advanced Message Queuing Procotol (AMQP)"; 474 }; 475 }; 476 477 apipkg = buildPythonPackage rec { 478 name = "apipkg-1.4"; 479 480 src = pkgs.fetchurl { 481 url = "https://pypi.python.org/packages/source/a/apipkg/${name}.tar.gz"; 482 md5 = "17e5668601a2322aff41548cb957e7c8"; 483 }; 484 485 buildInputs = with self; [ ]; 486 487 meta = { 488 description = "namespace control and lazy-import mechanism"; 489 homepage = "http://bitbucket.org/hpk42/apipkg"; 490 license = licenses.mit; 491 }; 492 }; 493 494 appdirs = buildPythonPackage rec { 495 name = "appdirs-1.4.0"; 496 497 src = pkgs.fetchurl { 498 url = "https://pypi.python.org/packages/source/a/appdirs/appdirs-1.4.0.tar.gz"; 499 md5 = "1d17b4c9694ab84794e228f28dc3275b"; 500 }; 501 502 meta = { 503 description = "A python module for determining appropriate platform-specific dirs"; 504 homepage = http://github.com/ActiveState/appdirs; 505 license = licenses.mit; 506 }; 507 }; 508 509 application = buildPythonPackage rec { 510 name = "python-application-${version}"; 511 version = "1.5.0"; 512 513 src = pkgs.fetchurl { 514 url = "https://pypi.python.org/packages/source/p/python-application/${name}.tar.gz"; 515 sha256 = "9bc00c2c639bf633e2c5e08d4bf1bb5d7edaad6ccdd473692f0362df08f8aafc"; 516 }; 517 }; 518 519 520 apsw = buildPythonPackage rec { 521 name = "apsw-3.7.6.2-r1"; 522 disabled = isPyPy; 523 524 src = pkgs.fetchurl { 525 url = "http://apsw.googlecode.com/files/${name}.zip"; 526 sha1 = "fa4aec08e59fa5964197f59ba42408d64031675b"; 527 }; 528 529 buildInputs = with self; [ pkgs.sqlite ]; 530 531 # python: double free or corruption (fasttop): 0x0000000002fd4660 *** 532 doCheck = false; 533 534 meta = { 535 description = "A Python wrapper for the SQLite embedded relational database engine"; 536 homepage = http://code.google.com/p/apsw/; 537 }; 538 }; 539 540 asyncio = buildPythonPackage rec { 541 name = "asyncio-${version}"; 542 version = "3.4.3"; 543 544 disabled = (!isPy33); 545 546 src = pkgs.fetchurl { 547 url = "https://pypi.python.org/packages/source/a/asyncio/${name}.tar.gz"; 548 sha256 = "0hfbqwk9y0bbfgxzg93s2wyk6gcjsdxlr5jwy97hx64ppkw0ydl3"; 549 }; 550 551 meta = { 552 description = "reference implementation of PEP 3156"; 553 homepage = http://www.python.org/dev/peps/pep-3156; 554 license = licenses.free; 555 }; 556 }; 557 558 funcsigs = buildPythonPackage rec { 559 name = "funcsigs-0.4"; 560 disabled = ! (isPy26 || isPy27 || isPy33 || isPyPy); 561 562 src = pkgs.fetchurl { 563 url = "https://pypi.python.org/packages/source/f/funcsigs/${name}.tar.gz"; 564 md5 = "fb1d031f284233e09701f6db1281c2a5"; 565 }; 566 567 buildInputs = with self; [ 568 unittest2 569 ]; 570 571 meta = with pkgs.stdenv.lib; { 572 description = "Python function signatures from PEP362 for Python 2.6, 2.7 and 3.2+"; 573 homepage = "https://github.com/aliles/funcsigs"; 574 maintainers = with maintainers; [ garbas ]; 575 license = licenses.asl20; 576 }; 577 }; 578 579 apscheduler = buildPythonPackage rec { 580 name = "APScheduler-3.0.1"; 581 disabled = !isPy27; 582 583 src = pkgs.fetchurl { 584 url = "https://pypi.python.org/packages/source/A/APScheduler/${name}.tar.gz"; 585 md5 = "7c3687b3dcd645fe9df48e34eb7a7592"; 586 }; 587 588 buildInputs = with self; [ 589 pytest 590 sqlalchemy9 591 tornado 592 twisted 593 mock 594 trollius 595 funcsigs 596 gevent 597 ]; 598 599 propagatedBuildInputs = with self; [ 600 six 601 pytz 602 tzlocal 603 futures 604 ]; 605 606 meta = with pkgs.stdenv.lib; { 607 description = "A Python library that lets you schedule your Python code to be executed"; 608 homepage = http://pypi.python.org/pypi/APScheduler/; 609 license = licenses.mit; 610 }; 611 }; 612 613 args = buildPythonPackage rec { 614 name = "args-0.1.0"; 615 616 src = pkgs.fetchurl { 617 url = "https://pypi.python.org/packages/source/a/args/${name}.tar.gz"; 618 md5 = "66faf79ba2511def7b8b81d542482046"; 619 }; 620 621 meta = { 622 description = "Command Arguments for Humans"; 623 homepage = "https://github.com/kennethreitz/args"; 624 }; 625 }; 626 627 area53 = buildPythonPackage (rec { 628 name = "Area53-0.94"; 629 630 src = pkgs.fetchurl { 631 url = "https://pypi.python.org/packages/source/A/Area53/${name}.tar.gz"; 632 sha256 = "0v9b7f8b6v21y410anx5sr52k2ac8jrzdf19q6m6p0zsdsf9vr42"; 633 }; 634 635 # error: invalid command 'test' 636 doCheck = false; 637 638 propagatedBuildInputs = with self; [ self.boto ]; 639 640 }); 641 642 arrow = buildPythonPackage rec { 643 name = "arrow-${version}"; 644 version = "0.5.0"; 645 646 src = pkgs.fetchurl { 647 url = "https://pypi.python.org/packages/source/a/arrow/${name}.tar.gz"; 648 sha256 = "1q3a6arjm6ysl2ff6lgdm504np7b1rbivrzspybjypq1nczcb7qy"; 649 }; 650 651 doCheck = false; 652 653 meta = { 654 description = "Twitter API library"; 655 license = "apache"; 656 maintainers = with maintainers; [ thoughtpolice ]; 657 }; 658 }; 659 660 async = buildPythonPackage rec { 661 name = "async-0.6.1"; 662 disabled = isPy3k; 663 meta.maintainers = with maintainers; [ mornfall ]; 664 665 buildInputs = with self; [ pkgs.zlib ]; 666 doCheck = false; 667 668 src = pkgs.fetchurl { 669 url = "https://pypi.python.org/packages/source/a/async/${name}.tar.gz"; 670 sha256 = "1lfmjm8apy9qpnpbq8g641fd01qxh9jlya5g2d6z60vf8p04rla1"; 671 }; 672 }; 673 674 atomiclong = buildPythonPackage rec { 675 version = "0.1.1"; 676 name = "atomiclong-${version}"; 677 678 src = pkgs.fetchurl { 679 url = "https://pypi.python.org/packages/source/a/atomiclong/atomiclong-${version}.tar.gz"; 680 sha256 = "1gjbc9lvpkgg8vj7dspif1gz9aq4flkhxia16qj6yvb7rp27h4yb"; 681 }; 682 683 buildInputs = with self; [ pytest ]; 684 propagatedBuildInputs = with self; [ cffi ]; 685 686 meta = { 687 description = "Long data type with atomic operations using CFFI"; 688 homepage = https://github.com/dreid/atomiclong; 689 license = licenses.mit; 690 maintainers = with maintainers; [ robbinch ]; 691 }; 692 693 }; 694 695 atomicwrites = buildPythonPackage rec { 696 version = "0.1.0"; 697 name = "atomicwrites-${version}"; 698 699 src = pkgs.fetchurl { 700 url = "https://pypi.python.org/packages/source/a/atomicwrites/atomicwrites-${version}.tar.gz"; 701 sha256 = "1lxz0xhnzihqlvl1h6j2nfxjqqgr4s08196z5phnlcz2s7d5z0mg"; 702 }; 703 704 meta = { 705 description = "Atomic file writes on POSIX"; 706 homepage = https://pypi.python.org/pypi/atomicwrites/0.1.0; 707 maintainers = with maintainers; [ matthiasbeyer ]; 708 }; 709 710 }; 711 712 argparse = buildPythonPackage (rec { 713 name = "argparse-1.2.1"; 714 715 src = pkgs.fetchurl { 716 url = "http://argparse.googlecode.com/files/${name}.tar.gz"; 717 sha256 = "192174mys40m0bwk6l5jlfnzps0xi81sxm34cqms6dc3c454pbyx"; 718 }; 719 720 # error: invalid command 'test' 721 doCheck = false; 722 723 meta = { 724 homepage = http://code.google.com/p/argparse/; 725 726 license = licenses.asl20; 727 728 description = "argparse: Python command line parser"; 729 730 longDescription = '' 731 The argparse module makes writing command line tools in Python 732 easy. Just briefly describe your command line interface and 733 argparse will take care of the rest, including: parsing the 734 arguments and flags from sys.argv, converting arg strings into 735 objects for your program, formatting and printing any help 736 messages, and much more. 737 ''; 738 }; 739 }); 740 741 astroid = buildPythonPackage (rec { 742 name = "astroid-1.3.4"; 743 propagatedBuildInputs = with self; [ logilab_common six ]; 744 src = pkgs.fetchurl { 745 url = "https://pypi.python.org/packages/source/a/astroid/${name}.tar.gz"; 746 sha256 = "1fz9x21pziy9dmivvlsgl7a86ka2m9jp3pky01da5aj89ym3wi8b"; 747 }; 748 }); 749 750 attrdict = buildPythonPackage (rec { 751 name = "attrdict-2.0.0"; 752 753 src = pkgs.fetchurl { 754 url = "https://pypi.python.org/packages/source/a/attrdict/${name}.tar.gz"; 755 md5 = "8a7c1a4e737fe9e2b2b8844c0f7746f8"; 756 }; 757 758 propagatedBuildInputs = with self; [ coverage nose six ]; 759 760 meta = { 761 description = "A dict with attribute-style access"; 762 homepage = https://github.com/bcj/AttrDict; 763 license = licenses.mit; 764 }; 765 }); 766 767 audioread = buildPythonPackage rec { 768 name = "audioread-1.2.1"; 769 770 src = pkgs.fetchurl { 771 url = "https://pypi.python.org/packages/source/a/audioread/${name}.tar.gz"; 772 md5 = "01a80357f38dbd9bf8d7403802df89ac"; 773 }; 774 775 meta = { 776 description = "Cross-platform audio decoding"; 777 homepage = "https://github.com/sampsyo/audioread"; 778 license = licenses.mit; 779 }; 780 }; 781 782 audiotools = buildPythonPackage rec { 783 name = "audiotools-2.22"; 784 785 disabled = isPy3k; 786 787 src = pkgs.fetchurl { 788 url = "mirror://sourceforge/audiotools/${name}.tar.gz"; 789 sha256 = "1c52pggsbxdbj8h92njf4h0jgfndh4yv58ad723pidys47nw1y71"; 790 }; 791 792 meta = { 793 description = "Utilities and Python modules for handling audio"; 794 homepage = "http://audiotools.sourceforge.net/"; 795 license = licenses.gpl2Plus; 796 }; 797 }; 798 799 autopep8 = buildPythonPackage (rec { 800 name = "autopep8-1.0.4"; 801 802 src = pkgs.fetchurl { 803 url = "https://pypi.python.org/packages/source/a/autopep8/${name}.tar.gz"; 804 sha256 = "17lydqm8y9a5qadp6iifxrb5mb0g9fr1vxn5qy1fjpyhazxaw8n1"; 805 }; 806 807 propagatedBuildInputs = with self; [ pep8 ]; 808 809 # One test fails: 810 # FAIL: test_recursive_should_not_crash_on_unicode_filename (test.test_autopep8.CommandLineTests) 811 doCheck = false; 812 813 meta = { 814 description = "A tool that automatically formats Python code to conform to the PEP 8 style guide"; 815 homepage = https://pypi.python.org/pypi/autopep8/; 816 license = licenses.mit; 817 platforms = platforms.all; 818 maintainers = with maintainers; [ bjornfor ]; 819 }; 820 }); 821 822 avro = buildPythonPackage (rec { 823 name = "avro-1.7.6"; 824 825 disabled = isPy3k; 826 827 src = pkgs.fetchurl { 828 url = "https://pypi.python.org/packages/source/a/avro/${name}.tar.gz"; 829 md5 = "7f4893205e5ad69ac86f6b44efb7df72"; 830 }; 831 832 meta = { 833 description = "A serialization and RPC framework"; 834 homepage = "https://pypi.python.org/pypi/avro/"; 835 }; 836 }); 837 838 avro3k = pkgs.lowPrio (buildPythonPackage (rec { 839 name = "avro3k-1.7.7-SNAPSHOT"; 840 841 disabled = (!isPy3k); 842 843 src = pkgs.fetchurl { 844 url = "https://pypi.python.org/packages/source/a/avro3k/${name}.tar.gz"; 845 sha256 = "15ahl0irwwj558s964abdxg4vp6iwlabri7klsm2am6q5r0ngsky"; 846 }; 847 848 doCheck = false; # No such file or directory: './run_tests.py 849 850 meta = { 851 description = "A serialization and RPC framework"; 852 homepage = "https://pypi.python.org/pypi/avro3k/"; 853 }; 854 })); 855 856 azure = buildPythonPackage rec { 857 version = "0.11.0"; 858 name = "azure-${version}"; 859 disabled = pythonOlder "2.7"; 860 861 src = pkgs.fetchurl { 862 url = "https://pypi.python.org/packages/source/a/azure/${name}.zip"; 863 md5 = "5499efd85c54c757c0e757b5407ee47f"; 864 }; 865 866 propagatedBuildInputs = with self; [ dateutil futures pyopenssl requests ]; 867 868 meta = { 869 description = "Microsoft Azure SDK for Python"; 870 homepage = "http://azure.microsoft.com/en-us/develop/python/"; 871 license = licenses.asl20; 872 maintainers = with maintainers; [ olcai ]; 873 }; 874 }; 875 876 backports_ssl_match_hostname_3_4_0_2 = self.buildPythonPackage rec { 877 name = "backports.ssl_match_hostname-3.4.0.2"; 878 879 src = pkgs.fetchurl { 880 url = "https://pypi.python.org/packages/source/b/backports.ssl_match_hostname/backports.ssl_match_hostname-3.4.0.2.tar.gz"; 881 md5 = "788214f20214c64631f0859dc79f23c6"; 882 }; 883 884 meta = { 885 description = "The Secure Sockets layer is only actually *secure*"; 886 homepage = http://bitbucket.org/brandon/backports.ssl_match_hostname; 887 }; 888 }; 889 890 backports_lzma = self.buildPythonPackage rec { 891 name = "backports.lzma-0.0.3"; 892 disabled = isPy3k; 893 894 src = pkgs.fetchurl { 895 url = "https://pypi.python.org/packages/source/b/backports.lzma/${name}.tar.gz"; 896 md5 = "c3d109746aefa86268e500c07d7e8e0f"; 897 }; 898 899 buildInputs = [ pkgs.lzma ]; 900 901 meta = { 902 describe = "Backport of Python 3.3's 'lzma' module for XZ/LZMA compressed files"; 903 homepage = https://github.com/peterjc/backports.lzma; 904 license = licenses.bsd3; 905 }; 906 }; 907 908 babelfish = buildPythonPackage rec { 909 version = "0.5.3"; 910 name = "babelfish-${version}"; 911 disabled = isPy3k; 912 913 src = pkgs.fetchurl { 914 url = "https://pypi.python.org/packages/source/b/babelfish/${name}.tar.gz"; 915 sha256 = "0wrw21dyq7v6lbffwvi1ik43d7dhmcv8xvgrrihhiv7ys1rd3gag"; 916 }; 917 918 meta = { 919 homepage = http://pypi.python.org/pypi/babelfish; 920 description = "A module to work with countries and languages"; 921 license = licenses.bsd3; 922 }; 923 }; 924 925 batinfo = buildPythonPackage rec { 926 version = "0.2"; 927 name = "batinfo-${version}"; 928 929 src = pkgs.fetchurl { 930 url = "https://pypi.python.org/packages/source/b/batinfo/${name}.tar.gz"; 931 sha256 = "1kmrdr1c2ivpqgp2csln7vbanga3sh3nvaqmgbsg96z6fbg7f7w8"; 932 }; 933 934 meta = { 935 homepage = https://github.com/nicolargo/batinfo; 936 description = "A simple Python lib to retrieve battery information"; 937 license = licenses.lgpl3; 938 platforms = platforms.all; 939 maintainers = with maintainers; [ koral ]; 940 }; 941 }; 942 943 bcdoc = buildPythonPackage rec { 944 name = "bcdoc-0.14.0"; 945 946 src = pkgs.fetchurl { 947 url = "https://pypi.python.org/packages/source/b/bcdoc/${name}.tar.gz"; 948 sha256 = "1s2kdqs1n2mj7wq3w0pq30zs7vxq0l3abik2clqnc4hm2j7crbk8"; 949 }; 950 951 buildInputs = with self; [ docutils six ]; 952 953 meta = { 954 homepage = https://github.com/botocore/bcdoc; 955 license = licenses.asl20; 956 description = "ReST document generation tools for botocore"; 957 }; 958 }; 959 960 beautifulsoup = buildPythonPackage (rec { 961 name = "beautifulsoup-3.2.1"; 962 disabled = isPy3k; 963 964 src = pkgs.fetchurl { 965 url = "http://www.crummy.com/software/BeautifulSoup/download/3.x/BeautifulSoup-3.2.1.tar.gz"; 966 sha256 = "1nshbcpdn0jpcj51x0spzjp519pkmqz0n0748j7dgpz70zlqbfpm"; 967 }; 968 969 # error: invalid command 'test' 970 doCheck = false; 971 972 meta = { 973 homepage = http://www.crummy.com/software/BeautifulSoup/; 974 license = "bsd"; 975 description = "Undemanding HTML/XML parser"; 976 }; 977 }); 978 979 beautifulsoup4 = buildPythonPackage (rec { 980 name = "beautifulsoup4-4.1.3"; 981 982 src = pkgs.fetchurl { 983 url = "http://pypi.python.org/packages/source/b/beautifulsoup4/${name}.tar.gz"; 984 md5 = "f1481ed77336de77a2d8e5b061b6ad62"; 985 }; 986 987 # invalid command 'test' 988 doCheck = false; 989 990 meta = { 991 homepage = http://crummy.com/software/BeautifulSoup/bs4/; 992 description = "HTML and XML parser"; 993 license = licenses.mit; 994 maintainers = with maintainers; [ iElectric ]; 995 }; 996 }); 997 998 999 beaker = buildPythonPackage rec { 1000 name = "Beaker-1.6.4"; 1001 1002 disabled = isPy3k; 1003 1004 src = pkgs.fetchurl { 1005 url = "http://pypi.python.org/packages/source/B/Beaker/${name}.tar.gz"; 1006 md5 = "c2e102870ed4c53104dec48ceadf8e9d"; 1007 }; 1008 1009 buildInputs = 1010 [ self.sqlalchemy 1011 self.pycryptopp 1012 self.nose 1013 self.mock 1014 self.webtest 1015 ]; 1016 1017 # http://hydra.nixos.org/build/4511591/log/raw 1018 doCheck = false; 1019 1020 meta = { 1021 maintainers = with maintainers; [ garbas iElectric ]; 1022 platforms = platforms.all; 1023 }; 1024 }; 1025 1026 caldavclientlibrary-asynk = buildPythonPackage rec { 1027 version = "asynkdev"; 1028 name = "caldavclientlibrary-asynk-${version}"; 1029 1030 src = pkgs.fetchgit { 1031 url = "https://github.com/skarra/CalDAVClientLibrary.git"; 1032 rev = "06699b08190d50cc2636b921a654d67db0a967d1"; 1033 sha256 = "1i6is7lv4v9by4panrd9w63m4xsmhwlp3rq4jjj3azwg5jm10940"; 1034 }; 1035 1036 meta = { 1037 description = "A Python library and tool for CalDAV"; 1038 1039 longDescription = '' 1040 CalDAVCLientLibrary is a Python library and tool for CalDAV. 1041 1042 This package is the unofficial CalDAVCLientLibrary Python 1043 library maintained by the author of Asynk and is needed for 1044 that package. 1045 ''; 1046 1047 homepage = https://github.com/skarra/CalDAVClientLibrary/tree/asynkdev/; 1048 maintainers = with maintainers; [ pjones ]; 1049 }; 1050 }; 1051 1052 bedup = buildPythonPackage rec { 1053 name = "bedup-20140413"; 1054 1055 src = pkgs.fetchgit { 1056 url = "https://github.com/g2p/bedup.git"; 1057 rev = "5189e166145b8954ac41883f81ef3c3b50dc96ab"; 1058 sha256 = "e61768fa19934bd176799f90bda3ea9f49a5def21fa2523a8e47df8a48e730e9"; 1059 }; 1060 1061 buildInputs = with self; [ pkgs.btrfsProgs ]; 1062 propagatedBuildInputs = with self; [ contextlib2 sqlalchemy9 pyxdg pycparser alembic ] 1063 ++ optionals (!isPyPy) [ cffi ]; 1064 1065 meta = { 1066 description = "Deduplication for Btrfs"; 1067 longDescription = '' 1068 Deduplication for Btrfs. bedup looks for new and changed files, making sure that multiple 1069 copies of identical files share space on disk. It integrates deeply with btrfs so that scans 1070 are incremental and low-impact. 1071 ''; 1072 homepage = https://github.com/g2p/bedup; 1073 license = licenses.gpl2; 1074 1075 platforms = platforms.linux; 1076 1077 maintainers = with maintainers; [ bluescreen303 ]; 1078 }; 1079 }; 1080 1081 buttersink = buildPythonPackage rec { 1082 name = "buttersink-0.6.6"; 1083 1084 src = pkgs.fetchurl { 1085 sha256 = "1vi0pz8r3d17bsn5g7clkyph7sc0rjzbzqk6rwglaxcah7sfj2mj"; 1086 url = "https://pypi.python.org/packages/source/b/buttersink/${name}.tar.gz"; 1087 }; 1088 1089 meta = { 1090 description = "Synchronise btrfs snapshots"; 1091 longDescription = '' 1092 ButterSink is like rsync, but for btrfs subvolumes instead of files, 1093 which makes it much more efficient for things like archiving backup 1094 snapshots. It is built on top of btrfs send and receive capabilities. 1095 Sources and destinations can be local btrfs file systems, remote btrfs 1096 file systems over SSH, or S3 buckets. 1097 ''; 1098 homepage = https://github.com/AmesCornish/buttersink/wiki; 1099 license = licenses.gpl3; 1100 platforms = platforms.linux; 1101 maintainers = with maintainers; [ nckx ]; 1102 }; 1103 1104 propagatedBuildInputs = with self; [ boto crcmod psutil ]; 1105 }; 1106 1107 circus = buildPythonPackage rec { 1108 name = "circus-0.11.1"; 1109 1110 src = pkgs.fetchurl { 1111 url = "https://pypi.python.org/packages/source/c/circus/${name}.tar.gz"; 1112 md5 = "5c07cdbe9bb4a9b82e52737ad590617b"; 1113 }; 1114 1115 doCheck = false; # weird error 1116 1117 propagatedBuildInputs = with self; [ iowait psutil pyzmq tornado mock ]; 1118 }; 1119 1120 cornice = buildPythonPackage rec { 1121 name = "cornice-${version}"; 1122 version = "0.17.0"; 1123 src = pkgs.fetchgit { 1124 url = https://github.com/mozilla-services/cornice.git; 1125 rev = "refs/tags/${version}"; 1126 sha256 = "12yrcsv1sdl5w308y1cc939ppq7pi2490s54zfcbs481cvsyr1lg"; 1127 }; 1128 1129 propagatedBuildInputs = with self; [ pyramid simplejson ]; 1130 1131 doCheck = false; # lazy packager 1132 }; 1133 1134 cvxopt = buildPythonPackage rec { 1135 name = "${pname}-${version}"; 1136 pname = "cvxopt"; 1137 version = "1.1.7"; 1138 disabled = isPyPy; 1139 src = pkgs.fetchurl { 1140 url = "https://pypi.python.org/packages/source/c/${pname}/${name}.tar.gz"; 1141 sha256 = "f856ea2e9e2947abc1a6557625cc6b0e45228984f397a90c420b2f468dc4cb97"; 1142 }; 1143 doCheck = false; 1144 buildInputs = with pkgs; [ openblasCompat ]; 1145 preConfigure = '' 1146 export CVXOPT_BLAS_LIB_DIR=${pkgs.openblasCompat}/lib 1147 export CVXOPT_BLAS_LIB=openblas 1148 export CVXOPT_LAPACK_LIB=openblas 1149 ''; 1150 meta = { 1151 homepage = "http://cvxopt.org/"; 1152 description = "Python Software for Convex Optimization"; 1153 maintainers = with maintainers; [ edwtjo ]; 1154 license = licenses.gpl3Plus; 1155 }; 1156 }; 1157 1158 debian = buildPythonPackage rec { 1159 name = "${pname}-${version}"; 1160 pname = "python-debian"; 1161 version = "0.1.23"; 1162 src = pkgs.fetchurl { 1163 url = "https://pypi.python.org/packages/source/p/${pname}/${name}.tar.gz"; 1164 sha256 = "193faznwnjc3n5991wyzim6h9gyq1zxifmfrnpm3avgkh7ahyynh"; 1165 }; 1166 propagatedBuildInputs = with self; [ chardet six ]; 1167 }; 1168 1169 defusedxml = buildPythonPackage rec { 1170 name = "${pname}-${version}"; 1171 pname = "defusedxml"; 1172 version = "0.4.1"; 1173 src = pkgs.fetchurl { 1174 url = "https://pypi.python.org/packages/source/d/${pname}/${name}.tar.gz"; 1175 sha256 = "0y147zy3jqmk6ly7fbhqmzn1hf41xcb53f2vcc3m8x4ba5d1smfd"; 1176 }; 1177 }; 1178 1179 dugong = buildPythonPackage rec { 1180 name = "${pname}-${version}"; 1181 pname = "dugong"; 1182 version = "3.5"; 1183 src = pkgs.fetchurl { 1184 url = "https://pypi.python.org/packages/source/d/${pname}/${name}.tar.bz2"; 1185 sha256 = "0y0rdxbiwm03zv6vpvapqilrird3h8ijz7xmb0j7ds5j4p6q3g24"; 1186 }; 1187 1188 disabled = pythonOlder "3.3"; # Library does not support versions older than 3.3 1189 }; 1190 1191 iowait = buildPythonPackage rec { 1192 name = "iowait-0.2"; 1193 1194 src = pkgs.fetchurl { 1195 url = "https://pypi.python.org/packages/source/i/iowait/${name}.tar.gz"; 1196 md5 = "f49ca7766fe4a67e03a731e575614f87"; 1197 }; 1198 1199 meta = { 1200 description = "Platform-independent module for I/O completion events"; 1201 homepage = https://launchpad.net/python-iowait; 1202 }; 1203 }; 1204 1205 responses = self.buildPythonPackage rec { 1206 name = "responses-0.4.0"; 1207 1208 src = pkgs.fetchurl { 1209 url = "https://pypi.python.org/packages/source/r/responses/${name}.tar.gz"; 1210 sha256 = "0fs7a4cf4f12mjhcjd5vfh0f3ixcy2nawzxpgsfr3ahf0rg7ppx5"; 1211 }; 1212 1213 propagatedBuildInputs = with self; [ cookies mock requests2 six ]; 1214 1215 doCheck = false; 1216 1217 }; 1218 1219 rarfile = self.buildPythonPackage rec { 1220 name = "rarfile-2.6"; 1221 1222 src = pkgs.fetchurl { 1223 url = "https://pypi.python.org/packages/source/r/rarfile/rarfile-2.6.tar.gz"; 1224 md5 = "50ce3f3fdb9196a00059a5ea7b3739fd"; 1225 }; 1226 1227 meta = { 1228 description = "rarfile - RAR archive reader for Python"; 1229 homepage = https://github.com/markokr/rarfile; 1230 }; 1231 }; 1232 1233 proboscis = pythonPackages.buildPythonPackage rec { 1234 name = "proboscis-1.2.6.0"; 1235 1236 src = pkgs.fetchurl { 1237 url = "https://pypi.python.org/packages/source/p/proboscis/proboscis-1.2.6.0.tar.gz"; 1238 md5 = "e4b36449ef7c18f70b8243f4c8bddbca"; 1239 }; 1240 1241 propagatedBuildInputs = with pythonPackages; [ nose ]; 1242 doCheck = false; 1243 1244 meta = { 1245 description = "A Python test framework that extends Python's built-in unittest module and Nose with features from TestNG"; 1246 homepage = https://github.com/rackspace/python-proboscis; 1247 license = licenses.asl20; 1248 }; 1249 }; 1250 1251 pyechonest = self.buildPythonPackage rec { 1252 name = "pyechonest-8.0.2"; 1253 1254 src = pkgs.fetchurl { 1255 url = "https://pypi.python.org/packages/source/p/pyechonest/pyechonest-8.0.2.tar.gz"; 1256 md5 = "5586fe8ece7af4e24f71ea740185127e"; 1257 }; 1258 1259 meta = { 1260 description = "Tap into The Echo Nest's Musical Brain for the best music search, information, recommendations and remix tools on the web"; 1261 homepage = https://github.com/echonest/pyechonest; 1262 }; 1263 }; 1264 1265 1266 billiard = buildPythonPackage rec { 1267 name = "billiard-${version}"; 1268 version = "3.3.0.19"; 1269 1270 disabled = isPyPy; 1271 1272 src = pkgs.fetchurl { 1273 url = "https://pypi.python.org/packages/source/b/billiard/${name}.tar.gz"; 1274 sha256 = "06bs1kl7dji6lwpj3dkfi61mmrfq2mi7wz3ka683i2avwk38wsvf"; 1275 md5 = "7e473b9da01956ce91a650f99fe8d4ad"; 1276 }; 1277 1278 buildInputs = with self; [ nose unittest2 mock ]; 1279 1280 # i can't imagine these were intentionally installed 1281 postInstall = "rm -r $out/${python.sitePackages}/funtests"; 1282 1283 meta = { 1284 homepage = https://github.com/celery/billiard; 1285 description = "Python multiprocessing fork with improvements and bugfixes"; 1286 license = licenses.bsd3; 1287 }; 1288 }; 1289 1290 1291 bitbucket_api = buildPythonPackage rec { 1292 name = "bitbucket-api-0.4.4"; 1293 1294 src = pkgs.fetchurl { 1295 url = "http://pypi.python.org/packages/source/b/bitbucket-api/${name}.tar.gz"; 1296 md5 = "6f3cee3586c4aad9c0b2e04fce9704fb"; 1297 }; 1298 1299 propagatedBuildInputs = with self; [ requests_oauth2 nose sh ]; 1300 1301 doCheck = false; 1302 1303 meta = { 1304 homepage = https://github.com/Sheeprider/BitBucket-api; 1305 description = "Python library to interact with BitBucket REST API"; 1306 license = licenses.mit; 1307 }; 1308 }; 1309 1310 bitbucket-cli = buildPythonPackage rec { 1311 name = "bitbucket-cli-0.4.1"; 1312 src = pkgs.fetchurl { 1313 url = "https://pypi.python.org/packages/source/b/bitbucket-cli/${name}.tar.gz"; 1314 md5 = "79cdbdc6c95dfa313d12cbdef406c9f2"; 1315 }; 1316 1317 pythonPath = [ self.requests ]; 1318 1319 meta = { 1320 description = "Bitbucket command line interface"; 1321 homepage = "https://bitbucket.org/zhemao/bitbucket-cli"; 1322 maintainers = with maintainers; [ refnil ]; 1323 }; 1324 }; 1325 1326 1327 bitstring = buildPythonPackage rec { 1328 name = "bitstring-3.1.2"; 1329 1330 src = pkgs.fetchurl { 1331 url = "https://python-bitstring.googlecode.com/files/${name}.zip"; 1332 sha256 = "1i1p3rkj4ad108f23xyib34r4rcy571gy65paml6fk77knh0k66p"; 1333 }; 1334 1335 # error: invalid command 'test' 1336 doCheck = false; 1337 1338 meta = { 1339 description = "Module for binary data manipulation"; 1340 homepage = https://code.google.com/p/python-bitstring/; 1341 license = licenses.mit; 1342 platforms = platforms.linux; 1343 maintainers = with maintainers; [ bjornfor ]; 1344 }; 1345 }; 1346 1347 blaze = buildPythonPackage rec { 1348 name = "blaze-${version}"; 1349 version = "0.8.2"; 1350 1351 src = pkgs.fetchurl { 1352 url = "https://pypi.python.org/packages/source/b/blaze/${name}.tar.gz"; 1353 sha256 = "1abedabf2a1e62dd059e0942d60f27337763de26f5e3f61ed55baaf97723b624"; 1354 }; 1355 1356 propagatedBuildInputs = with self; [ 1357 numpy 1358 pandas 1359 datashape 1360 odo 1361 toolz 1362 multipledispatch 1363 sqlalchemy9 # sqlalchemy8 should also work 1364 psutil 1365 ]; 1366 1367 meta = { 1368 homepage = https://github.com/ContinuumIO/blaze; 1369 description = "Allows Python users a familiar interface to query data living in other data storage systems"; 1370 license = licenses.bsdOriginal; 1371 }; 1372 }; 1373 1374 bleach = buildPythonPackage rec { 1375 version = "v1.4"; 1376 name = "bleach-${version}"; 1377 1378 src = pkgs.fetchurl { 1379 url = "http://github.com/jsocol/bleach/archive/${version}.tar.gz"; 1380 sha256 = "19v0zhvchz89w179rwkc4ah3cj2gbcng9alwa2yla89691g8b0b0"; 1381 }; 1382 1383 propagatedBuildInputs = with self; [ six html5lib ]; 1384 1385 meta = { 1386 description = "An easy, HTML5, whitelisting HTML sanitizer"; 1387 longDescription = '' 1388 Bleach is an HTML sanitizing library that escapes or strips markup and 1389 attributes based on a white list. Bleach can also linkify text safely, 1390 applying filters that Django's urlize filter cannot, and optionally 1391 setting rel attributes, even on links already in the text. 1392 1393 Bleach is intended for sanitizing text from untrusted sources. If you 1394 find yourself jumping through hoops to allow your site administrators 1395 to do lots of things, you're probably outside the use cases. Either 1396 trust those users, or don't. 1397 ''; 1398 homepage = https://github.com/jsocol/bleach; 1399 downloadPage = https://github.com/jsocol/bleach/releases; 1400 license = licenses.asl20; 1401 maintainers = with maintainers; [ prikhi ]; 1402 platforms = platforms.linux; 1403 }; 1404 }; 1405 1406 blinker = buildPythonPackage rec { 1407 name = "blinker-${version}"; 1408 version = "1.3"; 1409 1410 src = pkgs.fetchurl { 1411 url = "https://pypi.python.org/packages/source/b/blinker/${name}.tar.gz"; 1412 md5 = "66e9688f2d287593a0e698cd8a5fbc57"; 1413 }; 1414 1415 meta = { 1416 homepage = http://pythonhosted.org/blinker/; 1417 description = "Fast, simple object-to-object and broadcast signaling"; 1418 license = licenses.mit; 1419 maintainers = with maintainers; [ garbas ]; 1420 }; 1421 }; 1422 1423 1424 blockdiag = buildPythonPackage rec { 1425 name = "blockdiag-1.4.7"; 1426 1427 src = pkgs.fetchurl { 1428 url = "https://pypi.python.org/packages/source/b/blockdiag/${name}.tar.gz"; 1429 sha256 = "0bc29sh8hj3hmhclifh1by0n6vg2pl9wkxb7fmljyw0arjas54bf"; 1430 }; 1431 1432 buildInputs = with self; [ pep8 nose unittest2 docutils ]; 1433 1434 propagatedBuildInputs = with self; [ pillow webcolors funcparserlib ]; 1435 1436 # One test fails: 1437 # ... 1438 # FAIL: test_auto_font_detection (blockdiag.tests.test_boot_params.TestBootParams) 1439 doCheck = false; 1440 1441 meta = { 1442 description = "Generate block-diagram image from spec-text file (similar to Graphviz)"; 1443 homepage = http://blockdiag.com/; 1444 license = licenses.asl20; 1445 platforms = platforms.linux; 1446 maintainers = with maintainers; [ bjornfor ]; 1447 }; 1448 }; 1449 1450 1451 bpython = buildPythonPackage rec { 1452 name = "bpython-0.12"; 1453 src = pkgs.fetchurl { 1454 url = "http://www.bpython-interpreter.org/releases/bpython-0.12.tar.gz"; 1455 sha256 = "1ilf58qq7sazmcgg4f1wswbhcn2gb8qbbrpgm6gf0j2lbm60gabl"; 1456 }; 1457 1458 propagatedBuildInputs = with self; [ modules.curses pygments ]; 1459 doCheck = false; 1460 1461 meta = { 1462 description = "UNKNOWN"; 1463 homepage = "UNKNOWN"; 1464 maintainers = with maintainers; [ iElectric ]; 1465 }; 1466 }; 1467 1468 1469 boto = buildPythonPackage rec { 1470 name = "boto-${version}"; 1471 version = "2.38.0"; 1472 1473 src = pkgs.fetchurl { 1474 url = "https://github.com/boto/boto/archive/${version}.tar.gz"; 1475 sha256 = "0l7m3lmxmnknnz9svzc7z26rklwckzwqgz6hgackl62gkndryrgj"; 1476 }; 1477 1478 checkPhase = '' 1479 ${python.interpreter} tests/test.py default 1480 ''; 1481 1482 buildInputs = [ self.nose self.mock ]; 1483 propagatedBuildInputs = [ self.requests self.httpretty ]; 1484 1485 meta = { 1486 homepage = https://github.com/boto/boto; 1487 1488 license = "bsd"; 1489 1490 description = "Python interface to Amazon Web Services"; 1491 1492 longDescription = '' 1493 The boto module is an integrated interface to current and 1494 future infrastructural services offered by Amazon Web 1495 Services. This includes S3, SQS, EC2, among others. 1496 ''; 1497 }; 1498 }; 1499 1500 botocore = buildPythonPackage rec { 1501 version = "1.1.4"; 1502 name = "botocore-${version}"; 1503 1504 src = pkgs.fetchurl { 1505 url = "https://pypi.python.org/packages/source/b/botocore/${name}.tar.gz"; 1506 sha256 = "1wbbaj0y6bfzsh61hgnnssn5j8m93r6r2m5r1jmlf6iz3l9gqkkp"; 1507 }; 1508 1509 propagatedBuildInputs = 1510 [ self.dateutil 1511 self.requests 1512 self.jmespath 1513 ]; 1514 1515 buildInputs = [ self.docutils ]; 1516 1517 meta = { 1518 homepage = https://github.com/boto/botocore; 1519 1520 license = "bsd"; 1521 1522 description = "A low-level interface to a growing number of Amazon Web Services"; 1523 1524 }; 1525 }; 1526 1527 bottle = buildPythonPackage rec { 1528 version = "0.12.8"; 1529 name = "bottle-${version}"; 1530 1531 src = pkgs.fetchurl { 1532 url = "https://pypi.python.org/packages/source/b/bottle/${name}.tar.gz"; 1533 sha256 = "1b2hq0l4nwh75s2w6wgiqlkj4q1qvyx6a94axl2k4lsym1aifpfd"; 1534 }; 1535 1536 propagatedBuildInputs = with self; [ setuptools ]; 1537 1538 meta = { 1539 homepage = http://bottlepy.org; 1540 description = "A fast and simple micro-framework for small web-applications"; 1541 license = licenses.mit; 1542 platforms = platforms.all; 1543 maintainers = with maintainers; [ koral ]; 1544 }; 1545 }; 1546 1547 box2d = buildPythonPackage rec { 1548 name = "box2d-${version}"; 1549 version = "2.3b0"; 1550 disabled = (!isPy27); 1551 1552 src = pkgs.fetchurl { 1553 url = "https://pypi.python.org/packages/source/B/Box2D/Box2D-2.3b0.zip"; 1554 md5="25fc4f69cd580bdca0022ac3ace53865"; 1555 }; 1556 1557 patches = [ ../development/python-modules/box2d/disable-test.patch ]; 1558 1559 propagatedBuildInputs = [ pkgs.swig2 pkgs.box2d ]; 1560 1561 meta = { 1562 homepage = https://code.google.com/p/pybox2d/; 1563 description = '' 1564 A 2D game physics library for Python under 1565 the very liberal zlib license 1566 ''; 1567 license = licenses.zlib; 1568 platforms = platforms.all; 1569 maintainers = with maintainers; [ sepi ]; 1570 }; 1571 }; 1572 1573 bugwarrior = buildPythonPackage rec { 1574 name = "bugwarrior-${version}"; 1575 version = "1.0.2"; 1576 1577 src = pkgs.fetchurl { 1578 url = "https://pypi.python.org/packages/source/b/bugwarrior/${name}.tar.gz"; 1579 # md5 = "09c93f86a27ffc092e69b46889a3bf50"; # provided by pypi website. 1580 sha256 = "efe41756c152789f39006f157add9bedfa2b85d2cac15c067e635e37c70cb8f8"; 1581 }; 1582 1583 buildInputs = with self; [ mock unittest2 nose /* jira megaplan */ ]; 1584 propagatedBuildInputs = with self; [ 1585 twiggy requests2 offtrac bugzilla taskw dateutil pytz keyring six 1586 jinja2 pycurl dogpile_cache lockfile click 1587 ]; 1588 1589 # for the moment jira>=0.22 and megaplan>=1.4 are missing for running the test suite. 1590 doCheck = false; 1591 1592 meta = { 1593 homepage = http://github.com/ralphbean/bugwarrior; 1594 description = "Sync github, bitbucket, bugzilla, and trac issues with taskwarrior"; 1595 license = licenses.gpl3Plus; 1596 platforms = platforms.all; 1597 maintainers = with maintainers; [ pierron ]; 1598 }; 1599 }; 1600 1601 # bugz = buildPythonPackage (rec { 1602 # name = "bugz-0.9.3"; 1603 # 1604 # src = pkgs.fetchgit { 1605 # url = "https://github.com/williamh/pybugz.git"; 1606 # rev = "refs/tags/0.9.3"; 1607 # }; 1608 # 1609 # propagatedBuildInputs = with self; [ self.argparse ]; 1610 # 1611 # doCheck = false; 1612 # 1613 # meta = { 1614 # homepage = http://www.liquidx.net/pybugz/; 1615 # description = "Command line interface for Bugzilla"; 1616 # }; 1617 # }); 1618 1619 bugzilla = buildPythonPackage rec { 1620 name = "bugzilla-${version}"; 1621 version = "1.1.0"; 1622 1623 src = pkgs.fetchurl { 1624 url = "https://pypi.python.org/packages/source/p/python-bugzilla/python-${name}.tar.gz"; 1625 # md5 = "c95befd1fecad21f742beaa8180538c0"; # provided by pypi website. 1626 sha256 = "11361635a4f1613803a0b9b93ba9126f7fd36180653f953e2590b1536d107d46"; 1627 }; 1628 1629 patches = [ ../development/python-modules/bugzilla/checkPhase-fix-cookie-compare.patch ]; 1630 1631 buildInputs = with self; [ pep8 coverage logilab_common ]; 1632 propagatedBuildInputs = [ self.requests2 ]; 1633 1634 preCheck = '' 1635 mkdir -p check-phase 1636 export HOME=$(pwd)/check-phase 1637 ''; 1638 1639 meta = { 1640 homepage = https://fedorahosted.org/python-bugzilla/; 1641 description = "Bugzilla XMLRPC access module"; 1642 license = licenses.gpl2; 1643 platforms = platforms.all; 1644 maintainers = with maintainers; [ pierron ]; 1645 }; 1646 }; 1647 1648 buildout = self.zc_buildout; 1649 buildout152 = self.zc_buildout152; 1650 1651 # A patched version of buildout, useful for buildout based development on Nix 1652 zc_buildout_nix = callPackage ../development/python-modules/buildout-nix { }; 1653 1654 zc_recipe_egg = self.zc_recipe_egg_buildout171; 1655 zc_buildout = self.zc_buildout171; 1656 zc_buildout2 = self.zc_buildout221; 1657 zc_buildout221 = buildPythonPackage rec { 1658 name = "zc.buildout-2.2.1"; 1659 1660 src = pkgs.fetchurl { 1661 url = "http://pypi.python.org/packages/source/z/zc.buildout/${name}.tar.gz"; 1662 md5 = "476a06eed08506925c700109119b6e41"; 1663 }; 1664 1665 meta = { 1666 homepage = "http://www.buildout.org"; 1667 description = "A software build and configuration system"; 1668 license = licenses.zpt21; 1669 maintainers = with maintainers; [ garbas ]; 1670 }; 1671 }; 1672 1673 zc_buildout171 = buildPythonPackage rec { 1674 name = "zc.buildout-1.7.1"; 1675 1676 disabled = isPy3k; 1677 1678 src = pkgs.fetchurl { 1679 url = "http://pypi.python.org/packages/source/z/zc.buildout/${name}.tar.gz"; 1680 md5 = "8834a21586bf2be53dc412002241a996"; 1681 }; 1682 1683 meta = { 1684 homepage = "http://www.buildout.org"; 1685 description = "A software build and configuration system"; 1686 license = licenses.zpt21; 1687 maintainers = with maintainers; [ garbas ]; 1688 }; 1689 }; 1690 1691 zc_buildout152 = buildPythonPackage rec { 1692 name = "zc.buildout-1.5.2"; 1693 1694 disabled = isPy3k; 1695 1696 src = pkgs.fetchurl { 1697 url = "http://pypi.python.org/packages/source/z/zc.buildout/${name}.tar.gz"; 1698 md5 = "87f7b3f8d13926c806242fd5f6fe36f7"; 1699 }; 1700 1701 # TODO: consider if this patch should be an option 1702 # It makes buildout useful in a nix profile, but this alters the default functionality 1703 patchPhase = '' 1704 sed -i "s/return (stdlib, site_paths)/return (stdlib, sys.path)/g" src/zc/buildout/easy_install.py 1705 ''; 1706 1707 meta = { 1708 homepage = "http://www.buildout.org"; 1709 description = "A software build and configuration system"; 1710 license = licenses.zpt21; 1711 maintainers = with maintainers; [ garbas ]; 1712 }; 1713 }; 1714 1715 zc_recipe_egg_fun = { buildout, version, md5 }: buildPythonPackage rec { 1716 inherit version; 1717 name = "zc.recipe.egg-${version}"; 1718 1719 buildInputs = with self; [ buildout ]; 1720 doCheck = false; 1721 1722 src = pkgs.fetchurl { 1723 inherit md5; 1724 url = "https://pypi.python.org/packages/source/z/zc.recipe.egg/zc.recipe.egg-${version}.tar.gz"; 1725 }; 1726 }; 1727 zc_recipe_egg_buildout171 = self.zc_recipe_egg_fun { 1728 buildout = self.zc_buildout171; 1729 version = "1.3.2"; 1730 md5 = "1cb6af73f527490dde461d3614a36475"; 1731 }; 1732 zc_recipe_egg_buildout2 = self.zc_recipe_egg_fun { 1733 buildout = self.zc_buildout2; 1734 version = "2.0.1"; 1735 md5 = "5e81e9d4cc6200f5b1abcf7c653dd9e3"; 1736 }; 1737 1738 bunch = buildPythonPackage (rec { 1739 name = "bunch-1.0.1"; 1740 meta.maintainers = with maintainers; [ mornfall ]; 1741 1742 src = pkgs.fetchurl { 1743 url = "https://pypi.python.org/packages/source/b/bunch/${name}.tar.gz"; 1744 sha256 = "1akalx2pd1fjlvrq69plvcx783ppslvikqdm93z2sdybq07pmish"; 1745 }; 1746 doCheck = false; 1747 }); 1748 1749 1750 cairocffi = buildPythonPackage rec { 1751 name = "cairocffi-0.7.1"; 1752 1753 src = pkgs.fetchurl { 1754 url = "https://pypi.python.org/packages/source/c/cairocffi/${name}.tar.gz"; 1755 md5 = "e26d06a8d8b16c7210414ce15d453636"; 1756 }; 1757 1758 propagatedBuildInputs = with self; [ cffi ]; 1759 1760 meta = { 1761 homepage = https://github.com/SimonSapin/cairocffi; 1762 license = "bsd"; 1763 description = "cffi-based cairo bindings for Python"; 1764 }; 1765 }; 1766 1767 1768 carrot = buildPythonPackage rec { 1769 name = "carrot-0.10.7"; 1770 1771 src = pkgs.fetchurl { 1772 url = "http://pypi.python.org/packages/source/c/carrot/${name}.tar.gz"; 1773 md5 = "530a0614de3a669314c3acd4995c54d5"; 1774 }; 1775 1776 buildInputs = with self; [ self.nose ]; 1777 1778 propagatedBuildInputs = 1779 [ self.amqplib 1780 self.anyjson 1781 ]; 1782 1783 doCheck = false; # depends on the network 1784 1785 meta = { 1786 homepage = http://pypi.python.org/pypi/carrot; 1787 description = "AMQP Messaging Framework for Python"; 1788 }; 1789 }; 1790 1791 cassandra-driver = buildPythonPackage rec { 1792 name = "cassandra-driver-2.6.0c2"; 1793 1794 src = pkgs.fetchurl { 1795 url = "http://pypi.python.org/packages/source/c/cassandra-driver/${name}.tar.gz"; 1796 sha256 = "00cc2rkvkxaxn7sf2qzy29s6h394fla73rbdh9krxbswp5nvp27r"; 1797 }; 1798 1799 propagatedBuildInputs = with self; [ 1800 futures 1801 nose 1802 six 1803 sure 1804 pytz 1805 pyyaml 1806 ]; 1807 1808 meta = { 1809 homepage = http://datastax.github.io/python-driver/; 1810 description = "A Python client driver for Apache Cassandra"; 1811 }; 1812 }; 1813 1814 1815 celery = buildPythonPackage rec { 1816 name = "celery-${version}"; 1817 version = "3.1.17"; 1818 1819 disabled = pythonOlder "2.6"; 1820 1821 src = pkgs.fetchurl { 1822 url = "https://pypi.python.org/packages/source/c/celery/${name}.tar.gz"; 1823 sha256 = "0qh38xnbgbj7awpjxxvjlddyafxyyy3fhxcas3i8dmcb4r9vdqng"; 1824 md5 = "e37f5d93b960bf68fc26c1325f30fd16"; 1825 }; 1826 1827 buildInputs = with self; [ mock nose unittest2 ]; 1828 propagatedBuildInputs = with self; [ kombu billiard pytz anyjson ]; 1829 1830 # tests broken on python 2.6? https://github.com/nose-devs/nose/issues/806 1831 doCheck = pythonAtLeast "2.7"; 1832 1833 meta = { 1834 homepage = https://github.com/celery/celery/; 1835 description = "Distributed task queue"; 1836 license = licenses.bsd3; 1837 }; 1838 }; 1839 1840 1841 certifi = buildPythonPackage rec { 1842 name = "certifi-${version}"; 1843 version = "14.05.14"; 1844 1845 src = pkgs.fetchurl { 1846 url = "https://pypi.python.org/packages/source/c/certifi/${name}.tar.gz"; 1847 sha256 = "0s8vxzfz6s4m6fvxc7z25k9j35w0rh6jkw3wwcd1az1mssncn6qy"; 1848 }; 1849 1850 meta = { 1851 homepage = http://certifi.io/; 1852 description = "Python package for providing Mozilla's CA Bundle"; 1853 license = licenses.isc; 1854 maintainers = with maintainers; [ koral ]; 1855 }; 1856 }; 1857 1858 characteristic = buildPythonPackage rec { 1859 name = "characteristic-14.1.0"; 1860 src = pkgs.fetchurl { 1861 url = "https://pypi.python.org/packages/source/c/characteristic/${name}.tar.gz"; 1862 md5 = "68ea7e28997fc57d3631791ec0567a05"; 1863 }; 1864 1865 buildInputs = with self; [ self.pytest ]; 1866 1867 meta = { 1868 description = "Python attributes without boilerplate"; 1869 homepage = https://characteristic.readthedocs.org; 1870 }; 1871 }; 1872 1873 1874 cheetah = buildPythonPackage rec { 1875 version = "2.4.4"; 1876 name = "cheetah-${version}"; 1877 disabled = isPy3k; 1878 1879 src = pkgs.fetchurl { 1880 url = "http://pypi.python.org/packages/source/C/Cheetah/Cheetah-${version}.tar.gz"; 1881 md5 = "853917116e731afbc8c8a43c37e6ddba"; 1882 }; 1883 1884 propagatedBuildInputs = with self; [ self.markdown ]; 1885 1886 meta = { 1887 homepage = http://www.cheetahtemplate.org/; 1888 description = "A template engine and code generation tool"; 1889 }; 1890 }; 1891 1892 1893 cherrypy = buildPythonPackage (rec { 1894 name = "cherrypy-${version}"; 1895 version = "3.2.2"; 1896 1897 src = pkgs.fetchurl { 1898 url = "http://download.cherrypy.org/cherrypy/${version}/CherryPy-${version}.tar.gz"; 1899 sha256 = "14dn129h69wj0h8yr0bjwbrk8kygl6mkfnxc5m3fxhlm4xb8hnnw"; 1900 }; 1901 1902 # error: invalid command 'test' 1903 doCheck = false; 1904 1905 meta = { 1906 homepage = "http://www.cherrypy.org"; 1907 description = "A pythonic, object-oriented HTTP framework"; 1908 }; 1909 }); 1910 1911 1912 cjson = buildPythonPackage rec { 1913 name = "python-cjson-${version}"; 1914 version = "1.1.0"; 1915 disabled = isPy3k || isPyPy; 1916 1917 src = pkgs.fetchurl { 1918 url = "https://pypi.python.org/packages/source/p/python-cjson/${name}.tar.gz"; 1919 sha256 = "a01fabb7593728c3d851e1cd9a3efbd18f72650a31a5aa8a74018640da3de8b3"; 1920 }; 1921 1922 meta = { 1923 description = "A very fast JSON encoder/decoder for Python"; 1924 homepage = "http://ag-projects.com/"; 1925 license = licenses.lgpl2; 1926 platforms = platforms.all; 1927 }; 1928 }; 1929 1930 clf = buildPythonPackage rec { 1931 name = "clf-${version}"; 1932 version = "0.5.2"; 1933 1934 src = pkgs.fetchurl { 1935 url = "https://pypi.python.org/packages/source/c/clf/${name}.tar.gz"; 1936 sha256 = "04lqd2i4fjs606b0q075yi9xksk567m0sfph6v6j80za0hvzqyy5"; 1937 }; 1938 1939 # Error when running tests: 1940 # No local packages or download links found for requests 1941 doCheck = false; 1942 1943 meta = { 1944 homepage = https://github.com/ncrocfer/clf; 1945 description = "Command line tool to search snippets on Commandlinefu.com"; 1946 license = licenses.mit; 1947 maintainers = with maintainers; [ koral ]; 1948 }; 1949 }; 1950 1951 click = buildPythonPackage rec { 1952 name = "click-5.1"; 1953 1954 src = pkgs.fetchurl { 1955 url = "https://pypi.python.org/packages/source/c/click/${name}.tar.gz"; 1956 sha256 = "0njsm0wn31l21bi118g5825ma5sa3rwn7v2x4wjd7yiiahkri337"; 1957 }; 1958 1959 meta = { 1960 homepage = http://click.pocoo.org/; 1961 description = "Create beautiful command line interfaces in Python"; 1962 longDescription = '' 1963 A Python package for creating beautiful command line interfaces in a 1964 composable way, with as little code as necessary. 1965 ''; 1966 license = licenses.bsd3; 1967 maintainers = with maintainers; [ nckx ]; 1968 }; 1969 }; 1970 1971 clepy = buildPythonPackage rec { 1972 name = "clepy-0.3.20"; 1973 1974 src = pkgs.fetchurl { 1975 url = "https://pypi.python.org/packages/source/c/clepy/${name}.tar.gz"; 1976 sha256 = "16vibfxms5z4ld8gbkra6dkhqm2cc3jnn0fwp7mw70nlwxnmm51c"; 1977 }; 1978 1979 buildInputs = with self; [ self.mock self.nose self.decorator ]; 1980 1981 meta = { 1982 homepage = http://code.google.com/p/clepy/; 1983 description = "Utilities created by the Cleveland Python users group"; 1984 }; 1985 }; 1986 1987 1988 clientform = buildPythonPackage (rec { 1989 name = "clientform-0.2.10"; 1990 disabled = isPy3k; 1991 1992 src = pkgs.fetchurl { 1993 url = "http://pypi.python.org/packages/source/C/ClientForm/ClientForm-0.2.10.tar.gz"; 1994 sha256 = "0dydh3i1sx7rrj6d0gj375wkjpiivm7jjlsimw6hmwv4ck7yf1wm"; 1995 }; 1996 1997 meta = { 1998 homepage = http://wwwsearch.sourceforge.net/ClientForm/; 1999 2000 license = "bsd"; 2001 2002 description = "Python module for handling HTML forms on the client side"; 2003 }; 2004 }); 2005 2006 2007 cogapp = buildPythonPackage rec { 2008 version = "2.3"; 2009 name = "cogapp-${version}"; 2010 2011 src = pkgs.fetchurl { 2012 url = "https://pypi.python.org/packages/source/c/cogapp/${name}.tar.gz"; 2013 sha256 = "0gzmzbsk54r1qa6wd0yg4zzdxvn2f19ciprr2acldxaknzrpllnn"; 2014 }; 2015 2016 # there are no tests 2017 doCheck = false; 2018 2019 meta = { 2020 description = "A code generator for executing Python snippets in source files"; 2021 homepage = http://nedbatchelder.com/code/cog; 2022 license = licenses.mit; 2023 maintainers = with maintainers; [ lovek323 ]; 2024 platforms = platforms.unix; 2025 }; 2026 }; 2027 2028 2029 colorama = buildPythonPackage rec { 2030 name = "colorama-${version}"; 2031 version = "0.3.3"; 2032 2033 src = pkgs.fetchurl { 2034 url = "https://pypi.python.org/packages/source/c/colorama/${name}.tar.gz"; 2035 sha256 = "eb21f2ba718fbf357afdfdf6f641ab393901c7ca8d9f37edd0bee4806ffa269c"; 2036 }; 2037 2038 meta = { 2039 homepage = https://github.com/tartley/colorama; 2040 license = "bsd"; 2041 description = "Cross-platform colored terminal text"; 2042 }; 2043 }; 2044 2045 2046 coilmq = buildPythonPackage (rec { 2047 name = "coilmq-0.6.1"; 2048 2049 src = pkgs.fetchurl { 2050 url = "http://pypi.python.org/packages/source/C/CoilMQ/CoilMQ-0.6.1.tar.gz"; 2051 md5 = "5f39727415b837abd02651eeb2721749"; 2052 }; 2053 2054 propagatedBuildInputs = with self; [ self.stompclient ]; 2055 2056 preConfigure = '' 2057 sed -i '/distribute/d' setup.py 2058 ''; 2059 2060 buildInputs = with self; [ self.coverage self.sqlalchemy ]; 2061 2062 # ValueError: Could not parse auth file: 2063 # /tmp/nix-build-.../CoilMQ-0.6.1/coilmq/tests/resources/auth.ini 2064 doCheck = false; 2065 2066 meta = { 2067 description = "Simple, lightweight, and easily extensible STOMP message broker"; 2068 homepage = http://code.google.com/p/coilmq/; 2069 license = licenses.asl20; 2070 }; 2071 }); 2072 2073 2074 colander = buildPythonPackage rec { 2075 name = "colander-1.0"; 2076 2077 src = pkgs.fetchurl { 2078 url = "http://pypi.python.org/packages/source/c/colander/${name}.tar.gz"; 2079 md5 = "058576123da7216288c079c9f47693f8"; 2080 }; 2081 2082 propagatedBuildInputs = with self; [ self.translationstring self.iso8601 ]; 2083 2084 meta = { 2085 maintainers = with maintainers; [ garbas iElectric ]; 2086 platforms = platforms.all; 2087 }; 2088 }; 2089 2090 # Backported version of the ConfigParser library of Python 3.3 2091 configparser = if isPy3k then null else buildPythonPackage rec { 2092 name = "configparser-${version}"; 2093 version = "3.3.0r2"; 2094 2095 # running install_egg_info 2096 # error: [Errno 9] Bad file descriptor: '<stdout>' 2097 disabled = isPyPy; 2098 2099 src = pkgs.fetchurl { 2100 url = "https://pypi.python.org/packages/source/c/configparser/${name}.tar.gz"; 2101 sha256 = "6a2318590dfc4013fc5bf53c2bec14a8cb455a232295eb282a13f94786c4b0b2"; 2102 }; 2103 2104 meta = { 2105 maintainers = [ ]; 2106 platforms = platforms.all; 2107 }; 2108 }; 2109 2110 2111 ColanderAlchemy = buildPythonPackage rec { 2112 name = "ColanderAlchemy-0.2.0"; 2113 2114 src = pkgs.fetchurl { 2115 url = "https://pypi.python.org/packages/source/C/ColanderAlchemy/${name}.tar.gz"; 2116 md5 = "b054837bd2753cbf15f7d5028cba421b"; 2117 }; 2118 2119 buildInputs = with self; [ unittest2 ]; 2120 propagatedBuildInputs = with self; [ colander sqlalchemy9 ]; 2121 2122 # string: argument name cannot be overridden via info kwarg. 2123 doCheck = false; 2124 2125 meta = { 2126 description = "Autogenerate Colander schemas based on SQLAlchemy models"; 2127 homepage = https://github.com/stefanofontanelli/ColanderAlchemy; 2128 license = licenses.mit; 2129 }; 2130 }; 2131 2132 2133 configobj = buildPythonPackage (rec { 2134 name = "configobj-5.0.6"; 2135 2136 src = pkgs.fetchurl { 2137 url = "http://pypi.python.org/packages/source/c/configobj/${name}.tar.gz"; 2138 md5 = "e472a3a1c2a67bb0ec9b5d54c13a47d6"; 2139 }; 2140 2141 # error: invalid command 'test' 2142 doCheck = false; 2143 2144 propagatedBuildInputs = with self; [ six ]; 2145 2146 meta = { 2147 description = "Config file reading, writing and validation"; 2148 homepage = http://pypi.python.org/pypi/configobj; 2149 license = licenses.bsd3; 2150 maintainers = with maintainers; [ garbas ]; 2151 }; 2152 }); 2153 2154 2155 configshell_fb = buildPythonPackage rec { 2156 version = "1.1.fb10"; 2157 name = "configshell-fb-${version}"; 2158 2159 src = pkgs.fetchurl { 2160 url = "https://github.com/agrover/configshell-fb/archive/v${version}.tar.gz"; 2161 sha256 = "1dd87xvm98nk3jzybb041gjdahi2z9b53pwqhyxcfj4a91y82ndy"; 2162 }; 2163 2164 propagatedBuildInputs = with self; [ 2165 pyparsing 2166 modules.readline 2167 urwid 2168 ]; 2169 2170 meta = { 2171 description = "A Python library for building configuration shells"; 2172 homepage = "https://github.com/agrover/configshell-fb"; 2173 platforms = platforms.linux; 2174 }; 2175 }; 2176 2177 2178 construct = buildPythonPackage rec { 2179 name = "construct-2.5.2"; 2180 2181 src = pkgs.fetchurl { 2182 url = "https://pypi.python.org/packages/source/c/construct/${name}.tar.gz"; 2183 sha256 = "084h02p0m8lhmlywlwjdg0kd0hd6sz481c96qwcm5wddxrqn4nv6"; 2184 }; 2185 2186 propagatedBuildInputs = with self; [ six ]; 2187 2188 meta = { 2189 description = "Powerful declarative parser (and builder) for binary data"; 2190 homepage = http://construct.readthedocs.org/; 2191 license = licenses.mit; 2192 platforms = platforms.linux; 2193 maintainers = with maintainers; [ bjornfor ]; 2194 }; 2195 }; 2196 2197 2198 contextlib2 = buildPythonPackage rec { 2199 name = "contextlib2-0.4.0"; 2200 2201 src = pkgs.fetchurl rec { 2202 url = "https://pypi.python.org/packages/source/c/contextlib2/${name}.tar.gz"; 2203 md5 = "ea687207db25f65552061db4a2c6727d"; 2204 }; 2205 }; 2206 2207 cookies = buildPythonPackage rec { 2208 name = "cookies-2.2.1"; 2209 2210 src = pkgs.fetchurl { 2211 url = "https://pypi.python.org/packages/source/c/cookies/${name}.tar.gz"; 2212 sha256 = "13pfndz8vbk4p2a44cfbjsypjarkrall71pgc97glk5fiiw9idnn"; 2213 }; 2214 2215 doCheck = false; 2216 2217 meta = { 2218 description = "Friendlier RFC 6265-compliant cookie parser/renderer"; 2219 homepage = https://github.com/sashahart/cookies; 2220 license = licenses.mit; 2221 }; 2222 }; 2223 2224 coverage = buildPythonPackage rec { 2225 name = "coverage-3.7.1"; 2226 2227 src = pkgs.fetchurl { 2228 url = "http://pypi.python.org/packages/source/c/coverage/${name}.tar.gz"; 2229 sha256 = "0knlbq79g2ww6xzsyknj9rirrgrgc983dpa2d9nkdf31mb2a3bni"; 2230 }; 2231 2232 meta = { 2233 description = "Code coverage measurement for python"; 2234 homepage = http://nedbatchelder.com/code/coverage/; 2235 license = licenses.bsd3; 2236 }; 2237 }; 2238 2239 covCore = buildPythonPackage rec { 2240 name = "cov-core-1.15.0"; 2241 src = pkgs.fetchurl { 2242 url = "http://pypi.python.org/packages/source/c/cov-core/${name}.tar.gz"; 2243 md5 = "f519d4cb4c4e52856afb14af52919fe6"; 2244 }; 2245 meta = { 2246 description = "plugin core for use by pytest-cov, nose-cov and nose2-cov"; 2247 }; 2248 propagatedBuildInputs = with self; [ self.coverage ]; 2249 }; 2250 2251 crcmod = buildPythonPackage rec { 2252 name = "crcmod-1.7"; 2253 src = pkgs.fetchurl { 2254 url = https://pypi.python.org/packages/source/c/crcmod/crcmod-1.7.tar.gz; 2255 sha256 = "07k0hgr42vw2j92cln3klxka81f33knd7459cn3d8aszvfh52w6w"; 2256 }; 2257 meta = { 2258 description = "Python module for generating objects that compute the Cyclic Redundancy Check (CRC)"; 2259 homepage = http://crcmod.sourceforge.net/; 2260 license = licenses.mit; 2261 }; 2262 }; 2263 2264 cython = buildPythonPackage rec { 2265 name = "Cython-${version}"; 2266 version = "0.22.1"; 2267 2268 src = pkgs.fetchurl { 2269 url = "http://www.cython.org/release/${name}.tar.gz"; 2270 sha256 = "7fff120e65e7b66edb4a42823f5642bad3bc1e5601bf882d66aee50248cf0682"; 2271 }; 2272 2273 setupPyBuildFlags = ["--build-base=$out"]; 2274 2275 buildInputs = with self; [ pkgs.pkgconfig ]; 2276 2277 meta = { 2278 description = "An optimising static compiler for both the Python programming language and the extended Cython programming language"; 2279 platforms = platforms.all; 2280 homepage = http://cython.org; 2281 license = licenses.asl20; 2282 }; 2283 }; 2284 2285 cytoolz = buildPythonPackage rec { 2286 name = "cytoolz-${version}"; 2287 version = "0.7.3"; 2288 2289 src = pkgs.fetchurl{ 2290 url = "https://pypi.python.org/packages/source/c/cytoolz/cytoolz-${version}.tar.gz"; 2291 md5 = "e9f0441d9f340a23c60357f68f25d163"; 2292 }; 2293 2294 meta = { 2295 homepage = "http://github.com/pytoolz/cytoolz/"; 2296 description = "Cython implementation of Toolz: High performance functional utilities"; 2297 license = "licenses.bsd3"; 2298 }; 2299 }; 2300 2301 cryptacular = buildPythonPackage rec { 2302 name = "cryptacular-1.4.1"; 2303 2304 buildInputs = with self; [ coverage nose ]; 2305 propagatedBuildInputs = with self; [ pbkdf2 modules.crypt ]; 2306 2307 src = pkgs.fetchurl { 2308 url = "http://pypi.python.org/packages/source/c/cryptacular/${name}.tar.gz"; 2309 md5 = "fe12232ac660185186dd8057d8ca7b0e"; 2310 }; 2311 2312 # TODO: tests fail: TypeError: object of type 'NoneType' has no len() 2313 doCheck = false; 2314 2315 meta = { 2316 maintainers = with maintainers; [ iElectric ]; 2317 }; 2318 }; 2319 2320 cryptography = buildPythonPackage rec { 2321 name = "cryptography-1.0"; 2322 2323 src = pkgs.fetchurl { 2324 url = "https://pypi.python.org/packages/source/c/cryptography/${name}.tar.gz"; 2325 sha256 = "008hq9s4z7y17yjxh1aycvddas320hfbl9vj8gydg4fpfzz04711"; 2326 }; 2327 2328 buildInputs = [ pkgs.openssl self.pretend self.cryptography_vectors 2329 self.iso8601 self.pyasn1 self.pytest self.py ]; 2330 propagatedBuildInputs = [ self.six self.idna self.ipaddress ] 2331 ++ optional (!isPyPy) self.cffi 2332 ++ optional (pythonOlder "3.4") self.enum34; 2333 }; 2334 2335 idna = buildPythonPackage rec { 2336 name = "idna-2.0"; 2337 2338 src = pkgs.fetchurl { 2339 url = "https://pypi.python.org/packages/source/i/idna/${name}.tar.gz"; 2340 sha256 = "0frxgmgi234lr9hylg62j69j4ik5zhg0wz05w5dhyacbjfnrl68n"; 2341 }; 2342 2343 meta = { 2344 homepage = "http://github.com/kjd/idna/"; 2345 description = "Internationalized Domain Names in Applications (IDNA)"; 2346 license = "licenses.bsd3"; 2347 }; 2348 }; 2349 2350 cryptography_vectors = buildPythonPackage rec { 2351 name = "cryptography_vectors-1.0"; 2352 2353 src = pkgs.fetchurl { 2354 url = "https://pypi.python.org/packages/source/c/cryptography-vectors/${name}.tar.gz"; 2355 sha256 = "0d02x93vk0b1fla914bij71pfma0p7sprlvrxq1bb6dxnwc7h9z7"; 2356 }; 2357 }; 2358 2359 pkginfo = buildPythonPackage rec { 2360 version = "1.2.1"; 2361 name = "pkginfo-${version}"; 2362 2363 src = pkgs.fetchurl { 2364 url = "https://pypi.python.org/packages/source/p/pkginfo/${name}.tar.gz"; 2365 sha256 = "0g0g6avplfqw1adzqybbrh1a2z0kfjl8qn3annkrc7w3ibz6sgxd"; 2366 }; 2367 2368 doCheck = false; # I don't know why, but with doCheck = true it fails. 2369 2370 meta = { 2371 homepage = https://pypi.python.org/pypi/pkginfo; 2372 license = licenses.mit; 2373 description = "Query metadatdata from sdists / bdists / installed packages."; 2374 2375 longDescription = '' 2376 This package provides an API for querying the distutils metadata 2377 written in the PKG-INFO file inside a source distriubtion (an sdist) 2378 or a binary distribution (e.g., created by running bdist_egg). It can 2379 also query the EGG-INFO directory of an installed distribution, and the 2380 *.egg-info stored in a development checkout (e.g, created by running 2381 setup.py develop). 2382 ''; 2383 }; 2384 }; 2385 2386 pretend = buildPythonPackage rec { 2387 name = "pretend-1.0.8"; 2388 2389 src = pkgs.fetchurl { 2390 url = "https://pypi.python.org/packages/source/p/pretend/pretend-1.0.8.tar.gz"; 2391 sha256 = "0r5r7ygz9m6d2bklflbl84cqhjkc2q12xgis8268ygjh30g2q3wk"; 2392 }; 2393 2394 meta = { 2395 homepage = https://github.com/alex/pretend; 2396 license = licenses.bsd3; 2397 }; 2398 }; 2399 2400 2401 detox = self.buildPythonPackage rec { 2402 name = "detox-0.9.3"; 2403 2404 propagatedBuildInputs = with self; [ tox py eventlet ]; 2405 2406 src = pkgs.fetchurl { 2407 url = "https://pypi.python.org/packages/source/d/detox/detox-0.9.3.tar.gz"; 2408 md5 = "b52588ec61cd4c2d33e419677a5eac8c"; 2409 }; 2410 2411 meta = { 2412 description = "What is detox?"; 2413 homepage = http://bitbucket.org/hpk42/detox; 2414 }; 2415 }; 2416 2417 2418 pbkdf2 = buildPythonPackage rec { 2419 name = "pbkdf2-1.3"; 2420 2421 src = pkgs.fetchurl { 2422 url = "http://pypi.python.org/packages/source/p/pbkdf2/${name}.tar.gz"; 2423 md5 = "40cda566f61420490206597243dd869f"; 2424 }; 2425 2426 # ImportError: No module named test 2427 doCheck = false; 2428 2429 meta = { 2430 maintainers = with maintainers; [ iElectric ]; 2431 }; 2432 }; 2433 2434 bcrypt = buildPythonPackage rec { 2435 name = "bcrypt-1.0.2"; 2436 2437 src = pkgs.fetchurl { 2438 url = "http://pypi.python.org/packages/source/b/bcrypt/${name}.tar.gz"; 2439 md5 = "c5df008669d17dd6eeb5e2042d5e136f"; 2440 }; 2441 2442 buildInputs = with self; [ pycparser mock pytest py ] ++ optionals (!isPyPy) [ cffi ]; 2443 2444 meta = { 2445 maintainers = with maintainers; [ iElectric ]; 2446 }; 2447 }; 2448 2449 cffi_0_8 = buildPythonPackage rec { 2450 name = "cffi-0.8.6"; 2451 2452 src = pkgs.fetchurl { 2453 url = "http://pypi.python.org/packages/source/c/cffi/${name}.tar.gz"; 2454 sha256 = "0406j3sgndmx88idv5zxkkrwfqxmjl18pj8gf47nsg4ymzixjci5"; 2455 }; 2456 2457 propagatedBuildInputs = with self; [ pkgs.libffi pycparser ]; 2458 2459 meta = { 2460 maintainers = with maintainers; [ iElectric ]; 2461 }; 2462 }; 2463 2464 cffi = buildPythonPackage rec { 2465 name = "cffi-1.1.2"; 2466 2467 src = pkgs.fetchurl { 2468 url = "https://pypi.python.org/packages/source/c/cffi/${name}.tar.gz"; 2469 md5 = "ca6e6c45b45caa87aee9adc7c796eaea"; 2470 }; 2471 2472 propagatedBuildInputs = with self; [ pkgs.libffi pycparser ]; 2473 2474 meta = { 2475 maintainers = with maintainers; [ iElectric ]; 2476 }; 2477 }; 2478 2479 pycollada = buildPythonPackage rec { 2480 name = "pycollada-0.4.1"; 2481 2482 src = pkgs.fetchurl { 2483 url = "http://pypi.python.org/packages/source/p/pycollada/${name}.tar.gz"; 2484 sha256 = "0i50lh98550pwr95zgzrgiqzsspm09wl52xlv83y5nrsz4mblylv"; 2485 }; 2486 2487 # pycollada-0.4 needs python-dateutil==1.5 2488 buildInputs = with self; [ dateutil_1_5 numpy ]; 2489 2490 # Some tests fail because they refer to test data files that don't exist 2491 # (upstream packaging issue) 2492 doCheck = false; 2493 2494 meta = { 2495 description = "Python library for reading and writing collada documents"; 2496 homepage = http://pycollada.github.io/; 2497 license = "BSD"; # they don't specify which BSD variant 2498 platforms = with platforms; linux ++ darwin; 2499 maintainers = with maintainers; [ bjornfor ]; 2500 }; 2501 }; 2502 2503 pycparser = buildPythonPackage rec { 2504 name = "pycparser-2.10"; 2505 2506 src = pkgs.fetchurl { 2507 url = "http://pypi.python.org/packages/source/p/pycparser/${name}.tar.gz"; 2508 md5 = "d87aed98c8a9f386aa56d365fe4d515f"; 2509 }; 2510 2511 # ImportError: No module named test 2512 doCheck = false; 2513 2514 meta = { 2515 maintainers = with maintainers; [ iElectric ]; 2516 }; 2517 }; 2518 2519 pytest = buildPythonPackage rec { 2520 name = "pytest-2.7.2"; 2521 2522 src = pkgs.fetchurl { 2523 url = "http://pypi.python.org/packages/source/p/pytest/${name}.tar.gz"; 2524 sha256 = "b30457f735420d0000d10a44bbd478cf03f8bf20e25bd77248f9bab40f4fd6a4"; 2525 }; 2526 2527 preCheck = '' 2528 # don't test bash builtins 2529 rm testing/test_argcomplete.py 2530 ''; 2531 2532 propagatedBuildInputs = with self; [ py ] 2533 ++ (optional isPy26 argparse) 2534 ++ stdenv.lib.optional 2535 pkgs.config.pythonPackages.pytest.selenium or false 2536 self.selenium; 2537 2538 meta = { 2539 maintainers = with maintainers; [ iElectric lovek323 madjar ]; 2540 platforms = platforms.unix; 2541 }; 2542 }; 2543 2544 pytestcache = buildPythonPackage rec { 2545 name = "pytest-cache-1.0"; 2546 src = pkgs.fetchurl { 2547 url = "https://pypi.python.org/packages/source/p/pytest-cache/pytest-cache-1.0.tar.gz"; 2548 sha256 = "1a873fihw4rhshc722j4h6j7g3nj7xpgsna9hhg3zn6ksknnhx5y"; 2549 }; 2550 2551 propagatedBuildInputs = with self ; [ pytest execnet ]; 2552 2553 meta = { 2554 license = licenses.mit; 2555 website = "https://pypi.python.org/pypi/pytest-cache/"; 2556 description = "pytest plugin with mechanisms for caching across test runs"; 2557 }; 2558 }; 2559 2560 pytestflakes = buildPythonPackage rec { 2561 name = "pytset-flakes-0.2"; 2562 src = pkgs.fetchurl { 2563 url = "https://pypi.python.org/packages/source/p/pytest-flakes/pytest-flakes-0.2.zip"; 2564 sha256 = "0n4mc2kaqasxmj8jid7jlss7nwgz4qgglcwdyrqvh08dilnp354i"; 2565 }; 2566 2567 propagatedBuildInputs = with self ; [ pytest pyflakes pytestcache ]; 2568 2569 meta = { 2570 license = licenses.mit; 2571 website = "https://pypi.python.org/pypi/pytest-flakes"; 2572 description = "pytest plugin to check source code with pyflakes"; 2573 }; 2574 }; 2575 2576 pytestpep8 = buildPythonPackage rec { 2577 name = "pytest-pep8"; 2578 src = pkgs.fetchurl { 2579 url = "http://pypi.python.org/packages/source/p/pytest-pep8/pytest-pep8-1.0.6.tar.gz"; 2580 sha256 = "06032agzhw1i9d9qlhfblnl3dw5hcyxhagn7b120zhrszbjzfbh3"; 2581 }; 2582 2583 propagatedBuildInputs = with self ; [ pytest pytestcache pep8 ]; 2584 2585 meta = { 2586 license = licenses.mit; 2587 website = "https://pypi.python.org/pypi/pytest-pep8"; 2588 description = "pytest plugin to check PEP8 requirements"; 2589 }; 2590 }; 2591 2592 pytestpep257 = buildPythonPackage rec { 2593 name = "pytest-pep257-${version}"; 2594 version = "0.0.1"; 2595 2596 src = pkgs.fetchurl { 2597 url = "https://pypi.python.org/packages/source/p/pytest-pep257/${name}.tar.gz"; 2598 sha256 = "003vdkxpx37n0kjqpwgj3314hwk2jfz3nz58db7xh68bf8xy75lk"; 2599 }; 2600 2601 propagatedBuildInputs = with self ; [ pytest pep257 ]; 2602 2603 meta = { 2604 homepage = https://github.com/anderslime/pytest-pep257; 2605 description = "py.test plugin for PEP257"; 2606 license = licenses.mit; 2607 }; 2608 }; 2609 2610 pytestquickcheck = buildPythonPackage rec { 2611 name = "pytest-quickcheck-0.8.2"; 2612 2613 src = pkgs.fetchurl { 2614 url = "https://pypi.python.org/packages/source/p/pytest-quickcheck/pytest-quickcheck-0.8.2.tar.gz"; 2615 sha256 = "047w4zwdsnlzmsc5f3rapzbzd2frlvz9nnp8v4b48fjmqmxassh3"; 2616 }; 2617 2618 propagatedBuildInputs = with self ; [ pytest pytestflakes pytestpep8 tox ]; 2619 2620 meta = { 2621 license = licenses.asl20; 2622 website = "https://pypi.python.org/pypi/pytest-quickcheck"; 2623 description = "pytest plugin to generate random data inspired by QuickCheck"; 2624 }; 2625 }; 2626 2627 pytestcov = buildPythonPackage (rec { 2628 name = "pytest-cov-1.8.1"; 2629 2630 src = pkgs.fetchurl { 2631 url = "https://pypi.python.org/packages/source/p/pytest-cov/${name}.tar.gz"; 2632 md5 = "76c778afa2494088270348be42d759fc"; 2633 }; 2634 2635 buildInputs = with self; [ covCore pytest ]; 2636 2637 meta = { 2638 description = "py.test plugin for coverage reporting with support for both centralised and distributed testing, including subprocesses and multiprocessing"; 2639 2640 homepage = https://github.com/schlamar/pytest-cov; 2641 2642 license = licenses.mit; 2643 }; 2644 }); 2645 2646 pytest_xdist = buildPythonPackage rec { 2647 name = "pytest-xdist-1.8"; 2648 2649 src = pkgs.fetchurl { 2650 url = "https://pypi.python.org/packages/source/p/pytest-xdist/pytest-xdist-1.8.zip"; 2651 md5 = "9c0b8efe9d43b460f8cf049fa46ce14d"; 2652 }; 2653 2654 buildInputs = with self; [ pytest ]; 2655 propagatedBuildInputs = with self; [ execnet ]; 2656 2657 meta = { 2658 description = "py.test xdist plugin for distributed testing and loop-on-failing modes"; 2659 homepage = http://bitbucket.org/hpk42/pytest-xdist; 2660 }; 2661 }; 2662 2663 cssselect = buildPythonPackage rec { 2664 name = "cssselect-0.7.1"; 2665 src = pkgs.fetchurl { 2666 url = "http://pypi.python.org/packages/source/c/cssselect/cssselect-0.7.1.tar.gz"; 2667 md5 = "c6c5e9a2e7ca226ce03f6f67a771379c"; 2668 }; 2669 # AttributeError: 'module' object has no attribute 'tests' 2670 doCheck = false; 2671 }; 2672 2673 cssutils = buildPythonPackage (rec { 2674 name = "cssutils-0.9.9"; 2675 2676 src = pkgs.fetchurl { 2677 url = http://pypi.python.org/packages/source/c/cssutils/cssutils-0.9.9.zip; 2678 sha256 = "139yfm9yz9k33kgqw4khsljs10rkhhxyywbq9i82bh2r31cil1pp"; 2679 }; 2680 2681 buildInputs = with self; [ self.mock ]; 2682 2683 # couple of failing tests 2684 doCheck = false; 2685 2686 meta = { 2687 description = "A Python package to parse and build CSS"; 2688 2689 homepage = http://code.google.com/p/cssutils/; 2690 2691 license = licenses.lgpl3Plus; 2692 }; 2693 }); 2694 2695 darcsver = buildPythonPackage (rec { 2696 name = "darcsver-1.7.4"; 2697 disabled = isPy3k; 2698 2699 src = pkgs.fetchurl { 2700 url = "http://pypi.python.org/packages/source/d/darcsver/${name}.tar.gz"; 2701 sha256 = "1yb1c3jxqvy4r3qiwvnb86qi5plw6018h15r3yk5ji3nk54qdcb6"; 2702 }; 2703 2704 buildInputs = with self; [ self.mock ]; 2705 2706 # Note: We don't actually need to provide Darcs as a build input. 2707 # Darcsver will DTRT when Darcs isn't available. See news.gmane.org 2708 # http://thread.gmane.org/gmane.comp.file-systems.tahoe.devel/3200 for a 2709 # discussion. 2710 2711 # AttributeError: 'module' object has no attribute 'test_darcsver' 2712 doCheck = false; 2713 2714 meta = { 2715 description = "Darcsver, generate a version number from Darcs history"; 2716 2717 homepage = http://pypi.python.org/pypi/darcsver; 2718 2719 license = "BSD-style"; 2720 }; 2721 }); 2722 2723 datashape = buildPythonPackage rec { 2724 name = "datashape-${version}"; 2725 version = "0.4.6"; 2726 2727 src = pkgs.fetchurl { 2728 url = "https://pypi.python.org/packages/source/D/DataShape/${name}.tar.gz"; 2729 sha256 = "0caa86a4347f1b0c45f3890d78d0b89662189c7dd6df3a8e5ff3532ae8bc434f"; 2730 }; 2731 2732 propagatedBuildInputs = with self; [ numpy multipledispatch dateutil ]; 2733 2734 meta = { 2735 homepage = https://github.com/ContinuumIO/datashape; 2736 description = "A data description language"; 2737 license = licenses.bsd2; 2738 }; 2739 }; 2740 2741 dateutil = buildPythonPackage (rec { 2742 name = "dateutil-2.2"; 2743 2744 src = pkgs.fetchurl { 2745 url = "http://pypi.python.org/packages/source/p/python-dateutil/python-${name}.tar.gz"; 2746 sha256 = "0s74ad6r789810s10dxgvaf48ni6adac2icrdad34zxygqq6bj7f"; 2747 }; 2748 2749 propagatedBuildInputs = with self; [ self.six ]; 2750 2751 meta = { 2752 description = "Powerful extensions to the standard datetime module"; 2753 homepage = http://pypi.python.org/pypi/python-dateutil; 2754 license = "BSD-style"; 2755 }; 2756 }); 2757 2758 # Buildbot 0.8.7p1 needs dateutil==1.5 2759 dateutil_1_5 = buildPythonPackage (rec { 2760 name = "dateutil-1.5"; 2761 2762 src = pkgs.fetchurl { 2763 url = "http://pypi.python.org/packages/source/p/python-dateutil/python-${name}.tar.gz"; 2764 sha256 = "02dhw57jf5kjcp7ng1if7vdrbnlpb9yjmz7wygwwvf3gni4766bg"; 2765 }; 2766 2767 propagatedBuildInputs = with self; [ self.six ]; 2768 2769 meta = { 2770 description = "Powerful extensions to the standard datetime module"; 2771 homepage = http://pypi.python.org/pypi/python-dateutil; 2772 license = "BSD-style"; 2773 }; 2774 }); 2775 2776 # flexget requires 2.1 2777 dateutil_2_1 = buildPythonPackage (rec { 2778 name = "dateutil-2.1"; 2779 2780 src = pkgs.fetchurl { 2781 url = "http://pypi.python.org/packages/source/p/python-dateutil/python-${name}.tar.gz"; 2782 sha256 = "1vlx0lpsxjxz64pz87csx800cwfqznjyr2y7nk3vhmzhkwzyqi2c"; 2783 }; 2784 2785 propagatedBuildInputs = with self; [ self.six ]; 2786 2787 buildInputs = [ pkgs.glibcLocales ]; 2788 2789 preBuild = '' 2790 export LC_ALL="en_US.UTF-8" 2791 ''; 2792 2793 meta = { 2794 description = "Powerful extensions to the standard datetime module"; 2795 homepage = http://pypi.python.org/pypi/python-dateutil; 2796 license = "BSD-style"; 2797 }; 2798 }); 2799 2800 ddar = buildPythonPackage { 2801 name = "ddar-1.0"; 2802 2803 src = pkgs.fetchurl { 2804 url = "https://github.com/basak/ddar/archive/v1.0.tar.gz"; 2805 sha256 = "08lv7hrbhcv6hbl01sx8fgx3l8s2nn8rvcicdidafwm87bvi2nmr"; 2806 }; 2807 2808 preBuild = '' 2809 make -f Makefile.prep synctus/ddar_pb2.py 2810 ''; 2811 2812 propagatedBuildInputs = with self; [ protobuf modules.sqlite3 ]; 2813 2814 meta = { 2815 description = "Unix de-duplicating archiver"; 2816 license = licenses.gpl3; 2817 homepage = https://github.com/basak/ddar; 2818 }; 2819 }; 2820 2821 decorator = buildPythonPackage rec { 2822 name = "decorator-${version}"; 2823 version = "3.4.2"; 2824 2825 src = pkgs.fetchurl { 2826 url = "http://pypi.python.org/packages/source/d/decorator/${name}.tar.gz"; 2827 sha256 = "7320002ce61dea6aa24adc945d9d7831b3669553158905cdd12f5d0027b54b44"; 2828 }; 2829 2830 meta = { 2831 homepage = http://pypi.python.org/pypi/decorator; 2832 description = "Better living through Python with decorators"; 2833 license = licenses.mit; 2834 }; 2835 }; 2836 2837 deform = buildPythonPackage rec { 2838 name = "deform-2.0a2"; 2839 2840 src = pkgs.fetchurl { 2841 url = "http://pypi.python.org/packages/source/d/deform/${name}.tar.gz"; 2842 md5 = "7a90d41f7fbc18002ce74f39bd90a5e4"; 2843 }; 2844 2845 buildInputs = with self; [] ++ optional isPy26 unittest2; 2846 2847 propagatedBuildInputs = 2848 [ self.beautifulsoup4 2849 self.peppercorn 2850 self.colander 2851 self.translationstring 2852 self.chameleon 2853 self.zope_deprecation 2854 self.coverage 2855 self.nose 2856 ]; 2857 2858 meta = { 2859 maintainers = with maintainers; [ garbas iElectric ]; 2860 platforms = platforms.all; 2861 }; 2862 }; 2863 2864 deform2 = buildPythonPackage rec { 2865 name = "deform-2.0a2"; 2866 2867 src = pkgs.fetchurl { 2868 url = "http://pypi.python.org/packages/source/d/deform/${name}.tar.gz"; 2869 sha256 = "1gfaf1d8zp0mp4h229srlffxdp86w1nni9g4aqsshxysr23x591z"; 2870 }; 2871 2872 buildInputs = with self; [] ++ optional isPy26 unittest2; 2873 2874 propagatedBuildInputs = 2875 [ self.beautifulsoup4 2876 self.peppercorn 2877 self.colander 2878 self.translationstring 2879 self.chameleon 2880 self.zope_deprecation 2881 self.coverage 2882 self.nose 2883 ]; 2884 2885 meta = { 2886 maintainers = with maintainers; [ garbas iElectric ]; 2887 platforms = platforms.all; 2888 }; 2889 }; 2890 2891 2892 deform_bootstrap = buildPythonPackage rec { 2893 name = "deform_bootstrap-0.2.9"; 2894 2895 src = pkgs.fetchurl { 2896 url = "http://pypi.python.org/packages/source/d/deform_bootstrap/${name}.tar.gz"; 2897 sha256 = "1hgq3vqsfqdmlyahnlc40w13viawhpzqf4jzigsggdb41x545fda"; 2898 }; 2899 2900 propagatedBuildInputs = with self; [ deform ]; 2901 2902 meta = { 2903 maintainers = with maintainers; [ iElectric ]; 2904 platforms = platforms.all; 2905 }; 2906 }; 2907 2908 2909 demjson = buildPythonPackage rec { 2910 name = "demjson-1.6"; 2911 2912 src = pkgs.fetchurl { 2913 url = "https://pypi.python.org/packages/source/d/demjson/${name}.tar.gz"; 2914 sha256 = "0abf7wqqq7rk1sycy47ayn5p93yy7gjq50cb2z69wmik1qqrr60x"; 2915 }; 2916 2917 doCheck = false; # there are no tests 2918 2919 preFixup = '' 2920 mkdir -p "$out/bin" 2921 cp jsonlint "$out/bin/" 2922 ''; 2923 2924 meta = { 2925 description = "Encoder/decoder and lint/validator for JSON (JavaScript Object Notation)"; 2926 homepage = http://deron.meranda.us/python/demjson/; 2927 license = licenses.lgpl3Plus; 2928 maintainers = with maintainers; [ bjornfor ]; 2929 platforms = platforms.all; 2930 }; 2931 }; 2932 2933 derpconf = self.buildPythonPackage rec { 2934 name = "derpconf-0.4.9"; 2935 2936 propagatedBuildInputs = with self; [ six ]; 2937 2938 src = pkgs.fetchurl { 2939 url = "https://pypi.python.org/packages/source/d/derpconf/${name}.tar.gz"; 2940 md5 = "a164807d7bf0c4adf1de781305f29b82"; 2941 }; 2942 2943 meta = { 2944 description = "derpconf abstracts loading configuration files for your app"; 2945 homepage = https://github.com/globocom/derpconf; 2946 license = licenses.mit; 2947 }; 2948 }; 2949 2950 discogs_client = buildPythonPackage rec { 2951 name = "discogs-client-2.0.2"; 2952 2953 src = pkgs.fetchurl { 2954 url = "https://pypi.python.org/packages/source/d/discogs-client/${name}.tar.gz"; 2955 md5 = "2cc57e1d134aa93404e779b9311676fa"; 2956 }; 2957 2958 propagatedBuildInputs = with self; [ oauth2 requests ]; 2959 2960 meta = { 2961 description = "Official Python API client for Discogs"; 2962 license = licenses.bsd2; 2963 homepage = "https://github.com/discogs/discogs_client"; 2964 }; 2965 }; 2966 2967 dns = buildPythonPackage rec { 2968 name = "dnspython-${version}"; 2969 version = "1.12.0"; 2970 2971 src = pkgs.fetchurl { 2972 url = "http://www.dnspython.org/kits/1.12.0/dnspython-1.12.0.tar.gz"; 2973 sha256 = "0kvjlkp96qzh3j31szpjlzqbp02brixh4j4clnpw80b0hspq5yq3"; 2974 }; 2975 }; 2976 2977 dnspython3 = buildPythonPackage rec { 2978 name = "dnspython3-${version}"; 2979 version = "1.12.0"; 2980 2981 disabled = (!isPy3k); 2982 2983 src = pkgs.fetchurl { 2984 url = "https://pypi.python.org/packages/source/d/dnspython3/${name}.zip"; 2985 sha256 = "138wxj702vx6zni9g2y8dbgbpin95v6hk23rh2kwfr3q4130jqz9"; 2986 }; 2987 2988 meta = { 2989 description = "A DNS toolkit for Python 3.x"; 2990 homepage = http://www.dnspython.org; 2991 # BSD-like, check http://www.dnspython.org/LICENSE for details 2992 license = licenses.free; 2993 }; 2994 }; 2995 2996 docker = buildPythonPackage rec { 2997 name = "docker-py-1.3.1"; 2998 2999 src = pkgs.fetchurl { 3000 url = "https://pypi.python.org/packages/source/d/docker-py/${name}.tar.gz"; 3001 md5 = "07a5f41fd3f8cc72d05deed628700e99"; 3002 }; 3003 3004 propagatedBuildInputs = with self; [ six requests websocket_client ]; 3005 3006 # Version conflict 3007 doCheck = false; 3008 3009 meta = { 3010 description = "An API client for docker written in Python"; 3011 homepage = https://github.com/docker/docker-py; 3012 license = licenses.asl20; 3013 }; 3014 }; 3015 3016 dockerpty = buildPythonPackage rec { 3017 name = "dockerpty-0.3.4"; 3018 3019 src = pkgs.fetchurl { 3020 url = "https://pypi.python.org/packages/source/d/dockerpty/${name}.tar.gz"; 3021 md5 = "92fb66d28aa19bf5268e7e3935670e5d"; 3022 }; 3023 3024 propagatedBuildInputs = with self; [ six ]; 3025 3026 meta = { 3027 description = "Functionality needed to operate the pseudo-tty (PTY) allocated to a docker container"; 3028 homepage = https://github.com/d11wtq/dockerpty; 3029 license = licenses.asl20; 3030 }; 3031 }; 3032 3033 docker_registry_core = buildPythonPackage rec { 3034 name = "docker-registry-core-2.0.3"; 3035 disabled = isPy3k; 3036 3037 src = pkgs.fetchurl { 3038 url = "https://pypi.python.org/packages/source/d/docker-registry-core/${name}.tar.gz"; 3039 md5 = "610ef9395f2e9a2f91c68d13325fce7b"; 3040 }; 3041 3042 DEPS = "loose"; 3043 3044 doCheck = false; 3045 propagatedBuildInputs = with self; [ 3046 boto redis setuptools simplejson 3047 ]; 3048 3049 patchPhase = "> requirements/main.txt"; 3050 3051 meta = { 3052 description = "Docker registry core package"; 3053 homepage = https://github.com/docker/docker-registry; 3054 license = licenses.asl20; 3055 }; 3056 }; 3057 3058 docker_registry = buildPythonPackage rec { 3059 name = "docker-registry-0.9.1"; 3060 disabled = isPy3k; 3061 3062 src = pkgs.fetchurl { 3063 url = "https://pypi.python.org/packages/source/d/docker-registry/${name}.tar.gz"; 3064 sha256 = "1svm1h59sg4bwj5cy10m016gj0xpiin15nrz5z66h47sbkndvlw3"; 3065 }; 3066 3067 DEPS = "loose"; 3068 3069 doCheck = false; # requires redis server 3070 propagatedBuildInputs = with self; [ 3071 setuptools docker_registry_core blinker flask gevent gunicorn pyyaml 3072 requests2 rsa sqlalchemy9 setuptools backports_lzma pyasn1 m2crypto 3073 ]; 3074 3075 patchPhase = "> requirements/main.txt"; 3076 3077 # Default config uses needed env variables 3078 postInstall = '' 3079 ln -s $out/lib/python2.7/site-packages/config/config_sample.yml $out/lib/python2.7/site-packages/config/config.yml 3080 ''; 3081 3082 meta = { 3083 description = "Docker registry core package"; 3084 homepage = https://github.com/docker/docker-registry; 3085 license = licenses.asl20; 3086 }; 3087 }; 3088 3089 docopt = buildPythonPackage rec { 3090 name = "docopt-0.6.2"; 3091 3092 src = pkgs.fetchurl { 3093 url = "https://pypi.python.org/packages/source/d/docopt/${name}.tar.gz"; 3094 md5 = "4bc74561b37fad5d3e7d037f82a4c3b1"; 3095 }; 3096 3097 meta = { 3098 description = "Pythonic argument parser, that will make you smile"; 3099 homepage = http://docopt.org/; 3100 license = licenses.mit; 3101 }; 3102 }; 3103 3104 dogpile_cache = buildPythonPackage rec { 3105 name = "dogpile.cache-0.5.4"; 3106 3107 propagatedBuildInputs = with self; [ dogpile_core ]; 3108 3109 src = pkgs.fetchurl { 3110 url = "https://pypi.python.org/packages/source/d/dogpile.cache/dogpile.cache-0.5.4.tar.gz"; 3111 md5 = "513b77ba1bd0c31bb15dd9dd0d8471af"; 3112 }; 3113 3114 doCheck = false; 3115 3116 meta = { 3117 description = "A caching front-end based on the Dogpile lock"; 3118 homepage = http://bitbucket.org/zzzeek/dogpile.cache; 3119 license = licenses.bsd3; 3120 }; 3121 }; 3122 3123 dogpile_core = buildPythonPackage rec { 3124 name = "dogpile.core-0.4.1"; 3125 3126 src = pkgs.fetchurl { 3127 url = "https://pypi.python.org/packages/source/d/dogpile.core/dogpile.core-0.4.1.tar.gz"; 3128 md5 = "01cb19f52bba3e95c9b560f39341f045"; 3129 }; 3130 3131 doCheck = false; 3132 3133 meta = { 3134 description = "A 'dogpile' lock, typically used as a component of a larger caching solution"; 3135 homepage = http://bitbucket.org/zzzeek/dogpile.core; 3136 license = licenses.bsd3; 3137 }; 3138 }; 3139 3140 dotfiles = buildPythonPackage rec { 3141 name = "dotfiles-0.6.3"; 3142 3143 src = pkgs.fetchurl { 3144 url = "https://pypi.python.org/packages/source/d/dotfiles/${name}.tar.gz"; 3145 md5 = "95a0792eb92a8fc0db8a7e59389470fe"; 3146 }; 3147 3148 doCheck = true; 3149 3150 meta = { 3151 description = "Easily manage your dotfiles"; 3152 homepage = https://github.com/jbernard/dotfiles; 3153 license = licenses.isc; 3154 }; 3155 }; 3156 3157 dpkt = buildPythonPackage rec { 3158 name = "dpkt-1.8"; 3159 disabled = isPy3k; 3160 3161 src = pkgs.fetchurl { 3162 url = "https://dpkt.googlecode.com/files/${name}.tar.gz"; 3163 sha256 = "01q5prynymaqyfsfi2296xncicdpid2hs3yyasim8iigvkwy4vf5"; 3164 }; 3165 3166 # error: invalid command 'test' 3167 doCheck = false; 3168 3169 meta = { 3170 description = "Fast, simple packet creation / parsing, with definitions for the basic TCP/IP protocols"; 3171 homepage = https://code.google.com/p/dpkt/; 3172 license = licenses.bsd3; 3173 maintainers = with maintainers; [ bjornfor ]; 3174 platforms = platforms.all; 3175 }; 3176 }; 3177 3178 urllib3 = buildPythonPackage rec { 3179 name = "urllib3-1.8"; 3180 3181 src = pkgs.fetchurl { 3182 url = "https://pypi.python.org/packages/source/u/urllib3/${name}.tar.gz"; 3183 sha256 = "0pdigfxkq8mhzxxsn6isx8c4h9azqywr1k18yanwyxyj8cdzm28s"; 3184 }; 3185 3186 preConfigure = '' 3187 substituteInPlace test-requirements.txt --replace 'nose==1.3' 'nose' 3188 ''; 3189 3190 checkPhase = '' 3191 nosetests --cover-min-percentage 70 3192 ''; 3193 3194 buildInputs = with self; [ coverage tornado mock nose ]; 3195 3196 meta = { 3197 description = "A Python library for Dropbox's HTTP-based Core and Datastore APIs"; 3198 homepage = https://www.dropbox.com/developers/core/docs; 3199 license = licenses.mit; 3200 }; 3201 }; 3202 3203 3204 dropbox = buildPythonPackage rec { 3205 name = "dropbox-2.2.0"; 3206 doCheck = false; # python 2.7.9 does verify ssl certificates 3207 3208 src = pkgs.fetchurl { 3209 url = "https://pypi.python.org/packages/source/d/dropbox/${name}.zip"; 3210 sha256 = "069jrwb67brqh0sics8fgqdf2mv5y5jl9k5729x8vf80pq2c9p36"; 3211 }; 3212 3213 propagatedBuildInputs = with self; [ urllib3 mock setuptools ]; 3214 3215 meta = { 3216 description = "A Python library for Dropbox's HTTP-based Core and Datastore APIs"; 3217 homepage = https://www.dropbox.com/developers/core/docs; 3218 license = licenses.mit; 3219 }; 3220 }; 3221 3222 3223 elasticsearch = buildPythonPackage (rec { 3224 name = "elasticsearch-1.6.0"; 3225 3226 src = pkgs.fetchurl { 3227 url = "https://pypi.python.org/packages/source/e/elasticsearch/${name}.tar.gz"; 3228 sha256 = "1b0b5d1qp77r83r130kb2ikhd6am0d1389rdcllr1xsajrp5kj4h"; 3229 }; 3230 3231 # Check is disabled because running them destroy the content of the local cluster! 3232 # https://github.com/elasticsearch/elasticsearch-py/tree/master/test_elasticsearch 3233 doCheck = false; 3234 3235 meta = { 3236 description = "Official low-level client for Elasticsearch"; 3237 homepage = https://github.com/elasticsearch/elasticsearch-py; 3238 license = licenses.asl20; 3239 }; 3240 }); 3241 3242 3243 elasticsearchdsl = buildPythonPackage (rec { 3244 name = "elasticsearch-dsl-0.0.4"; 3245 3246 src = pkgs.fetchurl { 3247 url = "https://pypi.python.org/packages/source/e/elasticsearch-dsl/${name}.tar.gz"; 3248 sha256 = "0bz8p10qk7rz10glq9dm2nq9m1x6czzlqk518107x39gx18lm1a2"; 3249 }; 3250 3251 buildInputs = with self; [ covCore dateutil elasticsearch mock pytest pytestcov unittest2 urllib3 pytz ]; 3252 3253 # ImportError: No module named test_elasticsearch_dsl 3254 # Tests require a local instance of elasticsearch 3255 doCheck = false; 3256 3257 meta = { 3258 description = "Python client for Elasticsearch"; 3259 homepage = https://github.com/elasticsearch/elasticsearch-dsl-py; 3260 license = licenses.asl20; 3261 }; 3262 }); 3263 3264 3265 evdev = buildPythonPackage rec { 3266 version = "0.4.7"; 3267 name = "evdev-${version}"; 3268 disabled = isPy34; # see http://bugs.python.org/issue21121 3269 3270 src = pkgs.fetchurl { 3271 url = "https://pypi.python.org/packages/source/e/evdev/${name}.tar.gz"; 3272 sha256 = "1mz8cfncpxc1wbk2nj7apl0ssqc0vfndysxchq3wabd9vzx5p71k"; 3273 }; 3274 3275 buildInputs = with self; [ pkgs.linuxHeaders ]; 3276 3277 patchPhase = "sed -e 's#/usr/include/linux/input.h#${pkgs.linuxHeaders}/include/linux/input.h#' -i setup.py"; 3278 3279 doCheck = false; 3280 3281 meta = { 3282 description = "Provides bindings to the generic input event interface in Linux"; 3283 homepage = http://pythonhosted.org/evdev; 3284 license = licenses.bsd3; 3285 maintainers = with maintainers; [ goibhniu ]; 3286 platforms = platforms.linux; 3287 }; 3288 }; 3289 3290 3291 eventlib = buildPythonPackage rec { 3292 name = "python-eventlib-${version}"; 3293 version = "0.2.1"; 3294 3295 src = pkgs.fetchurl { 3296 url = "http://download.ag-projects.com/SipClient/${name}.tar.gz"; 3297 sha256 = "25224794420f430946fe46932718b521a6264903fe8c0ed3563dfdb844c623e7"; 3298 }; 3299 3300 propagatedBuildInputs = with self; [ greenlet ]; 3301 3302 meta = { 3303 description = "Eventlib bindings for python"; 3304 homepage = "http://ag-projects.com/"; 3305 license = licenses.lgpl2; 3306 platforms = platforms.all; 3307 }; 3308 }; 3309 3310 3311 eyeD3 = buildPythonPackage rec { 3312 version = "0.7.8"; 3313 name = "eyeD3-${version}"; 3314 disabled = isPyPy; 3315 3316 src = pkgs.fetchurl { 3317 url = "http://eyed3.nicfit.net/releases/${name}.tar.gz"; 3318 sha256 = "1nv7nhfn1d0qm7rgkzksbccgqisng8klf97np0nwaqwd5dbmdf86"; 3319 }; 3320 3321 buildInputs = with self; [ paver ]; 3322 3323 postInstall = '' 3324 for prog in "$out/bin/"*; do 3325 wrapProgram "$prog" --prefix PYTHONPATH : "$PYTHONPATH" \ 3326 --prefix PATH : ${python}/bin 3327 done 3328 ''; 3329 3330 meta = { 3331 description = "A Python module and command line program for processing ID3 tags"; 3332 homepage = http://eyed3.nicfit.net/; 3333 license = licenses.gpl2; 3334 maintainers = with maintainers; [ lovek323 ]; 3335 platforms = platforms.unix; 3336 3337 longDescription = '' 3338 eyeD3 is a Python module and command line program for processing ID3 3339 tags. Information about mp3 files (i.e bit rate, sample frequency, play 3340 time, etc.) is also provided. The formats supported are ID3 v1.0/v1.1 3341 and v2.3/v2.4. 3342 ''; 3343 }; 3344 }; 3345 3346 3347 execnet = buildPythonPackage rec { 3348 name = "execnet-1.1"; 3349 3350 src = pkgs.fetchurl { 3351 url = "https://pypi.python.org/packages/source/e/execnet/${name}.zip"; 3352 md5 = "be885ccd9612966bb81839670d2da099"; 3353 }; 3354 3355 doCheck = !isPy3k; # failures.. 3356 3357 meta = { 3358 description = "rapid multi-Python deployment"; 3359 license = licenses.gpl2; 3360 }; 3361 }; 3362 3363 facebook-sdk = buildPythonPackage rec { 3364 name = "facebook-sdk-0.4.0"; 3365 3366 disabled = isPy3k; 3367 3368 src = pkgs.fetchurl { 3369 url = "https://pypi.python.org/packages/source/f/facebook-sdk/facebook-sdk-0.4.0.tar.gz"; 3370 md5 = "ac9f38e197e54b8ba9f3a61988cc33b7"; 3371 }; 3372 3373 meta = with pkgs.stdenv.lib; { 3374 description = "Client library that supports the Facebook Graph API and the official Facebook JavaScript SDK"; 3375 homepage = https://github.com/pythonforfacebook/facebook-sdk; 3376 license = licenses.asl20 ; 3377 }; 3378 }; 3379 3380 faker = buildPythonPackage rec { 3381 name = "faker-0.0.4"; 3382 disabled = isPy3k; 3383 src = pkgs.fetchurl { 3384 url = https://pypi.python.org/packages/source/F/Faker/Faker-0.0.4.tar.gz; 3385 sha256 = "09q5jna3j8di0gw5yjx0dvlndkrk2x9vvqzwyfsvg3nlp8h38js1"; 3386 }; 3387 buildInputs = with self; [ nose ]; 3388 meta = { 3389 description = "A Python library for generating fake user data"; 3390 homepage = http://pypi.python.org/pypi/Faker; 3391 license = licenses.mit; 3392 maintainers = with maintainers; [ lovek323 ]; 3393 platforms = platforms.unix; 3394 }; 3395 }; 3396 3397 fake_factory = buildPythonPackage rec { 3398 name = "fake-factory-0.2"; 3399 src = pkgs.fetchurl { 3400 url = https://pypi.python.org/packages/source/f/fake-factory/fake-factory-0.2.tar.gz; 3401 sha256 = "0qdmk8p4anrj9mf95dh9v7bkhv1pz69hvhlw380kj4iz7b44b6zn"; 3402 }; 3403 meta = { 3404 description = "A Python package that generates fake data for you"; 3405 homepage = https://pypi.python.org/pypi/fake-factory; 3406 license = licenses.mit; 3407 maintainers = with maintainers; [ lovek323 ]; 3408 platforms = platforms.unix; 3409 }; 3410 }; 3411 3412 fabric = buildPythonPackage rec { 3413 name = "fabric-${version}"; 3414 version = "1.10.0"; 3415 src = pkgs.fetchurl { 3416 url = "https://pypi.python.org/packages/source/F/Fabric/Fabric-${version}.tar.gz"; 3417 sha256 = "0nikc05iz1fx2c9pvxrhrs819cpmg566azm99450yq2m8qmp1cpd"; 3418 }; 3419 disabled = isPy3k; 3420 doCheck = (!isPyPy); # https://github.com/fabric/fabric/issues/11891 3421 propagatedBuildInputs = with self; [ paramiko pycrypto ]; 3422 buildInputs = with self; [ fudge nose ]; 3423 }; 3424 3425 fedora_cert = stdenv.mkDerivation (rec { 3426 name = "fedora-cert-0.5.9.2"; 3427 meta.maintainers = with maintainers; [ mornfall ]; 3428 3429 src = pkgs.fetchurl { 3430 url = "https://fedorahosted.org/releases/f/e/fedora-packager/fedora-packager-0.5.9.2.tar.bz2"; 3431 sha256 = "105swvzshgn3g6bjwk67xd8pslnhpxwa63mdsw6cl4c7cjp2blx9"; 3432 }; 3433 3434 propagatedBuildInputs = with self; [ python python_fedora wrapPython ]; 3435 postInstall = "mv $out/bin/fedpkg $out/bin/fedora-cert-fedpkg"; 3436 doCheck = false; 3437 3438 postFixup = "wrapPythonPrograms"; 3439 }); 3440 3441 fedpkg = buildPythonPackage (rec { 3442 name = "fedpkg-1.14"; 3443 meta.maintainers = with maintainers; [ mornfall ]; 3444 3445 src = pkgs.fetchurl { 3446 url = "https://fedorahosted.org/releases/f/e/fedpkg/fedpkg-1.14.tar.bz2"; 3447 sha256 = "0rj60525f2sv34g5llafnkmpvbwrfbmfajxjc14ldwzymp8clc02"; 3448 }; 3449 3450 patches = [ ../development/python-modules/fedpkg-buildfix.diff ]; 3451 propagatedBuildInputs = with self; [ rpkg offtrac urlgrabber fedora_cert ]; 3452 }); 3453 3454 fudge = buildPythonPackage rec { 3455 name = "fudge-0.9.6"; 3456 src = pkgs.fetchurl { 3457 url = "https://pypi.python.org/packages/source/f/fudge/${name}.tar.gz"; 3458 sha256 = "185ia3vr3qk4f2s1a9hdxb8ci4qc0x0xidrad96pywg8j930qs9l"; 3459 }; 3460 buildInputs = with self; [ nose nosejs ]; 3461 propagatedBuildInputs = with self; [ sphinx ]; 3462 }; 3463 3464 3465 funcparserlib = buildPythonPackage rec { 3466 name = "funcparserlib-0.3.6"; 3467 3468 src = pkgs.fetchurl { 3469 url = "https://pypi.python.org/packages/source/f/funcparserlib/${name}.tar.gz"; 3470 md5 = "3aba546bdad5d0826596910551ce37c0"; 3471 }; 3472 3473 meta = { 3474 description = "Recursive descent parsing library based on functional combinators"; 3475 homepage = https://code.google.com/p/funcparserlib/; 3476 license = licenses.mit; 3477 platforms = platforms.linux; 3478 }; 3479 }; 3480 3481 singledispatch = buildPythonPackage rec { 3482 name = "singledispatch-3.4.0.3"; 3483 3484 propagatedBuildInputs = with self; [ six ]; 3485 3486 src = pkgs.fetchurl { 3487 url = "https://pypi.python.org/packages/source/s/singledispatch/${name}.tar.gz"; 3488 md5 = "af2fc6a3d6cc5a02d0bf54d909785fcb"; 3489 }; 3490 3491 meta = { 3492 homepage = http://docs.python.org/3/library/functools.html; 3493 }; 3494 }; 3495 3496 gateone = buildPythonPackage rec { 3497 name = "gateone-1.2-0d57c3"; 3498 disabled = ! isPy27; 3499 src = pkgs.fetchFromGitHub { 3500 rev = "11ed97c663b3e8c1b8eba473b5cf8362b10d57c3"; 3501 owner= "liftoff"; 3502 repo = "GateOne"; 3503 sha256 ="0zp9vfs6sqbx4d0g45kkjinfmsl9zqwa6bhp3xd81wx3ph9yr1hq"; 3504 }; 3505 propagatedBuildInputs = with pkgs.pythonPackages; [tornado futures html5lib readline pkgs.openssl]; 3506 meta = { 3507 homepage = https://liftoffsoftware.com/; 3508 description = "GateOne is a web-based terminal emulator and SSH client"; 3509 maintainers = with maintainers; [ tomberek ]; 3510 3511 }; 3512 }; 3513 3514 gcutil = buildPythonPackage rec { 3515 name = "gcutil-1.16.1"; 3516 meta.maintainers = with maintainers; [ phreedom ]; 3517 3518 src = pkgs.fetchurl { 3519 url = https://dl.google.com/dl/cloudsdk/release/artifacts/gcutil-1.16.1.tar.gz; 3520 sha256 = "00jaf7x1ji9y46fbkww2sg6r6almrqfsprydz3q2swr4jrnrsx9x"; 3521 }; 3522 3523 prePatch = '' 3524 substituteInPlace setup.py \ 3525 --replace "httplib2==0.8" "httplib2" \ 3526 --replace "iso8601==0.1.4" "iso8601" 3527 ''; 3528 3529 propagatedBuildInputs = with self; [ gflags iso8601 ipaddr httplib2 google_apputils google_api_python_client ]; 3530 }; 3531 3532 gmpy = buildPythonPackage rec { 3533 name = "gmpy-1.17"; 3534 3535 src = pkgs.fetchurl { 3536 url = "https://pypi.python.org/packages/source/g/gmpy/${name}.zip"; 3537 md5 = "2bf419076b06e107167e219f60ac6d27"; 3538 }; 3539 3540 buildInputs = [ 3541 pkgs.gcc 3542 pkgs.gmp 3543 ]; 3544 3545 meta = { 3546 description = "GMP or MPIR interface to Python 2.4+ and 3.x"; 3547 homepage = http://code.google.com/p/gmpy/; 3548 }; 3549 }; 3550 3551 gmpy2 = buildPythonPackage rec { 3552 name = "gmpy2-2.0.6"; 3553 3554 src = pkgs.fetchurl { 3555 url = "https://pypi.python.org/packages/source/g/gmpy2/${name}.zip"; 3556 md5 = "7365d880953ba54c2cdcf171c7e19b2b"; 3557 }; 3558 3559 buildInputs = [ 3560 pkgs.gcc 3561 pkgs.gmp 3562 pkgs.mpfr 3563 pkgs.libmpc 3564 ]; 3565 3566 meta = { 3567 description = "GMP/MPIR, MPFR, and MPC interface to Python 2.6+ and 3.x"; 3568 homepage = http://code.google.com/p/gmpy/; 3569 license = licenses.gpl3Plus; 3570 }; 3571 }; 3572 3573 gmusicapi = with pkgs; pythonPackages.buildPythonPackage rec { 3574 name = "gmusicapi-4.0.0"; 3575 3576 src = pkgs.fetchurl { 3577 url = "https://pypi.python.org/packages/source/g/gmusicapi/gmusicapi-4.0.0.tar.gz"; 3578 md5 = "12ba66607531978b349c7035c9bab311"; 3579 }; 3580 3581 propagatedBuildInputs = with pythonPackages; [ 3582 validictory 3583 decorator 3584 mutagen 3585 protobuf 3586 setuptools 3587 requests 3588 dateutil 3589 proboscis 3590 mock 3591 appdirs 3592 oauth2client 3593 ]; 3594 doCheck = false; 3595 3596 meta = { 3597 description = "An unofficial API for Google Play Music"; 3598 homepage = http://pypi.python.org/pypi/gmusicapi/; 3599 license = licenses.bsd3; 3600 }; 3601 }; 3602 3603 gnutls = buildPythonPackage rec { 3604 name = "python-gnutls"; 3605 src = pkgs.fetchurl { 3606 url = "https://pypi.python.org/packages/source/p/python-gnutls/python-gnutls-2.0.1.tar.gz"; 3607 sha256 = "d8fb368c6a4dd58bc6cd5e61d4a12d119c4506fd344a371b3429b3ac2623b9ac"; 3608 }; 3609 3610 propagatedBuildInputs = with self; [ pkgs.gnutls ]; 3611 }; 3612 3613 gitdb = buildPythonPackage rec { 3614 name = "gitdb-0.5.4"; 3615 meta.maintainers = with maintainers; [ mornfall ]; 3616 doCheck = false; 3617 3618 src = pkgs.fetchurl { 3619 url = "https://pypi.python.org/packages/source/g/gitdb/${name}.tar.gz"; 3620 sha256 = "10rpmmlln59aq44cd5vkb77hslak5pa1rbmigg6ski5f1nn2spfy"; 3621 }; 3622 3623 propagatedBuildInputs = with self; [ smmap async ]; 3624 }; 3625 3626 GitPython = buildPythonPackage rec { 3627 name = "GitPython-0.3.2"; 3628 meta.maintainers = with maintainers; [ mornfall ]; 3629 3630 src = pkgs.fetchurl { 3631 url = "https://pypi.python.org/packages/source/G/GitPython/GitPython-0.3.2.RC1.tar.gz"; 3632 sha256 = "1q4lc2ps12l517mmrxc8iq6gxyhj6d77bnk1p7mxf38d99l8crzx"; 3633 }; 3634 3635 buildInputs = with self; [ nose ]; 3636 propagatedBuildInputs = with self; [ gitdb ]; 3637 }; 3638 3639 googlecl = buildPythonPackage rec { 3640 version = "0.9.14"; 3641 name = "googlecl-${version}"; 3642 disabled = isPy3k; 3643 3644 src = pkgs.fetchurl { 3645 url = "https://googlecl.googlecode.com/files/${name}.tar.gz"; 3646 sha256 = "0nnf7xkr780wivr5xnchfcrahlzy9bi2dxcs1w1bh1014jql0iha"; 3647 }; 3648 3649 meta = { 3650 description = "Brings Google services to the command line"; 3651 homepage = https://code.google.com/p/googlecl/; 3652 license = licenses.asl20; 3653 maintainers = with maintainers; [ lovek323 ]; 3654 platforms = platforms.unix; 3655 }; 3656 3657 propagatedBuildInputs = with self; [ gdata ]; 3658 }; 3659 3660 gtimelog = buildPythonPackage rec { 3661 name = "gtimelog-${version}"; 3662 version = "0.9.1"; 3663 3664 disabled = isPy26; 3665 3666 src = pkgs.fetchurl { 3667 url = "https://github.com/gtimelog/gtimelog/archive/${version}.tar.gz"; 3668 sha256 = "0qk8fv8cszzqpdi3wl9vvkym1jil502ycn6sic4jrxckw5s9jsfj"; 3669 }; 3670 3671 buildInputs = [ pkgs.glibcLocales ]; 3672 3673 preBuild = '' 3674 export LC_ALL="en_US.UTF-8" 3675 ''; 3676 3677 # TODO: AppIndicator 3678 propagatedBuildInputs = with self; [ pkgs.gobjectIntrospection pygobject3 pkgs.makeWrapper pkgs.gtk3 ]; 3679 3680 checkPhase = '' 3681 substituteInPlace runtests --replace "/usr/bin/env python" "${python}/bin/${python.executable}" 3682 ./runtests 3683 ''; 3684 3685 preFixup = '' 3686 wrapProgram $out/bin/gtimelog \ 3687 --prefix GI_TYPELIB_PATH : "$GI_TYPELIB_PATH" \ 3688 --prefix LD_LIBRARY_PATH ":" "${pkgs.gtk3}/lib" \ 3689 3690 ''; 3691 3692 meta = { 3693 description = "A small Gtk+ app for keeping track of your time. It's main goal is to be as unintrusive as possible"; 3694 homepage = http://mg.pov.lt/gtimelog/; 3695 license = licenses.gpl2Plus; 3696 maintainers = with maintainers; [ ocharles ]; 3697 platforms = platforms.unix; 3698 }; 3699 }; 3700 3701 humanize = buildPythonPackage rec { 3702 version = "0.5.1"; 3703 name = "humanize-${version}"; 3704 3705 src = pkgs.fetchurl { 3706 url = "https://pypi.python.org/packages/source/h/humanize/${name}.tar.gz"; 3707 md5 = "e8473d9dc1b220911cac2edd53b1d973"; 3708 }; 3709 3710 buildInputs = with self; [ mock ]; 3711 3712 doCheck = false; 3713 3714 meta = { 3715 description = "python humanize utilities"; 3716 homepage = https://github.com/jmoiron/humanize; 3717 license = licenses.mit; 3718 maintainers = with maintainers; [ matthiasbeyer ]; 3719 platforms = platforms.linux; # can only test on linux 3720 }; 3721 3722 }; 3723 3724 hovercraft = buildPythonPackage rec { 3725 disabled = ! isPy3k; 3726 name = "hovercraft-${version}"; 3727 version = "2.0b1"; 3728 3729 src = pkgs.fetchurl { 3730 url = "https://pypi.python.org/packages/source/h/hovercraft/${name}.zip"; 3731 sha256 = "1l88xp563miwwkahil1sxn4kz9khjcx6z85j8d6mq8gjc8rxz3j6"; 3732 }; 3733 3734 propagatedBuildInputs = with self; [ docutils lxml manuel pygments svg-path watchdog ]; 3735 3736 # one test assumes we have docutils 0.12 3737 # TODO: enable tests after upgrading docutils to 0.12 3738 doCheck = false; 3739 3740 meta = { 3741 description = "A tool to make impress.js presentations from reStructuredText"; 3742 homepage = https://github.com/regebro/hovercraft; 3743 license = licenses.mit; 3744 maintainers = with maintainers; [ goibhniu ]; 3745 }; 3746 }; 3747 3748 httpauth = buildPythonPackage rec { 3749 version = "0.2"; 3750 name = "httpauth-${version}"; 3751 3752 src = pkgs.fetchurl { 3753 url = "https://pypi.python.org/packages/source/h/httpauth/${name}.tar.gz"; 3754 md5 = "78d1835a80955e68e98a3ca5ab7f7dbd"; 3755 }; 3756 3757 doCheck = false; 3758 3759 meta = { 3760 description = "WSGI HTTP Digest Authentication middleware"; 3761 homepage = https://github.com/jonashaag/httpauth; 3762 license = licenses.bsd2; 3763 maintainers = with maintainers; [ matthiasbeyer ]; 3764 }; 3765 }; 3766 3767 itsdangerous = buildPythonPackage rec { 3768 name = "itsdangerous-0.24"; 3769 3770 src = pkgs.fetchurl { 3771 url = "https://pypi.python.org/packages/source/i/itsdangerous/${name}.tar.gz"; 3772 sha256 = "06856q6x675ly542ig0plbqcyab6ksfzijlyf1hzhgg3sgwgrcyb"; 3773 }; 3774 3775 meta = { 3776 description = "helpers to pass trusted data to untrusted environments and back"; 3777 homepage = "https://pypi.python.org/pypi/itsdangerous/"; 3778 }; 3779 }; 3780 3781 iniparse = buildPythonPackage rec { 3782 3783 name = "iniparse-${version}"; 3784 version = "0.4"; 3785 3786 src = pkgs.fetchurl { 3787 url = "https://pypi.python.org/packages/source/i/iniparse/iniparse-${version}.tar.gz"; 3788 sha256 = "0m60k46vr03x68jckachzsipav0bwhhnqb8715hm1cngs89fxhdb"; 3789 }; 3790 3791 meta = with stdenv.lib; { 3792 description = "Accessing and Modifying INI files"; 3793 license = licenses.mit; 3794 maintainers = [ "abcz2.uprola@gmail.com" ]; 3795 }; 3796 }; 3797 3798 i3-py = buildPythonPackage rec { 3799 version = "0.6.4"; 3800 name = "i3-py-${version}"; 3801 3802 src = pkgs.fetchurl { 3803 url = "https://pypi.python.org/packages/source/i/i3-py/i3-py-${version}.tar.gz"; 3804 sha256 = "1sgl438jrb4cdyl7hbc3ymwsf7y3zy09g1gh7ynilxpllp37jc8y"; 3805 }; 3806 3807 # no tests in tarball 3808 doCheck = false; 3809 3810 meta = { 3811 description = "tools for i3 users and developers"; 3812 homepage = "https://github.com/ziberna/i3-py"; 3813 license = licenses.gpl3; 3814 platforms = platforms.linux; 3815 }; 3816 }; 3817 3818 jdcal = buildPythonPackage rec { 3819 version = "1.0"; 3820 name = "jdcal-${version}"; 3821 3822 src = pkgs.fetchFromGitHub { 3823 owner = "phn"; 3824 repo = "jdcal"; 3825 rev = "v${version}"; 3826 sha256 = "0jjgrrylraqzk3n97hay4gj00ky6vlvkfaapfgqlbcxyq30j24vq"; 3827 }; 3828 3829 meta = { 3830 description = "A module containing functions for converting between Julian dates and calendar dates"; 3831 homepage = "https://github.com/phn/jdcal"; 3832 license = licenses.bsd2; 3833 maintainers = with maintainers; [ lihop ]; 3834 platforms = platforms.all; 3835 }; 3836 }; 3837 3838 internetarchive = let ver = "0.8.3"; in buildPythonPackage rec { 3839 name = "internetarchive-${ver}"; 3840 3841 src = pkgs.fetchurl { 3842 url = "https://github.com/jjjake/internetarchive/archive/v${ver}.tar.gz"; 3843 sha256 = "0j3l13zvbx50j66l6pnf8y8y8m6gk1sc3yssvfd2scvmv4gnmm8n"; 3844 }; 3845 3846 # It is hardcoded to specific versions, I don't know why. 3847 preConfigure = '' 3848 sed 's/==/>=/' -i setup.py 3849 ''; 3850 3851 propagatedBuildInputs = with self; [ six clint pyyaml docopt pytest 3852 requests2 jsonpatch args ]; 3853 3854 meta = with stdenv.lib; { 3855 description = "A python wrapper for the various Internet Archive APIs"; 3856 homepage = "https://github.com/jjjake/internetarchive"; 3857 }; 3858 }; 3859 3860 jsonpatch = buildPythonPackage rec { 3861 name = "jsonpatch-1.11"; 3862 3863 src = pkgs.fetchurl { 3864 url = "https://pypi.python.org/packages/source/j/jsonpatch/${name}.tar.gz"; 3865 md5 = "9f2d0aa31f99cc97089a203c5bed3924"; 3866 }; 3867 3868 propagatedBuildInputs = with self; [ jsonpointer ]; 3869 3870 meta = { 3871 description = "Library to apply JSON Patches according to RFC 6902"; 3872 homepage = "https://github.com/stefankoegl/python-json-patch"; 3873 license = stdenv.lib.licenses.bsd2; # "Modified BSD licence, says pypi" 3874 }; 3875 }; 3876 3877 jsonpointer = buildPythonPackage rec { 3878 name = "jsonpointer-1.9"; 3879 3880 src = pkgs.fetchurl { 3881 url = "https://pypi.python.org/packages/source/j/jsonpointer/${name}.tar.gz"; 3882 md5 = "c4d3f28e72ba77062538d1c0864c40a9"; 3883 }; 3884 3885 meta = { 3886 description = "Resolve JSON Pointers in Python"; 3887 homepage = "https://github.com/stefankoegl/python-json-pointer"; 3888 license = stdenv.lib.licenses.bsd2; # "Modified BSD licence, says pypi" 3889 }; 3890 }; 3891 3892 jsonwatch = buildPythonPackage rec { 3893 name = "jsonwatch-0.2.0"; 3894 3895 disabled = isPyPy; # doesn't find setuptools 3896 3897 src = pkgs.fetchurl { 3898 url = "https://github.com/dbohdan/jsonwatch/archive/v0.2.0.tar.gz"; 3899 sha256 = "04b616ef97b9d8c3887004995420e52b72a4e0480a92dbf60aa6c50317261e06"; 3900 }; 3901 3902 propagatedBuildInputs = with self; [ six ]; 3903 3904 meta = { 3905 description = "Like watch -d but for JSON"; 3906 longDescription = '' 3907 jsonwatch is a command line utility with which you can track changes in 3908 JSON data delivered by a shell command or a web (HTTP/HTTPS) API. 3909 jsonwatch requests data from the designated source repeatedly at a set 3910 interval and displays the differences when the data changes. It is 3911 similar in its behavior to how watch(1) with the -d switch works 3912 for plain-text data. 3913 ''; 3914 homepage = "https://github.com/dbohdan/jsonwatch"; 3915 license = licenses.mit; 3916 platforms = platforms.all; 3917 }; 3918 }; 3919 3920 logilab_astng = buildPythonPackage rec { 3921 name = "logilab-astng-0.24.3"; 3922 3923 src = pkgs.fetchurl { 3924 url = "http://download.logilab.org/pub/astng/${name}.tar.gz"; 3925 sha256 = "0np4wpxyha7013vkkrdy54dvnil67gzi871lg60z8lap0l5h67wn"; 3926 }; 3927 3928 propagatedBuildInputs = with self; [ logilab_common ]; 3929 }; 3930 3931 mailchimp = buildPythonPackage rec { 3932 3933 version = "2.0.9"; 3934 name = "mailchimp-${version}"; 3935 3936 src = pkgs.fetchurl { 3937 url = "https://pypi.python.org/packages/source/m/mailchimp/mailchimp-${version}.tar.gz"; 3938 sha256 = "0351ai0jqv3dzx0xxm1138sa7mb42si6xfygl5ak8wnfc95ff770"; 3939 }; 3940 3941 # Test fails because specific version of docopt is searched 3942 # (Possible fix: Needs upstream patching in the library) 3943 doCheck = false; 3944 3945 buildInputs = with self; [ docopt ]; 3946 3947 propagatedBuildInputs = with self; [ requests ]; 3948 3949 meta = { 3950 description = "A CLI client and Python API library for the MailChimp email platform"; 3951 homepage = "http://apidocs.mailchimp.com/api/2.0/"; 3952 license = licenses.mit; 3953 }; 3954 }; 3955 3956 mwlib = buildPythonPackage rec { 3957 version = "0.15.15"; 3958 name = "mwlib-${version}"; 3959 3960 src = pkgs.fetchurl { 3961 url = "http://pypi.pediapress.com/packages/mirror/${name}.tar.gz"; 3962 sha256 = "1dnmnkc21zdfaypskbpvkwl0wpkpn0nagj1fc338w64mbxrk8ny7"; 3963 }; 3964 3965 commonDeps = with self; 3966 [ 3967 apipkg 3968 bottle 3969 gevent 3970 lxml 3971 odfpy 3972 pillow 3973 py 3974 pyPdf 3975 pyparsing1 3976 qserve 3977 roman 3978 simplejson 3979 sqlite3dbm 3980 timelib 3981 ]; 3982 3983 pythonPath = commonDeps ++ 3984 [ 3985 modules.sqlite3 3986 ]; 3987 3988 propagatedBuildInputs = commonDeps; 3989 3990 buildInputs = with self; 3991 [ 3992 pil 3993 ] ++ propagatedBuildInputs; 3994 3995 meta = { 3996 description = "Library for parsing MediaWiki articles and converting them to different output formats"; 3997 homepage = "http://pediapress.com/code/"; 3998 license = licenses.bsd3; 3999 }; 4000 }; 4001 4002 motuclient = buildPythonPackage rec { 4003 name = "motu-client-${version}"; 4004 version = "1.0.8"; 4005 4006 namePrefix = ""; 4007 disabled = !isPy27; 4008 4009 src = pkgs.fetchurl { 4010 url = "https://github.com/quiet-oceans/motuclient-setuptools/archive/${name}.tar.gz"; 4011 sha256 = "1naqmav312agn72iad9kyxwscn2lz4v1cfcqqi1qcgvc82vnwkw2"; 4012 }; 4013 4014 meta = { 4015 homepage = https://github.com/quiet-oceans/motuclient-setuptools; 4016 description = "CLI to query oceanographic data to Motu servers"; 4017 longDescription = '' 4018 Access data from (motu)[http://sourceforge.net/projects/cls-motu/] servers. 4019 This is a refactored fork of the original release in order to simplify integration, 4020 deployment and packaging. Upstream code can be found at 4021 http://sourceforge.net/projects/cls-motu/ . 4022 ''; 4023 license = licenses.lgpl3Plus; 4024 maintainers = [ maintainers.lsix ]; 4025 }; 4026 }; 4027 4028 mwlib-ext = buildPythonPackage rec { 4029 version = "0.13.2"; 4030 name = "mwlib.ext-${version}"; 4031 disabled = isPy3k; 4032 4033 src = pkgs.fetchurl { 4034 url = "http://pypi.pediapress.com/packages/mirror/${name}.zip"; 4035 md5 = "36193837359204d3337b297ba0f20bc8"; 4036 }; 4037 4038 meta = { 4039 description = "dependencies for mwlib markup"; 4040 homepage = "http://pediapress.com/code/"; 4041 license = licenses.bsd3; 4042 }; 4043 }; 4044 4045 mwlib-rl = buildPythonPackage rec { 4046 version = "0.14.6"; 4047 name = "mwlib.rl-${version}"; 4048 4049 src = pkgs.fetchurl { 4050 url = "http://pypi.pediapress.com/packages/mirror/${name}.zip"; 4051 md5 = "49d72b0172f69cbe039f62dd4efb65ea"; 4052 }; 4053 4054 buildInputs = with self; 4055 [ 4056 mwlib 4057 mwlib-ext 4058 pygments 4059 ]; 4060 4061 meta = { 4062 description = "generate pdfs from mediawiki markup"; 4063 homepage = "http://pediapress.com/code/"; 4064 license = licenses.bsd3; 4065 }; 4066 }; 4067 4068 natsort = buildPythonPackage rec { 4069 name = "natsort-4.0.0"; 4070 4071 src = pkgs.fetchurl { 4072 url = "https://pypi.python.org/packages/source/n/natsort/${name}.tar.gz"; 4073 md5 = "38cc0bb27c95bf549fe737d9f267f453"; 4074 }; 4075 4076 buildInputs = with self; 4077 [ 4078 hypothesis 4079 pytestcov 4080 pytestflakes 4081 pytestpep8 4082 covCore 4083 ]; 4084 4085 meta = { 4086 description = "Natural sorting for python"; 4087 homepage = https://github.com/SethMMorton/natsort; 4088 license = licenses.mit; 4089 }; 4090 }; 4091 4092 logster = buildPythonPackage { 4093 name = "logster-7475c53822"; 4094 src = pkgs.fetchgit { 4095 url = git://github.com/etsy/logster; 4096 rev = "7475c53822"; 4097 sha256 = "1ls007qmziwb50c5iikxhqin0xbn673gbd25m5k09861435cknvr"; 4098 }; 4099 }; 4100 4101 netcdf4 = buildPythonPackage rec { 4102 name = "netCDF4-${version}"; 4103 version = "1.1.8"; 4104 4105 disabled = isPyPy; 4106 4107 src = pkgs.fetchurl { 4108 url = "https://pypi.python.org/packages/source/n/netCDF4/${name}.tar.gz"; 4109 sha256 = "0y6s8g82rbij0brh9hz3aapyyq6apj8fpmhhlyibz1354as7rjq1"; 4110 }; 4111 4112 propagatedBuildInputs = with self ; [ 4113 numpy 4114 pkgs.zlib 4115 pkgs.netcdf 4116 pkgs.hdf5 4117 pkgs.curl 4118 pkgs.libjpeg 4119 ]; 4120 4121 patchPhase = '' 4122 export USE_NCCONFIG=0 4123 export HDF5_DIR="${pkgs.hdf5}" 4124 export NETCDF4_DIR="${pkgs.netcdf}" 4125 export CURL_DIR="${pkgs.curl}" 4126 export JPEG_DIR="${pkgs.libjpeg}" 4127 ''; 4128 4129 meta = { 4130 description = "interface to netCDF library (versions 3 and 4)"; 4131 homepage = https://pypi.python.org/pypi/netCDF4; 4132 license = licenses.free; # Mix of license (all MIT* like) 4133 }; 4134 }; 4135 4136 odfpy = buildPythonPackage rec { 4137 version = "0.9.6"; 4138 name = "odfpy-${version}"; 4139 4140 src = pkgs.fetchurl { 4141 url = "https://pypi.python.org/packages/source/o/odfpy/${name}.tar.gz"; 4142 md5 = "3f570ead2b5f5eb6eab97eecce22d491"; 4143 }; 4144 4145 buildInputs = with self; with pkgs; [ ]; 4146 4147 propagatedBuildInputs = with self; [ ]; 4148 4149 meta = { 4150 description = "Python API and tools to manipulate OpenDocument files"; 4151 homepage = "https://joinup.ec.europa.eu/software/odfpy/home"; 4152 license = licenses.asl20; 4153 }; 4154 }; 4155 4156 pathtools = buildPythonPackage rec { 4157 name = "pathtools-${version}"; 4158 version = "0.1.2"; 4159 4160 src = pkgs.fetchurl { 4161 url = "https://pypi.python.org/packages/source/p/pathtools/${name}.tar.gz"; 4162 sha256 = "1h7iam33vwxk8bvslfj4qlsdprdnwf8bvzhqh3jq5frr391cadbw"; 4163 }; 4164 4165 meta = { 4166 description = "Pattern matching and various utilities for file systems paths"; 4167 homepage = http://github.com/gorakhargosh/pathtools; 4168 license = licenses.mit; 4169 maintainers = with maintainers; [ goibhniu ]; 4170 }; 4171 }; 4172 4173 paver = buildPythonPackage rec { 4174 version = "1.2.2"; 4175 name = "Paver-${version}"; 4176 4177 src = pkgs.fetchurl { 4178 url = "https://pypi.python.org/packages/source/P/Paver/Paver-${version}.tar.gz"; 4179 sha256 = "0lix9d33ndb3yk56sm1zlj80fbmxp0w60yk0d9pr2xqxiwi88sqy"; 4180 }; 4181 4182 buildInputs = with self; [ cogapp mock virtualenv ]; 4183 4184 propagatedBuildInputs = with self; [ nose ]; 4185 4186 # the tests do not pass 4187 doCheck = false; 4188 4189 meta = { 4190 description = "A Python-based build/distribution/deployment scripting tool"; 4191 homepage = http://github.com/paver/paver; 4192 matinainers = with maintainers; [ lovek323 ]; 4193 platforms = platforms.unix; 4194 }; 4195 }; 4196 4197 passlib = buildPythonPackage rec { 4198 version = "1.6.2"; 4199 name = "passlib-${version}"; 4200 4201 src = pkgs.fetchurl { 4202 url = "https://pypi.python.org/packages/source/p/passlib/passlib-${version}.tar.gz"; 4203 md5 = "2f872ae7c72ca338634c618f2cff5863"; 4204 }; 4205 4206 buildInputs = with self; [ nose pybcrypt]; 4207 4208 meta = { 4209 description = "A password hashing library for Python"; 4210 homepage = https://code.google.com/p/passlib/; 4211 }; 4212 }; 4213 4214 4215 peppercorn = buildPythonPackage rec { 4216 name = "peppercorn-0.5"; 4217 4218 src = pkgs.fetchurl { 4219 url = "http://pypi.python.org/packages/source/p/peppercorn/${name}.tar.gz"; 4220 md5 = "f08efbca5790019ab45d76b7244abd40"; 4221 }; 4222 4223 meta = { 4224 maintainers = with maintainers; [ garbas iElectric ]; 4225 platforms = platforms.all; 4226 }; 4227 }; 4228 4229 pew = buildPythonPackage rec { 4230 name = "pew-0.1.14"; 4231 namePrefix = ""; 4232 4233 disabled = pythonOlder "3.4"; # old versions require backported libraries 4234 4235 src = pkgs.fetchurl { 4236 url = "https://pypi.python.org/packages/source/p/pew/${name}.tar.gz"; 4237 md5 = "0a06ab0885b39f1ef3890893942f3225"; 4238 }; 4239 4240 propagatedBuildInputs = with self; [ virtualenv virtualenv-clone ]; 4241 4242 meta = { 4243 description = "Tools to manage multiple virtualenvs written in pure python, a virtualenvwrapper rewrite"; 4244 license = licenses.mit; 4245 platforms = platforms.all; 4246 maintainers = with maintainers; [ berdario ]; 4247 }; 4248 }; 4249 4250 pies = buildPythonPackage rec { 4251 name = "pies-2.6.5"; 4252 4253 src = pkgs.fetchurl { 4254 url = "https://pypi.python.org/packages/source/p/pies/${name}.tar.gz"; 4255 md5 = "caba1ce15d312bf68d65a5d2cf9ccff2"; 4256 }; 4257 4258 deps = if !isPy3k then [ self.pies2overrides self.enum34 ] 4259 else if isPy33 then [ self.enum34 ] 4260 else []; 4261 4262 propagatedBuildInputs = deps; 4263 4264 meta = { 4265 description = "The simplest way to write one program that runs on both Python 2 and Python 3"; 4266 homepage = https://github.com/timothycrosley/pies; 4267 license = licenses.mit; 4268 }; 4269 }; 4270 4271 pies2overrides = pythonPackages.buildPythonPackage rec { 4272 name = "pies2overrides-2.6.5"; 4273 disabled = isPy3k; 4274 4275 src = pkgs.fetchurl { 4276 url = "https://pypi.python.org/packages/source/p/pies2overrides/${name}.tar.gz"; 4277 md5 = "e73716454a2560341edf99d8f6fe5135"; 4278 }; 4279 4280 propagatedBuildInputs = with self; [ ipaddress ]; 4281 4282 meta = { 4283 description = "Defines override classes that should be included with pies only if running on Python2"; 4284 homepage = https://github.com/timothycrosley/pies; 4285 license = licenses.mit; 4286 }; 4287 }; 4288 4289 4290 poppler-qt4 = buildPythonPackage rec { 4291 name = "poppler-qt4-${version}"; 4292 version = "0.18.1"; 4293 disabled = isPy3k || isPyPy; 4294 4295 src = pkgs.fetchurl { 4296 url = "https://pypi.python.org/packages/source/p/python-poppler-qt4/" + 4297 "python-poppler-qt4-${version}.tar.gz"; 4298 md5 = "9c4c5a59b878aed78e96a6ae58c6c185"; 4299 }; 4300 4301 propagatedBuildInputs = [ pkgs.pyqt4 pkgs.pkgconfig pkgs.poppler_qt4 ]; 4302 4303 preBuild = "${python}/bin/${python.executable} setup.py build_ext" + 4304 " --include-dirs=${pkgs.poppler_qt4}/include/poppler/"; 4305 4306 meta = { 4307 description = "A Python binding to Poppler-Qt4"; 4308 longDescription = '' 4309 A Python binding to Poppler-Qt4 that aims for completeness 4310 and for being actively maintained. 4311 ''; 4312 license = licenses.lgpl21Plus; 4313 maintainers = with maintainers; [ sepi ]; 4314 platforms = platforms.all; 4315 }; 4316 }; 4317 4318 pudb = buildPythonPackage rec { 4319 name = "pudb-2013.3.6"; 4320 4321 src = pkgs.fetchurl { 4322 url = "https://pypi.python.org/packages/source/p/pudb/${name}.tar.gz"; 4323 md5 = "063030763bf914166a0b2bc8c011143b"; 4324 }; 4325 4326 propagatedBuildInputs = with self; [ self.pygments self.urwid ]; 4327 4328 meta = { 4329 description = "A full-screen, console-based Python debugger"; 4330 license = licenses.mit; 4331 platforms = platforms.all; 4332 }; 4333 }; 4334 4335 pycares = buildPythonPackage rec { 4336 name = "pycares-${version}"; 4337 version = "0.7.0"; 4338 4339 src = pkgs.fetchurl { 4340 url = "https://pypi.python.org/packages/source/p/pycares/${name}.tar.gz"; 4341 sha256 = "10lr3ij67khmfm14cb3sqch3vhv37f3j1whwznq6qy4prfmz5gvl"; 4342 }; 4343 4344 propagatedBuildInputs = [ pkgs.c-ares ]; 4345 4346 meta = { 4347 homepage = http://github.com/saghul/pycares; 4348 description = "Interface for c-ares"; 4349 license = licenses.mit; 4350 }; 4351 }; 4352 4353 pyramid = buildPythonPackage rec { 4354 name = "pyramid-1.5.2"; 4355 4356 src = pkgs.fetchurl { 4357 url = "http://pypi.python.org/packages/source/p/pyramid/${name}.tar.gz"; 4358 md5 = "d56b140b41d42f818f4349d94d968c9a"; 4359 }; 4360 4361 preCheck = '' 4362 # test is failing, see https://github.com/Pylons/pyramid/issues/1405 4363 rm pyramid/tests/test_response.py 4364 ''; 4365 4366 buildInputs = with self; [ 4367 docutils 4368 virtualenv 4369 webtest 4370 zope_component 4371 zope_interface 4372 ] ++ optional isPy26 unittest2; 4373 4374 propagatedBuildInputs = with self; [ 4375 paste_deploy 4376 repoze_lru 4377 repoze_sphinx_autointerface 4378 translationstring 4379 venusian 4380 webob 4381 zope_deprecation 4382 zope_interface 4383 ]; 4384 4385 meta = { 4386 maintainers = with maintainers; [ garbas iElectric ]; 4387 platforms = platforms.all; 4388 }; 4389 }; 4390 4391 4392 pyramid_beaker = buildPythonPackage rec { 4393 name = "pyramid_beaker-0.7"; 4394 4395 src = pkgs.fetchurl { 4396 url = "http://pypi.python.org/packages/source/p/pyramid_beaker/${name}.tar.gz"; 4397 md5 = "acb863517a98b90b5f29648ce55dd563"; 4398 }; 4399 4400 propagatedBuildInputs = with self; [ beaker pyramid ]; 4401 4402 meta = { 4403 maintainers = with maintainers; [ iElectric ]; 4404 platforms = platforms.all; 4405 }; 4406 }; 4407 4408 4409 pyramid_chameleon = buildPythonPackage rec { 4410 name = "pyramid_chameleon-0.3"; 4411 4412 src = pkgs.fetchurl { 4413 url = "https://pypi.python.org/packages/source/p/pyramid_chameleon/${name}.tar.gz"; 4414 md5 = "5bb5938356dfd13fce06e095f132e137"; 4415 }; 4416 4417 propagatedBuildInputs = with self; [ 4418 chameleon 4419 pyramid 4420 zope_interface 4421 setuptools 4422 ]; 4423 4424 meta = { 4425 maintainers = with maintainers; [ iElectric ]; 4426 }; 4427 }; 4428 4429 4430 pyramid_jinja2 = buildPythonPackage rec { 4431 name = "pyramid_jinja2-1.9"; 4432 4433 src = pkgs.fetchurl { 4434 url = "http://pypi.python.org/packages/source/p/pyramid_jinja2/${name}.zip"; 4435 md5 = "a6728117cad24749ddb39d2827cd9033"; 4436 }; 4437 4438 buildInputs = with self; [ webtest ]; 4439 propagatedBuildInputs = with self; [ jinja2 pyramid ]; 4440 4441 meta = { 4442 maintainers = with maintainers; [ iElectric ]; 4443 platforms = platforms.all; 4444 }; 4445 }; 4446 4447 4448 pyramid_debugtoolbar = buildPythonPackage rec { 4449 name = "pyramid_debugtoolbar-1.0.9"; 4450 4451 src = pkgs.fetchurl { 4452 url = "http://pypi.python.org/packages/source/p/pyramid_debugtoolbar/${name}.tar.gz"; 4453 sha256 = "1vnzg1qnnyisv7znxg7pasayfyr3nz7rrs5nqr4fmdgwj9q2pyv0"; 4454 }; 4455 4456 buildInputs = with self; [ ]; 4457 propagatedBuildInputs = with self; [ pyramid pyramid_mako ]; 4458 }; 4459 4460 4461 pyramid_mako = buildPythonPackage rec { 4462 name = "pyramid_mako-0.3.1"; 4463 4464 src = pkgs.fetchurl { 4465 url = "http://pypi.python.org/packages/source/p/pyramid_mako/${name}.tar.gz"; 4466 sha256 = "00811djmsc4rz20kpy2paam05fbx6dmrv2i5jf90f6xp6zw4isy6"; 4467 }; 4468 4469 buildInputs = with self; [ webtest ]; 4470 propagatedBuildInputs = with self; [ pyramid Mako ]; 4471 }; 4472 4473 4474 pyramid_exclog = buildPythonPackage rec { 4475 name = "pyramid_exclog-0.7"; 4476 4477 src = pkgs.fetchurl { 4478 url = "http://pypi.python.org/packages/source/p/pyramid_exclog/${name}.tar.gz"; 4479 md5 = "05df86758b0d30ee6f8339ff36cef7a0"; 4480 }; 4481 4482 propagatedBuildInputs = with self; [ pyramid ]; 4483 4484 meta = { 4485 maintainers = with maintainers; [ garbas iElectric ]; 4486 platforms = platforms.all; 4487 }; 4488 }; 4489 4490 4491 pyramid_tm = buildPythonPackage rec { 4492 name = "pyramid_tm-0.10"; 4493 4494 src = pkgs.fetchurl { 4495 url = "http://pypi.python.org/packages/source/p/pyramid_tm/${name}.tar.gz"; 4496 md5 = "89a293488093d6c30036345fa46184d2"; 4497 }; 4498 4499 propagatedBuildInputs = with self; [ transaction pyramid ]; 4500 meta = { 4501 maintainers = with maintainers; [ garbas iElectric matejc ]; 4502 platforms = platforms.all; 4503 }; 4504 }; 4505 4506 4507 pyramid_multiauth = buildPythonPackage rec { 4508 name = "pyramid_multiauth-${version}"; 4509 version = "0.3.2"; 4510 4511 src = pkgs.fetchurl { 4512 url = "https://pypi.python.org/packages/source/p/pyramid_multiauth/${name}.tar.gz"; 4513 md5 = "044e423abc4fb76937ac0c21c1205e9c"; 4514 }; 4515 4516 propagatedBuildInputs = with self; [ pyramid ]; 4517 4518 meta = { 4519 description = "Authentication policy for Pyramid that proxies to a stack of other authentication policies"; 4520 homepage = https://github.com/mozilla-services/pyramid_multiauth; 4521 }; 4522 }; 4523 4524 pyramid_hawkauth = buildPythonPackage rec { 4525 name = "pyramidhawkauth-${version}"; 4526 version = "0.1.0"; 4527 src = pkgs.fetchgit { 4528 url = https://github.com/mozilla-services/pyramid_hawkauth.git; 4529 rev = "refs/tags/v${version}"; 4530 sha256 = "1ic7xl72qnz382xaqhcy9ql17gx7pxbs78znp8xr66sp3dcx2s3c"; 4531 }; 4532 4533 propagatedBuildInputs = with self; [ pyramid hawkauthlib tokenlib webtest ]; 4534 }; 4535 4536 radicale = buildPythonPackage rec { 4537 name = "radicale-${version}"; 4538 namePrefix = ""; 4539 version = "0.10"; 4540 4541 src = pkgs.fetchurl { 4542 url = "http://pypi.python.org/packages/source/R/Radicale/Radicale-${version}.tar.gz"; 4543 sha256 = "0r1x23h9raadpdmxnanvhajvkk0ix377mv94jlazr18nfpsj4r8c"; 4544 }; 4545 4546 propagatedBuildInputs = with self; [ 4547 flup 4548 ldap 4549 sqlalchemy 4550 ]; 4551 4552 doCheck = false; 4553 4554 meta = { 4555 homepage = http://www.radicale.org/; 4556 description = "CalDAV CardDAV server"; 4557 longDescription = '' 4558 The Radicale Project is a complete CalDAV (calendar) and CardDAV 4559 (contact) server solution. Calendars and address books are available for 4560 both local and remote access, possibly limited through authentication 4561 policies. They can be viewed and edited by calendar and contact clients 4562 on mobile phones or computers. 4563 ''; 4564 license = licenses.gpl3Plus; 4565 maintainers = with maintainers; [ edwtjo pSub ]; 4566 }; 4567 }; 4568 4569 raven = buildPythonPackage rec { 4570 name = "raven-3.4.1"; 4571 4572 src = pkgs.fetchurl { 4573 url = "http://pypi.python.org/packages/source/r/raven/${name}.tar.gz"; 4574 md5 = "6a9264133bf646149ffb9118d81445be"; 4575 }; 4576 4577 # way too many dependencies to run tests 4578 # see https://github.com/getsentry/raven-python/blob/master/setup.py 4579 doCheck = false; 4580 4581 meta = { 4582 maintainers = with maintainers; [ iElectric ]; 4583 }; 4584 }; 4585 4586 roman = buildPythonPackage rec { 4587 version = "2.0.0"; 4588 name = "roman-${version}"; 4589 4590 src = pkgs.fetchurl { 4591 url = "https://pypi.python.org/packages/source/r/roman/${name}.zip"; 4592 md5 = "aa71d131eec16d45c030fd06a27c9d17"; 4593 }; 4594 4595 buildInputs = with self; with pkgs; [ ]; 4596 4597 propagatedBuildInputs = with self; [ ]; 4598 4599 meta = { 4600 description = "Integer to Roman numerals converter"; 4601 homepage = "https://pypi.python.org/pypi/roman"; 4602 license = licenses.psfl; 4603 }; 4604 }; 4605 4606 4607 hypatia = buildPythonPackage rec { 4608 name = "hypatia-0.3"; 4609 4610 src = pkgs.fetchurl { 4611 url = "http://pypi.python.org/packages/source/h/hypatia/${name}.tar.gz"; 4612 md5 = "d74c6dda31ff459a39fa5da9e98f2425"; 4613 }; 4614 4615 buildInputs = with self; [ zope_interface zodb ]; 4616 4617 meta = { 4618 maintainers = with maintainers; [ iElectric ]; 4619 }; 4620 }; 4621 4622 4623 zope_copy = buildPythonPackage rec { 4624 name = "zope.copy-4.0.2"; 4625 4626 src = pkgs.fetchurl { 4627 url = "http://pypi.python.org/packages/source/z/zope.copy/${name}.zip"; 4628 md5 = "36aa2c96dec4cfeea57f54da2b733eb9"; 4629 }; 4630 4631 buildInputs = with self; [ zope_interface zope_location zope_schema ]; 4632 4633 meta = { 4634 maintainers = with maintainers; [ iElectric ]; 4635 }; 4636 }; 4637 4638 4639 ssdeep = buildPythonPackage rec { 4640 name = "ssdeep-3.1.1"; 4641 4642 src = pkgs.fetchurl { 4643 url = "http://pypi.python.org/packages/source/s/ssdeep/${name}.tar.gz"; 4644 sha256 = "1p9dpykmnfb73cszdiic5wbz5bmbbmkiih08pb4dah5mwq4n7im6"; 4645 }; 4646 4647 buildInputs = with pkgs; [ ssdeep ]; 4648 propagatedBuildInputs = with self; [ cffi six ]; 4649 }; 4650 4651 4652 statsd = buildPythonPackage rec { 4653 name = "statsd-2.0.2"; 4654 4655 src = pkgs.fetchurl { 4656 url = "http://pypi.python.org/packages/source/s/statsd/${name}.tar.gz"; 4657 md5 = "476ef5b9004f6e2cb25c7da440bb53d0"; 4658 }; 4659 4660 buildInputs = with self; [ ]; 4661 4662 meta = { 4663 maintainers = with maintainers; [ iElectric ]; 4664 }; 4665 }; 4666 4667 py3status = buildPythonPackage rec { 4668 name = "py3status-2.3"; 4669 src = pkgs.fetchurl { 4670 url = "https://pypi.python.org/packages/source/p/py3status/${name}.tar.gz"; 4671 md5 = "89ad395268c7791ff5d36412b1efeeb9"; 4672 }; 4673 propagatedBuildInputs = with self; [ requests2 ]; 4674 meta = { 4675 maintainers = with maintainers; [ garbas ]; 4676 }; 4677 }; 4678 4679 pyramid_zodbconn = buildPythonPackage rec { 4680 name = "pyramid_zodbconn-0.7"; 4681 4682 src = pkgs.fetchurl { 4683 url = "http://pypi.python.org/packages/source/p/pyramid_zodbconn/${name}.tar.gz"; 4684 md5 = "3c7746a227fbcda3e138ab8bfab7700b"; 4685 }; 4686 4687 # should be fixed in next release 4688 doCheck = false; 4689 4690 buildInputs = with self; [ pyramid mock ]; 4691 propagatedBuildInputs = with self; [ zodb zodburi ]; 4692 4693 meta = { 4694 maintainers = with maintainers; [ iElectric ]; 4695 }; 4696 }; 4697 4698 4699 pyramid_mailer = buildPythonPackage rec { 4700 name = "pyramid_mailer-0.13"; 4701 4702 src = pkgs.fetchurl { 4703 url = "http://pypi.python.org/packages/source/p/pyramid_mailer/${name}.tar.gz"; 4704 md5 = "43800c7c894097a23140da58e3638c93"; 4705 }; 4706 4707 buildInputs = with self; [ pyramid transaction ]; 4708 propagatedBuildInputs = with self; [ repoze_sendmail ]; 4709 4710 meta = { 4711 maintainers = with maintainers; [ iElectric ]; 4712 }; 4713 }; 4714 4715 pyrtlsdr = buildPythonPackage rec { 4716 name = "pyrtlsdr-0.2.0"; 4717 4718 src = pkgs.fetchurl { 4719 url = "http://pypi.python.org/packages/source/p/pyrtlsdr/${name}.zip"; 4720 md5 = "646336675a00d38e6f54e77a17011b95"; 4721 }; 4722 4723 postPatch = '' 4724 sed "s|driver_files =.*|driver_files = ['${pkgs.rtl-sdr}/lib/librtlsdr.so']|" -i rtlsdr/librtlsdr.py 4725 ''; 4726 4727 meta = { 4728 description = "Python wrapper for librtlsdr (a driver for Realtek RTL2832U based SDR's)"; 4729 homepage = https://github.com/roger-/pyrtlsdr; 4730 license = licenses.gpl3; 4731 platforms = platforms.linux; 4732 maintainers = with maintainers; [ bjornfor ]; 4733 }; 4734 }; 4735 4736 4737 repoze_sendmail = buildPythonPackage rec { 4738 name = "repoze.sendmail-4.1"; 4739 4740 src = pkgs.fetchurl { 4741 url = "http://pypi.python.org/packages/source/r/repoze.sendmail/${name}.tar.gz"; 4742 md5 = "81d15f1f03cc67d6f56f2091c594ef57"; 4743 }; 4744 4745 buildInputs = with self; [ transaction ]; 4746 4747 meta = { 4748 maintainers = with maintainers; [ iElectric ]; 4749 }; 4750 }; 4751 4752 4753 zodburi = buildPythonPackage rec { 4754 name = "zodburi-2.0"; 4755 4756 src = pkgs.fetchurl { 4757 url = "http://pypi.python.org/packages/source/z/zodburi/${name}.tar.gz"; 4758 md5 = "7876893829c2f784506c80d49f861b67"; 4759 }; 4760 4761 buildInputs = with self; [ zodb mock ZEO ]; 4762 4763 meta = { 4764 maintainers = with maintainers; [ iElectric ]; 4765 }; 4766 }; 4767 4768 ZEO = self.buildPythonPackage rec { 4769 name = "ZEO-4.0.0"; 4770 4771 propagatedBuildInputs = with self; [ random2 zodb six transaction persistent zc_lockfile zconfig zdaemon zope_interface ]; 4772 4773 src = pkgs.fetchurl { 4774 url = "https://pypi.python.org/packages/source/Z/ZEO/${name}.tar.gz"; 4775 md5 = "494d8320549185097ba4a6b6b76017d6"; 4776 }; 4777 4778 meta = { 4779 homepage = https://pypi.python.org/pypi/ZEO; 4780 }; 4781 }; 4782 4783 random2 = self.buildPythonPackage rec { 4784 name = "random2-1.0.1"; 4785 4786 doCheck = !isPyPy; 4787 4788 src = pkgs.fetchurl { 4789 url = "https://pypi.python.org/packages/source/r/random2/${name}.zip"; 4790 md5 = "48a0a86fe00e447212d0095de8cf3e21"; 4791 }; 4792 }; 4793 4794 4795 substanced = buildPythonPackage rec { 4796 # no release yet 4797 rev = "089818bc61c3dc5eca023254e37a280b041ea8cc"; 4798 name = "substanced-${rev}"; 4799 4800 src = pkgs.fetchgit { 4801 inherit rev; 4802 url = "https://github.com/Pylons/substanced.git"; 4803 sha256 = "17s7sdvydw9a9d2d36c70lq962ryny3dv9nzdxqpfvwiry9iy3jx"; 4804 }; 4805 4806 buildInputs = with self; [ mock ]; 4807 4808 propagatedBuildInputs = with self; [ 4809 pyramid 4810 pytz 4811 zodb 4812 venusian 4813 colander 4814 deform2 4815 python_magic 4816 pyyaml 4817 cryptacular 4818 hypatia 4819 zope_copy 4820 zope_component 4821 zope_deprecation 4822 statsd 4823 pyramid_zodbconn 4824 pyramid_mailer 4825 pyramid_chameleon 4826 ZEO 4827 ]; 4828 4829 meta = { 4830 maintainers = with maintainers; [ iElectric ]; 4831 }; 4832 }; 4833 4834 4835 svg-path = buildPythonPackage rec { 4836 name = "svg.path-${version}"; 4837 version = "2.0b1"; 4838 4839 src = pkgs.fetchurl { 4840 url = "https://pypi.python.org/packages/source/s/svg.path/${name}.zip"; 4841 sha256 = "038x4wqkbvcs71x6n6kzr4kn99csyv8v4gqzssr8pqylqpxi56bm"; 4842 }; 4843 4844 meta = { 4845 description = "SVG path objects and parser"; 4846 homepage = https://github.com/regebro/svg.path; 4847 license = licenses.cc0; 4848 maintainers = with maintainers; [ goibhniu ]; 4849 }; 4850 }; 4851 4852 4853 repoze_lru = buildPythonPackage rec { 4854 name = "repoze.lru-0.6"; 4855 4856 src = pkgs.fetchurl { 4857 url = "http://pypi.python.org/packages/source/r/repoze.lru/${name}.tar.gz"; 4858 md5 = "2c3b64b17a8e18b405f55d46173e14dd"; 4859 }; 4860 4861 meta = { 4862 maintainers = with maintainers; [ garbas iElectric ]; 4863 platforms = platforms.all; 4864 }; 4865 }; 4866 4867 4868 4869 repoze_sphinx_autointerface = buildPythonPackage rec { 4870 name = "repoze.sphinx.autointerface-0.7.1"; 4871 4872 src = pkgs.fetchurl { 4873 url = "http://pypi.python.org/packages/source/r/repoze.sphinx.autointerface/${name}.tar.gz"; 4874 md5 = "f2fee996ae28dc16eb48f1a3e8f64801"; 4875 }; 4876 4877 propagatedBuildInputs = with self; [ zope_interface sphinx ]; 4878 4879 meta = { 4880 maintainers = with maintainers; [ iElectric ]; 4881 platforms = platforms.all; 4882 }; 4883 }; 4884 4885 4886 rtmidi = buildPythonPackage rec { 4887 version = "0.3a"; 4888 name = "rtmidi-${version}"; 4889 4890 src = pkgs.fetchurl { 4891 url = "http://chrisarndt.de/projects/python-rtmidi/download/python-${name}.tar.bz2"; 4892 sha256 = "0d2if633m3kbiricd5hgn1csccd8xab6lnab1bq9prdr9ks9i8h6"; 4893 }; 4894 4895 preConfigure = '' 4896 sed -i "/use_setuptools/d" setup.py 4897 ''; 4898 4899 buildInputs = with self; [ pkgs.alsaLib pkgs.libjack2 ]; 4900 4901 meta = { 4902 description = "A Python wrapper for the RtMidi C++ library written with Cython"; 4903 homepage = http://trac.chrisarndt.de/code/wiki/python-rtmidi; 4904 license = licenses.mit; 4905 maintainers = with maintainers; [ goibhniu ]; 4906 }; 4907 }; 4908 4909 4910 setuptools-git = buildPythonPackage rec { 4911 name = "setuptools-git-${version}"; 4912 version = "1.1"; 4913 4914 src = pkgs.fetchurl { 4915 url = "https://pypi.python.org/packages/source/s/setuptools-git/${name}.tar.gz"; 4916 md5 = "7b5967e9527c789c3113b07a1f196f6e"; 4917 }; 4918 4919 propagatedBuildInputs = [ pkgs.git ]; 4920 doCheck = false; 4921 4922 meta = { 4923 description = "Setuptools revision control system plugin for Git"; 4924 homepage = https://pypi.python.org/pypi/setuptools-git; 4925 license = licenses.bsd3; 4926 }; 4927 }; 4928 4929 4930 watchdog = buildPythonPackage rec { 4931 name = "watchdog-${version}"; 4932 version = "0.8.3"; 4933 4934 propagatedBuildInputs = with self; [ argh pathtools pyyaml ]; 4935 4936 doCheck = false; 4937 4938 src = pkgs.fetchurl { 4939 url = "https://pypi.python.org/packages/source/w/watchdog/${name}.tar.gz"; 4940 sha256 = "0qj1vqszxwfx6d1s66s96jmfmy2j94bywxiqdydh6ikpvcm8hrby"; 4941 }; 4942 4943 meta = { 4944 description = "Python API and shell utilities to monitor file system events"; 4945 homepage = http://github.com/gorakhargosh/watchdog; 4946 license = licenses.asl20; 4947 maintainers = with maintainers; [ goibhniu ]; 4948 }; 4949 }; 4950 4951 4952 zope_tales = buildPythonPackage rec { 4953 name = "zope.tales-4.0.2"; 4954 4955 propagatedBuildInputs = with self; [ zope_interface six zope_testrunner ]; 4956 4957 src = pkgs.fetchurl { 4958 url = "https://pypi.python.org/packages/source/z/zope.tales/${name}.zip"; 4959 md5 = "902b03a5f9774f6e2decf3f06d18a09d"; 4960 }; 4961 }; 4962 4963 4964 zope_deprecation = buildPythonPackage rec { 4965 name = "zope.deprecation-4.1.2"; 4966 4967 src = pkgs.fetchurl { 4968 url = "http://pypi.python.org/packages/source/z/zope.deprecation/${name}.tar.gz"; 4969 md5 = "e9a663ded58f4f9f7881beb56cae2782"; 4970 }; 4971 4972 buildInputs = with self; [ zope_testing ]; 4973 4974 meta = { 4975 maintainers = with maintainers; [ garbas iElectric ]; 4976 platforms = platforms.all; 4977 }; 4978 }; 4979 4980 validictory = pythonPackages.buildPythonPackage rec { 4981 name = "validictory-1.0.0a2"; 4982 4983 src = pkgs.fetchurl { 4984 url = "https://pypi.python.org/packages/source/v/validictory/validictory-1.0.0a2.tar.gz"; 4985 md5 = "54c206827931cc4ed8a9b1cc78e380c5"; 4986 }; 4987 4988 propagatedBuildInputs = with pythonPackages; [ ]; 4989 doCheck = false; 4990 4991 meta = { 4992 description = "Validate dicts against a schema"; 4993 homepage = http://github.com/sunlightlabs/validictory; 4994 license = licenses.mit; 4995 }; 4996 }; 4997 4998 venusian = buildPythonPackage rec { 4999 name = "venusian-1.0"; 5000 5001 src = pkgs.fetchurl { 5002 url = "http://pypi.python.org/packages/source/v/venusian/${name}.tar.gz"; 5003 md5 = "dccf2eafb7113759d60c86faf5538756"; 5004 }; 5005 5006 # TODO: https://github.com/Pylons/venusian/issues/23 5007 doCheck = false; 5008 5009 meta = { 5010 maintainers = with maintainers; [ garbas iElectric ]; 5011 platforms = platforms.all; 5012 }; 5013 }; 5014 5015 5016 chameleon = buildPythonPackage rec { 5017 name = "Chameleon-2.15"; 5018 5019 src = pkgs.fetchurl { 5020 url = "http://pypi.python.org/packages/source/C/Chameleon/${name}.tar.gz"; 5021 md5 = "0214647152fcfcb9ce357624f8f9f203"; 5022 }; 5023 5024 buildInputs = with self; [] ++ optionals isPy26 [ ordereddict unittest2 ]; 5025 5026 # TODO: https://github.com/malthe/chameleon/issues/139 5027 doCheck = false; 5028 5029 meta = { 5030 maintainers = with maintainers; [ garbas iElectric ]; 5031 platforms = platforms.all; 5032 }; 5033 }; 5034 5035 ddt = buildPythonPackage (rec { 5036 name = "ddt-1.0.0"; 5037 5038 src = pkgs.fetchurl { 5039 url = "https://pypi.python.org/packages/source/d/ddt/${name}.tar.gz"; 5040 md5 = "29688456f9ee42d09d7d7c864ce6e17b"; 5041 }; 5042 5043 meta = { 5044 description = "Data-Driven/Decorated Tests, a library to multiply test cases"; 5045 5046 homepage = https://github.com/txels/ddt; 5047 5048 license = licenses.mit; 5049 }; 5050 }); 5051 5052 distutils_extra = buildPythonPackage rec { 5053 name = "distutils-extra-2.26"; 5054 5055 src = pkgs.fetchurl { 5056 url = "http://launchpad.net/python-distutils-extra/trunk/2.26/+download/python-${name}.tar.gz"; 5057 md5 = "7caded30a45907b5cdb10ac4182846eb"; 5058 }; 5059 5060 meta = { 5061 homepage = https://launchpad.net/python-distutils-extra; 5062 description = "Enhancements to Python's distutils"; 5063 }; 5064 }; 5065 5066 deluge = buildPythonPackage rec { 5067 name = "deluge-1.3.11"; 5068 5069 src = pkgs.fetchurl { 5070 url = "http://download.deluge-torrent.org/source/${name}.tar.bz2"; 5071 sha256 = "16681sg7yi03jqyifhalnw4vavb8sj94cisldal7nviai8dz9qc3"; 5072 }; 5073 5074 propagatedBuildInputs = with self; [ 5075 pyGtkGlade pkgs.libtorrentRasterbar twisted Mako chardet pyxdg self.pyopenssl modules.curses 5076 ]; 5077 5078 nativeBuildInputs = [ pkgs.intltool ]; 5079 5080 postInstall = '' 5081 cp -R deluge/data/pixmaps $out/share/ 5082 cp -R deluge/data/icons $out/share/ 5083 ''; 5084 5085 meta = { 5086 homepage = http://deluge-torrent.org; 5087 description = "Torrent client"; 5088 license = licenses.gpl3Plus; 5089 maintainers = with maintainers; [ iElectric ]; 5090 platforms = platforms.all; 5091 }; 5092 }; 5093 5094 pyxdg = buildPythonPackage rec { 5095 name = "pyxdg-0.25"; 5096 5097 src = pkgs.fetchurl { 5098 url = "http://pypi.python.org/packages/source/p/pyxdg/${name}.tar.gz"; 5099 md5 = "bedcdb3a0ed85986d40044c87f23477c"; 5100 }; 5101 5102 # error: invalid command 'test' 5103 doCheck = false; 5104 5105 meta = { 5106 homepage = http://freedesktop.org/wiki/Software/pyxdg; 5107 description = "Contains implementations of freedesktop.org standards"; 5108 license = licenses.lgpl2; 5109 maintainers = with maintainers; [ iElectric ]; 5110 }; 5111 }; 5112 5113 chardet = buildPythonPackage rec { 5114 name = "chardet-2.1.1"; 5115 5116 src = pkgs.fetchurl { 5117 url = "http://pypi.python.org/packages/source/c/chardet/${name}.tar.gz"; 5118 md5 = "295367fd210d20f3febda615a88e1ef0"; 5119 }; 5120 5121 meta = { 5122 homepage = https://github.com/erikrose/chardet; 5123 description = "Universal encoding detector"; 5124 license = licenses.lgpl2; 5125 maintainers = with maintainers; [ iElectric ]; 5126 }; 5127 }; 5128 5129 django = self.django_1_7; 5130 5131 django_1_8 = buildPythonPackage rec { 5132 name = "Django-${version}"; 5133 version = "1.8.4"; 5134 disabled = pythonOlder "2.7"; 5135 5136 src = pkgs.fetchurl { 5137 url = "http://www.djangoproject.com/m/releases/1.8/${name}.tar.gz"; 5138 sha256 = "1n3hb80v7wl5j2mry5pfald6i9z42a9c3m9405877iqw3v49csc2"; 5139 }; 5140 5141 # error: invalid command 'test' 5142 doCheck = false; 5143 5144 # patch only $out/bin to avoid problems with starter templates (see #3134) 5145 postFixup = '' 5146 wrapPythonProgramsIn $out/bin "$out $pythonPath" 5147 ''; 5148 5149 meta = { 5150 description = "A high-level Python Web framework"; 5151 homepage = https://www.djangoproject.com/; 5152 }; 5153 }; 5154 5155 5156 django_1_7 = buildPythonPackage rec { 5157 name = "Django-${version}"; 5158 version = "1.7.10"; 5159 disabled = pythonOlder "2.7"; 5160 5161 src = pkgs.fetchurl { 5162 url = "http://www.djangoproject.com/m/releases/1.7/${name}.tar.gz"; 5163 sha256 = "0xbwg6nyvwcbp2hvk0x3s5y823k5kizn0za1bl2rf6g6xcn7sddr"; 5164 }; 5165 5166 # error: invalid command 'test' 5167 doCheck = false; 5168 5169 # patch only $out/bin to avoid problems with starter templates (see #3134) 5170 postFixup = '' 5171 wrapPythonProgramsIn $out/bin "$out $pythonPath" 5172 ''; 5173 5174 meta = { 5175 description = "A high-level Python Web framework"; 5176 homepage = https://www.djangoproject.com/; 5177 }; 5178 }; 5179 5180 django_1_6 = buildPythonPackage rec { 5181 name = "Django-${version}"; 5182 version = "1.6.11"; 5183 5184 src = pkgs.fetchurl { 5185 url = "http://www.djangoproject.com/m/releases/1.6/${name}.tar.gz"; 5186 sha256 = "0misvia78c14y07zs5xsb9lv54q0v217jpaindrmhhw4wiryal3y"; 5187 }; 5188 5189 # error: invalid command 'test' 5190 doCheck = false; 5191 5192 # patch only $out/bin to avoid problems with starter templates (see #3134) 5193 postFixup = '' 5194 wrapPythonProgramsIn $out/bin "$out $pythonPath" 5195 ''; 5196 5197 meta = { 5198 description = "A high-level Python Web framework"; 5199 homepage = https://www.djangoproject.com/; 5200 }; 5201 }; 5202 5203 django_1_5 = buildPythonPackage rec { 5204 name = "Django-${version}"; 5205 version = "1.5.12"; 5206 5207 src = pkgs.fetchurl { 5208 url = "http://www.djangoproject.com/m/releases/1.5/${name}.tar.gz"; 5209 sha256 = "1vbcvn6ncg7hq5i1w95h746vkq9lmp120vx63h3p56z5nsz7gpmk"; 5210 }; 5211 5212 # error: invalid command 'test' 5213 doCheck = false; 5214 5215 # patch only $out/bin to avoid problems with starter templates (see #3134) 5216 postFixup = '' 5217 wrapPythonProgramsIn $out/bin "$out $pythonPath" 5218 ''; 5219 5220 meta = { 5221 description = "A high-level Python Web framework"; 5222 homepage = https://www.djangoproject.com/; 5223 }; 5224 }; 5225 5226 django_1_4 = buildPythonPackage rec { 5227 name = "Django-${version}"; 5228 version = "1.4.22"; 5229 5230 src = pkgs.fetchurl { 5231 url = "http://www.djangoproject.com/m/releases/1.4/${name}.tar.gz"; 5232 sha256 = "110p1mgdcf87kyr64mr2jgmyapyg27kha74yq3wjrazwfbbwkqnh"; 5233 }; 5234 5235 # error: invalid command 'test' 5236 doCheck = false; 5237 5238 # patch only $out/bin to avoid problems with starter templates (see #3134) 5239 postFixup = '' 5240 wrapPythonProgramsIn $out/bin "$out $pythonPath" 5241 ''; 5242 5243 meta = { 5244 description = "A high-level Python Web framework"; 5245 homepage = https://www.djangoproject.com/; 5246 }; 5247 }; 5248 5249 django_1_3 = buildPythonPackage rec { 5250 name = "Django-1.3.7"; 5251 5252 src = pkgs.fetchurl { 5253 url = "http://www.djangoproject.com/m/releases/1.3/${name}.tar.gz"; 5254 sha256 = "12pv8y2x3fhrcrjayfm6z40r57iwchfi5r19ajs8q8z78i3z8l7f"; 5255 }; 5256 5257 # error: invalid command 'test' 5258 doCheck = false; 5259 5260 # patch only $out/bin to avoid problems with starter templates (see #3134) 5261 postFixup = '' 5262 wrapPythonProgramsIn $out/bin "$out $pythonPath" 5263 ''; 5264 5265 meta = { 5266 description = "A high-level Python Web framework"; 5267 homepage = https://www.djangoproject.com/; 5268 }; 5269 }; 5270 5271 5272 django_evolution = buildPythonPackage rec { 5273 name = "django_evolution-0.6.9"; 5274 disabled = isPy3k; 5275 5276 src = pkgs.fetchurl { 5277 url = "http://downloads.reviewboard.org/releases/django-evolution/${name}.tar.gz"; 5278 md5 = "c0d7d10bc41898c88b14d434c48766ff"; 5279 }; 5280 5281 propagatedBuildInputs = with self; [ django_1_5 ]; 5282 5283 meta = { 5284 description = "A database schema evolution tool for the Django web framework"; 5285 homepage = http://code.google.com/p/django-evolution/; 5286 }; 5287 }; 5288 5289 5290 django_tagging = buildPythonPackage rec { 5291 name = "django-tagging-0.3.1"; 5292 5293 src = pkgs.fetchurl { 5294 url = "http://pypi.python.org/packages/source/d/django-tagging/${name}.tar.gz"; 5295 md5 = "a0855f2b044db15f3f8a025fa1016ddf"; 5296 }; 5297 5298 # error: invalid command 'test' 5299 doCheck = false; 5300 5301 propagatedBuildInputs = with self; [ django_1_3 ]; 5302 5303 meta = { 5304 description = "A generic tagging application for Django projects"; 5305 homepage = http://code.google.com/p/django-tagging/; 5306 }; 5307 }; 5308 5309 5310 django_classytags = buildPythonPackage rec { 5311 name = "django-classy-tags-${version}"; 5312 version = "0.6.1"; 5313 5314 src = pkgs.fetchurl { 5315 url = "http://pypi.python.org/packages/source/d/django-classy-tags/${name}.tar.gz"; 5316 md5 = "eb686aa767ad8cf88c1fa0f400a42516"; 5317 sha256 = "0wxvpmjdzk0aajk33y4himn3wqjx7k0aqlka9j8ay3yfav78bdq0"; 5318 }; 5319 5320 propagatedBuildInputs = with self; [ django_1_7 ]; 5321 5322 # tests appear to be broken on 0.6.1 at least 5323 doCheck = ( version != "0.6.1" ); 5324 5325 meta = { 5326 description = "Class based template tags for Django"; 5327 homepage = https://github.com/ojii/django-classy-tags; 5328 license = licenses.bsd3; 5329 }; 5330 }; 5331 5332 5333 django_reversion = buildPythonPackage rec { 5334 name = "django-reversion-${version}"; 5335 version = "1.8.5"; 5336 5337 src = pkgs.fetchurl { 5338 url = "http://pypi.python.org/packages/source/d/django-reversion/${name}.tar.gz"; 5339 md5 = "2de5a3fe82aaf505c134570f96fcc7a8"; 5340 sha256 = "0z8fxvxgbxfnalr5br74rsw6g42nry2q656rx7rsgmicd8n42v2r"; 5341 }; 5342 5343 propagatedBuildInputs = with self; [ django_1_7 ] ++ 5344 (optionals (pythonOlder "2.7") [ importlib ordereddict ]); 5345 5346 meta = { 5347 description = "An extension to the Django web framework that provides comprehensive version control facilities"; 5348 homepage = https://github.com/etianen/django-reversion; 5349 license = licenses.bsd3; 5350 }; 5351 }; 5352 5353 5354 django_pipeline = buildPythonPackage rec { 5355 name = "django-pipeline-${version}"; 5356 version = "1.5.1"; 5357 5358 src = pkgs.fetchurl { 5359 url = "http://pypi.python.org/packages/source/d/django-pipeline/${name}.tar.gz"; 5360 md5 = "dff8a4abb2895ee5df335c3fb2775a02"; 5361 sha256 = "1y49fa8jj7x9qjj5wzhns3zxwj0s73sggvkrv660cqw5qb7d8hha"; 5362 }; 5363 5364 propagatedBuildInputs = with self; [ django futures ]; 5365 5366 meta = with stdenv.lib; { 5367 description = "Pipeline is an asset packaging library for Django."; 5368 homepage = https://github.com/cyberdelia/django-pipeline; 5369 license = stdenv.lib.licenses.mit; 5370 }; 5371 }; 5372 5373 5374 djblets = buildPythonPackage rec { 5375 name = "Djblets-0.6.28"; 5376 5377 src = pkgs.fetchurl { 5378 url = "http://downloads.reviewboard.org/releases/Djblets/0.6/${name}.tar.gz"; 5379 sha256 = "11fsi911cqkjgv9j7646ljc2fgxsdfyq44kzmv01xhysm50fn6xx"; 5380 }; 5381 5382 propagatedBuildInputs = with self; [ pil django_1_3 feedparser ]; 5383 5384 meta = { 5385 description = "A collection of useful extensions for Django"; 5386 homepage = https://github.com/djblets/djblets; 5387 }; 5388 }; 5389 5390 5391 dulwich = buildPythonPackage rec { 5392 name = "dulwich-${version}"; 5393 version = "0.10.1a"; 5394 5395 src = pkgs.fetchurl { 5396 url = "https://pypi.python.org/packages/source/d/dulwich/${name}.tar.gz"; 5397 sha256 = "02rknqarwy7p50693cqswbibqwgxzrfzdq4yhwqxbdmhbsmh0rk6"; 5398 }; 5399 5400 # Only test dependencies 5401 buildInputs = with self; [ pkgs.git gevent geventhttpclient mock fastimport ]; 5402 5403 meta = { 5404 description = "Simple Python implementation of the Git file formats and protocols"; 5405 homepage = http://samba.org/~jelmer/dulwich/; 5406 license = licenses.gpl2Plus; 5407 maintainers = with maintainers; [ koral ]; 5408 }; 5409 }; 5410 5411 5412 hg-git = buildPythonPackage rec { 5413 name = "hg-git-${version}"; 5414 version = "0.8.1"; 5415 5416 src = pkgs.fetchurl { 5417 url = "http://pypi.python.org/packages/source/h/hg-git/${name}.tar.gz"; 5418 sha256 = "07a5p5wfs60hmzv3h64fysvm91ablhiaf5ccpv3f8q61insdzvff"; 5419 }; 5420 5421 propagatedBuildInputs = with self; [ dulwich ]; 5422 5423 meta = { 5424 description = "Push and pull from a Git server using Mercurial"; 5425 homepage = http://hg-git.github.com/; 5426 maintainers = with maintainers; [ koral ]; 5427 }; 5428 }; 5429 5430 5431 docutils = buildPythonPackage rec { 5432 name = "docutils-0.12"; 5433 5434 src = pkgs.fetchurl { 5435 url = "mirror://sourceforge/docutils/${name}.tar.gz"; 5436 md5 = "4622263b62c5c771c03502afa3157768"; 5437 }; 5438 5439 # error: invalid command 'test' 5440 doCheck = false; 5441 5442 meta = { 5443 description = "An open-source text processing system for processing plaintext documentation into useful formats, such as HTML or LaTeX"; 5444 homepage = http://docutils.sourceforge.net/; 5445 maintainers = with maintainers; [ garbas ]; 5446 }; 5447 }; 5448 5449 doxypy = buildPythonPackage rec { 5450 name = "doxypy-0.4.2"; 5451 5452 src = pkgs.fetchurl { 5453 url = "http://code.foosel.org/files/${name}.tar.gz"; 5454 sha256 = "1afmb30zmy7942b53qa5vd3js883wwqqls35n8xfb3rnj0qnll8g"; 5455 }; 5456 5457 meta = { 5458 homepage = http://code.foosel.org/doxypy; 5459 description = "An input filter for Doxygen"; 5460 }; 5461 5462 doCheck = false; 5463 }; 5464 5465 5466 dtopt = buildPythonPackage rec { 5467 name = "dtopt-0.1"; 5468 5469 src = pkgs.fetchurl { 5470 url = "http://pypi.python.org/packages/source/d/dtopt/${name}.tar.gz"; 5471 md5 = "9a41317149e926fcc408086aedee6bab"; 5472 }; 5473 5474 meta = { 5475 description = "Add options to doctest examples while they are running"; 5476 homepage = http://pypi.python.org/pypi/dtopt; 5477 }; 5478 }; 5479 5480 5481 ecdsa = buildPythonPackage rec { 5482 name = "ecdsa-${version}"; 5483 version = "0.11"; 5484 5485 src = pkgs.fetchurl { 5486 url = "http://pypi.python.org/packages/source/e/ecdsa/${name}.tar.gz"; 5487 md5 = "8ef586fe4dbb156697d756900cb41d7c"; 5488 }; 5489 5490 # Only needed for tests 5491 buildInputs = with self; [ pkgs.openssl ]; 5492 5493 meta = { 5494 description = "ECDSA cryptographic signature library"; 5495 homepage = "https://github.com/warner/python-ecdsa"; 5496 license = licenses.mit; 5497 maintainers = with maintainers; [ aszlig ]; 5498 }; 5499 }; 5500 5501 5502 elpy = buildPythonPackage rec { 5503 name = "elpy-1.0.1"; 5504 src = pkgs.fetchurl { 5505 url = "http://pypi.python.org/packages/source/e/elpy/elpy-1.0.1.tar.gz"; 5506 md5 = "5453f085f7871ed8fc11d51f0b68c785"; 5507 }; 5508 propagatedBuildInputs = with self; [ flake8 ]; 5509 5510 doCheck = false; # there are no tests 5511 5512 meta = { 5513 description = "Backend for the elpy Emacs mode"; 5514 homepage = "https://github.com/jorgenschaefer/elpy"; 5515 }; 5516 }; 5517 5518 5519 enum = buildPythonPackage rec { 5520 name = "enum-0.4.4"; 5521 disabled = isPy3k; 5522 5523 src = pkgs.fetchurl { 5524 url = "http://pypi.python.org/packages/source/e/enum/${name}.tar.gz"; 5525 md5 = "ce75c7c3c86741175a84456cc5bd531e"; 5526 }; 5527 5528 doCheck = !isPyPy; 5529 5530 buildInputs = with self; [ ]; 5531 5532 propagatedBuildInputs = with self; [ ]; 5533 5534 meta = { 5535 homepage = http://pypi.python.org/pypi/enum/; 5536 description = "Robust enumerated type support in Python"; 5537 }; 5538 }; 5539 5540 enum34 = buildPythonPackage rec { 5541 name = "enum34-${version}"; 5542 version = "1.0.4"; 5543 disabled = pythonAtLeast "3.4"; 5544 5545 src = pkgs.fetchurl { 5546 url = "http://pypi.python.org/packages/source/e/enum34/${name}.tar.gz"; 5547 sha256 = "0iz4jjdvdgvfllnpmd92qxj5fnfxqpgmjpvpik0jjim3lqk9zhfk"; 5548 }; 5549 5550 buildInputs = optional isPy26 self.ordereddict; 5551 5552 meta = { 5553 homepage = https://pypi.python.org/pypi/enum34; 5554 description = "Python 3.4 Enum backported to 3.3, 3.2, 3.1, 2.7, 2.6, 2.5, and 2.4"; 5555 license = "BSD"; 5556 }; 5557 }; 5558 5559 epc = buildPythonPackage rec { 5560 name = "epc-0.0.3"; 5561 src = pkgs.fetchurl { 5562 url = "http://pypi.python.org/packages/source/e/epc/${name}.tar.gz"; 5563 md5 = "04a93c0cd32b496969ead09f414dac74"; 5564 }; 5565 5566 propagatedBuildInputs = with self; [ sexpdata ]; 5567 doCheck = false; 5568 5569 meta = { 5570 description = "EPC (RPC stack for Emacs Lisp) implementation in Python"; 5571 homepage = "https://github.com/tkf/python-epc"; 5572 }; 5573 }; 5574 5575 eventlet = buildPythonPackage rec { 5576 name = "eventlet-0.16.1"; 5577 5578 src = pkgs.fetchurl { 5579 url = "http://pypi.python.org/packages/source/e/eventlet/${name}.tar.gz"; 5580 md5 = "58f6e5cd1bcd8ab78e32a2594aa0abad"; 5581 }; 5582 5583 buildInputs = with self; [ nose httplib2 pyopenssl ]; 5584 5585 doCheck = false; # too much transient errors to bother 5586 5587 propagatedBuildInputs = optionals (!isPyPy) [ self.greenlet ]; 5588 5589 meta = { 5590 homepage = http://pypi.python.org/pypi/eventlet/; 5591 description = "A concurrent networking library for Python"; 5592 }; 5593 }; 5594 5595 fastimport = buildPythonPackage rec { 5596 name = "fastimport-${version}"; 5597 version = "0.9.4"; 5598 5599 src = pkgs.fetchurl { 5600 url = "https://pypi.python.org/packages/source/f/fastimport/${name}.tar.gz"; 5601 sha256 = "0k8x7552ypx9rc14vbsvg2lc6z0r8pv9laah28pdwyynbq10825d"; 5602 }; 5603 5604 meta = { 5605 homepage = https://launchpad.net/python-fastimport; 5606 description = "VCS fastimport/fastexport parser"; 5607 maintainers = with maintainers; [ koral ]; 5608 license = licenses.gpl2Plus; 5609 }; 5610 }; 5611 5612 feedgenerator = buildPythonPackage (rec { 5613 name = "feedgenerator-1.7"; 5614 5615 src = pkgs.fetchurl { 5616 url = "https://pypi.python.org/packages/source/f/feedgenerator/${name}.tar.gz"; 5617 md5 = "92978492871342ad64e8ae0ccfcf200c"; 5618 }; 5619 5620 buildInputs = [ pkgs.glibcLocales ]; 5621 5622 preConfigure = '' 5623 export LC_ALL="en_US.UTF-8" 5624 ''; 5625 5626 propagatedBuildInputs = with self; [ six pytz ]; 5627 5628 meta = { 5629 description = "Standalone version of django.utils.feedgenerator, compatible with Py3k"; 5630 homepage = https://github.com/dmdm/feedgenerator-py3k.git; 5631 maintainers = with maintainers; [ garbas ]; 5632 }; 5633 }); 5634 5635 feedparser = buildPythonPackage (rec { 5636 name = "feedparser-5.1.3"; 5637 5638 src = pkgs.fetchurl { 5639 url = "http://pypi.python.org/packages/source/f/feedparser/${name}.tar.gz"; 5640 md5 = "f2253de78085a1d5738f626fcc1d8f71"; 5641 }; 5642 5643 meta = { 5644 homepage = http://code.google.com/p/feedparser/; 5645 description = "Universal feed parser"; 5646 license = licenses.bsd2; 5647 maintainers = with maintainers; [ iElectric ]; 5648 }; 5649 }); 5650 5651 pyfribidi = buildPythonPackage rec { 5652 version = "0.11.0"; 5653 name = "pyfribidi-${version}"; 5654 disabled = isPy3k; 5655 5656 src = pkgs.fetchurl { 5657 url = "https://pypi.python.org/packages/source/p/pyfribidi/${name}.zip"; 5658 md5 = "a3fc1f9d34571305782d1a54ee36f904"; 5659 }; 5660 5661 meta = { 5662 description = "A simple wrapper around fribidi"; 5663 homepage = https://github.com/pediapress/pyfribidi; 5664 license = stdenv.lib.licenses.gpl2; 5665 }; 5666 }; 5667 5668 docker_compose = buildPythonPackage rec { 5669 version = "1.4.0"; 5670 name = "docker-compose-${version}"; 5671 namePrefix = ""; 5672 disabled = isPy3k || isPyPy; 5673 5674 src = pkgs.fetchurl { 5675 url = "https://pypi.python.org/packages/source/d/docker-compose/${name}.tar.gz"; 5676 md5 = "a93e801ebe829c2f869cb23d0b606272"; 5677 }; 5678 5679 propagatedBuildInputs = with self; [ 5680 six requests pyyaml texttable docopt docker dockerpty websocket_client 5681 (requests2.override { 5682 src = pkgs.fetchurl { 5683 url = "https://pypi.python.org/packages/source/r/requests/requests-2.6.1.tar.gz"; 5684 md5 = "da6e487f89e6a531699b7fd97ff182af"; 5685 }; 5686 }) 5687 ]; 5688 5689 doCheck = false; 5690 5691 meta = { 5692 homepage = http://www.fig.sh/; 5693 description = "Fast, isolated development environments using Docker"; 5694 license = licenses.asl20; 5695 }; 5696 }; 5697 5698 filebrowser_safe = buildPythonPackage rec { 5699 version = "0.3.6"; 5700 name = "filebrowser_safe-${version}"; 5701 5702 src = pkgs.fetchurl { 5703 url = "http://pypi.python.org/packages/source/f/filebrowser_safe/${name}.tar.gz"; 5704 md5 = "12a1ad3a1ed6a9377e758c4fa7fee570"; 5705 }; 5706 5707 meta = { 5708 description = "A snapshot of django-filebrowser for the Mezzanine CMS"; 5709 longDescription = '' 5710 filebrowser_safe was created to provide a snapshot of the FileBrowser 5711 asset manager for Django, to be referenced as a dependency for the 5712 Mezzanine CMS for Django. 5713 5714 At the time of filebrowser_safe's creation, FileBrowser was incorrectly 5715 packaged on PyPI, and had also dropped compatibility with Django 1.1 - 5716 filebrowser_safe was therefore created to address these specific 5717 issues. 5718 ''; 5719 homepage = https://github.com/stephenmcd/filebrowser-safe; 5720 downloadPage = https://pypi.python.org/pypi/filebrowser_safe/; 5721 license = licenses.free; 5722 maintainers = with maintainers; [ prikhi ]; 5723 platforms = platforms.linux; 5724 }; 5725 }; 5726 5727 flake8 = buildPythonPackage (rec { 5728 name = "flake8-2.3.0"; 5729 5730 src = pkgs.fetchurl { 5731 url = "http://pypi.python.org/packages/source/f/flake8/${name}.tar.gz"; 5732 md5 = "488d6166f6b9ef9fe9d433b95e77dc07"; 5733 }; 5734 5735 buildInputs = with self; [ nose mock ]; 5736 propagatedBuildInputs = with self; [ pyflakes pep8 mccabe ]; 5737 5738 # 3 failing tests 5739 #doCheck = false; 5740 5741 meta = { 5742 description = "Code checking using pep8 and pyflakes"; 5743 homepage = http://pypi.python.org/pypi/flake8; 5744 license = licenses.mit; 5745 maintainers = with maintainers; [ garbas ]; 5746 }; 5747 }); 5748 5749 5750 flask = buildPythonPackage { 5751 name = "flask-0.10.1"; 5752 5753 src = pkgs.fetchurl { 5754 url = "http://pypi.python.org/packages/source/F/Flask/Flask-0.10.1.tar.gz"; 5755 md5 = "378670fe456957eb3c27ddaef60b2b24"; 5756 }; 5757 5758 propagatedBuildInputs = with self; [ werkzeug jinja2 ]; 5759 5760 meta = { 5761 homepage = http://flask.pocoo.org/; 5762 description = "A microframework based on Werkzeug, Jinja 2, and good intentions"; 5763 license = "BSD"; 5764 }; 5765 }; 5766 5767 flask_cache = buildPythonPackage rec { 5768 name = "Flask-Cache-0.13.1"; 5769 5770 src = pkgs.fetchurl { 5771 url = "https://pypi.python.org/packages/source/F/Flask-Cache/${name}.tar.gz"; 5772 md5 = "ab82a9cd0844891ccdb54fbb93fd6c59"; 5773 }; 5774 5775 propagatedBuildInputs = with self; [ werkzeug flask ]; 5776 5777 meta = { 5778 homepage = https://github.com/thadeusb/flask-cache; 5779 description = "Adds cache support to your Flask application"; 5780 license = "BSD"; 5781 }; 5782 }; 5783 5784 wtforms = buildPythonPackage rec { 5785 version = "2.0.2"; 5786 name = "wtforms-${version}"; 5787 5788 src = pkgs.fetchurl { 5789 url = "https://pypi.python.org/packages/source/W/WTForms/WTForms-${version}.zip"; 5790 md5 = "613cf723ab40537705bec02733c78d95"; 5791 }; 5792 5793 propagatedBuildInputs = with self; [ ordereddict Babel ]; 5794 5795 meta = { 5796 homepage = https://github.com/wtforms/wtforms; 5797 description = "A flexible forms validation and rendering library for Python"; 5798 license = licenses.bsd3; 5799 }; 5800 }; 5801 5802 flexget = buildPythonPackage rec { 5803 version = "1.2.337"; 5804 name = "FlexGet-${version}"; 5805 disabled = isPy3k; 5806 5807 src = pkgs.fetchurl { 5808 url = "https://pypi.python.org/packages/source/F/FlexGet/${name}.tar.gz"; 5809 md5 = "2c249c43bc594726f908b1425a8b8081"; 5810 }; 5811 5812 doCheck = false; 5813 5814 buildInputs = with self; [ nose ]; 5815 propagatedBuildInputs = with self; [ paver feedparser sqlalchemy9 pyyaml rpyc 5816 beautifulsoup4 html5lib pyrss2gen pynzb progressbar jinja2 flask 5817 cherrypy requests dateutil_2_1 jsonschema python_tvrage tmdb3 5818 guessit pathpy apscheduler ] 5819 # enable deluge and transmission plugin support, if they're installed 5820 ++ stdenv.lib.optional (pkgs.config.pythonPackages.deluge or false) 5821 pythonpackages.deluge 5822 ++ stdenv.lib.optional (pkgs.transmission != null) 5823 self.transmissionrpc; 5824 5825 meta = { 5826 homepage = http://flexget.com/; 5827 description = "Multipurpose automation tool for content like torrents"; 5828 license = licenses.mit; 5829 maintainers = with maintainers; [ iElectric ]; 5830 }; 5831 }; 5832 5833 # py3k disabled, see https://travis-ci.org/NixOS/nixpkgs/builds/48759067 5834 graph-tool = if isPy3k then throw "graph-tool in Nix doesn't support py3k yet" 5835 else callPackage ../development/python-modules/graph-tool/2.x.x.nix { }; 5836 5837 grappelli_safe = buildPythonPackage rec { 5838 version = "0.3.13"; 5839 name = "grappelli_safe-${version}"; 5840 5841 src = pkgs.fetchurl { 5842 url = "http://pypi.python.org/packages/source/g/grappelli_safe/${name}.tar.gz"; 5843 md5 = "5c8c681a0b1df94ecd6dc0b3a8b80892"; 5844 }; 5845 5846 meta = { 5847 description = "A snapshot of django-grappelli for the Mezzanine CMS"; 5848 longDescription = '' 5849 grappelli_safe was created to provide a snapshot of the Grappelli admin 5850 skin for Django, to be referenced as a dependency for the Mezzanine CMS 5851 for Django. 5852 5853 At the time of grappelli_safe's creation, Grappelli was incorrectly 5854 packaged on PyPI, and had also dropped compatibility with Django 1.1 - 5855 grappelli_safe was therefore created to address these specific issues. 5856 ''; 5857 homepage = https://github.com/stephenmcd/grappelli-safe; 5858 downloadPage = http://pypi.python.org/pypi/grappelli_safe/; 5859 license = licenses.free; 5860 maintainers = with maintainers; [ prikhi ]; 5861 platforms = platforms.linux; 5862 }; 5863 }; 5864 5865 python_tvrage = buildPythonPackage (rec { 5866 version = "0.4.1"; 5867 name = "tvrage-${version}"; 5868 5869 src = pkgs.fetchurl { 5870 url = "https://pypi.python.org/packages/source/p/python-tvrage/python-tvrage-${version}.tar.gz"; 5871 md5 = "cdfec252158c5047b626861900186dfb"; 5872 }; 5873 5874 # has mostly networking dependent tests 5875 doCheck = false; 5876 propagatedBuildInputs = with self; [ beautifulsoup ]; 5877 5878 meta = { 5879 homepage = https://github.com/ckreutzer/python-tvrage; 5880 description = "Client interface for tvrage.com's XML-based api feeds"; 5881 license = licenses.bsd3; 5882 maintainers = with maintainers; [ iElectric ]; 5883 }; 5884 }); 5885 5886 jsonschema = buildPythonPackage (rec { 5887 version = "2.4.0"; 5888 name = "jsonschema-${version}"; 5889 5890 src = pkgs.fetchurl { 5891 url = "https://pypi.python.org/packages/source/j/jsonschema/jsonschema-${version}.tar.gz"; 5892 md5 = "661f85c3d23094afbb9ac3c0673840bf"; 5893 }; 5894 5895 buildInputs = with self; [ nose mock ]; 5896 5897 patchPhase = '' 5898 substituteInPlace jsonschema/tests/test_jsonschema_test_suite.py --replace "python" "${python}/bin/${python.executable}" 5899 ''; 5900 5901 checkPhase = '' 5902 nosetests 5903 ''; 5904 5905 meta = { 5906 homepage = https://github.com/Julian/jsonschema; 5907 description = "An implementation of JSON Schema validation for Python"; 5908 license = licenses.mit; 5909 maintainers = with maintainers; [ iElectric ]; 5910 }; 5911 }); 5912 5913 falcon = buildPythonPackage (rec { 5914 name = "falcon-0.3.0"; 5915 5916 src = pkgs.fetchurl { 5917 url = "https://pypi.python.org/packages/source/f/falcon/${name}.tar.gz"; 5918 sha256 = "10ivzk88m8nn3bqbg6xgv6yfy2dgp6yzbcvr645y93pzlash4xpj"; 5919 }; 5920 5921 propagatedBuildInputs = with self; [ coverage ddt nose pyyaml requests2 six testtools python_mimeparse ]; 5922 5923 # The travis build fails since the migration from multiprocessing to threading for hosting the API under test. 5924 # OSError: [Errno 98] Address already in use 5925 doCheck = false; 5926 5927 # This patch is required if the tests are enabled 5928 # See https://github.com/falconry/falcon/issues/572 5929 #patches = singleton (pkgs.fetchurl { 5930 # name = "falcon-572.patch"; 5931 # url = "https://github.com/desiderius/falcon/commit/088bd3f2204eb6368acb3a1bf6c6b54c415225c2.patch"; 5932 # sha256 = "19102dlzc4890skmam2v20va2vk5xr56fi4nzibzfvl7vyq68060"; 5933 #}); 5934 5935 meta = { 5936 description = "An unladen web framework for building APIs and app backends"; 5937 homepage = http://falconframework.org; 5938 license = licenses.asl20; 5939 maintainers = with maintainers; [ desiderius ]; 5940 }; 5941 }); 5942 5943 flup = buildPythonPackage (rec { 5944 name = "flup-1.0.2"; 5945 disabled = isPy3k; 5946 5947 src = pkgs.fetchurl { 5948 url = "http://www.saddi.com/software/flup/dist/${name}.tar.gz"; 5949 sha256 = "1nbx174g40l1z3a8arw72qz05a1qxi3didp9wm7kvkn1bxx33bab"; 5950 }; 5951 5952 meta = { 5953 homepage = "http://trac.saddi.com/flup"; 5954 description = "FastCGI Python module set"; 5955 }; 5956 }); 5957 5958 fonttools = buildPythonPackage (rec { 5959 version = "2.4"; 5960 name = "fonttools-${version}"; 5961 disabled = isPy3k; 5962 5963 src = pkgs.fetchurl { 5964 url = "https://pypi.python.org/packages/source/F/FontTools/FontTools-${version}.tar.gz"; 5965 sha256 = "13ggkzcj34kcca6bsxjkaqsxkp2bvxxf6ijiyhq1xlyb0z37z4qa"; 5966 }; 5967 5968 buildInputs = with self; [ 5969 numpy 5970 ]; 5971 5972 meta = { 5973 homepage = "http://sourceforge.net/projects/fonttools/"; 5974 description = "Font file processing tools"; 5975 }; 5976 }); 5977 5978 foolscap = buildPythonPackage (rec { 5979 name = "foolscap-0.6.4"; 5980 5981 src = pkgs.fetchurl { 5982 url = "http://foolscap.lothar.com/releases/${name}.tar.gz"; 5983 sha256 = "16cddyk5is0gjfn0ia5n2l4lhdzvbjzlx6sfpy7ddjd3d3fq7ckl"; 5984 }; 5985 5986 propagatedBuildInputs = [ self.twisted self.pyopenssl ]; 5987 5988 meta = { 5989 homepage = http://foolscap.lothar.com/; 5990 5991 description = "Foolscap, an RPC protocol for Python that follows the distributed object-capability model"; 5992 5993 longDescription = '' 5994 "Foolscap" is the name for the next-generation RPC protocol, 5995 intended to replace Perspective Broker (part of Twisted). 5996 Foolscap is a protocol to implement a distributed 5997 object-capabilities model in Python. 5998 ''; 5999 6000 # See http://foolscap.lothar.com/trac/browser/LICENSE. 6001 license = licenses.mit; 6002 6003 maintainers = [ ]; 6004 }; 6005 }); 6006 6007 fs = buildPythonPackage rec { 6008 name = "fs-0.5.0"; 6009 6010 src = pkgs.fetchurl { 6011 url = "https://pypi.python.org/packages/source/f/fs/${name}.tar.gz"; 6012 sha256 = "144f4yn2nvnxh2vrnmiabpwx3s637np0d1j1w95zym790d66shir"; 6013 }; 6014 6015 meta = { 6016 description = "Filesystem abstraction"; 6017 homepage = http://pypi.python.org/pypi/fs; 6018 license = licenses.bsd3; 6019 maintainers = with maintainers; [ lovek323 ]; 6020 platforms = platforms.unix; 6021 }; 6022 6023 # Fails: "error: invalid command 'test'" 6024 doCheck = false; 6025 }; 6026 6027 fuse = buildPythonPackage (rec { 6028 baseName = "fuse"; 6029 version = "0.2.1"; 6030 name = "${baseName}-${version}"; 6031 disabled = isPy3k; 6032 6033 src = pkgs.fetchurl { 6034 url = "mirror://sourceforge/fuse/fuse-python-${version}.tar.gz"; 6035 sha256 = "06rmp1ap6flh64m81j0n3a357ij2vj9zwcvvw0p31y6hz1id9shi"; 6036 }; 6037 6038 buildInputs = with self; [ pkgs.pkgconfig pkgs.fuse ]; 6039 6040 meta = { 6041 description = "Python bindings for FUSE"; 6042 license = licenses.lgpl21; 6043 }; 6044 }); 6045 6046 fusepy = buildPythonPackage rec { 6047 name = "fusepy-2.0.2"; 6048 6049 src = pkgs.fetchurl { 6050 url = "https://pypi.python.org/packages/source/f/fusepy/${name}.tar.gz"; 6051 sha256 = "1z0va3z1hzjw167skl21k9dsklbmr46k66j80qadibjc8vajjnda"; 6052 }; 6053 6054 propagatedBuildInputs = [ pkgs.fuse ]; 6055 6056 patchPhase = '' 6057 substituteInPlace fuse.py --replace \ 6058 "find_library('fuse')" "'${pkgs.fuse}/lib/libfuse.so'" 6059 ''; 6060 6061 meta = { 6062 description = "Simple ctypes bindings for FUSE"; 6063 longDescription = '' 6064 Python module that provides a simple interface to FUSE and MacFUSE. 6065 It's just one file and is implemented using ctypes. 6066 ''; 6067 homepage = http://github.com/terencehonles/fusepy; 6068 license = licenses.isc; 6069 platforms = with platforms; linux; 6070 maintainers = with maintainers; [ nckx ]; 6071 }; 6072 }; 6073 6074 future = buildPythonPackage rec { 6075 version = "v0.14.3"; 6076 name = "future-${version}"; 6077 6078 src = pkgs.fetchurl { 6079 url = "http://github.com/PythonCharmers/python-future/archive/${version}.tar.gz"; 6080 sha256 = "0hgp9kq7h4ipw8ax5xvvkyh3bkqw361d3rndvb9xix01h9j9mi3p"; 6081 }; 6082 6083 propagatedBuildInputs = with self; optionals isPy26 [ importlib argparse ]; 6084 doCheck = false; 6085 6086 meta = { 6087 description = "Clean single-source support for Python 3 and 2"; 6088 longDescription = '' 6089 python-future is the missing compatibility layer between Python 2 and 6090 Python 3. It allows you to use a single, clean Python 3.x-compatible 6091 codebase to support both Python 2 and Python 3 with minimal overhead. 6092 6093 It provides future and past packages with backports and forward ports 6094 of features from Python 3 and 2. It also comes with futurize and 6095 pasteurize, customized 2to3-based scripts that helps you to convert 6096 either Py2 or Py3 code easily to support both Python 2 and 3 in a 6097 single clean Py3-style codebase, module by module. 6098 ''; 6099 homepage = https://python-future.org; 6100 downloadPage = https://github.com/PythonCharmers/python-future/releases; 6101 license = licenses.mit; 6102 maintainers = with maintainers; [ prikhi ]; 6103 platforms = platforms.linux; 6104 }; 6105 }; 6106 6107 futures = buildPythonPackage rec { 6108 name = "futures-3.0.2"; 6109 6110 src = pkgs.fetchurl { 6111 url = "https://pypi.python.org/packages/source/f/futures/${name}.tar.gz"; 6112 md5 = "42aaf1e4de48d6e871d77dc1f9d96d5a"; 6113 }; 6114 6115 meta = with pkgs.stdenv.lib; { 6116 description = "Backport of the concurrent.futures package from Python 3.2"; 6117 homepage = "https://github.com/agronholm/pythonfutures"; 6118 license = licenses.bsd2; 6119 maintainers = with maintainers; [ garbas ]; 6120 }; 6121 }; 6122 6123 gcovr = buildPythonPackage rec { 6124 name = "gcovr-2.4"; 6125 6126 src = pkgs.fetchurl { 6127 url = "http://pypi.python.org/packages/source/g/gcovr/${name}.tar.gz"; 6128 md5 = "672db629469882b93c40016aebff50ac"; 6129 }; 6130 6131 meta = { 6132 description = "A Python script for summarizing gcov data"; 6133 license = "BSD"; 6134 }; 6135 }; 6136 6137 gdrivefs = buildPythonPackage rec { 6138 version = "0.14.3"; 6139 name = "gdrivefs-${version}"; 6140 disabled = !isPy27; 6141 6142 src = pkgs.fetchFromGitHub { 6143 sha256 = "1ljkh1871lwzn5lhhgbmbf2hfnbnajr3ddz3q5n1kid25qb3l086"; 6144 rev = version; 6145 repo = "GDriveFS"; 6146 owner = "dsoprea"; 6147 }; 6148 6149 buildInputs = with self; [ gipc greenlet httplib2 six ]; 6150 propagatedBuildInputs = with self; [ dateutil fusepy google_api_python_client ]; 6151 6152 patchPhase = '' 6153 substituteInPlace gdrivefs/resources/requirements.txt \ 6154 --replace "==" ">=" 6155 ''; 6156 6157 meta = { 6158 description = "Mount Google Drive as a local file system"; 6159 longDescription = '' 6160 GDriveFS is a FUSE wrapper for Google Drive developed. Design goals: 6161 - Thread for monitoring changes via "changes" functionality of API. 6162 - Complete stat() implementation. 6163 - Seamlessly work around duplicate-file allowances in Google Drive. 6164 - Seamlessly manage file-type versatility in Google Drive 6165 (Google Doc files do not have a particular format). 6166 - Allow for the same file at multiple paths. 6167 ''; 6168 homepage = https://github.com/dsoprea/GDriveFS; 6169 license = licenses.gpl2; 6170 platforms = with platforms; linux; 6171 maintainers = with maintainers; [ nckx ]; 6172 }; 6173 }; 6174 6175 genshi = buildPythonPackage { 6176 name = "genshi-0.7"; 6177 6178 src = pkgs.fetchurl { 6179 url = http://ftp.edgewall.com/pub/genshi/Genshi-0.7.tar.gz; 6180 sha256 = "0lkkbp6fbwzv0zda5iqc21rr7rdldkwh3hfabfjl9i4bwq14858x"; 6181 }; 6182 6183 # FAIL: test_sanitize_remove_script_elem (genshi.filters.tests.html.HTMLSanitizerTestCase) 6184 # FAIL: test_sanitize_remove_src_javascript (genshi.filters.tests.html.HTMLSanitizerTestCase) 6185 doCheck = false; 6186 6187 buildInputs = with self; [ pkgs.setuptools ]; 6188 6189 meta = { 6190 description = "Python components for parsing HTML, XML and other textual content"; 6191 6192 longDescription = '' 6193 Python library that provides an integrated set of 6194 components for parsing, generating, and processing HTML, XML or other 6195 textual content for output generation on the web. 6196 ''; 6197 6198 license = "BSD"; 6199 }; 6200 }; 6201 6202 gevent = buildPythonPackage rec { 6203 name = "gevent-1.0.2"; 6204 disabled = isPy3k || isPyPy; # see https://github.com/surfly/gevent/issues/248 6205 6206 src = pkgs.fetchurl { 6207 url = "https://pypi.python.org/packages/source/g/gevent/${name}.tar.gz"; 6208 sha256 = "0cds7yvwdlqmd590i59vzxaviwxk4js6dkhnmdxb3p1xac7wmq9s"; 6209 }; 6210 6211 patchPhase = '' 6212 pushd libev 6213 patch -p1 < ${../development/libraries/libev/noreturn.patch} 6214 popd 6215 ''; 6216 6217 buildInputs = with self; [ pkgs.libev ]; 6218 propagatedBuildInputs = optionals (!isPyPy) [ self.greenlet ]; 6219 6220 meta = { 6221 description = "Coroutine-based networking library"; 6222 homepage = http://www.gevent.org/; 6223 license = licenses.mit; 6224 platforms = platforms.linux; 6225 maintainers = with maintainers; [ bjornfor ]; 6226 }; 6227 }; 6228 6229 geventhttpclient = buildPythonPackage rec { 6230 name = "geventhttpclient-${version}"; 6231 version = "1.1.0"; 6232 6233 src = pkgs.fetchurl { 6234 url = "https://pypi.python.org/packages/source/g/geventhttpclient/${name}.tar.gz"; 6235 sha256 = "1k7s4dnkmcfqqkmbqi0vvb2ns53r9cl2652mq20bgg65zj26j2l6"; 6236 }; 6237 6238 propagatedBuildInputs = with self; [ gevent certifi backports_ssl_match_hostname_3_4_0_2 ]; 6239 6240 meta = { 6241 homepage = http://github.com/gwik/geventhttpclient; 6242 description = "HTTP client library for gevent"; 6243 license = licenses.mit; 6244 maintainers = with maintainers; [ koral ]; 6245 }; 6246 }; 6247 6248 gevent-socketio = buildPythonPackage rec { 6249 name = "gevent-socketio-0.3.6"; 6250 6251 src = pkgs.fetchurl { 6252 url = "https://pypi.python.org/packages/source/g/gevent-socketio/${name}.tar.gz"; 6253 sha256 = "1zra86hg2l1jcpl9nsnqagy3nl3akws8bvrbpgdxk15x7ywllfak"; 6254 }; 6255 6256 buildInputs = with self; [ versiontools gevent-websocket mock pytest ]; 6257 propagatedBuildInputs = with self; [ gevent ]; 6258 6259 }; 6260 6261 gevent-websocket = buildPythonPackage rec { 6262 name = "gevent-websocket-0.9.3"; 6263 6264 src = pkgs.fetchurl { 6265 url = "https://pypi.python.org/packages/source/g/gevent-websocket/${name}.tar.gz"; 6266 sha256 = "07rqwfpbv13mk6gg8mf0bmvcf6siyffjpgai1xd8ky7r801j4xb4"; 6267 }; 6268 6269 propagatedBuildInputs = with self; [ gevent ]; 6270 6271 }; 6272 6273 genzshcomp = buildPythonPackage { 6274 name = "genzshcomp-0.5.1"; 6275 6276 src = pkgs.fetchurl { 6277 url = "http://pypi.python.org/packages/source/g/genzshcomp/genzshcomp-0.5.1.tar.gz"; 6278 md5 = "7a954f1835875002e9044fe55ed1b488"; 6279 }; 6280 6281 buildInputs = with self; [ pkgs.setuptools ] ++ (optional isPy26 argparse); 6282 6283 meta = { 6284 description = "automatically generated zsh completion function for Python's option parser modules"; 6285 license = "BSD"; 6286 }; 6287 }; 6288 6289 6290 gflags = buildPythonPackage rec { 6291 name = "gflags-2.0"; 6292 6293 src = pkgs.fetchurl { 6294 url = "http://python-gflags.googlecode.com/files/python-${name}.tar.gz"; 6295 sha256 = "1mkc7315bpmh39vbn0jq237jpw34zsrjr1sck98xi36bg8hnc41i"; 6296 }; 6297 6298 meta = { 6299 homepage = http://code.google.com/p/python-gflags/; 6300 description = "A module for command line handling, similar to Google's gflags for C++"; 6301 }; 6302 }; 6303 6304 gipc = buildPythonPackage rec { 6305 name = "gipc-0.5.0"; 6306 disabled = !isPy26 && !isPy27; 6307 6308 src = pkgs.fetchurl { 6309 url = "http://pypi.python.org/packages/source/g/gipc/${name}.zip"; 6310 sha256 = "08c35xzv7nr12d9xwlywlbyzzz2igy0yy6y52q2nrkmh5d4slbpc"; 6311 }; 6312 6313 propagatedBuildInputs = with self; [ gevent ]; 6314 6315 meta = { 6316 description = "gevent-cooperative child processes and IPC"; 6317 longDescription = '' 6318 Usage of Python's multiprocessing package in a gevent-powered 6319 application may raise problems and most likely breaks the application 6320 in various subtle ways. gipc (pronunciation "gipsy") is developed with 6321 the motivation to solve many of these issues transparently. With gipc, 6322 multiprocessing. Process-based child processes can safely be created 6323 anywhere within your gevent-powered application. 6324 ''; 6325 homepage = http://gehrcke.de/gipc; 6326 license = licenses.mit; 6327 maintainers = with maintainers; [ nckx ]; 6328 }; 6329 }; 6330 6331 glance = buildPythonPackage rec { 6332 name = "glance-0.1.7"; 6333 6334 src = pkgs.fetchurl { 6335 url = "http://pypi.python.org/packages/source/g/glance/${name}.tar.gz"; 6336 md5 = "e733713ccd23e4a6253386a47971cfb5"; 6337 }; 6338 6339 buildInputs = with self; [ nose mox ]; 6340 6341 # tests fail for python2.6 6342 doCheck = python.majorVersion != "2.6"; 6343 6344 propagatedBuildInputs = with self; [ gflags sqlalchemy webob routes eventlet ]; 6345 6346 PYTHON_EGG_CACHE = "`pwd`/.egg-cache"; 6347 6348 meta = { 6349 homepage = https://launchpad.net/glance; 6350 description = "Services for discovering, registering, and retrieving virtual machine images"; 6351 }; 6352 }; 6353 6354 glances = buildPythonPackage rec { 6355 name = "glances-${version}"; 6356 version = "2.4.2"; 6357 disabled = isPyPy; 6358 6359 src = pkgs.fetchFromGitHub { 6360 owner = "nicolargo"; 6361 repo = "glances"; 6362 rev = "v${version}"; 6363 sha256 = "1ghx62z63yyf8wv4bcvfxwxs5mc7b4nrcss6lc1i5s0yjvzvyi6h"; 6364 }; 6365 6366 doCheck = false; 6367 6368 buildInputs = with self; [ unittest2 ]; 6369 propagatedBuildInputs = with self; [ modules.curses modules.curses_panel psutil setuptools bottle batinfo pkgs.hddtemp pysnmp ]; 6370 6371 preConfigure = '' 6372 sed -i 's/data_files\.append((conf_path/data_files.append(("etc\/glances"/' setup.py; 6373 ''; 6374 6375 meta = { 6376 homepage = "http://nicolargo.github.io/glances/"; 6377 description = "Cross-platform curses-based monitoring tool"; 6378 }; 6379 }; 6380 6381 goobook = buildPythonPackage rec { 6382 name = "goobook-1.6"; 6383 disabled = isPy3k; 6384 6385 src = pkgs.fetchurl { 6386 url = "https://pypi.python.org/packages/source/g/goobook/${name}.tar.gz"; 6387 sha256 = "05vpriy391l5i05ckl5ja5bswqyvl3rwrbmks9pi46w1813j7p5z"; 6388 }; 6389 6390 buildInputs = with self; [ ]; 6391 6392 preConfigure = '' 6393 sed -i '/distribute/d' setup.py 6394 ''; 6395 6396 meta = { 6397 description = "Search your google contacts from the command-line or mutt"; 6398 homepage = https://pypi.python.org/pypi/goobook; 6399 license = licenses.gpl3; 6400 maintainers = with maintainers; [ lovek323 hbunke ]; 6401 platforms = platforms.unix; 6402 }; 6403 6404 propagatedBuildInputs = with self; [ gdata hcs_utils keyring simplejson six]; 6405 }; 6406 6407 google_api_python_client = buildPythonPackage rec { 6408 name = "google-api-python-client-1.2"; 6409 6410 src = pkgs.fetchurl { 6411 url = "https://google-api-python-client.googlecode.com/files/google-api-python-client-1.2.tar.gz"; 6412 sha256 = "0xd619w71xk4ldmikxqhaaqn985rc2hy4ljgwfp50jb39afg7crw"; 6413 }; 6414 6415 propagatedBuildInputs = with self; [ httplib2 ]; 6416 6417 meta = { 6418 description = "The core Python library for accessing Google APIs"; 6419 homepage = "https://code.google.com/p/google-api-python-client/"; 6420 license = licenses.asl20; 6421 platforms = platforms.unix; 6422 }; 6423 }; 6424 6425 google_apputils = buildPythonPackage rec { 6426 name = "google-apputils-0.4.1"; 6427 disabled = isPy3k; 6428 6429 src = pkgs.fetchurl { 6430 url = "http://pypi.python.org/packages/source/g/google-apputils/${name}.tar.gz"; 6431 sha256 = "1sxsm5q9vr44qzynj8l7p3l7ffb0zl1jdqhmmzmalkx941nbnj1b"; 6432 }; 6433 6434 preConfigure = '' 6435 sed -i '/ez_setup/d' setup.py 6436 ''; 6437 6438 propagatedBuildInputs = with self; [ pytz gflags dateutil mox ]; 6439 6440 checkPhase = '' 6441 ${python.executable} setup.py google_test 6442 ''; 6443 6444 doCheck = true; 6445 6446 meta = { 6447 description = "Google Application Utilities for Python"; 6448 homepage = http://code.google.com/p/google-apputils-python; 6449 }; 6450 }; 6451 6452 6453 greenlet = buildPythonPackage rec { 6454 name = "greenlet-${version}"; 6455 version = "0.4.7"; 6456 disabled = isPyPy; # builtin for pypy 6457 6458 src = pkgs.fetchurl { 6459 url = "https://pypi.python.org/packages/source/g/greenlet/${name}.zip"; 6460 sha256 = "1zlmsygjw69xlq56vz1z5ivzy9bwc7knjaykn2yy2hv4w2j4yb7k"; 6461 }; 6462 6463 # see https://github.com/python-greenlet/greenlet/issues/85 6464 preCheck = '' 6465 rm tests/test_leaks.py 6466 ''; 6467 6468 meta = { 6469 homepage = http://pypi.python.org/pypi/greenlet; 6470 description = "Module for lightweight in-process concurrent programming"; 6471 license = licenses.lgpl2; 6472 platforms = platforms.all; 6473 }; 6474 }; 6475 6476 gspread = buildPythonPackage rec { 6477 version = "0.2.3"; 6478 name = "gspread-${version}"; 6479 6480 src = pkgs.fetchurl { 6481 url = "https://pypi.python.org/packages/source/g/gspread/${name}.tar.gz"; 6482 md5 = "5a71e4e3fc509dc1c4d34722f102dec1"; 6483 }; 6484 6485 meta = { 6486 description = "Google Spreadsheets client library"; 6487 homepage = "https://github.com/burnash/gspread"; 6488 license = licenses.mit; 6489 }; 6490 }; 6491 6492 gyp = buildPythonPackage rec { 6493 name = "gyp-${version}"; 6494 version = "2015-06-11"; 6495 6496 src = pkgs.fetchgit { 6497 url = "https://chromium.googlesource.com/external/gyp.git"; 6498 rev = "fdc7b812f99e48c00e9a487bd56751bbeae07043"; 6499 sha256 = "176sdxkva2irr1v645nn4q6rwc6grbb1wxj82n7x9hh09q4bxqcz"; 6500 }; 6501 6502 patches = optionals pkgs.stdenv.isDarwin [ 6503 ../development/python-modules/gyp/no-darwin-cflags.patch 6504 ]; 6505 6506 meta = { 6507 description = "A tool to generate native build files"; 6508 homepage = https://chromium.googlesource.com/external/gyp/+/master/README.md; 6509 license = licenses.bsd3; 6510 maintainers = with maintainers; [ codyopel ]; 6511 platforms = platforms.all; 6512 }; 6513 }; 6514 6515 guessit = buildPythonPackage rec { 6516 version = "0.9.4"; 6517 name = "guessit-${version}"; 6518 disabled = isPy3k; 6519 6520 src = pkgs.fetchurl { 6521 url = "http://pypi.python.org/packages/source/g/guessit/${name}.tar.gz"; 6522 sha256 = "068d3dmyk4v04p2zna0340lsdnpkm10gyza62apd9akgjh9rfs48"; 6523 }; 6524 6525 propagatedBuildInputs = with self; [ 6526 dateutil_2_1 requests stevedore babelfish pyyaml 6527 ]; 6528 6529 # A unicode test fails 6530 doCheck = false; 6531 6532 meta = { 6533 homepage = http://pypi.python.org/pypi/guessit; 6534 license = licenses.lgpl3; 6535 description = "A library for guessing information from video files"; 6536 }; 6537 }; 6538 6539 gunicorn = buildPythonPackage rec { 6540 name = "gunicorn-19.1.0"; 6541 6542 src = pkgs.fetchurl { 6543 url = "http://pypi.python.org/packages/source/g/gunicorn/${name}.tar.gz"; 6544 md5 = "3d759bec3c46a680ff010775258c4c56"; 6545 }; 6546 6547 buildInputs = with self; [ pytest ]; 6548 6549 meta = { 6550 homepage = http://pypi.python.org/pypi/gunicorn; 6551 description = "WSGI HTTP Server for UNIX"; 6552 }; 6553 }; 6554 6555 hawkauthlib = buildPythonPackage rec { 6556 name = "hawkauthlib-${version}"; 6557 version = "0.1.1"; 6558 src = pkgs.fetchgit { 6559 url = https://github.com/mozilla-services/hawkauthlib.git; 6560 rev = "refs/tags/v${version}"; 6561 sha256 = "0b3xydii50ifs8qkgbpdlidfs2rzw63f807ahrq9flz90ahf582h"; 6562 }; 6563 6564 propagatedBuildInputs = with self; [ requests webob ]; 6565 }; 6566 6567 hcs_utils = buildPythonPackage rec { 6568 name = "hcs_utils-1.5"; 6569 6570 src = pkgs.fetchurl { 6571 url = "https://pypi.python.org/packages/source/h/hcs_utils/${name}.tar.gz"; 6572 sha256 = "1d2za9crkgzildx610w3zif2i8phcqhh6n8nzg3yvy2mg0s18mkl"; 6573 }; 6574 6575 preBuild = '' 6576 export LC_ALL="en_US.UTF-8" 6577 ''; 6578 6579 buildInputs = with self; [ six pkgs.glibcLocales ]; 6580 6581 meta = { 6582 description = "Library collecting some useful snippets"; 6583 homepage = https://pypi.python.org/pypi/hcs_utils/1.3; 6584 license = licenses.isc; 6585 maintainers = with maintainers; [ lovek323 ]; 6586 platforms = platforms.unix; 6587 }; 6588 }; 6589 6590 6591 hetzner = buildPythonPackage rec { 6592 name = "hetzner-${version}"; 6593 version = "0.7.3"; 6594 6595 src = pkgs.fetchurl { 6596 url = "https://github.com/RedMoonStudios/hetzner/archive/" 6597 + "v${version}.tar.gz"; 6598 sha256 = "1a0kcwqd1pj5giwh75m2m3jcnr1kd38v40hh64wgly2zp485nm5m"; 6599 }; 6600 6601 # not there yet, but coming soon. 6602 doCheck = false; 6603 6604 meta = { 6605 homepage = "https://github.com/RedMoonStudios/hetzner"; 6606 description = "High-level Python API for accessing the Hetzner robot"; 6607 license = licenses.bsd3; 6608 maintainers = with maintainers; [ aszlig ]; 6609 }; 6610 }; 6611 6612 6613 htmllaundry = buildPythonPackage rec { 6614 name = "htmllaundry-2.0"; 6615 6616 src = pkgs.fetchurl { 6617 url = "https://pypi.python.org/packages/source/h/htmllaundry/${name}.tar.gz"; 6618 md5 = "6db6909de76c4b259e65d90b5debdbda"; 6619 }; 6620 6621 buildInputs = with self; [ nose ]; 6622 propagatedBuildInputs = with self; [ six lxml ]; 6623 6624 # some tests fail, probably because of changes in lxml 6625 # not relevant for me, if releavnt for you, fix it... 6626 doCheck = false; 6627 6628 meta = { 6629 description = "Simple HTML cleanup utilities"; 6630 license = licenses.bsd3; 6631 }; 6632 }; 6633 6634 6635 html5lib = buildPythonPackage (rec { 6636 version = "0.999"; 6637 name = "html5lib-${version}"; 6638 6639 src = pkgs.fetchurl { 6640 url = "http://github.com/html5lib/html5lib-python/archive/${version}.tar.gz"; 6641 sha256 = "1kxl36p0csssaf37zbbc9p4h8l1s7yb1qnfv3d4nixplvrxqkybp"; 6642 }; 6643 6644 buildInputs = with self; [ nose flake8 ]; 6645 propagatedBuildInputs = with self; [ 6646 six 6647 ] ++ optionals isPy26 [ ordereddict ]; 6648 6649 checkPhase = "nosetests"; 6650 6651 meta = { 6652 homepage = https://github.com/html5lib/html5lib-python; 6653 downloadPage = https://github.com/html5lib/html5lib-python/releases; 6654 description = "HTML parser based on WHAT-WG HTML5 specification"; 6655 longDescription = '' 6656 html5lib is a pure-python library for parsing HTML. It is designed to 6657 conform to the WHATWG HTML specification, as is implemented by all 6658 major web browsers. 6659 ''; 6660 license = licenses.mit; 6661 maintainers = with maintainers; [ iElectric prikhi ]; 6662 }; 6663 }); 6664 6665 http_signature = buildPythonPackage (rec { 6666 name = "http_signature-0.1.4"; 6667 disabled = isPy3k; 6668 6669 src = pkgs.fetchurl { 6670 url = "http://pypi.python.org/packages/source/h/http_signature/${name}.tar.gz"; 6671 md5 = "015061846254bd5d8c5dbc2913985153"; 6672 }; 6673 6674 propagatedBuildInputs = with self; [pycrypto]; 6675 6676 meta = { 6677 homepage = https://github.com/atl/py-http-signature; 6678 description = ""; 6679 license = licenses.mit; 6680 }; 6681 }); 6682 6683 httpbin = buildPythonPackage rec { 6684 name = "httpbin-0.2.0"; 6685 6686 src = pkgs.fetchurl { 6687 url = "https://pypi.python.org/packages/source/h/httpbin/${name}.tar.gz"; 6688 md5 = "9b2bb2fab45f5fa839e9a776a64d6089"; 6689 }; 6690 6691 propagatedBuildInputs = with self; [ flask markupsafe decorator itsdangerous six ]; 6692 6693 meta = { 6694 homepage = https://github.com/kennethreitz/httpbin; 6695 description = "HTTP Request & Response Service"; 6696 license = licenses.mit; 6697 }; 6698 6699 }; 6700 6701 httplib2 = buildPythonPackage rec { 6702 name = "httplib2-0.9"; 6703 6704 src = pkgs.fetchurl { 6705 url = "https://pypi.python.org/packages/source/h/httplib2/${name}.tar.gz"; 6706 sha256 = "1asi5wpncnc6ki3bz33mhb9xh2lrkb24y4qng8bmqnczdmm8rsir"; 6707 }; 6708 6709 meta = { 6710 homepage = http://code.google.com/p/httplib2; 6711 description = "A comprehensive HTTP client library"; 6712 license = licenses.mit; 6713 maintainers = with maintainers; [ garbas ]; 6714 }; 6715 }; 6716 6717 hypothesis = pythonPackages.buildPythonPackage rec { 6718 name = "hypothesis-0.7.0"; 6719 6720 doCheck = false; 6721 6722 src = pkgs.fetchurl { 6723 url = "https://pypi.python.org/packages/source/h/hypothesis/hypothesis-0.7.0.tar.gz"; 6724 md5 = "0c4112bab04b71979286387b033921b5"; 6725 }; 6726 6727 meta = { 6728 description = "A Python library for property based testing"; 6729 homepage = https://github.com/DRMacIver/hypothesis; 6730 license = licenses.mpl20; 6731 }; 6732 }; 6733 6734 httpretty = buildPythonPackage rec { 6735 name = "httpretty-${version}"; 6736 version = "0.8.3"; 6737 disabled = isPy3k; 6738 doCheck = false; 6739 6740 src = pkgs.fetchurl { 6741 url = "http://pypi.python.org/packages/source/h/httpretty/${name}.tar.gz"; 6742 md5 = "50b02560a49fe928c90c53a49791f621"; 6743 }; 6744 6745 buildInputs = with self; [ tornado requests httplib2 sure nose coverage certifi ]; 6746 6747 propagatedBuildInputs = with self; [ urllib3 ]; 6748 6749 postPatch = '' 6750 sed -i -e 's/==.*$//' *requirements.txt 6751 # XXX: Drop this after version 0.8.4 is released. 6752 patch httpretty/core.py <<DIFF 6753 *************** 6754 *** 566 **** 6755 ! 'content-length': len(self.body) 6756 --- 566 ---- 6757 ! 'content-length': str(len(self.body)) 6758 DIFF 6759 ''; 6760 6761 meta = { 6762 homepage = "http://falcao.it/HTTPretty/"; 6763 description = "HTTP client request mocking tool"; 6764 license = licenses.mit; 6765 }; 6766 }; 6767 6768 icalendar = buildPythonPackage rec { 6769 version = "3.9.0"; 6770 name = "icalendar-${version}"; 6771 6772 src = pkgs.fetchurl { 6773 url = "https://pypi.python.org/packages/source/i/icalendar/${name}.tar.gz"; 6774 md5 = "072c67a4c461864abd604631d7cf67e7"; 6775 }; 6776 6777 buildInputs = with self; [ setuptools ]; 6778 propagatedBuildInputs = with self; [ dateutil pytz ]; 6779 6780 meta = { 6781 description = "A parser/generator of iCalendar files"; 6782 homepage = "http://icalendar.readthedocs.org/"; 6783 license = licenses.bsd2; 6784 maintainers = with maintainers; [ olcai ]; 6785 }; 6786 }; 6787 6788 importlib = if isPy26 then (buildPythonPackage { 6789 name = "importlib-1.0.2"; 6790 src = pkgs.fetchurl { 6791 url = "http://pypi.python.org/packages/source/i/importlib/importlib-1.0.2.tar.gz"; 6792 md5 = "4aa23397da8bd7c7426864e88e4db7e1"; 6793 }; 6794 doCheck = false; 6795 }) else null; 6796 6797 influxdb = buildPythonPackage rec { 6798 name = "influxdb-0.1.12"; 6799 6800 src = pkgs.fetchurl { 6801 url = "http://pypi.python.org/packages/source/i/influxdb/${name}.tar.gz"; 6802 md5 = "6c975058ccc4df41dad8d8234c52d754"; 6803 }; 6804 6805 # ImportError: No module named tests 6806 doCheck = false; 6807 propagatedBuildInputs = with self; [ requests ]; 6808 6809 meta = { 6810 description = "Python client for InfluxDB"; 6811 homepage = https://github.com/influxdb/influxdb-python; 6812 license = licenses.mit; 6813 }; 6814 }; 6815 6816 infoqscraper = buildPythonPackage rec { 6817 name = pname + "-" + version; 6818 version = "0.1.0"; 6819 pname = "infoqscraper"; 6820 6821 src = pkgs.fetchFromGitHub { 6822 owner = "cykl"; 6823 repo = pname; 6824 rev = "v" + version; 6825 sha256 = "07mxp4mla7fwfc032f3mxrhjarnhkjqdxxibf9ba87c93z3dq8jj"; 6826 }; 6827 6828 buildInputs = with self; [ html5lib ]; 6829 propagatedBuildInputs = (with self; [ six beautifulsoup4 ]) 6830 ++ (with pkgs; [ ffmpeg swftools rtmpdump ]); 6831 6832 meta = { 6833 description = "Discover presentations and/or create a movie consisting of slides and audio track from an infoq url"; 6834 homepage = "https://github.com/cykl/infoqscraper/wiki"; 6835 license = licenses.mit; 6836 maintainers = with maintainers; [ edwtjo ]; 6837 }; 6838 }; 6839 6840 iptools = buildPythonPackage rec { 6841 version = "0.6.1"; 6842 name = "iptools-${version}"; 6843 6844 src = pkgs.fetchurl { 6845 url = "http://pypi.python.org/packages/source/i/iptools/iptools-${version}.tar.gz"; 6846 md5 = "aed4045638fd40c16f8d9bb04606f700"; 6847 }; 6848 6849 buildInputs = with self; [ nose ]; 6850 6851 meta = { 6852 description = "Utilities for manipulating IP addresses including a class that can be used to include CIDR network blocks in Django's INTERNAL_IPS setting"; 6853 homepage = http://pypi.python.org/pypi/iptools; 6854 }; 6855 }; 6856 6857 6858 ipy = buildPythonPackage rec { 6859 version = "0.74"; 6860 name = "ipy-${version}"; 6861 6862 src = pkgs.fetchurl { 6863 url = "http://pypi.python.org/packages/source/I/IPy/IPy-${version}.tar.gz"; 6864 md5 = "f4f7ddc7c5e55a47222a5cc6c0a87b6d"; 6865 }; 6866 6867 # error: invalid command 'test' 6868 doCheck = false; 6869 6870 meta = { 6871 description = "Class and tools for handling of IPv4 and IPv6 addresses and networks"; 6872 homepage = http://pypi.python.org/pypi/IPy; 6873 }; 6874 }; 6875 6876 6877 ipaddr = buildPythonPackage rec { 6878 name = "ipaddr-2.1.10"; 6879 disabled = isPy3k; 6880 6881 src = pkgs.fetchurl { 6882 url = "http://pypi.python.org/packages/source/i/ipaddr/${name}.tar.gz"; 6883 sha256 = "18ycwkfk3ypb1yd09wg20r7j7zq2a73d7j6j10qpgra7a7abzhyj"; 6884 }; 6885 6886 meta = { 6887 description = "Google's IP address manipulation library"; 6888 homepage = http://code.google.com/p/ipaddr-py/; 6889 license = licenses.asl20; 6890 }; 6891 }; 6892 6893 ipaddress = buildPythonPackage rec { 6894 name = "ipaddress-1.0.7"; 6895 6896 src = pkgs.fetchurl { 6897 url = "https://pypi.python.org/packages/source/i/ipaddress/${name}.tar.gz"; 6898 md5 = "5d9ecf415cced476f7781cf5b9ef70c4"; 6899 }; 6900 6901 meta = { 6902 description = "Port of the 3.3+ ipaddress module to 2.6, 2.7, and 3.2"; 6903 homepage = https://github.com/phihag/ipaddress; 6904 license = licenses.psfl; 6905 }; 6906 }; 6907 6908 ipdb = buildPythonPackage rec { 6909 name = "ipdb-0.8"; 6910 disabled = isPyPy; # setupterm: could not find terminfo database 6911 src = pkgs.fetchurl { 6912 url = "http://pypi.python.org/packages/source/i/ipdb/${name}.zip"; 6913 md5 = "96dca0712efa01aa5eaf6b22071dd3ed"; 6914 }; 6915 propagatedBuildInputs = with self; [ self.ipythonLight ]; 6916 }; 6917 6918 ipdbplugin = buildPythonPackage { 6919 name = "ipdbplugin-1.4"; 6920 src = pkgs.fetchurl { 6921 url = "https://pypi.python.org/packages/source/i/ipdbplugin/ipdbplugin-1.4.tar.gz"; 6922 md5 = "f9a41512e5d901ea0fa199c3f648bba7"; 6923 }; 6924 propagatedBuildInputs = with self; [ self.nose self.ipythonLight ]; 6925 }; 6926 6927 iso8601 = buildPythonPackage { 6928 name = "iso8601-0.1.10"; 6929 src = pkgs.fetchurl { 6930 url = https://pypi.python.org/packages/source/i/iso8601/iso8601-0.1.10.tar.gz; 6931 sha256 = "1qf01afxh7j4gja71vxv345if8avg6nnm0ry0zsk6j3030xgy4p7"; 6932 }; 6933 6934 meta = { 6935 homepage = https://bitbucket.org/micktwomey/pyiso8601/; 6936 description = "Simple module to parse ISO 8601 dates"; 6937 maintainers = with maintainers; [ phreedom ]; 6938 }; 6939 }; 6940 6941 isort = buildPythonPackage rec { 6942 name = "isort-3.9.6"; 6943 6944 src = pkgs.fetchurl { 6945 url = "https://pypi.python.org/packages/source/i/isort/${name}.tar.gz"; 6946 md5 = "c0f4a7b16fde265f2ff4842c3e1cdd05"; 6947 }; 6948 6949 buildInputs = with self; [ mock pytest ]; 6950 6951 propagatedBuildInputs = with self; [ natsort pies ]; 6952 6953 meta = { 6954 description = "A Python utility / library to sort Python imports"; 6955 homepage = https://github.com/timothycrosley/isort; 6956 license = licenses.mit; 6957 }; 6958 }; 6959 6960 jedi = buildPythonPackage (rec { 6961 name = "jedi-0.8.1"; 6962 6963 src = pkgs.fetchurl { 6964 url = "http://pypi.python.org/packages/source/j/jedi/${name}.tar.gz"; 6965 sha256 = "1a7bg159mc1la5p1zsblzpr9hmypa7nz0mpvf7dww57cgi2sw8sd"; 6966 }; 6967 6968 meta = { 6969 homepage = https://github.com/davidhalter/jedi; 6970 description = "An autocompletion tool for Python that can be used for text editors"; 6971 license = licenses.lgpl3Plus; 6972 maintainers = with maintainers; [ garbas ]; 6973 }; 6974 }); 6975 6976 jellyfish = buildPythonPackage rec { 6977 version = "0.5.0"; 6978 name = "jellyfish-${version}"; 6979 6980 src = pkgs.fetchurl { 6981 url = "https://pypi.python.org/packages/source/j/jellyfish/${name}.tar.gz"; 6982 sha256 = "04p80gwwlhxjp8zpjf70a62x69l9rlvnz1pwi5ar52gyajn8z6z1"; 6983 }; 6984 6985 buildInputs = with self; [ pytest unicodecsv ]; 6986 6987 meta = { 6988 homepage = http://github.com/sunlightlabs/jellyfish; 6989 description = "Approximate and phonetic matching of strings"; 6990 maintainers = with maintainers; [ koral ]; 6991 }; 6992 }; 6993 6994 j2cli = buildPythonPackage rec { 6995 name = "j2cli-${version}"; 6996 version = "0.3.1-0"; 6997 6998 src = pkgs.fetchurl { 6999 url = "https://pypi.python.org/packages/source/j/j2cli/${name}.tar.gz"; 7000 sha256 = "0y3w1x9935qzx8w6m2r6g4ghyjmxn33wryiif6xb56q7cj9w1433"; 7001 }; 7002 7003 disabled = ! (isPy26 || isPy27); 7004 7005 buildInputs = [ self.nose ]; 7006 7007 propagatedBuildInputs = with self; [ jinja2 pyyaml ]; 7008 7009 meta = { 7010 homepage = https://github.com/kolypto/j2cli; 7011 description = "Jinja2 Command-Line Tool"; 7012 license = licenses.bsd3; 7013 longDescription = '' 7014 J2Cli is a command-line tool for templating in shell-scripts, 7015 leveraging the Jinja2 library. 7016 ''; 7017 platforms = platforms.all; 7018 maintainers = with maintainers; [ rushmorem ]; 7019 }; 7020 }; 7021 7022 jinja2 = buildPythonPackage rec { 7023 name = "Jinja2-2.7.3"; 7024 7025 src = pkgs.fetchurl { 7026 url = "http://pypi.python.org/packages/source/J/Jinja2/${name}.tar.gz"; 7027 # md5 = "b9dffd2f3b43d673802fe857c8445b1a"; # provided by pypi website. 7028 sha256 = "2e24ac5d004db5714976a04ac0e80c6df6e47e98c354cb2c0d82f8879d4f8fdb"; 7029 }; 7030 7031 propagatedBuildInputs = with self; [ markupsafe ]; 7032 7033 meta = { 7034 homepage = http://jinja.pocoo.org/; 7035 description = "Stand-alone template engine"; 7036 license = licenses.bsd3; 7037 longDescription = '' 7038 Jinja2 is a template engine written in pure Python. It provides a 7039 Django inspired non-XML syntax but supports inline expressions and 7040 an optional sandboxed environment. 7041 ''; 7042 platforms = platforms.all; 7043 maintainers = with maintainers; [ pierron garbas ]; 7044 }; 7045 }; 7046 7047 7048 jmespath = buildPythonPackage rec { 7049 name = "jmespath-0.7.1"; 7050 7051 src = pkgs.fetchurl { 7052 url = "https://pypi.python.org/packages/source/j/jmespath/${name}.tar.gz"; 7053 sha256 = "1lazbx65imassd7h24z49za001rvx1lmx8r0l21h4izs7pp14nnd"; 7054 }; 7055 7056 propagatedBuildInputs = with self; [ ply ]; 7057 7058 meta = { 7059 homepage = https://github.com/boto/jmespath; 7060 description = "JMESPath allows you to declaratively specify how to extract elements from a JSON document"; 7061 license = "BSD"; 7062 }; 7063 }; 7064 7065 7066 jrnl = buildPythonPackage rec { 7067 name = "jrnl-1.9.7"; 7068 disabled = isPy3k; 7069 7070 src = pkgs.fetchurl { 7071 url = "https://pypi.python.org/packages/source/j/jrnl/${name}.tar.gz"; 7072 md5 = "395faff36de8a08a5bfeedbf123e9067"; 7073 }; 7074 7075 propagatedBuildInputs = with self; [ 7076 pytz six tzlocal keyring modules.readline argparse dateutil_1_5 7077 parsedatetime 7078 ]; 7079 7080 meta = { 7081 homepage = http://maebert.github.io/jrnl/; 7082 description = "A simple command line journal application that stores your journal in a plain text file"; 7083 license = licenses.mit; 7084 }; 7085 }; 7086 7087 7088 keyring = buildPythonPackage rec { 7089 name = "keyring-3.3"; 7090 7091 src = pkgs.fetchurl { 7092 url = "https://pypi.python.org/packages/source/k/keyring/${name}.zip"; 7093 md5 = "81291e0c7337affb71442e6c7671e77f"; 7094 }; 7095 7096 buildInputs = with self; 7097 [ fs gdata python_keyczar mock pyasn1 pycrypto pytest six ]; 7098 7099 meta = { 7100 description = "Store and access your passwords safely"; 7101 homepage = "https://pypi.python.org/pypi/keyring"; 7102 license = licenses.psfl; 7103 maintainers = with maintainers; [ lovek323 ]; 7104 platforms = platforms.unix; 7105 }; 7106 }; 7107 7108 klaus = buildPythonPackage rec { 7109 version = "0.4.10"; 7110 name = "klaus-${version}"; 7111 7112 src = pkgs.fetchurl { 7113 url = "https://github.com/jonashaag/klaus/archive/${version}.tar.gz"; 7114 sha256 = "1yq1dz3cd2qdn8vi1ivf6biab76cfmcvis07d6a8039w5wxdzc80"; 7115 }; 7116 7117 propagatedBuildInputs = with self; 7118 [ humanize httpauth dulwich pygments flask ]; 7119 7120 meta = { 7121 description = "The first Git web viewer that Just Works"; 7122 homepage = "https://github.com/jonashaag/klaus"; 7123 #license = licenses.mit; # I'm not sure about the license 7124 maintainers = with maintainers; [ matthiasbeyer ]; 7125 platforms = platforms.linux; # Can only test linux 7126 }; 7127 }; 7128 7129 kombu = buildPythonPackage rec { 7130 name = "kombu-${version}"; 7131 version = "3.0.24"; 7132 7133 disabled = pythonOlder "2.6"; 7134 7135 src = pkgs.fetchurl { 7136 url = "https://pypi.python.org/packages/source/k/kombu/${name}.tar.gz"; 7137 sha256 = "13dzybciispin9c4znpiyvgha354mz124lgx06ksw4vic0vh9zxr"; 7138 md5 = "37c8b5084ac83b8a6f5ff9f157cac0e9"; 7139 }; 7140 7141 buildInputs = with self; optionals (!isPy3k) [ anyjson mock unittest2 nose ]; 7142 7143 propagatedBuildInputs = with self; [ amqp ] ++ 7144 (optionals (pythonOlder "2.7") [ importlib ordereddict ]); 7145 7146 # tests broken on python 2.6? https://github.com/nose-devs/nose/issues/806 7147 # tests also appear to depend on anyjson, which has Py3k problems 7148 doCheck = (pythonAtLeast "2.7") && !isPy3k ; 7149 7150 meta = { 7151 description = "Messaging library for Python"; 7152 homepage = "http://github.com/celery/kombu"; 7153 license = licenses.bsd3; 7154 }; 7155 }; 7156 7157 konfig = buildPythonPackage rec { 7158 name = "konfig-${version}"; 7159 version = "0.9"; 7160 7161 # konfig unconditionaly depend on configparser, even if it is part of 7162 # the standard library in python 3.2 or above. 7163 disabled = isPy3k; 7164 7165 src = pkgs.fetchgit { 7166 url = https://github.com/mozilla-services/konfig.git; 7167 rev = "refs/tags/${version}"; 7168 sha256 = "1v9pjb9idapjlc75p6h06kx7bi8zxhfgj93yxq1bn337kmyk1xdf"; 7169 }; 7170 7171 propagatedBuildInputs = with self; [ configparser argparse ]; 7172 7173 meta = { 7174 description = "Yet Another Config Parser"; 7175 homepage = "https://github.com/mozilla-services/konfig"; 7176 license = licenses.mpl20; 7177 }; 7178 }; 7179 7180 kitchen = buildPythonPackage (rec { 7181 name = "kitchen-1.1.1"; 7182 disabled = isPy3k; 7183 7184 meta.maintainers = with maintainers; [ mornfall ]; 7185 7186 src = pkgs.fetchurl { 7187 url = "https://pypi.python.org/packages/source/k/kitchen/kitchen-1.1.1.tar.gz"; 7188 sha256 = "0ki840hjk1q19w6icv0dj2jxb00966nwy9b1jib0dgdspj00yrr5"; 7189 }; 7190 }); 7191 7192 pylast = buildPythonPackage rec { 7193 name = "pylast-${version}"; 7194 version = "0.5.11"; 7195 7196 src = pkgs.fetchurl { 7197 url = "http://pypi.python.org/packages/source/p/pylast/${name}.tar.gz"; 7198 md5 = "506cf1b13020b3ed2f3c845ea0c9830e"; 7199 }; 7200 7201 # error: invalid command 'test' 7202 doCheck = false; 7203 7204 meta = { 7205 homepage = http://code.google.com/p/pylast/; 7206 description = "A python interface to last.fm (and compatibles)"; 7207 license = licenses.asl20; 7208 }; 7209 }; 7210 7211 7212 le = buildPythonPackage rec { 7213 name = "le-${version}"; 7214 version = "1.4.13"; 7215 7216 src = pkgs.fetchFromGitHub { 7217 owner = "logentries"; 7218 repo = "le"; 7219 rev = "v${version}"; 7220 sha256 = "12l6fqavykjinq286i9pgbbbrv5lq2mmiji91g0m05lfdx9pg4y1"; 7221 }; 7222 7223 propagatedBuildInputs = with self; [ simplejson psutil ]; 7224 7225 meta = { 7226 homepage = "https://github.com/logentries/le"; 7227 description = "Logentries agent"; 7228 }; 7229 }; 7230 7231 7232 libcloud = buildPythonPackage (rec { 7233 name = "libcloud-0.14.1"; 7234 7235 src = pkgs.fetchurl { 7236 url = https://pypi.python.org/packages/source/a/apache-libcloud/apache-libcloud-0.14.1.tar.bz2; 7237 sha256 = "1l6190pjv54c7y8pzr089ij727qv7bqhhaznr2mkvimgr1wzsql5"; 7238 }; 7239 7240 buildInputs = with self; [ mock ]; 7241 7242 propagatedBuildInputs = with self; [ pycrypto ]; 7243 preConfigure = "cp libcloud/test/secrets.py-dist libcloud/test/secrets.py"; 7244 7245 # failing tests for 26 and 27 7246 doCheck = false; 7247 7248 meta = { 7249 description = "A unified interface to many cloud providers"; 7250 homepage = http://incubator.apache.org/libcloud/; 7251 }; 7252 }); 7253 7254 7255 limnoria = buildPythonPackage (rec { 7256 name = "limnoria-20130327"; 7257 7258 src = pkgs.fetchurl { 7259 url = https://pypi.python.org/packages/source/l/limnoria/limnoria-2013-06-01T10:32:51+0200.tar.gz; 7260 name = "limnoria-2013-06-01.tar.gz"; 7261 sha256 = "1i8q9zzf43sr3n1q4h6h1z8nz31g4aa8dq94ywvfbh7hklmchq6n"; 7262 }; 7263 7264 buildInputs = with self; [ pkgs.git ]; 7265 propagatedBuildInputs = with self; [ modules.sqlite3 ]; 7266 7267 doCheck = false; 7268 7269 meta = { 7270 description = "A modified version of Supybot, an IRC bot"; 7271 homepage = http://supybot.fr.cr; 7272 license = licenses.bsd3; 7273 maintainers = with maintainers; [ goibhniu ]; 7274 }; 7275 }); 7276 7277 7278 linode = buildPythonPackage rec { 7279 name = "linode-${version}"; 7280 version = "0.4"; 7281 7282 src = pkgs.fetchurl { 7283 url = "https://pypi.python.org/packages/source/l/linode/linode-${version}.tar.gz"; 7284 md5 = "03a306575cf274719b3206ecee0bda9e"; 7285 }; 7286 7287 propagatedBuildInputs = with self; [ requests2 ]; 7288 7289 meta = { 7290 homepage = "https://github.com/ghickman/linode"; 7291 description = "A thin python wrapper around Linode's API"; 7292 license = licenses.mit; 7293 maintainers = with maintainers; [ nslqqq ]; 7294 }; 7295 }; 7296 7297 llfuse = buildPythonPackage rec { 7298 name = "llfuse-0.40"; 7299 7300 src = pkgs.fetchurl { 7301 url = "https://pypi.python.org/packages/source/l/llfuse/${name}.tar.bz2"; 7302 sha256 = "0mx87n6j2g63mgiimjqn0gj6jgqfdkc04xkxc56r1azjlqji32zf"; 7303 }; 7304 7305 buildInputs = [ pkgs.pkgconfig pkgs.fuse pkgs.attr ]; 7306 7307 meta = { 7308 description = "Python bindings for the low-level FUSE API"; 7309 homepage = https://code.google.com/p/python-llfuse/; 7310 license = licenses.lgpl2Plus; 7311 platforms = platforms.unix; 7312 maintainers = with maintainers; [ bjornfor ]; 7313 }; 7314 }; 7315 7316 locustio = buildPythonPackage rec { 7317 name = "locustio-0.7.2"; 7318 7319 src = pkgs.fetchurl { 7320 url = "https://pypi.python.org/packages/source/l/locustio/${name}.tar.gz"; 7321 md5 = "90cf4d029d58ad58d19ea17a16e59c34"; 7322 }; 7323 7324 propagatedBuildInputs = [ self.msgpack self.requests2 self.flask self.gevent self.pyzmq ]; 7325 buildInputs = [ self.mock self.unittest2 ]; 7326 7327 meta = { 7328 homepage = http://locust.io/; 7329 description = "A load testing tool"; 7330 }; 7331 }; 7332 7333 lockfile = buildPythonPackage rec { 7334 name = "lockfile-0.9.1"; 7335 7336 src = pkgs.fetchurl { 7337 url = "http://pylockfile.googlecode.com/files/${name}.tar.gz"; 7338 sha1 = "1eebaee375641c9f29aeb21768f917dd2b985752"; 7339 }; 7340 7341 # error: invalid command 'test' 7342 doCheck = false; 7343 7344 meta = { 7345 homepage = http://code.google.com/p/pylockfile/; 7346 description = "Platform-independent advisory file locking capability for Python applications"; 7347 }; 7348 }; 7349 7350 logilab_common = buildPythonPackage rec { 7351 name = "logilab-common-0.63.2"; 7352 7353 src = pkgs.fetchurl { 7354 url = "https://pypi.python.org/packages/source/l/logilab-common/${name}.tar.gz"; 7355 sha256 = "1rr81zlmlgdma3s75i5c1l8q2m25v4ac41i9pniik4mhkc6a0fv0"; 7356 }; 7357 7358 propagatedBuildInputs = with self; [ unittest2 six ]; 7359 }; 7360 7361 lxml = buildPythonPackage ( rec { 7362 name = "lxml-3.3.6"; 7363 7364 src = pkgs.fetchurl { 7365 url = "http://pypi.python.org/packages/source/l/lxml/${name}.tar.gz"; 7366 md5 = "a804b36864c483fe7abdd7f493a0c379"; 7367 }; 7368 7369 buildInputs = with self; [ pkgs.libxml2 pkgs.libxslt ]; 7370 7371 meta = { 7372 description = "Pythonic binding for the libxml2 and libxslt libraries"; 7373 homepage = http://codespeak.net/lxml/index.html; 7374 license = "BSD"; 7375 }; 7376 }); 7377 7378 7379 python_magic = buildPythonPackage rec { 7380 name = "python-magic-0.4.6"; 7381 7382 src = pkgs.fetchurl { 7383 url = "http://pypi.python.org/packages/source/p/python-magic/${name}.tar.gz"; 7384 md5 = "07e7a0fea78dd81ed609414c3484df58"; 7385 }; 7386 7387 propagatedBuildInputs = with self; [ pkgs.file ]; 7388 7389 patchPhase = '' 7390 substituteInPlace magic.py --replace "ctypes.CDLL(dll)" "ctypes.CDLL('${pkgs.file}/lib/libmagic.so')" 7391 ''; 7392 7393 doCheck = false; 7394 7395 # TODO: tests are failing 7396 #checkPhase = '' 7397 # ${python}/bin/${python.executable} ./test.py 7398 #''; 7399 7400 meta = { 7401 description = "A python interface to the libmagic file type identification library"; 7402 homepage = https://github.com/ahupp/python-magic; 7403 }; 7404 }; 7405 7406 magic = buildPythonPackage rec { 7407 name = "${pkgs.file.name}"; 7408 7409 src = pkgs.file.src; 7410 7411 patchPhase = '' 7412 substituteInPlace python/magic.py --replace "find_library('magic')" "'${pkgs.file}/lib/libmagic.so'" 7413 ''; 7414 7415 buildInputs = with self; [ python pkgs.file ]; 7416 7417 preConfigure = "cd python"; 7418 7419 meta = { 7420 description = "A Python wrapper around libmagic"; 7421 homepage = http://www.darwinsys.com/file/; 7422 }; 7423 }; 7424 7425 7426 m2crypto = buildPythonPackage rec { 7427 version = "0.21.1"; 7428 name = "m2crypto-${version}"; 7429 7430 src = pkgs.fetchurl { 7431 url = "http://pypi.python.org/packages/source/M/M2Crypto/M2Crypto-${version}.tar.gz"; 7432 md5 = "f93d8462ff7646397a9f77a2fe602d17"; 7433 }; 7434 7435 buildInputs = with self; [ pkgs.swig pkgs.openssl ]; 7436 7437 preBuild = "${python}/bin/${python.executable} setup.py build_ext --openssl=${pkgs.openssl}"; 7438 7439 doCheck = false; # another test that depends on the network. 7440 7441 meta = { 7442 description = "A Python crypto and SSL toolkit"; 7443 homepage = http://chandlerproject.org/Projects/MeTooCrypto; 7444 }; 7445 }; 7446 7447 7448 Mako = buildPythonPackage rec { 7449 name = "Mako-1.0.1"; 7450 7451 src = pkgs.fetchurl { 7452 url = "http://pypi.python.org/packages/source/M/Mako/${name}.tar.gz"; 7453 md5 = "9f0aafd177b039ef67b90ea350497a54"; 7454 }; 7455 7456 buildInputs = with self; [ markupsafe nose mock ]; 7457 propagatedBuildInputs = with self; [ markupsafe ]; 7458 7459 doCheck = !isPyPy; # https://bitbucket.org/zzzeek/mako/issue/238/2-tests-failed-on-pypy-24-25 7460 7461 meta = { 7462 description = "Super-fast templating language"; 7463 homepage = http://www.makotemplates.org; 7464 license = licenses.mit; 7465 maintainers = with maintainers; [ iElectric ]; 7466 }; 7467 }; 7468 7469 7470 markupsafe = buildPythonPackage rec { 7471 name = "markupsafe-0.15"; 7472 7473 src = pkgs.fetchurl { 7474 url = "http://pypi.python.org/packages/source/M/MarkupSafe/${name}.tar.gz"; 7475 md5 = "4e7c4d965fe5e033fa2d7bb7746bb186"; 7476 }; 7477 7478 meta = { 7479 description = "Implements a XML/HTML/XHTML Markup safe string"; 7480 homepage = http://dev.pocoo.org; 7481 license = licenses.bsd3; 7482 maintainers = with maintainers; [ iElectric garbas ]; 7483 }; 7484 }; 7485 7486 manuel = buildPythonPackage rec { 7487 name = "manuel-${version}"; 7488 version = "1.8.0"; 7489 7490 src = pkgs.fetchurl { 7491 url = "http://pypi.python.org/packages/source/m/manuel/${name}.tar.gz"; 7492 sha256 = "1diyj6a8bvz2cdf9m0g2bbx9z2yjjnn3ylbg1zinpcjj6vldfx59"; 7493 }; 7494 7495 propagatedBuildInputs = with self; [ six zope_testing ]; 7496 7497 meta = { 7498 description = "A documentation builder"; 7499 homepage = http://pypi.python.org/pypi/manuel; 7500 license = licenses.zpt20; 7501 }; 7502 }; 7503 7504 markdown = buildPythonPackage rec { 7505 version = "2.3.1"; 7506 name = "markdown-${version}"; 7507 7508 src = pkgs.fetchurl { 7509 url = "http://pypi.python.org/packages/source/M/Markdown/Markdown-${version}.tar.gz"; 7510 sha256 = "147j9hznv2r187a86d28glmg3pckfrdp0nz9yh7s1aqpawwdkszz"; 7511 }; 7512 7513 # error: invalid command 'test' 7514 doCheck = false; 7515 7516 meta = { 7517 homepage = http://www.freewisdom.org/projects/python-markdown; 7518 }; 7519 }; 7520 7521 7522 matplotlib = callPackage ../development/python-modules/matplotlib/default.nix { 7523 stdenv = if stdenv.isDarwin then pkgs.clangStdenv else pkgs.stdenv; 7524 enableGhostscript = true; 7525 }; 7526 7527 7528 mccabe = buildPythonPackage (rec { 7529 name = "mccabe-0.3"; 7530 7531 src = pkgs.fetchurl { 7532 url = "http://pypi.python.org/packages/source/m/mccabe/${name}.tar.gz"; 7533 md5 = "81640948ff226f8c12b3277059489157"; 7534 }; 7535 7536 # See https://github.com/flintwork/mccabe/issues/31 7537 postPatch = '' 7538 cp "${pkgs.fetchurl { 7539 url = "https://raw.githubusercontent.com/flintwork/mccabe/" 7540 + "e8aea16d28e92bd3c62601275762fc9c16808f6c/test_mccabe.py"; 7541 sha256 = "0xhjxpnaxvbpi4myj9byrban7a5nrw931br9sgvfk42ayg4sn6lm"; 7542 }}" test_mccabe.py 7543 ''; 7544 7545 meta = { 7546 description = "McCabe checker, plugin for flake8"; 7547 homepage = "https://github.com/flintwork/mccabe"; 7548 license = licenses.mit; 7549 maintainers = with maintainers; [ garbas ]; 7550 }; 7551 }); 7552 7553 7554 mechanize = buildPythonPackage (rec { 7555 name = "mechanize-0.2.5"; 7556 disabled = isPy3k; 7557 7558 src = pkgs.fetchurl { 7559 url = "https://pypi.python.org/packages/source/m/mechanize/${name}.tar.gz"; 7560 sha256 = "0rj7r166i1dyrq0ihm5rijfmvhs8a04im28lv05c0c3v206v4rrf"; 7561 }; 7562 7563 propagatedBuildInputs = with self; [ clientform ]; 7564 7565 doCheck = false; 7566 7567 meta = { 7568 description = "Stateful programmatic web browsing in Python"; 7569 7570 homepage = http://wwwsearch.sourceforge.net/; 7571 7572 license = "BSD-style"; 7573 }; 7574 }); 7575 7576 7577 meld3 = buildPythonPackage rec { 7578 name = "meld3-1.0.0"; 7579 7580 src = pkgs.fetchurl { 7581 url = https://pypi.python.org/packages/source/m/meld3/meld3-1.0.0.tar.gz; 7582 md5 = "ca270506dd4ecb20ae26fa72fbd9b0be"; 7583 }; 7584 7585 doCheck = false; 7586 7587 meta = { 7588 description = "An HTML/XML templating engine used by supervisor"; 7589 homepage = https://github.com/supervisor/meld3; 7590 license = licenses.free; 7591 }; 7592 }; 7593 7594 memcached = buildPythonPackage rec { 7595 name = "memcached-1.51"; 7596 7597 src = if isPy3k then pkgs.fetchurl { 7598 url = "https://pypi.python.org/packages/source/p/python3-memcached/python3-${name}.tar.gz"; 7599 sha256 = "0na8b369q8fivh3y0nvzbvhh3lgvxiyyv9xp93cnkvwfsr8mkgkw"; 7600 } else pkgs.fetchurl { 7601 url = "http://ftp.tummy.com/pub/python-memcached/old-releases/python-${name}.tar.gz"; 7602 sha256 = "124s98m6hvxj6x90d7aynsjfz878zli771q96ns767r2mbqn7192"; 7603 }; 7604 7605 meta = { 7606 description = "Python API for communicating with the memcached distributed memory object cache daemon"; 7607 homepage = http://www.tummy.com/Community/software/python-memcached/; 7608 }; 7609 }; 7610 7611 7612 memory_profiler = buildPythonPackage rec { 7613 name = "memory_profiler-0.27"; 7614 7615 src = pkgs.fetchurl { 7616 url = "https://pypi.python.org/packages/source/m/memory_profiler/memory_profiler-0.27.tar.gz"; 7617 md5 = "212c0d7452dbaffb6b09474ac07b0668"; 7618 }; 7619 7620 # error: invalid command 'test' 7621 doCheck = false; 7622 7623 meta = { 7624 description = "A module for monitoring memory usage of a python program"; 7625 homepage = http://pypi.python.org/pypi/memory_profiler; 7626 }; 7627 }; 7628 7629 mezzanine = buildPythonPackage rec { 7630 version = "3.1.10"; 7631 name = "mezzanine-${version}"; 7632 7633 src = pkgs.fetchurl { 7634 url = "https://github.com/stephenmcd/mezzanine/archive/${version}.tar.gz"; 7635 sha256 = "1cd7d3dji8q4mvcnf9asxn8j109pd5g5d5shr6xvn0iwr35qprgi"; 7636 }; 7637 7638 buildInputs = with self; [ pyflakes pep8 ]; 7639 propagatedBuildInputs = with self; [ 7640 django_1_6 filebrowser_safe grappelli_safe bleach tzlocal beautifulsoup4 7641 requests2 requests_oauthlib future pillow modules.sqlite3 7642 ]; 7643 7644 # Tests Fail Due to Syntax Warning, Fixed for v3.1.11+ 7645 doCheck = false; 7646 # sed calls will be unecessary in v3.1.11+ 7647 preConfigure = '' 7648 sed -i 's/future == 0.9.0/future>=0.9.0/' setup.py 7649 sed -i 's/tzlocal == 1.0/tzlocal>=1.0/' setup.py 7650 sed -i 's/pep8==1.4.1/pep8>=1.4.1/' setup.py 7651 sed -i 's/pyflakes==0.6.1/pyflakes>=0.6.1/' setup.py 7652 export LC_ALL="en_US.UTF-8" 7653 ''; 7654 7655 meta = { 7656 description = '' 7657 A content management platform built using the Django framework 7658 ''; 7659 longDescription = '' 7660 Mezzanine is a powerful, consistent, and flexible content management 7661 platform. Built using the Django framework, Mezzanine provides a 7662 simple yet highly extensible architecture that encourages diving in and 7663 hacking on the code. Mezzanine is BSD licensed and supported by a 7664 diverse and active community. 7665 7666 In some ways, Mezzanine resembles tools such as Wordpress that provide 7667 an intuitive interface for managing pages, blog posts, form data, store 7668 products, and other types of content. But Mezzanine is also different. 7669 Unlike many other platforms that make extensive use of modules or 7670 reusable applications, Mezzanine provides most of its functionality by 7671 default. This approach yields a more integrated and efficient platform. 7672 ''; 7673 homepage = http://mezzanine.jupo.org/; 7674 downloadPage = https://github.com/stephenmcd/mezzanine/releases; 7675 license = licenses.free; 7676 maintainers = with maintainers; [ prikhi ]; 7677 platforms = platforms.linux; 7678 }; 7679 }; 7680 7681 minimock = buildPythonPackage rec { 7682 version = "1.2.8"; 7683 name = "minimock-${version}"; 7684 7685 src = pkgs.fetchurl { 7686 url = "https://bitbucket.org/jab/minimock/get/${version}.zip"; 7687 sha256 = "c88fa8a7120623f23990a7f086a9657f6ced09025a55e3be8649a30b4945441a"; 7688 }; 7689 7690 buildInputs = with self; [ nose ]; 7691 7692 checkPhase = "./test"; 7693 7694 meta = { 7695 description = "A minimalistic mocking library for python"; 7696 homepage = https://pypi.python.org/pypi/MiniMock; 7697 }; 7698 }; 7699 7700 rainbowstream = buildPythonPackage rec { 7701 name = "rainbowstream-${version}"; 7702 version = "1.2.7"; 7703 7704 src = pkgs.fetchurl { 7705 url = "https://pypi.python.org/packages/source/r/rainbowstream/${name}.tar.gz"; 7706 sha256 = "1jvv07w9n7ca251l92alm2yq9w82sb7lvxz6if3gc3nbqzc587rf"; 7707 }; 7708 7709 doCheck = false; 7710 7711 patches = [ 7712 ../development/python-modules/rainbowstream/image.patch 7713 ]; 7714 7715 postPatch = '' 7716 clib=$out/${python.sitePackages}/rainbowstream/image.so 7717 substituteInPlace rainbowstream/c_image.py \ 7718 --replace @CLIB@ $clib 7719 ''; 7720 7721 preBuild = '' 7722 export LC_ALL="en_US.UTF-8" 7723 ''; 7724 7725 postInstall = '' 7726 mkdir -p $out/lib 7727 cc -fPIC -shared -o $clib rainbowstream/image.c 7728 for prog in "$out/bin/"*; do 7729 wrapProgram "$prog" \ 7730 --prefix PYTHONPATH : "$PYTHONPATH" 7731 done 7732 ''; 7733 7734 buildInputs = with self; [ 7735 pkgs.libjpeg pkgs.freetype pkgs.zlib pkgs.glibcLocales 7736 pillow twitter pyfiglet requests arrow dateutil modules.readline pysocks 7737 ]; 7738 7739 meta = { 7740 description = "Streaming command-line twitter client"; 7741 homepage = "http://www.rainbowstream.org/"; 7742 license = licenses.mit; 7743 maintainers = with maintainers; [ thoughtpolice ]; 7744 }; 7745 }; 7746 7747 mitmproxy = buildPythonPackage rec { 7748 baseName = "mitmproxy"; 7749 name = "${baseName}-${meta.version}"; 7750 7751 src = pkgs.fetchurl { 7752 url = "${meta.homepage}/download/${name}.tar.gz"; 7753 sha256 = "0mpyw8iw4l4jv175qlbn0rrlgiz1k79m44jncbdxfj8ddvvvyz2j"; 7754 }; 7755 7756 buildInputs = with self; [ 7757 pyopenssl pyasn1 urwid pil lxml flask protobuf netlib 7758 ]; 7759 7760 doCheck = false; 7761 7762 postInstall = '' 7763 for prog in "$out/bin/"*; do 7764 wrapProgram "$prog" \ 7765 --prefix PYTHONPATH : "$PYTHONPATH" 7766 done 7767 ''; 7768 7769 meta = { 7770 version = "0.10.1"; 7771 description = ''Man-in-the-middle proxy''; 7772 homepage = "http://mitmproxy.org/"; 7773 license = licenses.mit; 7774 }; 7775 }; 7776 7777 mock = buildPythonPackage (rec { 7778 name = "mock-1.0.1"; 7779 7780 src = pkgs.fetchurl { 7781 url = "http://pypi.python.org/packages/source/m/mock/${name}.tar.gz"; 7782 md5 = "c3971991738caa55ec7c356bbc154ee2"; 7783 }; 7784 7785 buildInputs = with self; [ unittest2 ]; 7786 7787 meta = { 7788 description = "Mock objects for Python"; 7789 7790 homepage = http://python-mock.sourceforge.net/; 7791 7792 license = "mBSD"; 7793 }; 7794 }); 7795 7796 moinmoin = buildPythonPackage (rec { 7797 name = "moinmoin-${ver}"; 7798 disabled = isPy3k; 7799 ver = "1.9.7"; 7800 7801 src = pkgs.fetchurl { 7802 url = "http://static.moinmo.in/files/moin-${ver}.tar.gz"; 7803 sha256 = "f4ba1b5c956bd96d2a61e27e68d297aa63d1afbc80d5740e139dcdf0affb4db5"; 7804 }; 7805 7806 meta = { 7807 description = "Advanced, easy to use and extensible WikiEngine"; 7808 7809 homepage = http://moinmo.in/; 7810 7811 license = licenses.gpl2Plus; 7812 }; 7813 }); 7814 7815 moretools = buildPythonPackage rec { 7816 name = "moretools-0.1a41"; 7817 7818 src = pkgs.fetchurl { 7819 url = "https://pypi.python.org/packages/source/m/moretools/${name}.tar.gz"; 7820 sha256 = "1n442wprbl3cmg08233m1sr3g4z0i8hv9g6bhch7kzdmbl21399f"; 7821 }; 7822 7823 buildInputs = with self; [ six pathpy setuptools ]; 7824 propagatedBuildInputs = with self; [ decorator ]; 7825 7826 meta = { 7827 description = "Many more basic tools for python 2/3 extending itertools, functools, operator and collections"; 7828 homepage = https://bitbucket.org/userzimmermann/python-moretools; 7829 license = licenses.gpl3Plus; 7830 platforms = platforms.linux; 7831 }; 7832 }; 7833 7834 mox = buildPythonPackage rec { 7835 name = "mox-0.5.3"; 7836 7837 src = pkgs.fetchurl { 7838 url = "http://pymox.googlecode.com/files/${name}.tar.gz"; 7839 sha1 = "b71aeaacf31898c3b38d8b9ca5bcc0664499c0de"; 7840 }; 7841 7842 # error: invalid command 'test' 7843 doCheck = false; 7844 7845 meta = { 7846 homepage = http://code.google.com/p/pymox/; 7847 description = "A mock object framework for Python"; 7848 }; 7849 }; 7850 7851 mozsvc = buildPythonPackage rec { 7852 name = "mozsvc-${version}"; 7853 version = "0.8"; 7854 7855 src = pkgs.fetchgit { 7856 url = https://github.com/mozilla-services/mozservices.git; 7857 rev = "refs/tags/${version}"; 7858 sha256 = "0k1d7v8aa4xd3f9h8m5crl647136ba15i9nzdrpxg5aqmv2n0i0p"; 7859 }; 7860 7861 patches = singleton (pkgs.fetchurl { 7862 url = https://github.com/nbp/mozservices/commit/f86c0b0b870cd8f80ce90accde9e16ecb2e88863.diff; 7863 sha256 = "1lnghx821f6dqp3pa382ka07cncdz7hq0mkrh44d0q3grvrlrp9n"; 7864 }); 7865 7866 doCheck = false; # lazy packager 7867 propagatedBuildInputs = with self; [ pyramid simplejson konfig ]; 7868 7869 meta = { 7870 homepage = https://github.com/mozilla-services/mozservices; 7871 description = "Various utilities for Mozilla apps"; 7872 }; 7873 }; 7874 7875 mpmath = buildPythonPackage rec { 7876 name = "mpmath-0.17"; 7877 7878 src = pkgs.fetchurl { 7879 url = "https://mpmath.googlecode.com/files/${name}.tar.gz"; 7880 sha256 = "1blgzwq4irzaf8abb4z0d2r48903n9zxf51fhnv3gv09bgxjqzxh"; 7881 }; 7882 7883 meta = { 7884 homepage = http://mpmath.googlecode.com; 7885 description = "A pure-Python library for multiprecision floating arithmetic"; 7886 license = licenses.bsd3; 7887 maintainers = with maintainers; [ lovek323 ]; 7888 platforms = platforms.unix; 7889 }; 7890 7891 # error: invalid command 'test' 7892 doCheck = false; 7893 }; 7894 7895 7896 mpd = buildPythonPackage rec { 7897 name = "python-mpd-0.3.0"; 7898 7899 disabled = isPy3k; 7900 7901 src = pkgs.fetchurl { 7902 url = "https://pypi.python.org/packages/source/p/python-mpd/python-mpd-0.3.0.tar.gz"; 7903 md5 = "5b3849b131e2fb12f251434597d65635"; 7904 }; 7905 7906 meta = with pkgs.stdenv.lib; { 7907 description = "An MPD (Music Player Daemon) client library written in pure Python"; 7908 homepage = http://jatreuman.indefero.net/p/python-mpd/; 7909 license = licenses.gpl3; 7910 }; 7911 }; 7912 7913 mrbob = buildPythonPackage rec { 7914 name = "mrbob-${version}"; 7915 version = "0.1.1"; 7916 7917 src = pkgs.fetchurl { 7918 url = "http://pypi.python.org/packages/source/m/mr.bob/mr.bob-${version}.zip"; 7919 md5 = "84a117c9a75b86842b0fa5f5c9c767f3"; 7920 }; 7921 7922 buildInputs = [ pkgs.glibcLocales ]; 7923 7924 # some files in tests dir include unicode names 7925 preBuild = '' 7926 export LC_ALL="en_US.UTF-8" 7927 ''; 7928 7929 propagatedBuildInputs = with self; [ argparse jinja2 six modules.readline ] ++ 7930 (optionals isPy26 [ importlib ordereddict ]); 7931 7932 meta = { 7933 homepage = https://github.com/iElectric/mr.bob.git; 7934 description = "A tool to generate code skeletons from templates"; 7935 }; 7936 }; 7937 7938 msgpack = buildPythonPackage rec { 7939 name = "msgpack-python-${version}"; 7940 version = "0.4.6"; 7941 7942 src = pkgs.fetchurl { 7943 url = "https://pypi.python.org/packages/source/m/msgpack-python/${name}.tar.gz"; 7944 md5 = "8b317669314cf1bc881716cccdaccb30"; 7945 }; 7946 7947 propagatedBuildInputs = with self; [ ]; 7948 }; 7949 7950 msrplib = buildPythonPackage rec { 7951 name = "python-msrplib-${version}"; 7952 version = "0.17.0"; 7953 7954 src = pkgs.fetchurl { 7955 url = "http://download.ag-projects.com/MSRP/${name}.tar.gz"; 7956 sha256 = "fe6ee541fbb4380a5708d08f378724dbc93438ff35c0cd0400e31b070fce73c4"; 7957 }; 7958 7959 propagatedBuildInputs = with self; [ eventlib application gnutls ]; 7960 }; 7961 7962 multipledispatch = buildPythonPackage rec { 7963 name = "multipledispatch-${version}"; 7964 version = "0.4.8"; 7965 7966 src = pkgs.fetchurl { 7967 url = "https://pypi.python.org/packages/source/m/multipledispatch/${name}.tar.gz"; 7968 sha256 = "07d41fb3ed25e8424536e48a8566f88a0f9926ca4b6174bff6aa16c98251b92e"; 7969 }; 7970 7971 meta = { 7972 homepage = http://github.com/mrocklin/multipledispatch/; 7973 description = "A relatively sane approach to multiple dispatch in Python"; 7974 license = licenses.bsd3; 7975 }; 7976 }; 7977 7978 munkres = buildPythonPackage rec { 7979 name = "munkres-1.0.6"; 7980 7981 src = pkgs.fetchurl { 7982 url = "http://pypi.python.org/packages/source/m/munkres/${name}.tar.gz"; 7983 md5 = "d7ba3b8c5001578ae229a2d5a655872f"; 7984 }; 7985 7986 # error: invalid command 'test' 7987 doCheck = false; 7988 7989 meta = { 7990 homepage = http://bmc.github.com/munkres/; 7991 description = "Munkres algorithm for the Assignment Problem"; 7992 license = licenses.bsd3; 7993 maintainers = with maintainers; [ iElectric ]; 7994 }; 7995 }; 7996 7997 7998 musicbrainzngs = buildPythonPackage rec { 7999 name = "musicbrainzngs-0.5"; 8000 8001 src = pkgs.fetchurl { 8002 url = "http://pypi.python.org/packages/source/m/musicbrainzngs/${name}.tar.gz"; 8003 md5 = "9e17a181af72d04a291c9a960bc73d44"; 8004 }; 8005 8006 buildInputs = [ pkgs.glibcLocales ]; 8007 8008 preCheck = '' 8009 export LC_ALL="en_US.UTF-8" 8010 ''; 8011 8012 meta = { 8013 homepage = http://alastair/python-musicbrainz-ngs; 8014 description = "Python bindings for musicbrainz NGS webservice"; 8015 license = licenses.bsd2; 8016 maintainers = with maintainers; [ iElectric ]; 8017 }; 8018 }; 8019 8020 mutag = buildPythonPackage rec { 8021 disabled = ! isPy3k; 8022 name = "mutag-0.0.2-2ffa0258ca"; 8023 src = pkgs.fetchgit { 8024 url = "https://github.com/aroig/mutag.git"; 8025 sha256 = "0azq2sb32mv6wyjlw1hk01c23isl4x1hya52lqnhknak299s5fml"; 8026 rev = "2ffa0258cadaf79313241f43bf2c1caaf197d9c2"; 8027 }; 8028 8029 propagatedBuildInputs = with self; [ pyparsing ]; 8030 8031 meta = { 8032 homepage = https://github.com/aroig/mutag; 8033 license = licenses.gpl3; 8034 maintainers = with maintainers; [ DamienCassou ]; 8035 }; 8036 }; 8037 8038 mutagen = buildPythonPackage (rec { 8039 name = "mutagen-1.27"; 8040 8041 src = pkgs.fetchurl { 8042 url = "http://pypi.python.org/packages/source/m/mutagen/${name}.tar.gz"; 8043 md5 = "6a9bb5cc33214add35348f1bb3448340"; 8044 }; 8045 8046 # Needed for tests only 8047 buildInputs = [ pkgs.faad2 pkgs.flac pkgs.vorbisTools pkgs.liboggz ]; 8048 8049 meta = { 8050 description = "Python multimedia tagging library"; 8051 homepage = http://code.google.com/p/mutagen; 8052 license = licenses.lgpl2; 8053 }; 8054 }); 8055 8056 8057 muttils = buildPythonPackage (rec { 8058 name = "muttils-1.3"; 8059 disabled = isPy3k; 8060 8061 src = pkgs.fetchurl { 8062 url = http://www.blacktrash.org/hg/muttils/archive/8bb26094df06.tar.bz2; 8063 sha256 = "1a4kxa0fpgg6rdj5p4kggfn8xpniqh8v5kbiaqc6wids02m7kag6"; 8064 }; 8065 8066 # Tests don't work 8067 doCheck = false; 8068 8069 meta = { 8070 description = "Utilities for use with console mail clients, like mutt"; 8071 homepage = http://www.blacktrash.org/hg/muttils; 8072 license = licenses.gpl2Plus; 8073 }; 8074 }); 8075 8076 plover = pythonPackages.buildPythonPackage rec { 8077 name = "plover-${version}"; 8078 version = "2.5.8"; 8079 8080 meta = { 8081 description = "OpenSteno Plover stenography software"; 8082 maintainers = [ maintainers.twey ]; 8083 license = licenses.gpl2; 8084 }; 8085 8086 src = pkgs.fetchurl { 8087 url = "https://github.com/openstenoproject/plover/archive/v${version}.tar.gz"; 8088 sha256 = "23f7824a715f93eb2c41d5bafd0c6f3adda92998e9321e1ee029abe7a6ab41e5"; 8089 }; 8090 8091 propagatedBuildInputs = with self; [ wxPython pyserial xlib appdirs pkgs.wmctrl ]; 8092 preConfigure = "substituteInPlace setup.py --replace /usr/share usr/share"; 8093 }; 8094 8095 pymysql = buildPythonPackage rec { 8096 name = "pymysql-${version}"; 8097 version = "0.6.6"; 8098 src = pkgs.fetchgit { 8099 url = https://github.com/PyMySQL/PyMySQL.git; 8100 rev = "refs/tags/pymysql-${version}"; 8101 sha256 = "12v8bw7pp455zqkwraxk69qycz2ngk18bbz60v72kdbp6kssnqhz"; 8102 }; 8103 }; 8104 8105 pymysqlsa = self.buildPythonPackage rec { 8106 name = "pymysqlsa-${version}"; 8107 version = "1.0"; 8108 8109 propagatedBuildInputs = with self; [ pymysql sqlalchemy9 ]; 8110 8111 src = pkgs.fetchurl { 8112 url = "https://pypi.python.org/packages/source/p/pymysql_sa/pymysql_sa-1.0.tar.gz"; 8113 sha256 = "a2676bce514a29b2d6ab418812259b0c2f7564150ac53455420a20bd7935314a"; 8114 }; 8115 8116 meta = { 8117 description = "PyMySQL dialect for SQL Alchemy"; 8118 homepage = https://pypi.python.org/pypi/pymysql_sa; 8119 license = licenses.mit; 8120 }; 8121 }; 8122 8123 MySQL_python = buildPythonPackage rec { 8124 name = "MySQL-python-1.2.5"; 8125 8126 disabled = isPy3k; 8127 8128 # plenty of failing tests 8129 doCheck = false; 8130 8131 src = pkgs.fetchurl { 8132 url = "http://pypi.python.org/packages/source/M/MySQL-python/${name}.zip"; 8133 sha256 = "0x0c2jg0bb3pp84njaqiic050qkyd7ymwhfvhipnimg58yv40441"; 8134 }; 8135 8136 buildInputs = with self; [ nose pkgs.openssl ]; 8137 8138 propagatedBuildInputs = with self; [ pkgs.mysql.lib pkgs.zlib ]; 8139 8140 meta = { 8141 description = "MySQL database binding for Python"; 8142 8143 homepage = http://sourceforge.net/projects/mysql-python; 8144 }; 8145 }; 8146 8147 8148 mysql_connector_repackaged = buildPythonPackage rec { 8149 name = "mysql-connector-repackaged-0.3.1"; 8150 8151 src = pkgs.fetchurl { 8152 url = "http://pypi.python.org/packages/source/m/mysql-connector-repackaged/${name}.tar.gz"; 8153 md5 = "0b17ad1cb3fe763fd44487cb97cf45b2"; 8154 }; 8155 8156 meta = { 8157 maintainers = with maintainers; [ garbas iElectric ]; 8158 platforms = platforms.linux; 8159 }; 8160 }; 8161 8162 8163 namebench = buildPythonPackage (rec { 8164 name = "namebench-1.3.1"; 8165 disabled = isPy3k || isPyPy; 8166 8167 src = pkgs.fetchurl { 8168 url = "http://namebench.googlecode.com/files/${name}-source.tgz"; 8169 sha256 = "09clbcd6wxgk4r6qw7hb78h818mvca7lijigy1mlq5y1f3lgkk1h"; 8170 }; 8171 8172 # error: invalid command 'test' 8173 doCheck = false; 8174 8175 propagatedBuildInputs = [ self.tkinter ]; 8176 8177 # namebench expects to be run from its own source tree (it uses relative 8178 # paths to various resources), make it work. 8179 postInstall = '' 8180 sed -i "s|import os|import os; os.chdir(\"$out/namebench\")|" "$out/bin/namebench.py" 8181 ''; 8182 8183 meta = { 8184 homepage = http://namebench.googlecode.com/; 8185 description = "Find fastest DNS servers available"; 8186 license = with licenses; [ 8187 asl20 8188 # third-party program licenses (embedded in the sources) 8189 "LGPL" # Crystal_Clear 8190 free # dns 8191 asl20 # graphy 8192 "BSD" # jinja2 8193 ]; 8194 longDescription = '' 8195 It hunts down the fastest DNS servers available for your computer to 8196 use. namebench runs a fair and thorough benchmark using your web 8197 browser history, tcpdump output, or standardized datasets in order 8198 to provide an individualized recommendation. namebench is completely 8199 free and does not modify your system in any way. 8200 ''; 8201 }; 8202 }); 8203 8204 8205 nameparser = buildPythonPackage rec { 8206 name = "nameparser-${version}"; 8207 version = "0.3.4"; 8208 8209 src = pkgs.fetchurl { 8210 url = "https://pypi.python.org/packages/source/n/nameparser/${name}.tar.gz"; 8211 sha256 = "1zi94m99ziwwd6kkip3w2xpnl05r2cfv9iq68inz7np81c3g8vag"; 8212 }; 8213 8214 meta = { 8215 description = "A simple Python module for parsing human names into their individual components"; 8216 homepage = https://github.com/derek73/python-nameparser; 8217 license = licenses.lgpl21Plus; 8218 }; 8219 }; 8220 8221 nbxmpp = buildPythonPackage rec { 8222 name = "nbxmpp-0.5.3"; 8223 8224 src = pkgs.fetchurl { 8225 name = "${name}.tar.gz"; 8226 url = "https://python-nbxmpp.gajim.org/downloads/8"; 8227 sha256 = "0dcr786dyips1fdvgsn8yvpgcz5j7217fi05c29cfypdl8jnp6mp"; 8228 }; 8229 8230 meta = { 8231 homepage = "https://python-nbxmpp.gajim.org/"; 8232 description = "Non-blocking Jabber/XMPP module"; 8233 license = licenses.gpl3; 8234 }; 8235 }; 8236 8237 sleekxmpp = buildPythonPackage rec { 8238 name = "sleekxmpp-${version}"; 8239 version = "1.2.5"; 8240 8241 disabled = (!isPy3k); 8242 8243 propagatedBuildInputs = with self ; [ dnspython3 pyasn1 ]; 8244 8245 src = pkgs.fetchurl { 8246 url = "https://github.com/fritzy/SleekXMPP/archive/sleek-${version}.tar.gz"; 8247 sha256 = "07zz0bm098zss0xww11gj45aw417nrkp9k1szzs1zm88wyfr1z31"; 8248 }; 8249 8250 meta = { 8251 description = "XMPP library for Python"; 8252 license = licenses.mit; 8253 homepage = "http://sleekxmpp.com/"; 8254 }; 8255 }; 8256 8257 slixmpp = buildPythonPackage rec { 8258 name = "slixmpp-${version}"; 8259 version = "1.0.post5"; 8260 8261 disabled = (!isPy34); 8262 8263 src = pkgs.fetchurl { 8264 url = "https://pypi.python.org/packages/source/s/slixmpp/${name}.tar.gz"; 8265 sha256 = "0ik23w3y52m30z56874wgac07j70k7b06n20j44slii8avf58p4b"; 8266 }; 8267 8268 propagatedBuildInputs = with self ; [ aiodns pyasn1 ]; 8269 8270 meta = { 8271 meta = "Elegant Python library for XMPP"; 8272 license = licenses.mit; 8273 homepage = https://dev.louiz.org/projects/slixmpp; 8274 }; 8275 }; 8276 8277 netaddr = buildPythonPackage rec { 8278 name = "netaddr-0.7.5"; 8279 8280 src = pkgs.fetchurl { 8281 url = "https://github.com/downloads/drkjam/netaddr/${name}.tar.gz"; 8282 sha256 = "0ssxic389rdc79zkz8dxcjpqdi5qs80h12khkag410cl9cwk11f2"; 8283 }; 8284 8285 # error: invalid command 'test' 8286 doCheck = false; 8287 8288 meta = { 8289 homepage = https://github.com/drkjam/netaddr/; 8290 description = "A network address manipulation library for Python"; 8291 }; 8292 }; 8293 8294 netifaces = buildPythonPackage rec { 8295 version = "0.10.4"; 8296 name = "netifaces-${version}"; 8297 8298 src = pkgs.fetchurl { 8299 url = "http://pypi.python.org/packages/source/n/netifaces/${name}.tar.gz"; 8300 sha256 = "1plw237a4zib4z8s62g0mrs8gm3kjfrp5sxh6bbk9nl3rdls2mln"; 8301 }; 8302 8303 meta = { 8304 homepage = http://alastairs-place.net/projects/netifaces/; 8305 description = "Portable access to network interfaces from Python"; 8306 }; 8307 }; 8308 8309 netlib = buildPythonPackage rec { 8310 baseName = "netlib"; 8311 name = "${baseName}-${meta.version}"; 8312 disabled = (!isPy27); 8313 8314 src = pkgs.fetchurl { 8315 url = "https://github.com/cortesi/netlib/archive/v${meta.version}.tar.gz"; 8316 name = "${name}.tar.gz"; 8317 sha256 = "1x2n126b7fal64fb5fzkp4by7ym0iswn3w9mh6pm4c1vjdpnk592"; 8318 }; 8319 8320 buildInputs = with self; [ 8321 pyopenssl pyasn1 8322 ]; 8323 8324 doCheck = false; 8325 8326 meta = { 8327 version = "0.10"; 8328 description = ''Man-in-the-middle proxy''; 8329 homepage = "https://github.com/cortesi/netlib"; 8330 license = licenses.mit; 8331 }; 8332 }; 8333 8334 nevow = buildPythonPackage (rec { 8335 name = "nevow-${version}"; 8336 version = "0.10.0"; 8337 8338 src = pkgs.fetchurl { 8339 url = "http://pypi.python.org/packages/source/N/Nevow/Nevow-${version}.tar.gz"; 8340 sha256 = "90631f68f626c8934984908d3df15e7c198939d36be7ead1305479dfc67ff6d0"; 8341 name = "${name}.tar.gz"; 8342 }; 8343 8344 propagatedBuildInputs = with self; [ twisted ]; 8345 8346 postInstall = "twistd --help > /dev/null"; 8347 8348 meta = { 8349 description = "Nevow, a web application construction kit for Python"; 8350 8351 longDescription = '' 8352 Nevow - Pronounced as the French "nouveau", or "noo-voh", Nevow 8353 is a web application construction kit written in Python. It is 8354 designed to allow the programmer to express as much of the view 8355 logic as desired in Python, and includes a pure Python XML 8356 expression syntax named stan to facilitate this. However it 8357 also provides rich support for designer-edited templates, using 8358 a very small XML attribute language to provide bi-directional 8359 template manipulation capability. 8360 8361 Nevow also includes formless, a declarative syntax for 8362 specifying the types of method parameters and exposing these 8363 methods to the web. Forms can be rendered automatically, and 8364 form posts will be validated and input coerced, rendering error 8365 pages if appropriate. Once a form post has validated 8366 successfully, the method will be called with the coerced values. 8367 ''; 8368 8369 homepage = http://divmod.org/trac/wiki/DivmodNevow; 8370 8371 license = "BSD-style"; 8372 }; 8373 }); 8374 8375 nibabel = buildPythonPackage rec { 8376 version = "2.0.1"; 8377 name = "nibabel-${version}"; 8378 8379 src = pkgs.fetchurl { 8380 url = "http://pypi.python.org/packages/source/n/nibabel/${name}.tar.gz"; 8381 md5 = "3be518fde5ec5b09483d4f28c81dc974"; 8382 }; 8383 8384 propagatedBuildInputs = with self; [ 8385 numpy 8386 nose 8387 modules.sqlite3 8388 ]; 8389 8390 meta = { 8391 homepage = http://nipy.org/nibabel/; 8392 description = "Access a multitude of neuroimaging data formats"; 8393 license = "BSD"; 8394 }; 8395 }; 8396 8397 nipype = buildPythonPackage rec { 8398 version = "0.10.0"; 8399 name = "nipype-${version}"; 8400 8401 src = pkgs.fetchurl { 8402 url = "http://pypi.python.org/packages/source/n/nipype/${name}.tar.gz"; 8403 md5 = "480013709633a6d292e2ef668443e0c9"; 8404 }; 8405 8406 # Tests fail due to getcwd returning ENOENT??? 8407 doCheck = false; 8408 8409 propagatedBuildInputs = with self; [ 8410 numpy 8411 dateutil 8412 nose 8413 traits 8414 scipy 8415 nibabel 8416 networkx 8417 ]; 8418 8419 meta = { 8420 homepage = http://nipy.org/nipype/; 8421 description = "Neuroimaging in Python: Pipelines and Interfaces"; 8422 license = "BSD"; 8423 }; 8424 }; 8425 8426 nose = buildPythonPackage rec { 8427 version = "1.3.4"; 8428 name = "nose-${version}"; 8429 8430 src = pkgs.fetchurl { 8431 url = "http://pypi.python.org/packages/source/n/nose/${name}.tar.gz"; 8432 sha256 = "00qymfgwg4iam4xi0w9bnv7lcb3fypq1hzfafzgs1rfmwaj67g3n"; 8433 }; 8434 8435 buildInputs = with self; [ coverage ]; 8436 8437 doCheck = false; # lot's of transient errors, too much hassle 8438 checkPhase = if python.is_py3k or false then '' 8439 ${python}/bin/${python.executable} setup.py build_tests 8440 '' else "" + '' 8441 rm functional_tests/test_multiprocessing/test_concurrent_shared.py* # see https://github.com/nose-devs/nose/commit/226bc671c73643887b36b8467b34ad485c2df062 8442 ${python}/bin/${python.executable} selftest.py 8443 ''; 8444 8445 meta = { 8446 description = "A unittest-based testing framework for python that makes writing and running tests easier"; 8447 }; 8448 }; 8449 8450 nose-selecttests = buildPythonPackage rec { 8451 version = "0.4"; 8452 name = "nose-selecttests-${version}"; 8453 8454 src = pkgs.fetchurl { 8455 url = "http://pypi.python.org/packages/source/n/nose-selecttests/${name}.zip"; 8456 sha256 = "0lgrfgp3sq8xi8d9grrg0z8jsyk0wl8a3rxw31hb7vdncin5b7n5"; 8457 }; 8458 8459 propagatedBuildInputs = with self; [ nose ]; 8460 8461 meta = { 8462 description = "Simple nose plugin that enables developers to run subset of collected tests to spare some waiting time for better things"; 8463 }; 8464 }; 8465 8466 8467 nose2 = if isPy26 then null else (buildPythonPackage rec { 8468 name = "nose2-0.4.5"; 8469 src = pkgs.fetchurl { 8470 url = "http://pypi.python.org/packages/source/n/nose2/${name}.tar.gz"; 8471 md5 = "d7e51c848227488e3cc0424faf5511cd"; 8472 }; 8473 meta = { 8474 description = "nose2 is the next generation of nicer testing for Python"; 8475 }; 8476 propagatedBuildInputs = with self; [ six ]; 8477 # AttributeError: 'module' object has no attribute 'collector' 8478 doCheck = false; 8479 }); 8480 8481 nose-cover3 = buildPythonPackage rec { 8482 name = "nose-cover3-${version}"; 8483 version = "0.1.0"; 8484 8485 src = pkgs.fetchurl { 8486 url = "https://pypi.python.org/packages/source/n/nose-cover3/${name}.tar.gz"; 8487 sha256 = "1la4hhc1yszjpcchvkqk5xmzlb2g1b3fgxj9wwc58qc549whlcc1"; 8488 md5 = "82f981eaa007b430679899256050fa0c"; 8489 }; 8490 8491 propagatedBuildInputs = with self; [ nose ]; 8492 8493 meta = { 8494 description = "Coverage 3.x support for Nose"; 8495 homepage = https://github.com/ask/nosecover3; 8496 license = licenses.lgpl21; 8497 }; 8498 }; 8499 8500 nosexcover = buildPythonPackage (rec { 8501 name = "nosexcover-1.0.10"; 8502 8503 src = pkgs.fetchurl { 8504 url = "https://pypi.python.org/packages/source/n/nosexcover/${name}.tar.gz"; 8505 md5 = "12bf494a801b376debeb6a167c247391"; 8506 }; 8507 8508 propagatedBuildInputs = with self; [ coverage nose ]; 8509 8510 meta = { 8511 description = "Extends nose.plugins.cover to add Cobertura-style XML reports"; 8512 8513 homepage = http://github.com/cmheisel/nose-xcover/; 8514 8515 license = licenses.bsd3; 8516 }; 8517 }); 8518 8519 nosejs = buildPythonPackage { 8520 name = "nosejs-0.9.4"; 8521 src = pkgs.fetchurl { 8522 url = https://pypi.python.org/packages/source/N/NoseJS/NoseJS-0.9.4.tar.gz; 8523 sha256 = "0qrhkd3sga56qf6k0sqyhwfcladwi05gl6aqmr0xriiq1sgva5dy"; 8524 }; 8525 buildInputs = with self; [ nose ]; 8526 }; 8527 8528 nose-cprof = buildPythonPackage rec { 8529 name = "nose-cprof-0.1-0"; 8530 disabled = isPy3k; 8531 8532 src = pkgs.fetchurl { 8533 url = "https://pypi.python.org/packages/source/n/nose-cprof/${name}.tar.gz"; 8534 md5 = "5db27c3b8f01915335ae6fc5fd3afd44"; 8535 }; 8536 8537 meta = { 8538 description = "A python nose plugin to profile using cProfile rather than the default Hotshot profiler"; 8539 }; 8540 8541 buildInputs = with self; [ nose ]; 8542 }; 8543 8544 8545 notify = pkgs.stdenv.mkDerivation (rec { 8546 name = "python-notify-0.1.1"; 8547 8548 src = pkgs.fetchurl { 8549 url = http://www.galago-project.org/files/releases/source/notify-python/notify-python-0.1.1.tar.bz2; 8550 sha256 = "1kh4spwgqxm534qlzzf2ijchckvs0pwjxl1irhicjmlg7mybnfvx"; 8551 }; 8552 8553 patches = singleton (pkgs.fetchurl { 8554 name = "libnotify07.patch"; 8555 url = "http://pkgs.fedoraproject.org/cgit/notify-python.git/plain/" 8556 + "libnotify07.patch?id2=289573d50ae4838a1658d573d2c9f4c75e86db0c"; 8557 sha256 = "1lqdli13mfb59xxbq4rbq1f0znh6xr17ljjhwmzqb79jl3dig12z"; 8558 }); 8559 8560 postPatch = '' 8561 sed -i -e '/^PYGTK_CODEGEN/s|=.*|="${self.pygtk}/bin/pygtk-codegen-2.0"|' \ 8562 configure 8563 ''; 8564 8565 buildInputs = with self; [ python pkgs.pkgconfig pkgs.libnotify pygobject pygtk pkgs.glib pkgs.gtk pkgs.dbus_glib ]; 8566 8567 postInstall = "cd $out/lib/python*/site-packages && ln -s gtk-*/pynotify ."; 8568 8569 meta = { 8570 description = "Python bindings for libnotify"; 8571 homepage = http://www.galago-project.org/; 8572 }; 8573 }); 8574 8575 notmuch = buildPythonPackage rec { 8576 name = "python-${pkgs.notmuch.name}"; 8577 8578 src = pkgs.notmuch.src; 8579 8580 sourceRoot = pkgs.notmuch.pythonSourceRoot; 8581 8582 buildInputs = with self; [ python pkgs.notmuch ]; 8583 8584 meta = { 8585 description = "A Python wrapper around notmuch"; 8586 homepage = http://notmuchmail.org/; 8587 maintainers = with maintainers; [ garbas ]; 8588 }; 8589 }; 8590 8591 ntplib = buildPythonPackage rec { 8592 name = "ntplib-0.3.2"; 8593 src = pkgs.fetchurl { 8594 url = https://pypi.python.org/packages/source/n/ntplib/ntplib-0.3.2.tar.gz; 8595 md5 = "0f386dc00c0056ac4d77af0b4c21bb8e"; 8596 }; 8597 8598 meta = { 8599 description = "Python NTP library"; 8600 }; 8601 }; 8602 8603 numexpr = buildPythonPackage rec { 8604 version = "2.4.3"; 8605 name = "numexpr-${version}"; 8606 8607 src = pkgs.fetchurl { 8608 url = "https://pypi.python.org/packages/source/n/numexpr/${name}.tar.gz"; 8609 sha256 = "3ae7191c89df40db6b0a8637a4dace7c5956bc910793a53225f985f3b443c722"; 8610 }; 8611 8612 # Tests fail with python 3. https://github.com/pydata/numexpr/issues/177 8613 doCheck = !isPy3k; 8614 8615 propagatedBuildInputs = with self; [ numpy ]; 8616 8617 # Run the test suite. 8618 # It requires the build path to be in the python search path. 8619 checkPhase = '' 8620 ${python}/bin/${python.executable} <<EOF 8621 import sysconfig 8622 import sys 8623 import os 8624 f = "lib.{platform}-{version[0]}.{version[1]}" 8625 lib = f.format(platform=sysconfig.get_platform(), 8626 version=sys.version_info) 8627 build = os.path.join(os.getcwd(), 'build', lib) 8628 sys.path.insert(0, build) 8629 import numexpr 8630 r = numexpr.test() 8631 if not r.wasSuccessful(): 8632 sys.exit(1) 8633 EOF 8634 ''; 8635 8636 meta = { 8637 description = "Fast numerical array expression evaluator for NumPy"; 8638 homepage = "https://github.com/pydata/numexpr"; 8639 license = licenses.mit; 8640 }; 8641 }; 8642 8643 numpy = let 8644 support = import ../development/python-modules/numpy-scipy-support.nix { 8645 inherit python; 8646 openblas = pkgs.openblasCompat; 8647 pkgName = "numpy"; 8648 }; 8649 in buildPythonPackage ( rec { 8650 name = "numpy-1.9.2"; 8651 8652 src = pkgs.fetchurl { 8653 url = "mirror://sourceforge/numpy/${name}.tar.gz"; 8654 sha256 = "0apgmsk9jlaphb2dp1zaxqzdxkf69h1y3iw2d1pcnkj31cmmypij"; 8655 }; 8656 8657 disabled = isPyPy; # WIP 8658 8659 preConfigure = '' 8660 sed -i 's/-faltivec//' numpy/distutils/system_info.py 8661 sed -i '0,/from numpy.distutils.core/s//import setuptools;from numpy.distutils.core/' setup.py 8662 ''; 8663 8664 inherit (support) preBuild checkPhase; 8665 8666 setupPyBuildFlags = ["--fcompiler='gnu95'"]; 8667 8668 buildInputs = [ pkgs.gfortran self.nose ]; 8669 propagatedBuildInputs = [ support.openblas ]; 8670 8671 meta = { 8672 description = "Scientific tools for Python"; 8673 homepage = "http://numpy.scipy.org/"; 8674 }; 8675 }); 8676 8677 8678 nwdiag = buildPythonPackage rec { 8679 name = "nwdiag-1.0.3"; 8680 8681 src = pkgs.fetchurl { 8682 url = "https://pypi.python.org/packages/source/n/nwdiag/${name}.tar.gz"; 8683 sha256 = "0n7ary1fngxk8bk15vabc8fhnmxlh098piciwaviwn7l4a5q1zys"; 8684 }; 8685 8686 buildInputs = with self; [ pep8 nose unittest2 docutils ]; 8687 8688 propagatedBuildInputs = with self; [ blockdiag ]; 8689 8690 # tests fail 8691 doCheck = false; 8692 8693 meta = { 8694 description = "Generate network-diagram image from spec-text file (similar to Graphviz)"; 8695 homepage = http://blockdiag.com/; 8696 license = licenses.asl20; 8697 platforms = platforms.linux; 8698 maintainers = with maintainers; [ bjornfor ]; 8699 }; 8700 }; 8701 8702 livestreamer = buildPythonPackage rec { 8703 version = "1.12.2"; 8704 name = "livestreamer-${version}"; 8705 disabled = isPyPy; 8706 8707 src = pkgs.fetchurl { 8708 url = "https://github.com/chrippa/livestreamer/archive/v${version}.tar.gz"; 8709 sha256 = "1fp3d3z2grb1ls97smjkraazpxnvajda2d1g1378s6gzmda2jvjd"; 8710 }; 8711 8712 buildInputs = [ pkgs.makeWrapper ]; 8713 8714 propagatedBuildInputs = with self; [ pkgs.rtmpdump pycrypto requests2 ] 8715 ++ optionals isPy26 [ singledispatch futures argparse ] 8716 ++ optionals isPy27 [ singledispatch futures ] 8717 ++ optionals isPy33 [ singledispatch ]; 8718 8719 postInstall = '' 8720 wrapProgram $out/bin/livestreamer --prefix PATH : ${pkgs.rtmpdump}/bin 8721 ''; 8722 8723 meta = { 8724 homepage = http://livestreamer.tanuki.se; 8725 description = '' 8726 Livestreamer is CLI program that extracts streams from various 8727 services and pipes them into a video player of choice. 8728 ''; 8729 license = licenses.bsd2; 8730 maintainers = with maintainers; [ fuuzetsu ]; 8731 }; 8732 }; 8733 8734 oauth = buildPythonPackage (rec { 8735 name = "oauth-1.0.1"; 8736 8737 src = pkgs.fetchurl { 8738 url = "http://pypi.python.org/packages/source/o/oauth/oauth-1.0.1.tar.gz"; 8739 sha256 = "0pdgi35hczsslil4890xqawnbpdazkgf2v1443847h5hy2gq2sg7"; 8740 }; 8741 8742 meta = { 8743 homepage = http://code.google.com/p/oauth; 8744 description = "Library for OAuth version 1.0a"; 8745 license = licenses.mit; 8746 platforms = platforms.all; 8747 }; 8748 }); 8749 8750 oauth2 = buildPythonPackage (rec { 8751 name = "oauth2-1.5.211"; 8752 disabled = isPy3k; 8753 8754 src = pkgs.fetchurl { 8755 url = "http://pypi.python.org/packages/source/o/oauth2/oauth2-1.5.211.tar.gz"; 8756 sha256 = "82a38f674da1fa496c0fc4df714cbb058540bed72a30c50a2e344b0d984c4d21"; 8757 }; 8758 8759 propagatedBuildInputs = with self; [ httplib2 ]; 8760 8761 buildInputs = with self; [ mock coverage ]; 8762 8763 # ServerNotFoundError: Unable to find the server at oauth-sandbox.sevengoslings.net 8764 doCheck = false; 8765 8766 meta = { 8767 homepage = "https://github.com/simplegeo/python-oauth2"; 8768 description = "library for OAuth version 1.0"; 8769 license = licenses.mit; 8770 maintainers = with maintainers; [ garbas ]; 8771 platforms = platforms.linux; 8772 }; 8773 }); 8774 8775 oauth2client = pythonPackages.buildPythonPackage rec { 8776 name = "oauth2client-1.4.7"; 8777 8778 src = pkgs.fetchurl { 8779 url = "https://pypi.python.org/packages/source/o/oauth2client/oauth2client-1.4.7.tar.gz"; 8780 md5 = "62747643d5af57e57b09e176eda1c1dd"; 8781 }; 8782 8783 propagatedBuildInputs = with pythonPackages; [ httplib2 pyasn1 pyasn1-modules rsa ]; 8784 doCheck = false; 8785 8786 meta = { 8787 description = "A client library for OAuth 2.0"; 8788 homepage = http://github.com/google/oauth2client/; 8789 license = licenses.bsd2; 8790 }; 8791 }; 8792 8793 oauthlib = buildPythonPackage rec { 8794 version = "0.7.2"; 8795 name = "oauthlib-${version}"; 8796 8797 src = pkgs.fetchurl { 8798 url = "https://github.com/idan/oauthlib/archive/${version}.tar.gz"; 8799 sha256 = "08b7swyswhxh90k9mp54rk1qks2l2s2pdcjap6x118y27p7dhp4h"; 8800 }; 8801 8802 buildInputs = with self; [ mock nose unittest2 ]; 8803 8804 propagatedBuildInputs = with self; [ pycrypto blinker pyjwt ]; 8805 8806 meta = { 8807 homepage = https://github.com/idan/oauthlib; 8808 downloadPage = https://github.com/idan/oauthlib/releases; 8809 description = "A generic, spec-compliant, thorough implementation of the OAuth request-signing logic"; 8810 maintainers = with maintainers; [ prikhi ]; 8811 }; 8812 }; 8813 8814 8815 obfsproxy = buildPythonPackage ( rec { 8816 name = "obfsproxy-${version}"; 8817 version = "0.2.13"; 8818 8819 src = pkgs.fetchgit { 8820 url = meta.repositories.git; 8821 rev = "refs/tags/${name}"; 8822 sha256 = "16jb8x5hbs3g4dq10y6rqc1005bnffwnlws8x7j1d96n7k9mjn8h"; 8823 }; 8824 8825 propagatedBuildInputs = with self; 8826 [ pyptlib argparse twisted pycrypto pyyaml ]; 8827 8828 meta = { 8829 description = "a pluggable transport proxy"; 8830 homepage = https://www.torproject.org/projects/obfsproxy; 8831 repositories.git = https://git.torproject.org/pluggable-transports/obfsproxy.git; 8832 maintainers = with maintainers; [ phreedom thoughtpolice ]; 8833 }; 8834 }); 8835 8836 odo = buildPythonPackage rec { 8837 name = "odo-${version}"; 8838 version= "0.3.3"; 8839 8840 src = pkgs.fetchurl { 8841 url = "https://pypi.python.org/packages/source/o/odo/${name}.tar.gz"; 8842 sha256 = "2499ee86c26c74daa28f21ed235ca331911065950deea5169ebdb7d5dae6ebef"; 8843 }; 8844 8845 propagatedBuildInputs = with self; [ datashape numpy pandas toolz multipledispatch networkx ]; 8846 8847 meta = { 8848 homepage = https://github.com/ContinuumIO/odo; 8849 description = "Data migration utilities"; 8850 license = licenses.bsdOriginal; 8851 }; 8852 }; 8853 8854 offtrac = buildPythonPackage rec { 8855 name = "offtrac-0.1.0"; 8856 meta.maintainers = with maintainers; [ mornfall ]; 8857 8858 src = pkgs.fetchurl { 8859 url = "https://pypi.python.org/packages/source/o/offtrac/${name}.tar.gz"; 8860 sha256 = "06vd010pa1z7lyfj1na30iqzffr4kzj2k2sba09spik7drlvvl56"; 8861 }; 8862 doCheck = false; 8863 }; 8864 8865 openpyxl = buildPythonPackage rec { 8866 version = "2.2.4"; 8867 name = "openpyxl-${version}"; 8868 8869 src = pkgs.fetchhg { 8870 url = "https://bitbucket.org/openpyxl/openpyxl"; 8871 rev = "${version}"; 8872 sha256 = "1g9imbg4sjfyv5sqg2s7h4svhdmbnvq16hvc1a8jpaqq8nc2vjj2"; 8873 }; 8874 8875 propagatedBuildInputs = with self; [ jdcal ]; 8876 8877 meta = { 8878 description = "A Python library to read/write Excel 2007 xlsx/xlsm files"; 8879 homepage = "https://openpyxl.readthedocs.org"; 8880 license = licenses.mit; 8881 maintainers = with maintainers; [ lihop ]; 8882 platforms = platforms.all; 8883 }; 8884 }; 8885 8886 # optfunc = buildPythonPackage ( rec { 8887 # name = "optfunc-git"; 8888 # 8889 # src = pkgs.fetchgit { 8890 # url = "https://github.com/simonw/optfunc.git"; 8891 # rev = "e3fa034a545ed94ac5a039cf5b170c7d0ee21b7b"; 8892 # }; 8893 # 8894 # installCommand = '' 8895 # dest=$(toPythonPath $out)/optfunc 8896 # mkdir -p $dest 8897 # cp * $dest/ 8898 # ''; 8899 # 8900 # doCheck = false; 8901 # 8902 # meta = { 8903 # description = "A new experimental interface to optparse which works by introspecting a function definition"; 8904 # homepage = "http://simonwillison.net/2009/May/28/optfunc/"; 8905 # }; 8906 # }); 8907 8908 ordereddict = buildPythonPackage rec { 8909 name = "ordereddict-1.1"; 8910 disabled = !isPy26; 8911 8912 src = pkgs.fetchurl { 8913 url = "http://pypi.python.org/packages/source/o/ordereddict/${name}.tar.gz"; 8914 md5 = "a0ed854ee442051b249bfad0f638bbec"; 8915 }; 8916 8917 meta = { 8918 description = "A drop-in substitute for Py2.7's new collections.OrderedDict that works in Python 2.4-2.6."; 8919 license = licenses.bsd3; 8920 maintainers = with maintainers; [ garbas ]; 8921 }; 8922 }; 8923 8924 ply = buildPythonPackage (rec { 8925 name = "ply-3.4"; 8926 8927 src = pkgs.fetchurl { 8928 url = "http://www.dabeaz.com/ply/${name}.tar.gz"; 8929 sha256 = "0sslnbpws847r1j1f41fjpn76w0asywfqgxwzyjrvmmxnw8myhxg"; 8930 }; 8931 8932 meta = { 8933 homepage = http://www.dabeaz.com/ply/; 8934 8935 description = "PLY (Python Lex-Yacc), an implementation of the lex and yacc parsing tools for Python"; 8936 8937 longDescription = '' 8938 PLY is an implementation of lex and yacc parsing tools for Python. 8939 In a nutshell, PLY is nothing more than a straightforward lex/yacc 8940 implementation. Here is a list of its essential features: It's 8941 implemented entirely in Python; It uses LR-parsing which is 8942 reasonably efficient and well suited for larger grammars; PLY 8943 provides most of the standard lex/yacc features including support for 8944 empty productions, precedence rules, error recovery, and support for 8945 ambiguous grammars; PLY is straightforward to use and provides very 8946 extensive error checking; PLY doesn't try to do anything more or less 8947 than provide the basic lex/yacc functionality. In other words, it's 8948 not a large parsing framework or a component of some larger system. 8949 ''; 8950 8951 license = licenses.bsd3; 8952 8953 maintainers = [ ]; 8954 }; 8955 }); 8956 8957 osc = buildPythonPackage (rec { 8958 name = "osc-0.133+git"; 8959 disabled = isPy3k; 8960 8961 src = pkgs.fetchgit { 8962 url = git://gitorious.org/opensuse/osc.git; 8963 rev = "6cd541967ee2fca0b89e81470f18b97a3ffc23ce"; 8964 sha256 = "a39ce0e321e40e9758bf7b9128d316c71b35b80eabc84f13df492083bb6f1cc6"; 8965 }; 8966 8967 buildPhase = "${python}/bin/${python.executable} setup.py build"; 8968 doCheck = false; 8969 postInstall = "ln -s $out/bin/osc-wrapper.py $out/bin/osc"; 8970 8971 propagatedBuildInputs = with self; [ self.m2crypto ]; 8972 8973 }); 8974 8975 pagerduty = buildPythonPackage rec { 8976 name = "pagerduty-${version}"; 8977 version = "0.2.1"; 8978 disabled = isPy3k; 8979 8980 src = pkgs.fetchurl { 8981 url = "https://pypi.python.org/packages/source/p/pagerduty/pagerduty-${version}.tar.gz"; 8982 md5 = "8109a330d16751a7f4041c0ccedec787"; 8983 }; 8984 }; 8985 8986 pandas = buildPythonPackage rec { 8987 name = "pandas-0.16.2"; 8988 8989 src = pkgs.fetchurl { 8990 url = "https://pypi.python.org/packages/source/p/pandas/${name}.tar.gz"; 8991 sha256 = "10agmrkps8bi5948vwpipfxds5kj1d076m9i0nhaxwqiw7gm6670"; 8992 }; 8993 8994 buildInputs = [ self.nose ]; 8995 propagatedBuildInputs = with self; [ 8996 dateutil 8997 numpy 8998 scipy 8999 numexpr 9000 pytz 9001 xlrd 9002 bottleneck 9003 sqlalchemy9 9004 lxml 9005 html5lib 9006 modules.sqlite3 9007 beautifulsoup4 9008 ]; 9009 9010 preCheck = '' 9011 # Broken test, probably https://github.com/pydata/pandas/issues/10312: 9012 rm pandas/io/tests/test_html.py 9013 9014 # Hitting https://github.com/pydata/pandas/pull/7362 on python 9015 # 3.3 and 3.4, not sure why: 9016 rm pandas/tseries/tests/test_daterange.py 9017 9018 # Need to skip this test; insert a line here... hacky but oh well. 9019 badtest=pandas/tseries/tests/test_timezones.py 9020 fixed=$TMPDIR/fixed_test_timezones.py 9021 touch $fixed 9022 head -n 602 $badtest > $fixed 9023 echo ' raise nose.SkipTest("Not working")' >> $fixed 9024 tail -n +603 $badtest >> $fixed 9025 mv $fixed $badtest 9026 ''; 9027 9028 checkPhase = '' 9029 runHook preCheck 9030 9031 # The flag `-A 'not network'` will disable tests that use internet. 9032 # The `-e` flag disables a few problematic tests. 9033 ${python.executable} setup.py nosetests -A 'not network' --stop \ 9034 -e 'test_clipboard|test_series' --verbosity=3 9035 9036 runHook postCheck 9037 ''; 9038 9039 meta = { 9040 homepage = "http://pandas.pydata.org/"; 9041 description = "Python Data Analysis Library"; 9042 license = licenses.bsd3; 9043 maintainers = with maintainers; [ raskin ]; 9044 platforms = platforms.unix; 9045 }; 9046 }; 9047 9048 xlrd = buildPythonPackage rec { 9049 name = "xlrd-${version}"; 9050 version = "0.9.3"; 9051 src = pkgs.fetchurl { 9052 url = "https://pypi.python.org/packages/source/x/xlrd/xlrd-${version}.tar.gz"; 9053 sha256 = "174ks80h0g9p67ahnakf0y7di3gvbhxvb1jlk097gvd7gpi3aflk"; 9054 }; 9055 }; 9056 9057 bottleneck = buildPythonPackage rec { 9058 name = "Bottleneck-${version}"; 9059 version = "1.0.0"; 9060 src = pkgs.fetchurl { 9061 url = "https://pypi.python.org/packages/source/B/Bottleneck/Bottleneck-${version}.tar.gz"; 9062 sha256 = "15dl0ll5xmfzj2fsvajzwxsb9dbw5i9fx9i4r6n4i5nzzba7m6wd"; 9063 }; 9064 propagatedBuildInputs = [self.numpy]; 9065 }; 9066 9067 parsedatetime = buildPythonPackage rec { 9068 name = "parsedatetime-${version}"; 9069 version = "1.4"; 9070 9071 src = pkgs.fetchurl { 9072 url = "https://pypi.python.org/packages/source/p/parsedatetime/${name}.tar.gz"; 9073 md5 = "3aca729761be5259a508ed184df73c68"; 9074 }; 9075 }; 9076 9077 paramiko = buildPythonPackage rec { 9078 name = "paramiko-1.15.1"; 9079 9080 src = pkgs.fetchurl { 9081 url = "http://pypi.python.org/packages/source/p/paramiko/${name}.tar.gz"; 9082 md5 = "48c274c3f9b1282932567b21f6acf3b5"; 9083 }; 9084 9085 propagatedBuildInputs = with self; [ pycrypto ecdsa ]; 9086 9087 # https://github.com/paramiko/paramiko/issues/449 9088 doCheck = !(isPyPy || isPy33); 9089 checkPhase = '' 9090 # test_util needs to resolve an hostname, thus failing when the fw blocks it 9091 sed '/UtilTest/d' -i test.py 9092 9093 ${python}/bin/${python.executable} test.py --no-sftp --no-big-file 9094 ''; 9095 9096 meta = { 9097 homepage = "https://github.com/paramiko/paramiko/"; 9098 description = "Native Python SSHv2 protocol library"; 9099 license = licenses.lgpl21Plus; 9100 maintainers = with maintainers; [ aszlig ]; 9101 9102 longDescription = '' 9103 This is a library for making SSH2 connections (client or server). 9104 Emphasis is on using SSH2 as an alternative to SSL for making secure 9105 connections between python scripts. All major ciphers and hash methods 9106 are supported. SFTP client and server mode are both supported too. 9107 ''; 9108 }; 9109 }; 9110 9111 patsy = buildPythonPackage rec { 9112 name = "patsy-${version}"; 9113 version = "0.3.0"; 9114 9115 src = pkgs.fetchurl{ 9116 url = "https://pypi.python.org/packages/source/p/patsy/${name}.zip"; 9117 md5 = "7545518b413136ba8343dcebea07e5e2"; 9118 }; 9119 9120 propagatedBuildInputs = with self; [six numpy]; 9121 9122 meta = { 9123 description = "A Python package for describing statistical models"; 9124 homepage = "https://github.com/pydata/patsy"; 9125 license = licenses.bsd2; 9126 }; 9127 }; 9128 9129 paste = buildPythonPackage rec { 9130 name = "paste-1.7.5.1"; 9131 disabled = isPy3k; 9132 9133 src = pkgs.fetchurl { 9134 url = http://pypi.python.org/packages/source/P/Paste/Paste-1.7.5.1.tar.gz; 9135 md5 = "7ea5fabed7dca48eb46dc613c4b6c4ed"; 9136 }; 9137 9138 buildInputs = with self; [ nose ]; 9139 9140 doCheck = false; # some files required by the test seem to be missing 9141 9142 meta = { 9143 description = "Tools for using a Web Server Gateway Interface stack"; 9144 homepage = http://pythonpaste.org/; 9145 }; 9146 }; 9147 9148 9149 paste_deploy = buildPythonPackage rec { 9150 version = "1.5.2"; 9151 name = "paste-deploy-${version}"; 9152 9153 src = pkgs.fetchurl { 9154 url = "http://pypi.python.org/packages/source/P/PasteDeploy/PasteDeploy-${version}.tar.gz"; 9155 md5 = "352b7205c78c8de4987578d19431af3b"; 9156 }; 9157 9158 buildInputs = with self; [ nose ]; 9159 9160 meta = { 9161 description = "Load, configure, and compose WSGI applications and servers"; 9162 homepage = http://pythonpaste.org/deploy/; 9163 platforms = platforms.all; 9164 }; 9165 }; 9166 9167 pasteScript = buildPythonPackage rec { 9168 version = "1.7.5"; 9169 name = "PasterScript-${version}"; 9170 9171 src = pkgs.fetchurl { 9172 url = "http://pypi.python.org/packages/source/P/PasteScript/${name}.tar.gz"; 9173 sha256 = "2b685be69d6ac8bc0fe6f558f119660259db26a15e16a4943c515fbee8093539"; 9174 }; 9175 9176 doCheck = false; 9177 buildInputs = with self; [ nose ]; 9178 propagatedBuildInputs = with self; [ paste paste_deploy cheetah argparse ]; 9179 9180 meta = { 9181 description = "A pluggable command-line frontend, including commands to setup package file layouts"; 9182 homepage = http://pythonpaste.org/script/; 9183 platforms = platforms.all; 9184 }; 9185 }; 9186 9187 pathlib = buildPythonPackage rec { 9188 name = "pathlib-${version}"; 9189 version = "1.0.1"; 9190 disabled = pythonAtLeast "3.4"; # Was added to std library in Python 3.4 9191 9192 src = pkgs.fetchurl { 9193 url = "https://pypi.python.org/packages/source/p/pathlib/${name}.tar.gz"; 9194 sha256 = "17zajiw4mjbkkv6ahp3xf025qglkj0805m9s41c45zryzj6p2h39"; 9195 }; 9196 9197 meta = { 9198 description = "Object-oriented filesystem paths"; 9199 homepage = "https://pathlib.readthedocs.org/"; 9200 license = licenses.mit; 9201 }; 9202 }; 9203 9204 pathpy = buildPythonPackage rec { 9205 name = "path.py-5.2"; 9206 9207 src = pkgs.fetchurl { 9208 url = "https://pypi.python.org/packages/source/p/path.py/${name}.zip"; 9209 sha256 = "0n1kpbbm1dg5f484yzxr7gb3ak6vjp92j70nw3bgjzsj9fh26afq"; 9210 }; 9211 9212 meta = { 9213 description = "A module wrapper for os.path"; 9214 homepage = http://github.com/jaraco/path.py; 9215 license = licenses.mit; 9216 platforms = platforms.linux; 9217 }; 9218 }; 9219 9220 paypalrestsdk = buildPythonPackage rec { 9221 name = "paypalrestsdk-0.7.0"; 9222 9223 src = pkgs.fetchurl { 9224 url = "https://pypi.python.org/packages/source/p/paypalrestsdk/${name}.tar.gz"; 9225 sha256 = "117kfipzfahf9ysv414bh1mmm5cc9ck5zb6rhpslx1f8gk3frvd6"; 9226 }; 9227 9228 propagatedBuildInputs = with self; [ httplib2 ]; 9229 9230 meta = { 9231 homepage = https://developer.paypal.com/; 9232 description = "Python APIs to create, process and manage payment"; 9233 license = "PayPal SDK License"; 9234 }; 9235 }; 9236 9237 pbr = buildPythonPackage rec { 9238 name = "pbr-0.9.0"; 9239 9240 src = pkgs.fetchurl { 9241 url = "https://pypi.python.org/packages/source/p/pbr/${name}.tar.gz"; 9242 sha256 = "e5a57c434b1faa509a00bf458d2c7af965199d9cced3d05a547bff9880f7e8cb"; 9243 }; 9244 9245 # pip depend on $HOME setting 9246 preConfigure = "export HOME=$TMPDIR"; 9247 9248 doCheck = false; 9249 9250 buildInputs = with self; [ pip ]; 9251 9252 meta = { 9253 description = "Python Build Reasonableness"; 9254 homepage = "http://docs.openstack.org/developer/pbr/"; 9255 license = licenses.asl20; 9256 }; 9257 }; 9258 9259 pelican = buildPythonPackage rec { 9260 name = "pelican-${version}"; 9261 version = "3.6.0"; 9262 disabled = isPy26; 9263 9264 src = pkgs.fetchFromGitHub { 9265 owner = "getpelican"; 9266 repo = "pelican"; 9267 rev = version; 9268 sha256 = "0a9r90d85rn2cvl6yyk6q5i5kwz9igfj8fdwi37zsx4ijhmn2b5j"; 9269 }; 9270 9271 buildInputs = with self; [ 9272 pkgs.glibcLocales 9273 pkgs.pandoc 9274 pkgs.git 9275 mock 9276 nose 9277 markdown 9278 beautifulsoup4 9279 lxml 9280 typogrify 9281 ]; 9282 9283 propagatedBuildInputs = with self; [ 9284 jinja2 pygments docutils pytz unidecode six dateutil feedgenerator 9285 blinker pillow beautifulsoup4 markupsafe 9286 ]; 9287 9288 postPatch= '' 9289 sed -i -e "s|'git'|'${pkgs.git}/bin/git'|" pelican/tests/test_pelican.py 9290 ''; 9291 9292 preConfigure = '' 9293 export LC_ALL="en_US.UTF-8" 9294 ''; 9295 9296 meta = { 9297 description = "A tool to generate a static blog from reStructuredText or Markdown input files"; 9298 homepage = "http://getpelican.com/"; 9299 license = licenses.agpl3; 9300 maintainers = with maintainers; [ offline prikhi garbas ]; 9301 }; 9302 }; 9303 9304 pep8 = buildPythonPackage rec { 9305 name = "pep8-${version}"; 9306 version = "1.5.7"; 9307 9308 src = pkgs.fetchurl { 9309 url = "http://pypi.python.org/packages/source/p/pep8/${name}.tar.gz"; 9310 md5 = "f6adbdd69365ecca20513c709f9b7c93"; 9311 }; 9312 9313 meta = { 9314 homepage = "http://pep8.readthedocs.org/"; 9315 description = "Python style guide checker"; 9316 license = licenses.mit; 9317 maintainers = with maintainers; [ garbas ]; 9318 }; 9319 }; 9320 9321 pep257 = buildPythonPackage rec { 9322 name = "pep257-${version}"; 9323 version = "0.3.2"; 9324 9325 src = pkgs.fetchurl { 9326 url = "https://github.com/GreenSteam/pep257/archive/${version}.tar.gz"; 9327 sha256 = "0v8aq0xzsa7clazszxl42904c3jpq69lg8a5hg754bqcqf72hfrn"; 9328 }; 9329 9330 meta = { 9331 homepage = https://github.com/GreenSteam/pep257/; 9332 description = "Python docstring style checker"; 9333 longDescription = "Static analysis tool for checking compliance with Python PEP 257."; 9334 lecense = licenses.mit; 9335 }; 9336 }; 9337 9338 percol = buildPythonPackage rec { 9339 name = "percol-${version}"; 9340 version = "0.0.8"; 9341 disabled = isPy3k; 9342 9343 src = pkgs.fetchurl { 9344 url = "https://pypi.python.org/packages/source/p/percol/${name}.tar.gz"; 9345 sha256 = "169s5mhw1s60qbsd6pkf9bb2x6wfgx8hn8nw9d4qgc68qnnpp2cj"; 9346 }; 9347 9348 propagatedBuildInputs = with self; [ modules.curses ]; 9349 9350 meta = { 9351 homepage = https://github.com/mooz/percol; 9352 description = "Adds flavor of interactive filtering to the traditional pipe concept of shell"; 9353 license = licenses.mit; 9354 maintainers = with maintainers; [ koral ]; 9355 }; 9356 }; 9357 9358 9359 pexpect = buildPythonPackage rec { 9360 version = "3.3"; 9361 name = "pexpect-${version}"; 9362 9363 src = pkgs.fetchurl { 9364 url = "https://pypi.python.org/packages/source/p/pexpect/${name}.tar.gz"; 9365 sha256 = "dfea618d43e83cfff21504f18f98019ba520f330e4142e5185ef7c73527de5ba"; 9366 }; 9367 9368 meta = { 9369 homepage = http://www.noah.org/wiki/Pexpect; 9370 description = "Automate interactive console applications such as ssh, ftp, etc"; 9371 license = licenses.mit; 9372 9373 longDescription = '' 9374 Pexpect is similar to the Don Libes "Expect" system, but Pexpect 9375 as a different interface that is easier to understand. Pexpect 9376 is basically a pattern matching system. It runs programs and 9377 watches output. When output matches a given pattern Pexpect can 9378 respond as if a human were typing responses. Pexpect can be used 9379 for automation, testing, and screen scraping. Pexpect can be 9380 used for automating interactive console applications such as 9381 ssh, ftp, passwd, telnet, etc. It can also be used to control 9382 web applications via "lynx", "w3m", or some other text-based web 9383 browser. Pexpect is pure Python. Unlike other Expect-like 9384 modules for Python Pexpect does not require TCL or Expect nor 9385 does it require C extensions to be compiled. It should work on 9386 any platform that supports the standard Python pty module. 9387 ''; 9388 }; 9389 }; 9390 9391 9392 pg8000 = buildPythonPackage rec { 9393 name = "pg8000-1.10.1"; 9394 9395 src = pkgs.fetchurl { 9396 url = "http://pypi.python.org/packages/source/p/pg8000/${name}.tar.gz"; 9397 md5 = "173275fd76628b0e0cbed70ed9ce9eb9"; 9398 }; 9399 9400 propagatedBuildInputs = with self; [ pytz ]; 9401 9402 meta = { 9403 maintainers = with maintainers; [ garbas iElectric ]; 9404 platforms = platforms.linux; 9405 }; 9406 }; 9407 9408 pgcli = buildPythonPackage rec { 9409 name = "pgcli-${version}"; 9410 version = "0.19.1"; 9411 9412 src = pkgs.fetchFromGitHub { 9413 sha256 = "1r34bbqbd4h72cl0cxi9w6q2nwx806wpxq220mzyiy8g45xv0ghj"; 9414 rev = "v${version}"; 9415 repo = "pgcli"; 9416 owner = "dbcli"; 9417 }; 9418 9419 propagatedBuildInputs = with self; [ 9420 click configobj prompt_toolkit psycopg2 pygments sqlparse 9421 ]; 9422 9423 postPatch = '' 9424 substituteInPlace setup.py --replace "==" ">=" 9425 ''; 9426 9427 meta = { 9428 inherit version; 9429 description = "Command-line interface for PostgreSQL"; 9430 longDescription = '' 9431 Rich command-line interface for PostgreSQL with auto-completion and 9432 syntax highlighting. 9433 ''; 9434 homepage = http://pgcli.com; 9435 license = licenses.bsd3; 9436 maintainers = with maintainers; [ nckx ]; 9437 }; 9438 }; 9439 9440 mycli = buildPythonPackage rec { 9441 name = "mycli-${version}"; 9442 version = "1.3.0"; 9443 9444 src = pkgs.fetchFromGitHub { 9445 sha256 = "109jz84m29v4fjhk2ngsfc1b6zw4w6dbjlr2izvib63ylcz7b5nh"; 9446 rev = "v${version}"; 9447 repo = "mycli"; 9448 owner = "dbcli"; 9449 }; 9450 9451 propagatedBuildInputs = with self; [ 9452 pymysql configobj sqlparse prompt_toolkit0_45 pygments click 9453 ]; 9454 9455 meta = { 9456 inherit version; 9457 description = "Command-line interface for MySQL"; 9458 longDescription = '' 9459 Rich command-line interface for MySQL with auto-completion and 9460 syntax highlighting. 9461 ''; 9462 homepage = http://mycli.net; 9463 license = licenses.bsd3; 9464 }; 9465 }; 9466 9467 pip = buildPythonPackage rec { 9468 version = "1.5.6"; 9469 name = "pip-${version}"; 9470 src = pkgs.fetchurl { 9471 url = "http://pypi.python.org/packages/source/p/pip/pip-${version}.tar.gz"; 9472 md5 = "01026f87978932060cc86c1dc527903e"; 9473 }; 9474 buildInputs = with self; [ mock scripttest virtualenv pytest ]; 9475 }; 9476 9477 9478 pika = buildPythonPackage { 9479 name = "pika-0.9.12"; 9480 disabled = isPy3k; 9481 src = pkgs.fetchurl { 9482 url = https://pypi.python.org/packages/source/p/pika/pika-0.9.12.tar.gz; 9483 md5 = "7174fc7cc5570314fa3cfaa729106482"; 9484 }; 9485 buildInputs = with self; [ nose mock pyyaml ]; 9486 9487 propagatedBuildInputs = with self; [ unittest2 ]; 9488 }; 9489 9490 pysftp = buildPythonPackage rec { 9491 name = "pysftp-${version}"; 9492 version = "0.2.8"; 9493 disabled = isPyPy; 9494 9495 src = pkgs.fetchurl { 9496 url = "https://pypi.python.org/packages/source/p/pysftp/${name}.tar.gz"; 9497 sha256 = "1d69z8yngciksch1i8rivy1xl8f6g6sb7c3kk5cm3pf8304q6hhm"; 9498 }; 9499 9500 propagatedBuildInputs = with self; [ paramiko ]; 9501 9502 meta = { 9503 homepage = https://bitbucket.org/dundeemt/pysftp; 9504 description = "A friendly face on SFTP"; 9505 license = licenses.mit; 9506 longDescription = '' 9507 A simple interface to SFTP. The module offers high level abstractions 9508 and task based routines to handle your SFTP needs. Checkout the Cook 9509 Book, in the docs, to see what pysftp can do for you. 9510 ''; 9511 }; 9512 }; 9513 9514 python3pika = buildPythonPackage { 9515 name = "python3-pika-0.9.14"; 9516 disabled = !isPy3k; 9517 src = pkgs.fetchurl { 9518 url = https://pypi.python.org/packages/source/p/python3-pika/python3-pika-0.9.14.tar.gz; 9519 md5 = "f3a3ee58afe0ae06f1fa553710e1aa28"; 9520 }; 9521 buildInputs = with self; [ nose mock pyyaml ]; 9522 9523 propagatedBuildInputs = with self; [ unittest2 ]; 9524 }; 9525 9526 9527 python-jenkins = buildPythonPackage rec { 9528 name = "python-jenkins-${version}"; 9529 version = "0.4.5"; 9530 src = pkgs.fetchurl { 9531 url = "https://pypi.python.org/packages/source/p/python-jenkins/${name}.tar.gz"; 9532 md5 = "10f1c24d45afe9cadd43f8d60b37d04c"; 9533 }; 9534 9535 buildInputs = with self; [ pbr pip ]; 9536 pythonPath = with self; [ pyyaml six ]; 9537 doCheck = false; 9538 9539 meta = { 9540 description = "Python bindings for the remote Jenkins API"; 9541 homepage = https://pypi.python.org/pypi/python-jenkins; 9542 license = licenses.bsd3; 9543 }; 9544 }; 9545 9546 9547 pil = buildPythonPackage rec { 9548 name = "PIL-${version}"; 9549 version = "1.1.7"; 9550 9551 src = pkgs.fetchurl { 9552 url = "http://effbot.org/downloads/Imaging-${version}.tar.gz"; 9553 sha256 = "04aj80jhfbmxqzvmq40zfi4z3cw6vi01m3wkk6diz3lc971cfnw9"; 9554 }; 9555 9556 buildInputs = with self; [ python pkgs.libjpeg pkgs.zlib pkgs.freetype ]; 9557 9558 disabled = isPy3k; 9559 doCheck = true; 9560 9561 postInstall = "ln -s $out/lib/${python.libPrefix}/site-packages $out/lib/${python.libPrefix}/site-packages/PIL"; 9562 9563 preConfigure = '' 9564 sed -i "setup.py" \ 9565 -e 's|^FREETYPE_ROOT =.*$|FREETYPE_ROOT = libinclude("${pkgs.freetype}")|g ; 9566 s|^JPEG_ROOT =.*$|JPEG_ROOT = libinclude("${pkgs.libjpeg}")|g ; 9567 s|^ZLIB_ROOT =.*$|ZLIB_ROOT = libinclude("${pkgs.zlib}")|g ;' 9568 '' 9569 # Remove impurities 9570 + stdenv.lib.optionalString stdenv.isDarwin '' 9571 substituteInPlace setup.py \ 9572 --replace '"/Library/Frameworks",' "" \ 9573 --replace '"/System/Library/Frameworks"' "" 9574 ''; 9575 9576 checkPhase = "${python}/bin/${python.executable} selftest.py"; 9577 buildPhase = "${python}/bin/${python.executable} setup.py build_ext -i"; 9578 9579 meta = { 9580 homepage = http://www.pythonware.com/products/pil/; 9581 description = "The Python Imaging Library (PIL)"; 9582 longDescription = '' 9583 The Python Imaging Library (PIL) adds image processing 9584 capabilities to your Python interpreter. This library 9585 supports many file formats, and provides powerful image 9586 processing and graphics capabilities. 9587 ''; 9588 license = "http://www.pythonware.com/products/pil/license.htm"; 9589 }; 9590 }; 9591 9592 9593 pillow = buildPythonPackage rec { 9594 name = "Pillow-2.3.0"; 9595 9596 src = pkgs.fetchurl { 9597 url = "http://pypi.python.org/packages/source/P/Pillow/${name}.zip"; 9598 md5 = "56b6614499aacb7d6b5983c4914daea7"; 9599 }; 9600 9601 buildInputs = with self; [ 9602 pkgs.freetype pkgs.libjpeg pkgs.zlib pkgs.libtiff pkgs.libwebp pkgs.tcl ] 9603 ++ optionals (isPy26 || isPy27 || isPy33 || isPyPy) [ pkgs.lcms2 ] 9604 ++ optionals (isPyPy) [ pkgs.tk pkgs.xlibs.libX11 ]; 9605 9606 # NOTE: we use LCMS_ROOT as WEBP root since there is not other setting for webp. 9607 preConfigure = '' 9608 sed -i "setup.py" \ 9609 -e 's|^FREETYPE_ROOT =.*$|FREETYPE_ROOT = _lib_include("${pkgs.freetype}")|g ; 9610 s|^JPEG_ROOT =.*$|JPEG_ROOT = _lib_include("${pkgs.libjpeg}")|g ; 9611 s|^ZLIB_ROOT =.*$|ZLIB_ROOT = _lib_include("${pkgs.zlib}")|g ; 9612 s|^LCMS_ROOT =.*$|LCMS_ROOT = _lib_include("${pkgs.libwebp}")|g ; 9613 s|^TIFF_ROOT =.*$|TIFF_ROOT = _lib_include("${pkgs.libtiff}")|g ; 9614 s|^TCL_ROOT=.*$|TCL_ROOT = _lib_include("${pkgs.tcl}")|g ;' 9615 '' 9616 # Remove impurities 9617 + stdenv.lib.optionalString stdenv.isDarwin '' 9618 substituteInPlace setup.py \ 9619 --replace '"/Library/Frameworks",' "" \ 9620 --replace '"/System/Library/Frameworks"' "" 9621 ''; 9622 9623 meta = { 9624 homepage = "https://python-pillow.github.io/"; 9625 9626 description = "Fork of The Python Imaging Library (PIL)"; 9627 9628 longDescription = '' 9629 The Python Imaging Library (PIL) adds image processing 9630 capabilities to your Python interpreter. This library 9631 supports many file formats, and provides powerful image 9632 processing and graphics capabilities. 9633 ''; 9634 9635 license = "http://www.pythonware.com/products/pil/license.htm"; 9636 9637 maintainers = with maintainers; [ goibhniu prikhi ]; 9638 }; 9639 }; 9640 9641 plumbum = buildPythonPackage rec { 9642 name = "plumbum-1.4.2"; 9643 9644 buildInputs = with self; [ self.six ]; 9645 9646 src = pkgs.fetchurl { 9647 url = "https://pypi.python.org/packages/source/p/plumbum/${name}.tar.gz"; 9648 md5 = "38b526af9012a5282ae91dfe372cefd3"; 9649 }; 9650 }; 9651 9652 9653 polib = buildPythonPackage rec { 9654 name = "polib-${version}"; 9655 version = "1.0.4"; 9656 9657 src = pkgs.fetchurl { 9658 url = "http://bitbucket.org/izi/polib/downloads/${name}.tar.gz"; 9659 sha256 = "16klwlswfbgmkzrra80fgzhic9447pk3mnr75r2fkz72bkvpcclb"; 9660 }; 9661 9662 # error: invalid command 'test' 9663 doCheck = false; 9664 9665 meta = { 9666 description = "A library to manipulate gettext files (po and mo files)"; 9667 homepage = "http://bitbucket.org/izi/polib/"; 9668 license = licenses.mit; 9669 }; 9670 }; 9671 9672 9673 polylint = buildPythonPackage rec { 9674 name = "polylint-${version}"; 9675 version = "158125c6ab"; 9676 9677 src = pkgs.fetchgit { 9678 url = "https://github.com/bendavis78/polylint"; 9679 rev = version; 9680 sha256 = "ea10c67e9ce6df0936d6e2015382acba4f9cc559e2d6a9471f474f6bda78a266"; 9681 }; 9682 9683 propagatedBuildInputs = with self; [ html5lib lxml cssselect ]; 9684 9685 meta = { 9686 description = "Fast HTML linter for polymer"; 9687 homepage = https://github.com/bendavis78/polylint; 9688 }; 9689 }; 9690 9691 9692 powerline = buildPythonPackage rec { 9693 rev = "2.1.4"; 9694 name = "powerline-${rev}"; 9695 src = pkgs.fetchurl { 9696 url = "https://github.com/powerline/powerline/archive/${rev}.tar.gz"; 9697 name = "${name}.tar.gz"; 9698 sha256 = "0gnh5yyackmqcphiympan48dm5lc834yzspss1lp4g1wq3vpyraf"; 9699 }; 9700 9701 propagatedBuildInputs = with self; [ pkgs.git pkgs.mercurial pkgs.bazaar self.psutil self.pygit2 ]; 9702 9703 # error: This is still beta and some tests still fail 9704 doCheck = false; 9705 9706 postInstall = '' 9707 install -dm755 "$out/share/fonts/OTF/" 9708 install -dm755 "$out/etc/fonts/conf.d" 9709 install -m644 "font/PowerlineSymbols.otf" "$out/share/fonts/OTF/PowerlineSymbols.otf" 9710 install -m644 "font/10-powerline-symbols.conf" "$out/etc/fonts/conf.d/10-powerline-symbols.conf" 9711 9712 install -dm755 "$out/share/vim/vimfiles/plugin" 9713 install -m644 "powerline/bindings/vim/plugin/powerline.vim" "$out/share/vim/vimfiles/plugin/powerline.vim" 9714 9715 install -dm755 "$out/share/zsh/site-contrib" 9716 install -m644 "powerline/bindings/zsh/powerline.zsh" "$out/share/zsh/site-contrib/powerline.zsh" 9717 9718 install -dm755 "$out/share/tmux" 9719 install -m644 "powerline/bindings/tmux/powerline.conf" "$out/share/tmux/powerline.conf" 9720 ''; 9721 9722 meta = { 9723 homepage = https://github.com/powerline/powerline; 9724 description = "The ultimate statusline/prompt utility"; 9725 license = licenses.mit; 9726 maintainers = with maintainers; [ lovek323 ]; 9727 platforms = platforms.all; 9728 }; 9729 }; 9730 9731 9732 9733 praw = buildPythonPackage rec { 9734 name = "praw-3.1.0"; 9735 9736 src = pkgs.fetchurl { 9737 url = "https://pypi.python.org/packages/source/p/praw/${name}.zip"; 9738 sha256 = "1dilb3vr5llqy344i6nh7gl07wcssb5dmqrhjwhfqi1mais7b953"; 9739 }; 9740 9741 propagatedBuildInputs = with self; [ 9742 decorator 9743 flake8 9744 mock 9745 six 9746 update_checker 9747 ]; 9748 9749 # can't find the tests module? 9750 doCheck = false; 9751 9752 meta = { 9753 description = "Python Reddit API wrapper"; 9754 homepage = http://praw.readthedocs.org/; 9755 license = licenses.gpl3; 9756 platforms = platforms.all; 9757 maintainers = with maintainers; [ jgeerds ]; 9758 }; 9759 }; 9760 9761 prettytable = buildPythonPackage rec { 9762 name = "prettytable-0.7.1"; 9763 9764 src = pkgs.fetchurl { 9765 url = "http://pypi.python.org/packages/source/P/PrettyTable/${name}.tar.bz2"; 9766 sha1 = "ad346a18d92c1d95f2295397c7a8a4f489e48851"; 9767 }; 9768 9769 buildInputs = [ pkgs.glibcLocales ]; 9770 9771 preCheck = '' 9772 export LANG="en_US.UTF-8" 9773 ''; 9774 9775 meta = { 9776 description = "Simple Python library for easily displaying tabular data in a visually appealing ASCII table format"; 9777 homepage = http://code.google.com/p/prettytable/; 9778 }; 9779 }; 9780 9781 9782 prompt_toolkit = buildPythonPackage rec { 9783 name = "prompt_toolkit-${version}"; 9784 version = "0.47"; 9785 9786 src = pkgs.fetchurl { 9787 sha256 = "1xkrbz7d2mzd5r5a8aqbnhym57fkpri9x73cql5vb573glzwddla"; 9788 url = "https://pypi.python.org/packages/source/p/prompt_toolkit/${name}.tar.gz"; 9789 }; 9790 9791 buildInputs = with self; [ jedi ipython pygments ]; 9792 propagatedBuildInputs = with self; [ docopt six wcwidth ]; 9793 9794 meta = { 9795 description = "Python library for building powerful interactive command lines"; 9796 longDescription = '' 9797 prompt_toolkit could be a replacement for readline, but it can be 9798 much more than that. It is cross-platform, everything that you build 9799 with it should run fine on both Unix and Windows systems. Also ships 9800 with a nice interactive Python shell (called ptpython) built on top. 9801 ''; 9802 homepage = https://github.com/jonathanslenders/python-prompt-toolkit; 9803 license = licenses.bsd3; 9804 maintainers = with maintainers; [ nckx ]; 9805 }; 9806 }; 9807 9808 prompt_toolkit0_45 = buildPythonPackage rec { 9809 name = "prompt_toolkit-${version}"; 9810 version = "0.45"; 9811 9812 src = pkgs.fetchurl { 9813 sha256 = "19lp15rc0rq4jqaacg2a38cdgfy2avhf5v97yanasx4n2swx4gsm"; 9814 url = "https://pypi.python.org/packages/source/p/prompt_toolkit/${name}.tar.gz"; 9815 }; 9816 9817 buildInputs = with self; [ jedi ipython pygments ]; 9818 propagatedBuildInputs = with self; [ docopt six wcwidth ]; 9819 9820 meta = { 9821 description = "Python library for building powerful interactive command lines"; 9822 longDescription = '' 9823 prompt_toolkit could be a replacement for readline, but it can be 9824 much more than that. It is cross-platform, everything that you build 9825 with it should run fine on both Unix and Windows systems. Also ships 9826 with a nice interactive Python shell (called ptpython) built on top. 9827 ''; 9828 homepage = https://github.com/jonathanslenders/python-prompt-toolkit; 9829 license = licenses.bsd3; 9830 maintainers = with maintainers; [ nckx ]; 9831 }; 9832 }; 9833 9834 protobuf = self.protobuf2_6; 9835 protobuf2_6 = self.protobufBuild pkgs.protobuf2_6; 9836 protobuf2_5 = self.protobufBuild pkgs.protobuf2_5; 9837 protobufBuild = protobuf: buildPythonPackage rec { 9838 inherit (protobuf) name src; 9839 disabled = isPy3k; 9840 9841 propagatedBuildInputs = with self; [ protobuf google_apputils ]; 9842 9843 prePatch = '' 9844 while [ ! -d python ]; do 9845 cd * 9846 done 9847 cd python 9848 ''; 9849 9850 preConfigure = optionalString (versionAtLeast protobuf.version "2.6.0") '' 9851 PROTOCOL_BUFFERS_PYTHON_IMPLEMENTATION=cpp 9852 PROTOCOL_BUFFERS_PYTHON_IMPLEMENTATION_VERSION=2 9853 ''; 9854 9855 checkPhase = if versionAtLeast protobuf.version "2.6.0" then '' 9856 ${python.executable} setup.py google_test --cpp_implementation 9857 '' else '' 9858 ${python.executable} setup.py test 9859 ''; 9860 9861 installFlags = optional (versionAtLeast protobuf.version "2.6.0") "--cpp_implementation"; 9862 9863 doCheck = true; 9864 9865 meta = { 9866 description = "Protocol Buffers are Google's data interchange format"; 9867 homepage = http://code.google.com/p/protobuf/; 9868 }; 9869 9870 passthru.protobuf = protobuf; 9871 }; 9872 9873 9874 psutil = buildPythonPackage rec { 9875 name = "psutil-${version}"; 9876 version = "2.1.1"; 9877 9878 src = pkgs.fetchurl { 9879 url = "https://pypi.python.org/packages/source/p/psutil/${name}.tar.gz"; 9880 sha256 = "14smqj57yjrm6hjz5n2annkgv0kmxckdhqvfx784f4d4lr52m0dz"; 9881 }; 9882 9883 # failed tests: https://code.google.com/p/psutil/issues/detail?id=434 9884 doCheck = false; 9885 9886 meta = { 9887 description = "Process and system utilization information interface for python"; 9888 homepage = http://code.google.com/p/psutil/; 9889 }; 9890 }; 9891 9892 9893 psycopg2 = buildPythonPackage rec { 9894 name = "psycopg2-2.5.4"; 9895 disabled = isPyPy; 9896 9897 # error: invalid command 'test' 9898 doCheck = false; 9899 9900 src = pkgs.fetchurl { 9901 url = "https://pypi.python.org/packages/source/p/psycopg2/${name}.tar.gz"; 9902 sha256 = "07ivzl7bq8bjcq5n90w4bsl29gjfm5l8yamw0paxh25si8r3zfi4"; 9903 }; 9904 9905 propagatedBuildInputs = with self; [ pkgs.postgresql ]; 9906 9907 meta = { 9908 description = "PostgreSQL database adapter for the Python programming language"; 9909 license = with licenses; [ gpl2 zpt20 ]; 9910 }; 9911 }; 9912 9913 9914 publicsuffix = buildPythonPackage rec { 9915 name = "publicsuffix-${version}"; 9916 version = "1.0.2"; 9917 9918 src = pkgs.fetchurl { 9919 url = "http://pypi.python.org/packages/source/p/publicsuffix/${name}.tar.gz"; 9920 md5 = "f86babf56f6e58b564d3853adebcf37a"; 9921 }; 9922 9923 meta = { 9924 description = "Allows to get the public suffix of a domain name"; 9925 homepage = "http://pypi.python.org/pypi/publicsuffix/"; 9926 license = licenses.mit; 9927 }; 9928 }; 9929 9930 9931 py = buildPythonPackage rec { 9932 name = "py-1.4.30"; 9933 9934 src = pkgs.fetchurl { 9935 url = "https://pypi.python.org/packages/source/p/py/${name}.tar.gz"; 9936 md5 = "a904aabfe4765cb754f2db84ec7bb03a"; 9937 }; 9938 9939 meta = { 9940 description = "Library with cross-python path, ini-parsing, io, code, log facilities"; 9941 homepage = http://pylib.readthedocs.org/; 9942 license = licenses.mit; 9943 }; 9944 }; 9945 9946 9947 pyacoustid = buildPythonPackage rec { 9948 name = "pyacoustid-1.1.0"; 9949 9950 src = pkgs.fetchurl { 9951 url = "https://pypi.python.org/packages/source/p/pyacoustid/${name}.tar.gz"; 9952 md5 = "b27c714d530300b917eb869726334226"; 9953 }; 9954 9955 propagatedBuildInputs = with self; [ requests audioread ]; 9956 9957 patches = [ ../development/python-modules/pyacoustid-py3.patch ]; 9958 9959 postPatch = '' 9960 sed -i \ 9961 -e '/^FPCALC_COMMAND *=/s|=.*|= "${pkgs.chromaprint}/bin/fpcalc"|' \ 9962 acoustid.py 9963 ''; 9964 9965 meta = { 9966 description = "Bindings for Chromaprint acoustic fingerprinting"; 9967 homepage = "https://github.com/sampsyo/pyacoustid"; 9968 license = licenses.mit; 9969 }; 9970 }; 9971 9972 9973 pyalgotrade = buildPythonPackage { 9974 name = "pyalogotrade-0.16"; 9975 9976 src = pkgs.fetchurl { 9977 url = "https://pypi.python.org/packages/source/P/PyAlgoTrade/PyAlgoTrade-0.16.tar.gz"; 9978 md5 = "01d70583ab15eb3bad21027bdeb30ae5"; 9979 }; 9980 9981 propagatedBuildInputs = with self; [ numpy scipy pytz ]; 9982 9983 meta = { 9984 description = "Python Algorithmic Trading"; 9985 homepage = http://gbeced.github.io/pyalgotrade/; 9986 license = licenses.asl20; 9987 }; 9988 }; 9989 9990 9991 pyasn1 = buildPythonPackage ({ 9992 name = "pyasn1-0.1.8"; 9993 9994 src = pkgs.fetchurl { 9995 url = "mirror://sourceforge/pyasn1/0.1.8/pyasn1-0.1.8.tar.gz"; 9996 sha256 = "0iw31d9l0zwx35szkzq72hiw002wnqrlrsi9dpbrfngcl1ybwcsx"; 9997 }; 9998 9999 meta = { 10000 description = "ASN.1 tools for Python"; 10001 homepage = http://pyasn1.sourceforge.net/; 10002 license = "mBSD"; 10003 platforms = platforms.unix; # arbitrary choice 10004 }; 10005 }); 10006 10007 pyasn1-modules = buildPythonPackage rec { 10008 name = "pyasn1-modules-${version}"; 10009 version = "0.0.5"; 10010 disabled = isPyPy; 10011 10012 src = pkgs.fetchurl { 10013 url = "https://pypi.python.org/packages/source/p/pyasn1-modules/${name}.tar.gz"; 10014 sha256 = "0hcr6klrzmw4d9j9s5wrhqva5014735pg4zk3rppac4fs87g0rdy"; 10015 }; 10016 10017 propagatedBuildInputs = with self; [ pyasn1 ]; 10018 10019 meta = { 10020 description = "A collection of ASN.1-based protocols modules"; 10021 homepage = https://pypi.python.org/pypi/pyasn1-modules; 10022 license = licenses.bsd3; 10023 platforms = platforms.unix; # same as pyasn1 10024 }; 10025 }; 10026 10027 pyaudio = pkgs.stdenv.mkDerivation rec { 10028 name = "python-pyaudio-${version}"; 10029 version = "0.2.4"; 10030 10031 src = pkgs.fetchurl { 10032 url = "http://people.csail.mit.edu/hubert/pyaudio/packages/pyaudio-${version}.tar.gz"; 10033 md5 = "623809778f3d70254a25492bae63b575"; 10034 }; 10035 10036 buildInputs = with self; [ python pkgs.portaudio ]; 10037 10038 buildPhase = if stdenv.isDarwin then '' 10039 PORTAUDIO_PATH="${pkgs.portaudio}" ${python}/bin/${python.executable} setup.py build --static-link 10040 '' else '' 10041 ${python}/bin/${python.executable} setup.py build 10042 ''; 10043 10044 installPhase = "${python}/bin/${python.executable} setup.py install --prefix=$out"; 10045 10046 meta = { 10047 description = "Python bindings for PortAudio"; 10048 homepage = "http://people.csail.mit.edu/hubert/pyaudio/"; 10049 license = licenses.mit; 10050 }; 10051 }; 10052 10053 vobject = buildPythonPackage rec { 10054 version = "0.8.1c"; 10055 name = "vobject-${version}"; 10056 10057 src = pkgs.fetchurl { 10058 url = "https://pypi.python.org/packages/source/v/vobject/vobject-${version}.tar.gz"; 10059 sha256 = "1xanqn7rn96841s3lim5lnx5743gc4kyfg4ggj1ys5r0gw8i6har"; 10060 }; 10061 10062 disabled = isPy3k || isPyPy; 10063 10064 propagatedBuildInputs = with self; [ dateutil ]; 10065 10066 meta = { 10067 description = "Module for reading vCard and vCalendar files"; 10068 homepage = http://vobject.skyhouseconsulting.com/; 10069 license = licenses.asl20; 10070 maintainers = with maintainers; [ DamienCassou ]; 10071 }; 10072 }; 10073 10074 pycarddav = buildPythonPackage rec { 10075 version = "0.7.0"; 10076 name = "pycarddav-${version}"; 10077 10078 src = pkgs.fetchurl { 10079 url = "https://pypi.python.org/packages/source/p/pyCardDAV/pyCardDAV-${version}.tar.gz"; 10080 sha256 = "0avkrcpisfvhz103v7vmq2jd83hvmpqrb4mlbx6ikkk1wcvclsx8"; 10081 }; 10082 10083 disabled = isPy3k || isPyPy; 10084 10085 propagatedBuildInputs = with self; [ sqlite3 vobject lxml requests urwid pyxdg ]; 10086 10087 meta = { 10088 description = "Command-line interface carddav client"; 10089 homepage = http://lostpackets.de/pycarddav; 10090 license = licenses.mit; 10091 maintainers = with maintainers; [ DamienCassou ]; 10092 }; 10093 }; 10094 10095 pycosat = pythonPackages.buildPythonPackage rec { 10096 name = "pycosat-0.6.0"; 10097 10098 propagatedBuildInputs = with pythonPackages; [ ]; 10099 10100 src = pkgs.fetchurl { 10101 url = "https://pypi.python.org/packages/source/p/pycosat/${name}.tar.gz"; 10102 sha256 = "02sdn2998jlrm35smn1530hix3kzwyc1jv49cjdcnvfvrqqi3rww"; 10103 }; 10104 10105 meta = { 10106 description = "Python bindings for PicoSAT"; 10107 longDescription = ''PicoSAT is a popular SAT solver written by Armin 10108 Biere in pure C. This package provides efficient Python bindings 10109 to picosat on the C level, i.e. when importing pycosat, the 10110 picosat solver becomes part of the Python process itself. For 10111 ease of deployment, the picosat source (namely picosat.c and 10112 picosat.h) is included in this project.''; 10113 homepage = https://github.com/ContinuumIO/pycosat; 10114 license = licenses.mit; 10115 }; 10116 }; 10117 10118 pygit2 = buildPythonPackage rec { 10119 name = "pygit2-0.21.2"; 10120 10121 src = pkgs.fetchurl { 10122 url = "https://pypi.python.org/packages/source/p/pygit2/${name}.tar.gz"; 10123 sha256 = "0lya4v91d4y5fwrb55n8m8avgmz0l81jml2spvx6r7j1czcx3zic"; 10124 }; 10125 10126 preConfigure = ( if stdenv.isDarwin then '' 10127 export DYLD_LIBRARY_PATH="${pkgs.libgit2}/lib" 10128 '' else "" ); 10129 10130 propagatedBuildInputs = with self; [ pkgs.libgit2 ] ++ optionals (!isPyPy) [ cffi ]; 10131 10132 preCheck = '' 10133 # disable tests that require networking 10134 rm test/test_repository.py 10135 rm test/test_credentials.py 10136 ''; 10137 10138 meta = { 10139 homepage = https://pypi.python.org/pypi/pygit2; 10140 description = "A set of Python bindings to the libgit2 shared library"; 10141 license = licenses.gpl2; 10142 platforms = with platforms; all; 10143 }; 10144 }; 10145 10146 10147 Babel = buildPythonPackage (rec { 10148 name = "Babel-1.3"; 10149 10150 src = pkgs.fetchurl { 10151 url = "http://pypi.python.org/packages/source/B/Babel/${name}.tar.gz"; 10152 sha256 = "0bnin777lc53nxd1hp3apq410jj5wx92n08h7h4izpl4f4sx00lz"; 10153 }; 10154 10155 propagatedBuildInputs = with self; [ pytz ]; 10156 10157 meta = { 10158 homepage = http://babel.edgewall.org; 10159 description = "A collection of tools for internationalizing Python applications"; 10160 license = "BSD"; 10161 maintainers = with maintainers; [ garbas ]; 10162 platforms = platforms.linux; 10163 }; 10164 }); 10165 10166 pybfd = buildPythonPackage rec { 10167 name = "pybfd-0.1.1"; 10168 10169 disabled = isPyPy || isPy3k; 10170 10171 src = pkgs.fetchurl { 10172 url = "https://pypi.python.org/packages/source/p/pybfd/${name}.tar.gz"; 10173 md5 = "79dd6e12c90ad0515d0ad7fb1bd2f571"; 10174 }; 10175 10176 preConfigure = '' 10177 substituteInPlace setup.py \ 10178 --replace '"/usr/include"' '"${pkgs.gdb}/include"' \ 10179 --replace '"/usr/lib"' '"${pkgs.binutils}/lib"' 10180 ''; 10181 10182 # --old-and-unmanageable not supported by this setup.py 10183 installPhase = '' 10184 mkdir -p "$out/lib/${python.libPrefix}/site-packages" 10185 10186 export PYTHONPATH="$out/lib/${python.libPrefix}/site-packages:$PYTHONPATH" 10187 10188 ${python}/bin/${python.executable} setup.py install \ 10189 --install-lib=$out/lib/${python.libPrefix}/site-packages \ 10190 --prefix="$out" 10191 ''; 10192 10193 meta = { 10194 homepage = https://github.com/Groundworkstech/pybfd; 10195 description = "A Python interface to the GNU Binary File Descriptor (BFD) library"; 10196 license = licenses.gpl2; 10197 platforms = platforms.linux; 10198 }; 10199 }; 10200 10201 pyblock = stdenv.mkDerivation rec { 10202 name = "pyblock-${version}"; 10203 version = "0.53"; 10204 10205 src = pkgs.fetchurl rec { 10206 url = "http://pkgs.fedoraproject.org/repo/pkgs/python-pyblock/" 10207 + "${name}.tar.bz2/${md5}/${name}.tar.bz2"; 10208 md5 = "f6d33a8362dee358517d0a9e2ebdd044"; 10209 }; 10210 10211 postPatch = '' 10212 sed -i -e 's|/usr/include/python|${python}/include/python|' \ 10213 -e 's/-Werror *//' -e 's|/usr/|'"$out"'/|' Makefile 10214 ''; 10215 10216 buildInputs = with self; [ python pkgs.lvm2 pkgs.dmraid ]; 10217 10218 makeFlags = [ 10219 "USESELINUX=0" 10220 "SITELIB=$(out)/lib/${python.libPrefix}/site-packages" 10221 ]; 10222 10223 meta = { 10224 description = "Interface for working with block devices"; 10225 license = licenses.gpl2Plus; 10226 }; 10227 }; 10228 10229 pybcrypt = buildPythonPackage rec { 10230 name = "pybcrypt"; 10231 version = "0.4"; 10232 10233 src = pkgs.fetchurl { 10234 url = "https://pypi.python.org/packages/source/p/py-bcrypt/py-bcrypt-${version}.tar.gz"; 10235 md5 = "dd8b367d6b716a2ea2e72392525f4e36"; 10236 }; 10237 10238 meta = { 10239 description = "bcrypt password hashing and key derivation"; 10240 homepage = https://code.google.com/p/py-bcrypt2; 10241 license = "BSD"; 10242 }; 10243 }; 10244 10245 pyblosxom = buildPythonPackage rec { 10246 name = "pyblosxom-${version}"; 10247 disabled = isPy3k; 10248 version = "1.5.3"; 10249 # FAIL:test_generate_entry and test_time 10250 # both tests fail due to time issue that doesn't seem to matter in practice 10251 doCheck = false; 10252 src = pkgs.fetchurl { 10253 url = "https://github.com/pyblosxom/pyblosxom/archive/v${version}.tar.gz"; 10254 sha256 = "0de9a7418f4e6d1c45acecf1e77f61c8f96f036ce034493ac67124626fd0d885"; 10255 }; 10256 10257 propagatedBuildInputs = with self; [ pygments markdown ]; 10258 10259 meta = { 10260 homepage = "http://pyblosxom.github.io"; 10261 description = "File-based blogging engine"; 10262 license = licenses.mit; 10263 }; 10264 }; 10265 10266 10267 pycapnp = buildPythonPackage rec { 10268 name = "pycapnp-0.5.1"; 10269 disabled = isPyPy || isPy3k; 10270 10271 src = pkgs.fetchurl { 10272 url = "https://pypi.python.org/packages/source/p/pycapnp/${name}.tar.gz"; 10273 sha256 = "1kp97il34419gcrhn866n6a10lvh8qr13bnllnnh9473n4cq0cvk"; 10274 }; 10275 10276 buildInputs = with pkgs; [ capnproto self.cython ]; 10277 10278 # import setuptools as soon as possible, to minimize monkeypatching mayhem. 10279 postConfigure = '' 10280 sed -i '3iimport setuptools' setup.py 10281 ''; 10282 10283 meta = { 10284 maintainers = with maintainers; [ cstrahan ]; 10285 license = licenses.bsd2; 10286 platforms = platforms.all; 10287 homepage = "http://jparyani.github.io/pycapnp/index.html"; 10288 }; 10289 }; 10290 10291 10292 pycdio = buildPythonPackage rec { 10293 name = "pycdio-0.20"; 10294 disabled = !isPy27; 10295 10296 src = pkgs.fetchurl { 10297 url = "https://pypi.python.org/packages/source/p/pycdio/${name}.tar.gz"; 10298 sha256 = "1mrh233pj584gf7la64d4xlmvdnfl4jwpxs95lnd3i4zd5drid14"; 10299 }; 10300 10301 preConfigure = '' 10302 patchShebangs . 10303 ''; 10304 10305 buildInputs = [ 10306 self.setuptools self.nose pkgs.pkgconfig pkgs.swig pkgs.libcdio 10307 ]; 10308 10309 patches = [ ../development/python-modules/pycdio/add-cdtext-toc.patch ]; 10310 10311 # Run tests using nosetests but first need to install the binaries 10312 # to the root source directory where they can be found. 10313 checkPhase = '' 10314 ./setup.py install_lib -d . 10315 nosetests 10316 ''; 10317 10318 meta = { 10319 homepage = http://www.gnu.org/software/libcdio/; 10320 description = "Wrapper around libcdio (CD Input and Control library)"; 10321 maintainers = with maintainers; [ rycee ]; 10322 license = licenses.gpl3Plus; 10323 }; 10324 10325 }; 10326 10327 10328 pycryptopp = buildPythonPackage (rec { 10329 name = "pycryptopp-0.6.0.1206569328141510525648634803928199668821045408958"; 10330 disabled = isPy3k || isPyPy; # see https://bitbucket.org/pypy/pypy/issue/1190/ 10331 10332 src = pkgs.fetchurl { 10333 url = "http://pypi.python.org/packages/source/p/pycryptopp/${name}.tar.gz"; 10334 sha256 = "0n90h1yg7bfvlbhnc54xb6dbqm286ykaksyg04kxlhyjgf8mhq8i"; 10335 }; 10336 10337 # Prefer crypto++ library from the Nix store over the one that's included 10338 # in the pycryptopp distribution. 10339 preConfigure = "export PYCRYPTOPP_DISABLE_EMBEDDED_CRYPTOPP=1"; 10340 10341 buildInputs = with self; [ setuptoolsDarcs darcsver pkgs.cryptopp ]; 10342 10343 meta = { 10344 homepage = http://allmydata.org/trac/pycryptopp; 10345 10346 description = "Python wrappers for the Crypto++ library"; 10347 10348 license = licenses.gpl2Plus; 10349 10350 maintainers = [ ]; 10351 platforms = platforms.linux; 10352 }; 10353 }); 10354 10355 10356 pycurl = buildPythonPackage (rec { 10357 name = "pycurl-7.19.5"; 10358 disabled = isPyPy; # https://github.com/pycurl/pycurl/issues/208 10359 10360 src = pkgs.fetchurl { 10361 url = "http://pycurl.sourceforge.net/download/${name}.tar.gz"; 10362 sha256 = "0hqsap82zklhi5fxhc69kxrwzb0g9566f7sdpz7f9gyxkmyam839"; 10363 }; 10364 10365 propagatedBuildInputs = with self; [ pkgs.curl pkgs.openssl ]; 10366 10367 # error: invalid command 'test' 10368 doCheck = false; 10369 10370 preConfigure = '' 10371 substituteInPlace setup.py --replace '--static-libs' '--libs' 10372 export PYCURL_SSL_LIBRARY=openssl 10373 ''; 10374 10375 meta = { 10376 homepage = http://pycurl.sourceforge.net/; 10377 description = "Python wrapper for libcurl"; 10378 platforms = platforms.linux; 10379 }; 10380 }); 10381 10382 10383 pycurl2 = buildPythonPackage (rec { 10384 name = "pycurl2-7.20.0"; 10385 disabled = isPy3k; 10386 10387 src = pkgs.fetchgit { 10388 url = "https://github.com/Lispython/pycurl.git"; 10389 rev = "0f00109950b883d680bd85dc6e8a9c731a7d0d13"; 10390 sha256 = "0mhg7f9y5zl0m2xgz3rf1yqjd6l8n0qhfk7bpf36r44jfnhj75ld"; 10391 }; 10392 10393 # error: (6, "Couldn't resolve host 'h.wrttn.me'") 10394 doCheck = false; 10395 10396 buildInputs = with self; [ pkgs.curl simplejson unittest2 nose ]; 10397 10398 meta = { 10399 homepage = https://pypi.python.org/pypi/pycurl2; 10400 description = "A fork from original PycURL library that no maintained from 7.19.0"; 10401 platforms = platforms.linux; 10402 }; 10403 }); 10404 10405 10406 pydot = buildPythonPackage rec { 10407 name = "pydot-1.0.2"; 10408 disabled = isPy3k; 10409 10410 src = pkgs.fetchurl { 10411 url = "http://pypi.python.org/packages/source/p/pydot/${name}.tar.gz"; 10412 md5 = "cd739651ae5e1063a89f7efd5a9ec72b"; 10413 }; 10414 propagatedBuildInputs = with self; [pyparsing pkgs.graphviz]; 10415 meta = { 10416 homepage = http://code.google.com/p/pydot/; 10417 description = "Allows to easily create both directed and non directed graphs from Python"; 10418 }; 10419 }; 10420 10421 10422 pyenchant = pythonPackages.buildPythonPackage rec { 10423 name = "pyenchant-1.6.6"; 10424 10425 src = pkgs.fetchurl { 10426 url = "https://pypi.python.org/packages/source/p/pyenchant/pyenchant-1.6.6.tar.gz"; 10427 md5 = "9f5acfd87d04432bf8df5f9710a17358"; 10428 }; 10429 10430 propagatedBuildInputs = with pythonPackages; [ pkgs.enchant ]; 10431 10432 patchPhase = let 10433 path_hack_script = "s|LoadLibrary(e_path)|LoadLibrary('${pkgs.enchant}/lib/' + e_path)|"; 10434 in '' 10435 sed -i "${path_hack_script}" enchant/_enchant.py 10436 ''; 10437 10438 # dictionaries needed for tests 10439 doCheck = false; 10440 10441 meta = { 10442 description = "pyenchant: Python bindings for the Enchant spellchecker"; 10443 homepage = https://pythonhosted.org/pyenchant/; 10444 license = licenses.lgpl21; 10445 }; 10446 }; 10447 10448 10449 pyev = buildPythonPackage rec { 10450 name = "pyev-0.9.0"; 10451 10452 src = pkgs.fetchurl { 10453 url = "https://pypi.python.org/packages/source/p/pyev/${name}.tar.gz"; 10454 sha256 = "0rf603lc0s6zpa1nb25vhd8g4y337wg2wyz56i0agsdh7jchl0sx"; 10455 }; 10456 10457 buildInputs = [ pkgs.libev ]; 10458 10459 postPatch = '' 10460 libev_so=${pkgs.libev}/lib/libev.so.4 10461 test -f "$libev_so" || { echo "ERROR: File $libev_so does not exist, please fix nix expression for pyev"; exit 1; } 10462 sed -i -e "s|libev_dll_name = find_library(\"ev\")|libev_dll_name = \"$libev_so\"|" setup.py 10463 ''; 10464 10465 meta = { 10466 description = "Python bindings for libev"; 10467 homepage = https://code.google.com/p/pyev/; 10468 license = licenses.gpl3; 10469 maintainers = [ maintainers.bjornfor ]; 10470 }; 10471 }; 10472 10473 10474 pyfeed = buildPythonPackage rec { 10475 url = "http://www.blarg.net/%7Esteveha/pyfeed-0.7.4.tar.gz"; 10476 name = stdenv.lib.nameFromURL url ".tar"; 10477 src = pkgs.fetchurl { 10478 inherit url; 10479 sha256 = "1h4msq573m7wm46h3cqlx4rsn99f0l11rhdqgf50lv17j8a8vvy1"; 10480 }; 10481 propagatedBuildInputs = with self; [xe]; 10482 10483 # error: invalid command 'test' 10484 doCheck = false; 10485 10486 meta = { 10487 homepage = "http://home.blarg.net/~steveha/pyfeed.html"; 10488 description = "Tools for syndication feeds"; 10489 }; 10490 }; 10491 10492 pyfiglet = buildPythonPackage rec { 10493 name = "pyfiglet-${version}"; 10494 version = "0.7.2"; 10495 10496 src = pkgs.fetchurl { 10497 url = "https://pypi.python.org/packages/source/p/pyfiglet/${name}.tar.gz"; 10498 sha256 = "0v8a18wvaqnb1jksyv5dc5n6zj0vrkyhz0ivmm8gfwpa0ky6n68y"; 10499 }; 10500 10501 doCheck = false; 10502 10503 meta = { 10504 description = "FIGlet in pure Python"; 10505 license = licenses.gpl2Plus; 10506 maintainers = with maintainers; [ thoughtpolice ]; 10507 }; 10508 }; 10509 10510 pyflakes = buildPythonPackage rec { 10511 name = "pyflakes-0.8.1"; 10512 10513 src = pkgs.fetchurl { 10514 url = "http://pypi.python.org/packages/source/p/pyflakes/${name}.tar.gz"; 10515 md5 = "905fe91ad14b912807e8fdc2ac2e2c23"; 10516 }; 10517 10518 buildInputs = with self; [ unittest2 ]; 10519 10520 doCheck = !isPyPy; 10521 10522 meta = { 10523 homepage = https://launchpad.net/pyflakes; 10524 description = "A simple program which checks Python source files for errors"; 10525 license = licenses.mit; 10526 maintainers = with maintainers; [ garbas ]; 10527 }; 10528 }; 10529 10530 10531 pygeoip = pythonPackages.buildPythonPackage rec { 10532 name = "pygeoip-0.3.2"; 10533 10534 src = pkgs.fetchurl { 10535 url = "https://pypi.python.org/packages/source/p/pygeoip/pygeoip-0.3.2.tar.gz"; 10536 md5 = "861664f8be3bed44820356539f2ea5b6"; 10537 }; 10538 10539 propagatedBuildInputs = with pythonPackages; [ ]; 10540 10541 meta = { 10542 description = "Pure Python GeoIP API"; 10543 homepage = https://github.com/appliedsec/pygeoip; 10544 license = licenses.lgpl3Plus; 10545 }; 10546 }; 10547 10548 pyglet = buildPythonPackage rec { 10549 name = "pyglet-1.1.4"; 10550 10551 src = pkgs.fetchurl { 10552 url = "http://pyglet.googlecode.com/files/${name}.tar.gz"; 10553 sha256 = "048n20d606i3njnzhajadnznnfm8pwchs43hxs50da9p79g2m6qx"; 10554 }; 10555 10556 patchPhase = let 10557 libs = [ pkgs.mesa pkgs.xlibs.libX11 pkgs.freetype pkgs.fontconfig ]; 10558 paths = concatStringsSep "," (map (l: "\"${l}/lib\"") libs); 10559 in "sed -i -e 's|directories\.extend.*lib[^]]*|&,${paths}|' pyglet/lib.py"; 10560 10561 doCheck = false; 10562 10563 meta = { 10564 homepage = "http://www.pyglet.org/"; 10565 description = "A cross-platform windowing and multimedia library"; 10566 license = licenses.bsd3; 10567 platforms = platforms.mesaPlatforms; 10568 }; 10569 }; 10570 10571 pygments = buildPythonPackage rec { 10572 version = "2.0.2"; 10573 name = "Pygments-${version}"; 10574 10575 src = pkgs.fetchurl { 10576 url = "http://pypi.python.org/packages/source/P/Pygments/${name}.tar.gz"; 10577 sha256 = "0lagrwifsgn0s8bzqahpr87p7gd38xja8f06akscinp6hj89283k"; 10578 }; 10579 10580 meta = { 10581 homepage = http://pygments.org/; 10582 description = "A generic syntax highlighter"; 10583 license = licenses.bsd2; 10584 maintainers = with maintainers; [ nckx garbas ]; 10585 }; 10586 }; 10587 10588 10589 pygpgme = buildPythonPackage rec { 10590 version = "0.3"; 10591 name = "pygpgme-${version}"; 10592 disabled = isPyPy; 10593 10594 src = pkgs.fetchurl { 10595 url = "https://launchpad.net/pygpgme/trunk/${version}/+download/${name}.tar.gz"; 10596 sha256 = "5fd887c407015296a8fd3f4b867fe0fcca3179de97ccde90449853a3dfb802e1"; 10597 }; 10598 10599 # error: invalid command 'test' 10600 doCheck = false; 10601 10602 propagatedBuildInputs = with self; [ pkgs.gpgme ]; 10603 10604 meta = { 10605 homepage = "https://launchpad.net/pygpgme"; 10606 description = "A Python wrapper for the GPGME library"; 10607 license = licenses.lgpl21; 10608 maintainers = with maintainers; [ garbas ]; 10609 }; 10610 }; 10611 10612 mmpython = buildPythonPackage rec { 10613 version = "0.4.10"; 10614 name = "mmpython-${version}"; 10615 10616 src = pkgs.fetchurl { 10617 url = http://sourceforge.net/projects/mmpython/files/latest/download; 10618 sha256 = "1b7qfad3shgakj37gcj1b9h78j1hxlz6wp9k7h76pb4sq4bfyihy"; 10619 name = "${name}.tar.gz"; 10620 }; 10621 10622 disabled = isPyPy || isPy3k; 10623 10624 meta = { 10625 description = "Media Meta Data retrieval framework"; 10626 homepage = http://sourceforge.net/projects/mmpython/; 10627 license = licenses.gpl2; 10628 maintainers = with maintainers; [ DamienCassou ]; 10629 }; 10630 }; 10631 10632 kaa-base = buildPythonPackage rec { 10633 version = "0.99.2dev-384-2b73caca"; 10634 name = "kaa-base-${version}"; 10635 10636 src = pkgs.fetchurl { 10637 url = "https://pypi.python.org/packages/source/k/kaa-base/kaa-base-0.99.2dev-384-2b73caca.tar.gz"; 10638 sha256 = "0k3zzz84wzz9q1fl3vvqr2ys96z9pcf4viq9q6s2a63zaysmcfd2"; 10639 }; 10640 10641 doCheck = false; 10642 10643 disabled = isPyPy || isPy3k; 10644 10645 # Same as in buildPythonPackage except that it does not pass --old-and-unmanageable 10646 installPhase = '' 10647 runHook preInstall 10648 10649 mkdir -p "$out/lib/${python.libPrefix}/site-packages" 10650 10651 export PYTHONPATH="$out/lib/${python.libPrefix}/site-packages:$PYTHONPATH" 10652 10653 ${python}/bin/${python.executable} setup.py install \ 10654 --install-lib=$out/lib/${python.libPrefix}/site-packages \ 10655 --prefix="$out" 10656 10657 eapth="$out/lib/${python.libPrefix}"/site-packages/easy-install.pth 10658 if [ -e "$eapth" ]; then 10659 mv "$eapth" $(dirname "$eapth")/${name}.pth 10660 fi 10661 10662 rm -f "$out/lib/${python.libPrefix}"/site-packages/site.py* 10663 10664 runHook postInstall 10665 ''; 10666 10667 meta = { 10668 description = "Generic application framework, providing the foundation for other modules"; 10669 homepage = https://github.com/freevo/kaa-base; 10670 license = licenses.lgpl21; 10671 maintainers = with maintainers; [ DamienCassou ]; 10672 }; 10673 }; 10674 10675 kaa-metadata = buildPythonPackage rec { 10676 version = "0.7.8dev-r4569-20111003"; 10677 name = "kaa-metadata-${version}"; 10678 10679 doCheck = false; 10680 10681 buildInputs = [ pkgs.libdvdread ]; 10682 10683 disabled = isPyPy || isPy3k; 10684 10685 # Same as in buildPythonPackage except that it does not pass --old-and-unmanageable 10686 installPhase = '' 10687 runHook preInstall 10688 10689 mkdir -p "$out/lib/${python.libPrefix}/site-packages" 10690 10691 export PYTHONPATH="$out/lib/${python.libPrefix}/site-packages:$PYTHONPATH" 10692 10693 ${python}/bin/${python.executable} setup.py install \ 10694 --install-lib=$out/lib/${python.libPrefix}/site-packages \ 10695 --prefix="$out" 10696 10697 eapth="$out/lib/${python.libPrefix}"/site-packages/easy-install.pth 10698 if [ -e "$eapth" ]; then 10699 mv "$eapth" $(dirname "$eapth")/${name}.pth 10700 fi 10701 10702 rm -f "$out/lib/${python.libPrefix}"/site-packages/site.py* 10703 10704 runHook postInstall 10705 ''; 10706 10707 src = pkgs.fetchurl { 10708 url = "https://pypi.python.org/packages/source/k/kaa-metadata/kaa-metadata-0.7.8dev-r4569-20111003.tar.gz"; 10709 sha256 = "0bkbzfgxvmby8lvzkqjp86anxvv3vjd9nksv2g4l7shsk1n7y27a"; 10710 }; 10711 10712 propagatedBuildInputs = with self; [ kaa-base ]; 10713 10714 meta = { 10715 description = "Python library for parsing media metadata, which can extract metadata (e.g., such as id3 tags) from a wide range of media files"; 10716 homepage = https://github.com/freevo/kaa-metadata; 10717 license = licenses.gpl2; 10718 maintainers = with maintainers; [ DamienCassou ]; 10719 }; 10720 }; 10721 10722 pyinotify = buildPythonPackage rec { 10723 name = "pyinotify"; 10724 version = "0.9.5"; 10725 10726 src = pkgs.fetchurl { 10727 url = "https://pypi.python.org/packages/source/p/${name}/${name}-${version}.tar.gz"; 10728 sha256 = "06yblnif9v05xwsbs089n0bj60ndb4lzkv1i15fprqnf6sgjmig7"; 10729 }; 10730 10731 meta = { 10732 homepage = https://github.com/seb-m/pyinotify/wiki; 10733 description = "Monitor filesystems events on Linux platforms with inotify"; 10734 license = licenses.mit; 10735 platforms = platforms.linux; 10736 }; 10737 }; 10738 10739 pyjwt = buildPythonPackage rec { 10740 version = "0.3.2"; 10741 name = "pyjwt-${version}"; 10742 10743 src = pkgs.fetchurl { 10744 url = "http://github.com/progrium/pyjwt/archive/${version}.tar.gz"; 10745 sha256 = "118rzhpyvx1h4hslms4fdizyv6mnyd4g34fv089lvs116pj08k9c"; 10746 }; 10747 10748 propagatedBuildInputs = with self; [ pycrypto ecdsa ]; 10749 10750 meta = { 10751 description = "JSON Web Token implementation in Python"; 10752 longDescription = "A Python implementation of JSON Web Token draft 01"; 10753 homepage = https://github.com/progrium/pyjwt; 10754 downloadPage = https://github.com/progrium/pyjwt/releases; 10755 license = licenses.mit; 10756 maintainers = with maintainers; [ prikhi ]; 10757 platforms = platforms.linux; 10758 }; 10759 }; 10760 10761 pykickstart = buildPythonPackage rec { 10762 name = "pykickstart-${version}"; 10763 version = "1.99.39"; 10764 10765 src = pkgs.fetchurl rec { 10766 url = "http://pkgs.fedoraproject.org/repo/pkgs/pykickstart/" 10767 + "${name}.tar.gz/${md5}/${name}.tar.gz"; 10768 md5 = "d249f60aa89b1b4facd63f776925116d"; 10769 }; 10770 10771 postPatch = '' 10772 sed -i -e "s/for tst in tstList/for tst in sorted(tstList, \ 10773 key=lambda m: m.__name__)/" tests/baseclass.py 10774 ''; 10775 10776 propagatedBuildInputs = with self; [ urlgrabber ]; 10777 10778 checkPhase = '' 10779 export PYTHONPATH="$PYTHONPATH:." 10780 ${python}/bin/${python.executable} tests/baseclass.py -vv 10781 ''; 10782 10783 meta = { 10784 homepage = "http://fedoraproject.org/wiki/Pykickstart"; 10785 description = "Read and write Fedora kickstart files"; 10786 license = licenses.gpl2Plus; 10787 }; 10788 }; 10789 10790 10791 pyodbc = buildPythonPackage rec { 10792 name = "pyodbc-3.0.7"; 10793 disabled = isPyPy; # use pypypdbc instead 10794 10795 src = pkgs.fetchurl { 10796 url = "https://pyodbc.googlecode.com/files/${name}.zip"; 10797 sha256 = "0ldkm8xws91j7zbvpqb413hvdz8r66bslr451q3qc0xi8cnmydfq"; 10798 }; 10799 10800 buildInputs = with self; [ pkgs.libiodbc ]; 10801 10802 meta = { 10803 description = "Python ODBC module to connect to almost any database"; 10804 homepage = https://code.google.com/p/pyodbc/; 10805 license = licenses.mit; 10806 platforms = platforms.linux; 10807 maintainers = with maintainers; [ bjornfor ]; 10808 }; 10809 }; 10810 10811 10812 pyparsing = buildPythonPackage rec { 10813 name = "pyparsing-2.0.1"; 10814 10815 src = pkgs.fetchurl { 10816 url = "http://pypi.python.org/packages/source/p/pyparsing/${name}.tar.gz"; 10817 sha256 = "1r742rjbagf2i166k2w0r192adfw7l9lnsqz7wh4mflf00zws1q0"; 10818 }; 10819 10820 # error: invalid command 'test' 10821 doCheck = false; 10822 10823 meta = { 10824 homepage = http://pyparsing.wikispaces.com/; 10825 description = "An alternative approach to creating and executing simple grammars, vs. the traditional lex/yacc approach, or the use of regular expressions"; 10826 }; 10827 }; 10828 10829 pyparsing1 = buildPythonPackage rec { 10830 name = "pyparsing-1.5.7"; 10831 disabled = isPy3k; 10832 10833 src = pkgs.fetchurl { 10834 url = "http://pypi.python.org/packages/source/p/pyparsing/${name}.tar.gz"; 10835 md5 = "9be0fcdcc595199c646ab317c1d9a709"; 10836 }; 10837 10838 meta = { 10839 homepage = http://pyparsing.wikispaces.com/; 10840 description = "An alternative approach to creating and executing simple grammars, vs. the traditional lex/yacc approach, or the use of regular expressions"; 10841 }; 10842 }; 10843 10844 10845 pyparted = buildPythonPackage rec { 10846 name = "pyparted-${version}"; 10847 version = "3.10"; 10848 disabled = isPyPy; 10849 10850 src = pkgs.fetchurl { 10851 url = "https://fedorahosted.org/releases/p/y/pyparted/${name}.tar.gz"; 10852 sha256 = "17wq4invmv1nfazaksf59ymqyvgv3i8h4q03ry2az0s9lldyg3dv"; 10853 }; 10854 10855 patches = singleton (pkgs.fetchurl { 10856 url = "https://www.redhat.com/archives/pyparted-devel/" 10857 + "2014-April/msg00000.html"; 10858 postFetch = '' 10859 sed -i -ne '/<!--X-Body-of-Message-->/,/<!--X-Body-of-Message-End-->/ { 10860 s/^<[^>]*>//; /^$/!p 10861 }' "$downloadedFile" 10862 ''; 10863 sha256 = "1lakhz3nvx0qacn90bj1nq13zqxphiw4d9dsc44gwa8nj24j2zws"; 10864 }); 10865 10866 postPatch = '' 10867 sed -i -e 's|/sbin/mke2fs|${pkgs.e2fsprogs}&|' tests/baseclass.py 10868 sed -i -e ' 10869 s|e\.path\.startswith("/tmp/temp-device-")|"temp-device-" in e.path| 10870 ' tests/test__ped_ped.py 10871 '' + optionalString stdenv.isi686 '' 10872 # remove some integers in this test case which overflow on 32bit systems 10873 sed -i -r -e '/class *UnitGetSizeTestCase/,/^$/{/[0-9]{11}/d}' \ 10874 tests/test__ped_ped.py 10875 ''; 10876 10877 preConfigure = '' 10878 PATH="${pkgs.parted}/sbin:$PATH" 10879 ''; 10880 10881 buildInputs = with self; [ pkgs.pkgconfig ]; 10882 10883 propagatedBuildInputs = with self; [ pkgs.parted ]; 10884 10885 checkPhase = '' 10886 patchShebangs Makefile 10887 make test PYTHON=${python.executable} 10888 ''; 10889 10890 meta = { 10891 homepage = "https://fedorahosted.org/pyparted/"; 10892 description = "Python interface for libparted"; 10893 license = licenses.gpl2Plus; 10894 platforms = platforms.linux; 10895 }; 10896 }; 10897 10898 10899 pyptlib = buildPythonPackage (rec { 10900 name = "pyptlib-${version}"; 10901 disabled = isPyPy || isPy3k; 10902 version = "0.0.6"; 10903 10904 doCheck = false; # No such file or directory errors on 32bit 10905 10906 src = pkgs.fetchurl { 10907 url = "https://pypi.python.org/packages/source/p/pyptlib/pyptlib-${version}.tar.gz"; 10908 sha256 = "01y6vbwncqb0hxlnin6whd9wrrm5my4qzjhk76fnix78v7ip515r"; 10909 }; 10910 meta = { 10911 description = "A python implementation of the Pluggable Transports for Circumvention specification for Tor"; 10912 license = licenses.bsd2; 10913 }; 10914 }); 10915 10916 pyqtgraph = buildPythonPackage rec { 10917 name = "pyqtgraph-${version}"; 10918 version = "0.9.10"; 10919 10920 doCheck = false; # "PyQtGraph requires either PyQt4 or PySide; neither package could be imported." 10921 10922 src = pkgs.fetchurl { 10923 url = "https://pypi.python.org/packages/source/p/pyqtgraph/${name}.tar.gz"; 10924 sha256 = "188pcxf3sxxjf0aipjn820lx2rf9f42zzp0sibmcl90955a3ipf1"; 10925 }; 10926 10927 propagatedBuildInputs = with self; [ scipy numpy pyqt4 pyopengl ]; 10928 10929 meta = { 10930 description = "Scientific Graphics and GUI Library for Python"; 10931 homepage = http://www.pyqtgraph.org/; 10932 license = licenses.mit; 10933 platforms = platforms.unix; 10934 maintainers = with maintainers; [ koral ]; 10935 }; 10936 }; 10937 10938 pystache = buildPythonPackage rec { 10939 name = "pystache-${version}"; 10940 version = "0.5.4"; 10941 10942 src = pkgs.fetchurl { 10943 url = "https://pypi.python.org/packages/source/p/pystache/${name}.tar.gz"; 10944 sha256 = "f7bbc265fb957b4d6c7c042b336563179444ab313fb93a719759111eabd3b85a"; 10945 }; 10946 10947 meta = { 10948 description = "A framework-agnostic, logic-free templating system inspired by ctemplate and et"; 10949 homepage = https://github.com/defunkt/pystache; 10950 license = licenses.mit; 10951 }; 10952 }; 10953 10954 PyStemmer = buildPythonPackage (rec { 10955 name = "PyStemmer-1.3.0"; 10956 10957 src = pkgs.fetchurl { 10958 url = "http://pypi.python.org/packages/source/P/PyStemmer/${name}.tar.gz"; 10959 md5 = "46ee623eeeba5a7cc0d95cbfa7e18abd"; 10960 }; 10961 10962 meta = { 10963 description = "Snowball stemming algorithms, for information retrieval"; 10964 homepage = http://snowball.tartarus.org/; 10965 license = licenses.mit; 10966 platforms = platforms.unix; 10967 }; 10968 }); 10969 10970 pyro3 = buildPythonPackage (rec { 10971 name = "Pyro-3.16"; 10972 disabled = isPy3k; 10973 10974 src = pkgs.fetchurl { 10975 url = "http://pypi.python.org/packages/source/P/Pyro/${name}.tar.gz"; 10976 md5 = "59d4d3f4a8786776c9d7f9051b8f1a69"; 10977 }; 10978 10979 meta = { 10980 description = "Distributed object middleware for Python (IPC/RPC)"; 10981 homepage = http://pythonhosted.org/Pyro/; 10982 license = licenses.mit; 10983 platforms = platforms.unix; 10984 maintainers = with maintainers; [ bjornfor ]; 10985 }; 10986 }); 10987 10988 pyrss2gen = buildPythonPackage (rec { 10989 name = "PyRSS2Gen-1.0.0"; 10990 10991 src = pkgs.fetchurl { 10992 url = "http://pypi.python.org/packages/source/P/PyRSS2Gen/${name}.tar.gz"; 10993 md5 = "eae2bc6412c5679c287ecc1a59588f75"; 10994 }; 10995 10996 meta = { 10997 homepage = http://www.dalkescientific.om/Python/PyRSS2Gen.html; 10998 description = "Library for generating RSS 2.0 feeds"; 10999 license = licenses.bsd2; 11000 maintainers = with maintainers; [ iElectric ]; 11001 }; 11002 }); 11003 11004 pysnmp = buildPythonPackage rec { 11005 version = "4.2.5"; 11006 name = "pysnmp-${version}"; 11007 11008 src = pkgs.fetchurl { 11009 url = "https://pypi.python.org/packages/source/p/pysnmp/${name}.tar.gz"; 11010 sha256 = "0zq7yx8732ad9dxpxqgpqyixj7kfwbvf402q7l5njkv0kbcnavn4"; 11011 }; 11012 11013 propagatedBuildInputs = with self; [ pyasn1 pycrypto ]; 11014 11015 meta = { 11016 homepage = http://pysnmp.sf.net; 11017 description = "A pure-Python SNMPv1/v2c/v3 library"; 11018 license = licenses.bsd2; 11019 platforms = platforms.all; 11020 maintainers = with maintainers; [ koral ]; 11021 }; 11022 }; 11023 11024 pysocks = buildPythonPackage rec { 11025 name = "pysocks-${version}"; 11026 version = "1.5.0"; 11027 11028 src = pkgs.fetchurl { 11029 url = "https://pypi.python.org/packages/source/P/PySocks/PySocks-${version}.tar.gz"; 11030 sha256 = "10wq5311qrnk8rvzsh6gwzxi7h51pgvzw3d7s1mb39fsvf0vyjdk"; 11031 }; 11032 11033 doCheck = false; 11034 11035 meta = { 11036 description = "SOCKS module for Python"; 11037 license = licenses.bsd3; 11038 maintainers = with maintainers; [ thoughtpolice ]; 11039 }; 11040 }; 11041 11042 python_fedora = buildPythonPackage (rec { 11043 name = "python-fedora-0.3.33"; 11044 meta.maintainers = with maintainers; [ mornfall ]; 11045 11046 src = pkgs.fetchurl { 11047 url = "https://fedorahosted.org/releases/p/y/python-fedora/${name}.tar.gz"; 11048 sha256 = "1g05bh7d5d0gzrlnhpnca7jpqbgs2rgnlzzbvzzxmdbmlkqi3mws"; 11049 }; 11050 propagatedBuildInputs = with self; [ kitchen requests bunch paver ]; 11051 doCheck = false; 11052 }); 11053 11054 python_simple_hipchat = buildPythonPackage rec { 11055 name = "python-simple-hipchat-${version}"; 11056 version = "0.1"; 11057 11058 src = pkgs.fetchurl { 11059 url = "https://pypi.python.org/packages/source/p/python-simple-hipchat/python-simple-hipchat-${version}.zip"; 11060 md5 = "3806b3729a021511bac065360832f197"; 11061 }; 11062 11063 buildInputs = [ pkgs.unzip ]; 11064 }; 11065 11066 python_keyczar = buildPythonPackage rec { 11067 name = "python-keyczar-0.71c"; 11068 11069 src = pkgs.fetchurl { 11070 url = "https://pypi.python.org/packages/source/p/python-keyczar/${name}.tar.gz"; 11071 sha256 = "18mhiwqq6vp65ykmi8x3i5l3gvrvrrr8z2kv11z1rpixmyr7sw1p"; 11072 }; 11073 11074 meta = { 11075 description = "Toolkit for safe and simple cryptography"; 11076 homepage = https://pypi.python.org/pypi/python-keyczar; 11077 license = licenses.asl20; 11078 maintainers = with maintainers; [ lovek323 ]; 11079 platforms = platforms.unix; 11080 }; 11081 11082 buildInputs = with self; [ pyasn1 pycrypto ]; 11083 }; 11084 11085 pyudev = buildPythonPackage rec { 11086 name = "pyudev-${version}"; 11087 version = "0.16.1"; 11088 11089 src = pkgs.fetchurl { 11090 url = "https://pypi.python.org/packages/source/p/pyudev/${name}.tar.gz"; 11091 md5 = "4034de584b6d9efcbfc590a047c63285"; 11092 }; 11093 11094 postPatch = '' 11095 sed -i -e '/udev_library_name/,/^ *libudev/ { 11096 s|CDLL([^,]*|CDLL("${pkgs.udev}/lib/libudev.so.1"|p; d 11097 }' pyudev/_libudev.py 11098 ''; 11099 11100 propagatedBuildInputs = with self; [ pkgs.udev ]; 11101 11102 meta = { 11103 homepage = "http://pyudev.readthedocs.org/"; 11104 description = "Pure Python libudev binding"; 11105 license = licenses.lgpl21Plus; 11106 platforms = platforms.linux; 11107 }; 11108 }; 11109 11110 11111 pynzb = buildPythonPackage (rec { 11112 name = "pynzb-0.1.0"; 11113 11114 src = pkgs.fetchurl { 11115 url = "http://pypi.python.org/packages/source/p/pynzb/${name}.tar.gz"; 11116 md5 = "63c74a36348ac28aa99732dcb8be8c59"; 11117 }; 11118 11119 meta = { 11120 homepage = http://github.com/ericflo/pynzb; 11121 description = "Unified API for parsing NZB files"; 11122 license = licenses.bsd3; 11123 maintainers = with maintainers; [ iElectric ]; 11124 }; 11125 }); 11126 11127 progressbar = buildPythonPackage (rec { 11128 name = "progressbar-2.2"; 11129 11130 src = pkgs.fetchurl { 11131 url = "http://pypi.python.org/packages/source/p/progressbar/${name}.tar.gz"; 11132 md5 = "8ea4e2c17a8ec9e7d153767c5f2a7b28"; 11133 }; 11134 11135 # invalid command 'test' 11136 doCheck = false; 11137 11138 meta = { 11139 homepage = http://code.google.com/p/python-progressbar/; 11140 description = "Text progressbar library for python"; 11141 license = licenses.lgpl3Plus; 11142 maintainers = with maintainers; [ iElectric ]; 11143 }; 11144 }); 11145 11146 ldap = buildPythonPackage rec { 11147 name = "ldap-2.4.19"; 11148 disabled = isPy3k; 11149 11150 src = pkgs.fetchurl { 11151 url = "http://pypi.python.org/packages/source/p/python-ldap/python-${name}.tar.gz"; 11152 sha256 = "0j5hzaar4d0vhnrlpmkczgwm7ci2wibr99a7zx04xddzrhxdpz82"; 11153 }; 11154 11155 NIX_CFLAGS_COMPILE = "-I${pkgs.cyrus_sasl}/include/sasl"; 11156 propagatedBuildInputs = with self; [pkgs.openldap pkgs.cyrus_sasl pkgs.openssl]; 11157 }; 11158 11159 ptyprocess = buildPythonPackage rec { 11160 name = "ptyprocess-${version}"; 11161 version = "0.5"; 11162 11163 src = pkgs.fetchurl { 11164 url = "https://pypi.python.org/packages/source/p/ptyprocess/${name}.tar.gz"; 11165 sha256= "dcb78fb2197b49ca1b7b2f37b047bc89c0da7a90f90bd5bc17c3ce388bb6ef59"; 11166 }; 11167 11168 meta = { 11169 description = "Run a subprocess in a pseudo terminal"; 11170 homepage = https://github.com/pexpect/ptyprocess; 11171 license = licenses.isc; 11172 }; 11173 }; 11174 11175 pylibacl = buildPythonPackage (rec { 11176 name = "pylibacl-0.5.1"; 11177 11178 src = pkgs.fetchurl { 11179 url = "https://github.com/downloads/iustin/pylibacl/${name}.tar.gz"; 11180 sha256 = "1idks7j9bn62xzsaxkvhl7bdq6ws8kv8aa0wahfh7724qlbbcf1k"; 11181 }; 11182 11183 # ERROR: testExtended (tests.test_acls.AclExtensions) 11184 # IOError: [Errno 0] Error 11185 doCheck = false; 11186 11187 buildInputs = with self; [ pkgs.acl ]; 11188 11189 meta = { 11190 description = "A Python extension module for POSIX ACLs, it can be used to query, list, add, and remove ACLs from files and directories under operating systems that support them"; 11191 license = licenses.lgpl21Plus; 11192 }; 11193 }); 11194 11195 11196 pymacs = buildPythonPackage rec { 11197 version = "0.25"; 11198 name = "pymacs-${version}"; 11199 disabled = isPy3k || isPyPy; 11200 11201 src = pkgs.fetchurl { 11202 url = "https://github.com/pinard/Pymacs/tarball/v${version}"; 11203 name = "${name}.tar.gz"; 11204 sha256 = "1hmy76c5igm95rqbld7gvk0az24smvc8hplfwx2f5rhn6frj3p2i"; 11205 }; 11206 11207 configurePhase = "make"; 11208 11209 # Doesn't work with --old-and-unmanagable 11210 installPhase = '' 11211 ${python}/bin/${python.executable} setup.py install \ 11212 --install-lib=$out/lib/${python.libPrefix}/site-packages \ 11213 --prefix="$out" 11214 ''; 11215 11216 doCheck = false; 11217 11218 meta = { 11219 description = "Emacs Lisp to Python interface"; 11220 homepage = http://pymacs.progiciels-bpi.ca; 11221 license = licenses.gpl2; 11222 maintainers = with maintainers; [ goibhniu ]; 11223 }; 11224 }; 11225 11226 pyPdf = buildPythonPackage rec { 11227 name = "pyPdf-1.13"; 11228 11229 src = pkgs.fetchurl { 11230 url = "https://pypi.python.org/packages/source/p/pyPdf/${name}.tar.gz"; 11231 md5 = "7a75ef56f227b78ae62d6e38d4b6b1da"; 11232 }; 11233 11234 buildInputs = with self; [ ]; 11235 11236 meta = { 11237 description = "Pure-Python PDF toolkit"; 11238 homepage = "http://pybrary.net/pyPdf/"; 11239 license = licenses.bsd3; 11240 }; 11241 }; 11242 11243 pyopengl = buildPythonPackage rec { 11244 name = "pyopengl-${version}"; 11245 version = "3.0.2"; 11246 11247 src = pkgs.fetchurl { 11248 url = "http://pypi.python.org/packages/source/P/PyOpenGL/PyOpenGL-${version}.tar.gz"; 11249 sha256 = "9ef93bbea2c193898341f574e281c3ca0dfe87c53aa25fbec4b03581f6d1ba03"; 11250 }; 11251 propagatedBuildInputs = [ pkgs.mesa pkgs.freeglut self.pillow ]; 11252 patchPhase = '' 11253 sed -i "s|util.find_library( name )|name|" OpenGL/platform/ctypesloader.py 11254 sed -i "s|'GL',|'libGL.so',|" OpenGL/platform/glx.py 11255 sed -i "s|'GLU',|'${pkgs.mesa}/lib/libGLU.so',|" OpenGL/platform/glx.py 11256 sed -i "s|'glut',|'${pkgs.freeglut}/lib/libglut.so',|" OpenGL/platform/glx.py 11257 ''; 11258 meta = { 11259 homepage = http://pyopengl.sourceforge.net/; 11260 description = "PyOpenGL, the Python OpenGL bindings"; 11261 longDescription = '' 11262 PyOpenGL is the cross platform Python binding to OpenGL and 11263 related APIs. The binding is created using the standard (in 11264 Python 2.5) ctypes library, and is provided under an extremely 11265 liberal BSD-style Open-Source license. 11266 ''; 11267 license = "BSD-style"; 11268 platforms = platforms.mesaPlatforms; 11269 }; 11270 }; 11271 11272 pyopenssl = buildPythonPackage rec { 11273 name = "pyopenssl-${version}"; 11274 version = "0.14"; 11275 11276 src = pkgs.fetchurl { 11277 url = "https://pypi.python.org/packages/source/p/pyOpenSSL/pyOpenSSL-0.14.tar.gz"; 11278 sha256 = "0vpfqhng4cky7chliknkxv910iabqbfcxvkjiankh08jkkjvi7d9"; 11279 }; 11280 11281 # 17 tests failing 11282 doCheck = false; 11283 11284 propagatedBuildInputs = [ self.cryptography self.pyasn1 self.idna ]; 11285 }; 11286 11287 11288 pyquery = buildPythonPackage rec { 11289 name = "pyquery-1.2.4"; 11290 11291 src = pkgs.fetchurl { 11292 url = "http://pypi.python.org/packages/source/p/pyquery/${name}.tar.gz"; 11293 md5 = "268f08258738d21bc1920d7522f2a63b"; 11294 }; 11295 11296 propagatedBuildInputs = with self; [ cssselect lxml ]; 11297 }; 11298 11299 pyrax = buildPythonPackage rec { 11300 name = "pyrax-1.8.2"; 11301 11302 src = pkgs.fetchurl { 11303 url = "http://pypi.python.org/packages/source/p/pyrax/${name}.tar.gz"; 11304 sha256 = "0hvim60bhgfj91m7pp8jfmb49f087xqlgkqa505zw28r7yl0hcfp"; 11305 }; 11306 11307 meta = { 11308 homepage = "https://github.com/rackspace/pyrax"; 11309 license = licenses.mit; 11310 description = "Python API to interface with Rackspace"; 11311 }; 11312 11313 doCheck = false; 11314 }; 11315 11316 11317 pyreport = buildPythonPackage (rec { 11318 name = "pyreport-0.3.4c"; 11319 disabled = isPy3k; 11320 11321 src = pkgs.fetchurl { 11322 url = "http://pypi.python.org/packages/source/p/pyreport/${name}.tar.gz"; 11323 md5 = "3076164a7079891d149a23f9435581db"; 11324 }; 11325 11326 # error: invalid command 'test' 11327 doCheck = false; 11328 11329 meta = { 11330 homepage = http://pypi.python.org/pypi/pyreport; 11331 license = "BSD"; 11332 description = "Pyreport makes notes out of a python script"; 11333 }; 11334 }); 11335 11336 pyscss = buildPythonPackage rec { 11337 name = "pyScss-${version}"; 11338 version = "1.3.4"; 11339 11340 src = pkgs.fetchurl { 11341 url = "https://pypi.python.org/packages/source/p/pyScss/${name}.tar.gz"; 11342 sha256 = "03lcp853kgr66aqrw2jd1q9jhs9h049w7zlwp7bfmly7xh832cnh"; 11343 }; 11344 11345 propagatedBuildInputs = with self; [ six ] 11346 ++ (optionals (pythonOlder "3.4") [ enum34 pathlib ]) 11347 ++ (optionals (pythonOlder "2.7") [ ordereddict ]); 11348 11349 meta = { 11350 description = "A Scss compiler for Python"; 11351 homepage = http://pyscss.readthedocs.org/en/latest/; 11352 license = licenses.mit; 11353 }; 11354 }; 11355 11356 pyserial = buildPythonPackage rec { 11357 name = "pyserial-2.7"; 11358 11359 src = pkgs.fetchurl { 11360 url = "http://pypi.python.org/packages/source/p/pyserial/${name}.tar.gz"; 11361 sha256 = "3542ec0838793e61d6224e27ff05e8ce4ba5a5c5cc4ec5c6a3e8d49247985477"; 11362 }; 11363 11364 doCheck = false; 11365 11366 meta = { 11367 homepage = "http://pyserial.sourceforge.net/"; 11368 license = licenses.psfl; 11369 description = "Python serial port extension"; 11370 }; 11371 }; 11372 11373 pymongo = buildPythonPackage rec { 11374 name = "pymongo-2.8"; 11375 11376 src = pkgs.fetchurl { 11377 url = "http://pypi.python.org/packages/source/p/pymongo/${name}.tar.gz"; 11378 sha256 = "0d9rlxghqg9dqmcmrlf1lw9ap2g6npv6q4slp5agnm7vci9zchq5"; 11379 }; 11380 11381 doCheck = false; 11382 11383 meta = { 11384 homepage = "http://github.com/mongodb/mongo-python-driver"; 11385 license = licenses.asl20; 11386 description = "Python driver for MongoDB "; 11387 }; 11388 }; 11389 11390 pysphere = buildPythonPackage rec { 11391 name = "pysphere-0.1.8"; 11392 11393 src = pkgs.fetchurl { 11394 url = "http://pysphere.googlecode.com/files/${name}.zip"; 11395 md5 = "c57cba33626ac4b1e3d1974923d59232"; 11396 }; 11397 11398 meta = { 11399 homepage = "https://code.google.com/p/pysphere/"; 11400 license = "BSD"; 11401 description = "Python API for interaction with the VMWare vSphere"; 11402 }; 11403 }; 11404 11405 pysqlite = buildPythonPackage (rec { 11406 name = "pysqlite-2.6.3"; 11407 disabled = isPy3k; 11408 11409 src = pkgs.fetchurl { 11410 url = "https://pypi.python.org/packages/source/p/pysqlite/${name}.tar.gz"; 11411 sha256 = "13djzgnbi71znjjyaw4nybg6smilgszcid646j5qav7mdchkb77y"; 11412 }; 11413 11414 # Since the `.egg' file is zipped, the `NEEDED' of the `.so' files 11415 # it contains is not taken into account. Thus, we must explicitly make 11416 # it a propagated input. 11417 propagatedBuildInputs = with self; [ pkgs.sqlite ]; 11418 11419 patchPhase = '' 11420 substituteInPlace "setup.cfg" \ 11421 --replace "/usr/local/include" "${pkgs.sqlite}/include" \ 11422 --replace "/usr/local/lib" "${pkgs.sqlite}/lib" 11423 ''; 11424 11425 # error: invalid command 'test' 11426 doCheck = false; 11427 11428 meta = { 11429 homepage = http://pysqlite.org/; 11430 11431 description = "Python bindings for the SQLite embedded relational database engine"; 11432 11433 longDescription = '' 11434 pysqlite is a DB-API 2.0-compliant database interface for SQLite. 11435 11436 SQLite is a relational database management system contained in 11437 a relatively small C library. It is a public domain project 11438 created by D. Richard Hipp. Unlike the usual client-server 11439 paradigm, the SQLite engine is not a standalone process with 11440 which the program communicates, but is linked in and thus 11441 becomes an integral part of the program. The library 11442 implements most of SQL-92 standard, including transactions, 11443 triggers and most of complex queries. 11444 11445 pysqlite makes this powerful embedded SQL engine available to 11446 Python programmers. It stays compatible with the Python 11447 database API specification 2.0 as much as possible, but also 11448 exposes most of SQLite's native API, so that it is for example 11449 possible to create user-defined SQL functions and aggregates 11450 in Python. 11451 ''; 11452 11453 license = licenses.bsd3; 11454 11455 maintainers = [ ]; 11456 }; 11457 }); 11458 11459 11460 pysvn = pkgs.stdenv.mkDerivation { 11461 name = "pysvn-1.7.8"; 11462 11463 src = pkgs.fetchurl { 11464 url = "http://pysvn.barrys-emacs.org/source_kits/pysvn-1.7.8.tar.gz"; 11465 sha256 = "1qk7af0laby1f79bd07l9p0dxn5xmcmfwlcb9l1hk29zwwq6x4v0"; 11466 }; 11467 11468 buildInputs = with self; [ python pkgs.subversion pkgs.apr pkgs.aprutil pkgs.expat pkgs.neon pkgs.openssl ] 11469 ++ (if stdenv.isLinux then [pkgs.e2fsprogs] else []); 11470 11471 # There seems to be no way to pass that path to configure. 11472 NIX_CFLAGS_COMPILE="-I${pkgs.aprutil}/include/apr-1"; 11473 11474 preConfigure = '' 11475 cd Source 11476 python setup.py backport 11477 python setup.py configure \ 11478 --apr-inc-dir=${pkgs.apr}/include/apr-1 \ 11479 --apu-inc-dir=${pkgs.aprutil}/include/apr-1 \ 11480 --apr-lib-dir=${pkgs.apr}/lib \ 11481 --svn-root-dir=${pkgs.subversion} 11482 '' + (if !stdenv.isDarwin then "" else '' 11483 sed -i -e 's|libpython2.7.dylib|lib/libpython2.7.dylib|' Makefile 11484 ''); 11485 11486 checkPhase = "make -C ../Tests"; 11487 11488 installPhase = '' 11489 dest=$(toPythonPath $out)/pysvn 11490 mkdir -p $dest 11491 cp pysvn/__init__.py $dest/ 11492 cp pysvn/_pysvn*.so $dest/ 11493 mkdir -p $out/share/doc 11494 mv -v ../Docs $out/share/doc/pysvn-1.7.2 11495 rm -v $out/share/doc/pysvn-1.7.2/generate_cpp_docs_from_html_docs.py 11496 ''; 11497 11498 meta = { 11499 description = "Python bindings for Subversion"; 11500 homepage = "http://pysvn.tigris.org/"; 11501 }; 11502 }; 11503 11504 11505 pytz = buildPythonPackage rec { 11506 name = "pytz-${version}"; 11507 version = "2015.4"; 11508 11509 src = pkgs.fetchurl { 11510 url = "http://pypi.python.org/packages/source/p/pytz/${name}.tar.bz2"; 11511 md5 = "39f7375c4b1fa34cdcb4b4765d08f817"; 11512 }; 11513 11514 meta = { 11515 description = "World timezone definitions, modern and historical"; 11516 homepage = "http://pythonhosted.org/pytz"; 11517 license = licenses.mit; 11518 }; 11519 }; 11520 11521 11522 pyutil = buildPythonPackage (rec { 11523 name = "pyutil-2.0.0"; 11524 11525 src = pkgs.fetchurl { 11526 url = "http://pypi.python.org/packages/source/p/pyutil/${name}.tar.gz"; 11527 sha256 = "1fsg9yz5mi2sb0h6c1vvcqchx56i89nbvdb5gfgv1ia3b2w5ra8c"; 11528 }; 11529 11530 buildInputs = with self; [ setuptoolsDarcs setuptoolsTrial ] ++ (if doCheck then [ simplejson ] else []); 11531 propagatedBuildInputs = with self; [ zbase32 argparse twisted ]; 11532 # Tests fail because they try to write new code into the twisted 11533 # package, apparently some kind of plugin. 11534 doCheck = false; 11535 11536 meta = { 11537 description = "Pyutil, a collection of mature utilities for Python programmers"; 11538 11539 longDescription = '' 11540 These are a few data structures, classes and functions which 11541 we've needed over many years of Python programming and which 11542 seem to be of general use to other Python programmers. Many of 11543 the modules that have existed in pyutil over the years have 11544 subsequently been obsoleted by new features added to the 11545 Python language or its standard library, thus showing that 11546 we're not alone in wanting tools like these. 11547 ''; 11548 11549 homepage = http://allmydata.org/trac/pyutil; 11550 11551 license = licenses.gpl2Plus; 11552 }; 11553 }); 11554 11555 11556 pywebkitgtk = stdenv.mkDerivation rec { 11557 name = "pywebkitgtk-${version}"; 11558 version = "1.1.8"; 11559 11560 src = pkgs.fetchurl { 11561 url = "http://pywebkitgtk.googlecode.com/files/${name}.tar.bz2"; 11562 sha256 = "1svlwyl61rvbqbcbalkg6pbf38yjyv7qkq9sx4x35yk69lscaac2"; 11563 }; 11564 11565 buildInputs = [ 11566 pkgs.pkgconfig pkgs.gtk2 self.pygtk pkgs.libxml2 11567 pkgs.libxslt pkgs.libsoup pkgs.webkitgtk2 pkgs.icu 11568 ]; 11569 11570 meta = { 11571 homepage = "https://code.google.com/p/pywebkitgtk/"; 11572 description = "Python bindings for the WebKit GTK+ port"; 11573 license = licenses.lgpl2Plus; 11574 }; 11575 }; 11576 11577 pywinrm = buildPythonPackage (rec { 11578 name = "pywinrm"; 11579 11580 src = pkgs.fetchgit { 11581 url = https://github.com/diyan/pywinrm.git; 11582 rev = "c9ce62d500007561ab31a8d0a5d417e779fb69d9"; 11583 sha256 = "0n0qlcgin2g5lpby07qbdlnpq5v2qc2yns9zc4zm5prwh2mhs5za"; 11584 }; 11585 11586 propagatedBuildInputs = with self; [ xmltodict isodate ]; 11587 11588 meta = { 11589 homepage = "http://github.com/diyan/pywinrm/"; 11590 description = "Python library for Windows Remote Management"; 11591 license = licenses.mit; 11592 }; 11593 }); 11594 11595 11596 pyxattr = buildPythonPackage (rec { 11597 name = "pyxattr-0.5.1"; 11598 11599 src = pkgs.fetchurl { 11600 url = "https://github.com/downloads/iustin/pyxattr/${name}.tar.gz"; 11601 sha256 = "0jmkffik6hdzs7ng8c65bggss2ai40nm59jykswdf5lpd36cxddq"; 11602 }; 11603 11604 # error: invalid command 'test' 11605 doCheck = false; 11606 11607 buildInputs = with self; [ pkgs.attr ]; 11608 11609 meta = { 11610 description = "A Python extension module which gives access to the extended attributes for filesystem objects available in some operating systems"; 11611 license = licenses.lgpl21Plus; 11612 }; 11613 }); 11614 11615 11616 pyaml = buildPythonPackage (rec { 11617 name = "pyaml-15.02.1"; 11618 disabled = !isPy27; 11619 11620 src = pkgs.fetchurl { 11621 url = "https://pypi.python.org/packages/source/p/pyaml/${name}.tar.gz"; 11622 md5 = "e98cf27f50b9ca291ca4937c135db1c9"; 11623 }; 11624 11625 buildInputs = with self; [ pyyaml ]; 11626 11627 meta = { 11628 description = "PyYAML-based module to produce pretty and readable YAML-serialized data"; 11629 homepage = https://github.com/mk-fg/pretty-yaml; 11630 }; 11631 }); 11632 11633 11634 pyyaml = buildPythonPackage (rec { 11635 name = "PyYAML-3.10"; 11636 11637 src = pkgs.fetchurl { 11638 url = "http://pyyaml.org/download/pyyaml/${name}.zip"; 11639 sha256 = "1r127fa354ppb667f4acxlzwxixap1jgzjrr790bw8mcpxv2hqaa"; 11640 }; 11641 11642 buildInputs = with self; [ pkgs.pyrex ]; 11643 propagatedBuildInputs = with self; [ pkgs.libyaml ]; 11644 11645 meta = { 11646 description = "The next generation YAML parser and emitter for Python"; 11647 homepage = http://pyyaml.org; 11648 license = licenses.free; # !? 11649 }; 11650 }); 11651 11652 11653 recaptcha_client = buildPythonPackage rec { 11654 name = "recaptcha-client-1.0.6"; 11655 11656 src = pkgs.fetchurl { 11657 url = "http://pypi.python.org/packages/source/r/recaptcha-client/${name}.tar.gz"; 11658 md5 = "74228180f7e1fb76c4d7089160b0d919"; 11659 }; 11660 11661 meta = { 11662 description = "A CAPTCHA for Python using the reCAPTCHA service"; 11663 homepage = http://recaptcha.net/; 11664 }; 11665 }; 11666 11667 rencode = buildPythonPackage rec { 11668 name = "rencode-${version}"; 11669 version = "git20150810"; 11670 disabled = isPy33; 11671 11672 src = pkgs.fetchgit { 11673 url = https://github.com/aresch/rencode; 11674 rev = "b45e04abdca0dea36e383a8199783269f186c99e"; 11675 sha256 = "b4bd82852d4220e8a9493d3cfaecbc57b1325708a2d48c0f8acf262edb10dc40"; 11676 }; 11677 11678 buildInputs = with self; [ cython ]; 11679 11680 meta = { 11681 homepage = https://github.com/aresch/rencode; 11682 description = "Fast (basic) object serialization similar to bencode"; 11683 license = licenses.gpl3; 11684 }; 11685 }; 11686 11687 11688 reportlab = 11689 let freetype = overrideDerivation pkgs.freetype (args: { configureFlags = "--enable-static --enable-shared"; }); 11690 in buildPythonPackage rec { 11691 name = "reportlab-3.1.8"; 11692 11693 src = pkgs.fetchurl { 11694 url = "http://pypi.python.org/packages/source/r/reportlab/${name}.tar.gz"; 11695 md5 = "820a9fda647078503597b85cdba7ed7f"; 11696 }; 11697 11698 buildInputs = with self; [freetype]; 11699 11700 # error: invalid command 'test' 11701 doCheck = false; 11702 11703 meta = { 11704 description = "An Open Source Python library for generating PDFs and graphics"; 11705 homepage = http://www.reportlab.com/; 11706 }; 11707 }; 11708 11709 11710 requests = buildPythonPackage rec { 11711 name = "requests-1.2.3"; 11712 11713 src = pkgs.fetchurl { 11714 url = "http://pypi.python.org/packages/source/r/requests/${name}.tar.gz"; 11715 md5 = "adbd3f18445f7fe5e77f65c502e264fb"; 11716 }; 11717 11718 meta = { 11719 description = "An Apache2 licensed HTTP library, written in Python, for human beings"; 11720 homepage = http://docs.python-requests.org/en/latest/; 11721 }; 11722 }; 11723 11724 11725 requests2 = buildPythonPackage rec { 11726 name = "requests-${version}"; 11727 version = "2.7.0"; 11728 11729 src = pkgs.fetchurl { 11730 url = "http://pypi.python.org/packages/source/r/requests/${name}.tar.gz"; 11731 sha256 = "0gdr9dxm24amxpbyqpbh3lbwxc2i42hnqv50sigx568qssv3v2ir"; 11732 }; 11733 11734 meta = { 11735 description = "An Apache2 licensed HTTP library, written in Python, for human beings"; 11736 homepage = http://docs.python-requests.org/en/latest/; 11737 license = licenses.asl20; 11738 }; 11739 }; 11740 11741 11742 requests_oauthlib = buildPythonPackage rec { 11743 version = "v0.4.1"; 11744 name = "requests-oauthlib-${version}"; 11745 11746 src = pkgs.fetchurl { 11747 url = "http://github.com/requests/requests-oauthlib/archive/${version}.tar.gz"; 11748 sha256 = "0vx252nzq5h9m9brwnw2ph8aj526y26jr2dqcafzzcdx6z4l8vj4"; 11749 }; 11750 11751 doCheck = false; # Internet tests fail when building in chroot 11752 propagatedBuildInputs = with self; [ oauthlib requests2 ]; 11753 11754 meta = { 11755 description = "OAuthlib authentication support for Requests"; 11756 homepage = https://github.com/requests/requests-oauthlib; 11757 maintainers = with maintainers; [ prikhi ]; 11758 }; 11759 }; 11760 11761 requests_toolbelt = buildPythonPackage rec { 11762 version = "0.4.0"; 11763 name = "requests-toolbelt-${version}"; 11764 11765 src = pkgs.fetchurl { 11766 url = "https://github.com/sigmavirus24/requests-toolbelt/archive/${version}.tar.gz"; 11767 sha256 = "0zvfz4c9lqiwh2qh51rba6ckpjl3pbp9fcm0ri58qhcjd8mh8k34"; 11768 }; 11769 11770 propagatedBuildInputs = with self; [ requests2 ]; 11771 11772 meta = { 11773 description = "A toolbelt of useful classes and functions to be used with python-requests"; 11774 homepage = http://toolbelt.rtfd.org; 11775 maintainers = with maintainers; [ matthiasbeyer jgeerds ]; 11776 }; 11777 11778 }; 11779 11780 retry_decorator = buildPythonPackage rec { 11781 name = "retry_decorator-1.0.0"; 11782 src = pkgs.fetchurl { 11783 url = https://pypi.python.org/packages/source/r/retry_decorator/retry_decorator-1.0.0.tar.gz; 11784 sha256 = "086zahyb6yn7ggpc58909c5r5h3jz321i1694l1c28bbpaxnlk88"; 11785 }; 11786 meta = { 11787 homepage = https://github.com/pnpnpn/retry-decorator; 11788 license = licenses.mit; 11789 }; 11790 }; 11791 11792 qscintilla = pkgs.stdenv.mkDerivation rec { 11793 # TODO: Qt5 support 11794 name = "qscintilla-${version}"; 11795 version = pkgs.qscintilla.version; 11796 disabled = isPy3k || isPyPy; 11797 11798 src = pkgs.qscintilla.src; 11799 11800 buildInputs = with pkgs; [ xorg.lndir qt4 pyqt4 python ]; 11801 11802 preConfigure = '' 11803 mkdir -p $out 11804 lndir ${pkgs.pyqt4} $out 11805 cd Python 11806 ${python.executable} ./configure-old.py \ 11807 --destdir $out/lib/${python.libPrefix}/site-packages/PyQt4 \ 11808 --apidir $out/api/${python.libPrefix} \ 11809 -n ${pkgs.qscintilla}/include \ 11810 -o ${pkgs.qscintilla}/lib \ 11811 --sipdir $out/share/sip 11812 ''; 11813 11814 meta = with stdenv.lib; { 11815 description = "A Python binding to QScintilla, Qt based text editing control"; 11816 license = licenses.lgpl21Plus; 11817 maintainers = [ "abcz2.uprola@gmail.com" ]; 11818 platforms = platforms.linux; 11819 }; 11820 }; 11821 11822 11823 qserve = buildPythonPackage rec { 11824 name = "qserve-0.2.8"; 11825 disabled = isPy3k; 11826 11827 src = pkgs.fetchurl { 11828 url = "https://pypi.python.org/packages/source/q/qserve/${name}.zip"; 11829 md5 = "d481f0dad66a93d0479022fe0487e8ee"; 11830 }; 11831 11832 buildInputs = with self; [ ]; 11833 11834 meta = { 11835 description = "job queue server"; 11836 homepage = "https://github.com/pediapress/qserve"; 11837 license = licenses.bsd3; 11838 }; 11839 }; 11840 11841 quantities = buildPythonPackage rec { 11842 name = "quantities-0.10.1"; 11843 11844 src = pkgs.fetchurl { 11845 url = "https://pypi.python.org/packages/source/q/quantities/quantities-0.10.1.tar.gz"; 11846 md5 = "e924e21c0a5ddc9ebcdacbbe511b8ec7"; 11847 }; 11848 11849 meta = with pkgs.stdenv.lib; { 11850 description = "Quantities is designed to handle arithmetic and"; 11851 homepage = http://packages.python.org/quantities; 11852 license = licenses.bsd2; 11853 }; 11854 }; 11855 11856 qutip = buildPythonPackage rec { 11857 name = "qutip-2.2.0"; 11858 11859 src = pkgs.fetchurl { 11860 url = "https://qutip.googlecode.com/files/QuTiP-2.2.0.tar.gz"; 11861 sha1 = "76ba4991322a991d580e78a197adc80d58bd5fb3"; 11862 }; 11863 11864 propagatedBuildInputs = with self; [ numpy scipy matplotlib pyqt4 11865 cython ]; 11866 11867 buildInputs = [ pkgs.gcc pkgs.qt4 pkgs.blas self.nose ]; 11868 11869 meta = { 11870 description = "QuTiP - Quantum Toolbox in Python"; 11871 longDescription = '' 11872 QuTiP is open-source software for simulating the dynamics of 11873 open quantum systems. The QuTiP library depends on the 11874 excellent Numpy and Scipy numerical packages. In addition, 11875 graphical output is provided by Matplotlib. QuTiP aims to 11876 provide user-friendly and efficient numerical simulations of a 11877 wide variety of Hamiltonians, including those with arbitrary 11878 time-dependence, commonly found in a wide range of physics 11879 applications such as quantum optics, trapped ions, 11880 superconducting circuits, and quantum nanomechanical 11881 resonators. 11882 ''; 11883 homepage = http://qutip.org/; 11884 }; 11885 }; 11886 11887 redis = buildPythonPackage rec { 11888 name = "redis-2.9.1"; 11889 11890 src = pkgs.fetchurl { 11891 url = "https://pypi.python.org/packages/source/r/redis/${name}.tar.gz"; 11892 sha256 = "1r7lrh4kxccyhr4pyp13ilymmvh22pi7aa9514dmnhi74zn4g5xg"; 11893 }; 11894 11895 doCheck = false; 11896 11897 meta = { 11898 description = "Python client for Redis key-value store"; 11899 homepage = "https://pypi.python.org/pypi/redis/"; 11900 }; 11901 }; 11902 11903 repocheck = buildPythonPackage rec { 11904 name = "repocheck-2015-08-05"; 11905 disabled = isPy26 || isPy27; 11906 11907 src = pkgs.fetchFromGitHub { 11908 sha256 = "1jc4v5zy7z7xlfmbfzvyzkyz893f5x2k6kvb3ni3rn2df7jqhc81"; 11909 rev = "ee48d0e88d3f5814d24a8d1f22d5d83732824688"; 11910 repo = "repocheck"; 11911 owner = "kynikos"; 11912 }; 11913 11914 meta = { 11915 inherit (src.meta) homepage; 11916 description = "Check the status of code repositories under a root directory"; 11917 license = licenses.gpl3Plus; 11918 maintainers = with maintainers; [ nckx ]; 11919 }; 11920 }; 11921 11922 requests_oauth2 = buildPythonPackage rec { 11923 name = "requests-oauth2-0.1.1"; 11924 11925 src = pkgs.fetchurl { 11926 url = https://github.com/maraujop/requests-oauth2/archive/0.1.1.tar.gz; 11927 sha256 = "1aij66qg9j5j4vzyh64nbg72y7pcafgjddxsi865racsay43xfqg"; 11928 }; 11929 11930 propagatedBuildInputs = with self; [ requests_oauthlib ]; 11931 11932 meta = { 11933 description = "Python's Requests OAuth2 (Open Authentication) plugin"; 11934 homepage = https://github.com/maraujop/requests-oauth2; 11935 }; 11936 }; 11937 11938 11939 restview = buildPythonPackage rec { 11940 name = "restview-${version}"; 11941 version = "2.2.1"; 11942 11943 src = pkgs.fetchurl { 11944 url = "https://pypi.python.org/packages/source/r/restview/${name}.tar.gz"; 11945 sha256 = "070qx694bpk2n67grm82jvvar4nqvvfmmibbnv8snl4qn41jw66s"; 11946 }; 11947 11948 propagatedBuildInputs = with self; [ docutils mock pygments ]; 11949 11950 meta = { 11951 description = "ReStructuredText viewer"; 11952 homepage = http://mg.pov.lt/restview/; 11953 license = licenses.gpl2; 11954 platforms = platforms.all; 11955 maintainers = with maintainers; [ koral ]; 11956 }; 11957 }; 11958 11959 11960 reviewboard = buildPythonPackage rec { 11961 name = "ReviewBoard-1.6.16"; 11962 11963 src = pkgs.fetchurl { 11964 url = "http://downloads.reviewboard.org/releases/ReviewBoard/1.6/${name}.tar.gz"; 11965 sha256 = "0vg3ypm57m43bscv8vswjdllv3d2j8lxqwwvpd65cl7jd1in0yr1"; 11966 }; 11967 11968 propagatedBuildInputs = with self; 11969 [ django_1_3 recaptcha_client pytz memcached dateutil_1_5 paramiko flup pygments 11970 djblets django_evolution pycrypto modules.sqlite3 11971 pysvn pil psycopg2 11972 ]; 11973 }; 11974 11975 11976 rdflib = buildPythonPackage (rec { 11977 name = "rdflib-4.1.2"; 11978 11979 src = pkgs.fetchurl { 11980 url = "https://pypi.python.org/packages/source/r/rdflib/${name}.tar.gz"; 11981 sha256 = "0kvaf332cqbi47rqzlpdx4mbkvw12mkrzkj8n9l19wk713d4py9w"; 11982 }; 11983 11984 # error: invalid command 'test' 11985 doCheck = false; 11986 11987 propagatedBuildInputs = with self; [ isodate ]; 11988 11989 meta = { 11990 description = "A Python library for working with RDF, a simple yet powerful language for representing information"; 11991 homepage = http://www.rdflib.net/; 11992 }; 11993 }); 11994 11995 isodate = buildPythonPackage rec { 11996 name = "isodate-0.5.0"; 11997 11998 src = pkgs.fetchurl { 11999 url = "https://pypi.python.org/packages/source/i/isodate/${name}.tar.gz"; 12000 md5 = "9a267e9327feb3d021cae26002ba6e0e"; 12001 }; 12002 12003 meta = { 12004 description = "ISO 8601 date/time parser"; 12005 homepage = http://cheeseshop.python.org/pypi/isodate; 12006 }; 12007 }; 12008 12009 robomachine = buildPythonPackage rec { 12010 name = "robomachine-0.6"; 12011 12012 src = pkgs.fetchurl { 12013 url = "https://pypi.python.org/packages/source/R/RoboMachine/RoboMachine-0.6.tar.gz"; 12014 md5 = "4e95eaa43afda0f363c78a88e9da7159"; 12015 }; 12016 12017 propagatedBuildInputs = with self; [ pyparsing argparse robotframework ]; 12018 12019 # Remove Windows .bat files 12020 postInstall = '' 12021 rm "$out/bin/"*.bat 12022 ''; 12023 12024 meta = { 12025 description = "Test data generator for Robot Framework"; 12026 homepage = https://github.com/mkorpela/RoboMachine; 12027 license = licenses.asl20; 12028 maintainers = with maintainers; [ bjornfor ]; 12029 }; 12030 }; 12031 12032 robotframework = buildPythonPackage rec { 12033 version = "2.8.7"; 12034 name = "robotframework-${version}"; 12035 disabled = isPy3k; 12036 12037 src = pkgs.fetchurl { 12038 url = "https://pypi.python.org/packages/source/r/robotframework/${name}.tar.gz"; 12039 sha256 = "0mfd0s989j3jrpl8q0lb4wsjy1x280chfr9r74m2dyi9c7rxzc58"; 12040 }; 12041 12042 # error: invalid command 'test' 12043 doCheck = false; 12044 12045 meta = { 12046 description = "Generic test automation framework"; 12047 homepage = http://robotframework.org/; 12048 license = licenses.asl20; 12049 platforms = platforms.linux; 12050 maintainers = with maintainers; [ bjornfor ]; 12051 }; 12052 }; 12053 12054 12055 robotframework-selenium2library = buildPythonPackage rec { 12056 version = "1.6.0"; 12057 name = "robotframework-selenium2library-${version}"; 12058 12059 src = pkgs.fetchurl { 12060 url = "https://pypi.python.org/packages/source/r/robotframework-selenium2library/${name}.tar.gz"; 12061 sha256 = "1asdwrpb4s7q08bx641yrh3yicgba14n3hxmsqs58mqf86ignwly"; 12062 }; 12063 12064 # error: invalid command 'test' 12065 #doCheck = false; 12066 12067 propagatedBuildInputs = with self; [ robotframework selenium docutils decorator ]; 12068 12069 meta = { 12070 description = ""; 12071 homepage = http://robotframework.org/; 12072 license = licenses.asl20; 12073 }; 12074 }; 12075 12076 12077 robotframework-tools = buildPythonPackage rec { 12078 version = "0.1a115"; 12079 name = "robotframework-tools-${version}"; 12080 12081 src = pkgs.fetchurl { 12082 url = "https://pypi.python.org/packages/source/r/robotframework-tools/${name}.tar.gz"; 12083 sha256 = "04gkn1zpf3rsvbqdxrrjqqi8sa0md9gqwh6n5w2m03fdwjg4lc7q"; 12084 }; 12085 12086 propagatedBuildInputs = with self; [ robotframework moretools pathpy six setuptools ]; 12087 12088 meta = { 12089 description = "Python Tools for Robot Framework and Test Libraries"; 12090 homepage = http://bitbucket.org/userzimmermann/robotframework-tools; 12091 license = licenses.gpl3; 12092 platforms = platforms.linux; 12093 }; 12094 }; 12095 12096 12097 robotsuite = buildPythonPackage rec { 12098 version = "1.4.2"; 12099 name = "robotsuite-${version}"; 12100 12101 src = pkgs.fetchurl { 12102 url = "https://pypi.python.org/packages/source/r/robotsuite/${name}.zip"; 12103 sha256 = "0sw09vrvwv3gzqb6jvhbrz09l6nzzj3i9av34qjddqfwq7cr1bla"; 12104 }; 12105 12106 # error: invalid command 'test' 12107 #doCheck = false; 12108 12109 buildInputs = with self; [ unittest2 ]; 12110 propagatedBuildInputs = with self; [ robotframework lxml ]; 12111 12112 meta = { 12113 description = "Python unittest test suite for Robot Framework"; 12114 homepage = http://github.com/collective/robotsuite/; 12115 license = licenses.gpl3; 12116 }; 12117 }; 12118 12119 12120 robotframework-ride = buildPythonPackage rec { 12121 version = "1.2.3"; 12122 name = "robotframework-ride-${version}"; 12123 disabled = isPy3k; 12124 12125 src = pkgs.fetchurl { 12126 url = "https://robotframework-ride.googlecode.com/files/${name}.tar.gz"; 12127 sha256 = "1lf5f4x80f7d983bmkx12sxcizzii21kghs8kf63a1mj022a5x5j"; 12128 }; 12129 12130 propagatedBuildInputs = with self; [ pygments wxPython modules.sqlite3 ]; 12131 12132 # ride_postinstall.py checks that needed deps are installed and creates a 12133 # desktop shortcut. We don't really need it and it clutters up bin/ so 12134 # remove it. 12135 postInstall = '' 12136 rm -f "$out/bin/ride_postinstall.py" 12137 ''; 12138 12139 # error: invalid command 'test' 12140 doCheck = false; 12141 12142 meta = { 12143 description = "Light-weight and intuitive editor for Robot Framework test case files"; 12144 homepage = https://code.google.com/p/robotframework-ride/; 12145 license = licenses.asl20; 12146 platforms = platforms.linux; 12147 maintainers = with maintainers; [ bjornfor ]; 12148 }; 12149 }; 12150 12151 12152 rope = buildPythonPackage rec { 12153 version = "0.10.2"; 12154 name = "rope-${version}"; 12155 12156 disabled = isPy3k; 12157 12158 src = pkgs.fetchurl { 12159 url = "http://pypi.python.org/packages/source/r/rope/${name}.tar.gz"; 12160 sha256 = "0rdlvp8h74qs49wz1hx6qy8mgp2ddwlfs7z13h9139ynq04a3z7z"; 12161 }; 12162 12163 meta = { 12164 description = "python refactoring library"; 12165 homepage = http://rope.sf.net; 12166 maintainers = with maintainers; [ goibhniu ]; 12167 license = licenses.gpl2; 12168 }; 12169 }; 12170 12171 ropemacs = buildPythonPackage rec { 12172 version = "0.7"; 12173 name = "ropemacs-${version}"; 12174 12175 src = pkgs.fetchurl { 12176 url = "http://pypi.python.org/packages/source/r/ropemacs/${name}.tar.gz"; 12177 sha256 = "1x5qf1drcdz9jfiiakc60kzqkb3ahsg9j902c5byf3gjfacdrmqj"; 12178 }; 12179 12180 propagatedBuildInputs = with self; [ ropemode ]; 12181 12182 meta = { 12183 description = "a plugin for performing python refactorings in emacs"; 12184 homepage = http://rope.sf.net/ropemacs.html; 12185 maintainers = with maintainers; [ goibhniu ]; 12186 license = licenses.gpl2; 12187 }; 12188 }; 12189 12190 ropemode = buildPythonPackage rec { 12191 version = "0.2"; 12192 name = "ropemode-${version}"; 12193 12194 src = pkgs.fetchurl { 12195 url = "http://pypi.python.org/packages/source/r/ropemode/${name}.tar.gz"; 12196 sha256 = "0jw6h1wvk6wk0wknqdf7s9pw76m8472jv546lqdd88jbl2scgcjl"; 12197 }; 12198 12199 propagatedBuildInputs = with self; [ rope ]; 12200 12201 meta = { 12202 description = "a plugin for performing python refactorings in emacs"; 12203 homepage = http://rope.sf.net; 12204 maintainers = with maintainers; [ goibhniu ]; 12205 license = licenses.gpl2; 12206 }; 12207 }; 12208 12209 12210 12211 routes = buildPythonPackage rec { 12212 name = "routes-1.12.3"; 12213 12214 src = pkgs.fetchurl { 12215 url = http://pypi.python.org/packages/source/R/Routes/Routes-1.12.3.tar.gz; 12216 md5 = "9740ff424ff6b841632c784a38fb2be3"; 12217 }; 12218 12219 propagatedBuildInputs = with self; [ paste webtest ]; 12220 12221 meta = { 12222 description = "A Python re-implementation of the Rails routes system for mapping URLs to application actions"; 12223 homepage = http://routes.groovie.org/; 12224 }; 12225 }; 12226 12227 rpkg = buildPythonPackage (rec { 12228 name = "rpkg-1.14"; 12229 meta.maintainers = with maintainers; [ mornfall ]; 12230 12231 src = pkgs.fetchurl { 12232 url = "https://fedorahosted.org/releases/r/p/rpkg/rpkg-1.14.tar.gz"; 12233 sha256 = "0d053hdjz87aym1sfm6c4cxmzmy5g0gkrmrczly86skj957r77a7"; 12234 }; 12235 12236 patches = [ ../development/python-modules/rpkg-buildfix.diff ]; 12237 12238 # buildPhase = "python setup.py build"; 12239 # doCheck = false; 12240 propagatedBuildInputs = with self; [ pycurl pkgs.koji GitPython pkgs.git 12241 pkgs.rpm pkgs.pyopenssl ]; 12242 12243 }); 12244 12245 rpy2 = buildPythonPackage rec { 12246 name = "rpy2-2.5.6"; 12247 disabled = isPyPy; 12248 src = pkgs.fetchurl { 12249 url = "https://pypi.python.org/packages/source/r/rpy2/${name}.tar.gz"; 12250 md5 = "a36e758b633ce6aec6a5f450bfee980f"; 12251 }; 12252 buildInputs = with pkgs; [ readline R pcre lzma bzip2 zlib icu ]; 12253 propagatedBuildInputs = [ self.singledispatch ]; 12254 meta = { 12255 homepage = http://rpy.sourceforge.net/rpy2; 12256 description = "Python interface to R"; 12257 license = licenses.gpl2Plus; 12258 maintainers = with maintainers; [ joelmo ]; 12259 }; 12260 }; 12261 12262 rpyc = buildPythonPackage rec { 12263 name = "rpyc-${version}"; 12264 version = "3.3.0"; 12265 12266 src = pkgs.fetchurl { 12267 url = "https://pypi.python.org/packages/source/r/rpyc/${name}.tar.gz"; 12268 md5 = "6931cb92c41f547591b525142ccaeef1"; 12269 }; 12270 12271 propagatedBuildInputs = with self; [ nose plumbum ]; 12272 12273 meta = { 12274 description = "Remote Python Call (RPyC), a transparent and symmetric RPC library"; 12275 homepage = http://rpyc.readthedocs.org; 12276 license = licenses.mit; 12277 }; 12278 }; 12279 12280 rsa = buildPythonPackage rec { 12281 name = "rsa-3.1.2"; 12282 12283 src = pkgs.fetchurl { 12284 url = "https://bitbucket.org/sybren/python-rsa/get/version-3.1.2.tar.bz2"; 12285 sha256 = "0ag2q4gaapi74x47q74xhcjzs4b7r2bb6zrj2an4sz5d3yd06cgf"; 12286 }; 12287 12288 buildInputs = with self; [ self.pyasn1 ]; 12289 12290 meta = { 12291 homepage = http://stuvel.eu/rsa; 12292 license = licenses.asl20; 12293 description = "A pure-Python RSA implementation"; 12294 }; 12295 }; 12296 12297 squaremap = buildPythonPackage rec { 12298 name = "squaremap-1.0.4"; 12299 disabled = isPy3k; 12300 12301 src = pkgs.fetchurl { 12302 url = "https://pypi.python.org/packages/source/S/SquareMap/SquareMap-1.0.4.tar.gz"; 12303 md5 = "e36a453baddb97c19af6f79d5ba51f38"; 12304 }; 12305 12306 meta = { 12307 description = "Hierarchic visualization control for wxPython"; 12308 homepage = https://launchpad.net/squaremap; 12309 license = licenses.bsd3; 12310 }; 12311 }; 12312 12313 runsnakerun = buildPythonPackage rec { 12314 name = "runsnakerun-2.0.4"; 12315 12316 12317 src = pkgs.fetchurl { 12318 url = "https://pypi.python.org/packages/source/R/RunSnakeRun/RunSnakeRun-2.0.4.tar.gz"; 12319 md5 = "3220b5b89994baee70b1c24d7e42a306"; 12320 }; 12321 12322 propagatedBuildInputs = [ self.squaremap self.wxPython28 ]; 12323 12324 meta = { 12325 description = "GUI Viewer for Python profiling runs"; 12326 homepage = http://www.vrplumber.com/programming/runsnakerun/; 12327 license = licenses.bsd3; 12328 }; 12329 }; 12330 12331 rtslib_fb = buildPythonPackage rec { 12332 version = "2.1.fb43"; 12333 name = "rtslib-fb-${version}"; 12334 12335 src = pkgs.fetchurl { 12336 url = "https://github.com/agrover/rtslib-fb/archive/v${version}.tar.gz"; 12337 sha256 = "1b59vyy12g6rix9l2fxx0hjiq33shkb79v57gwffs57vh74wc53v"; 12338 }; 12339 12340 meta = { 12341 description = "A Python object API for managing the Linux LIO kernel target"; 12342 homepage = "https://github.com/agrover/rtslib-fb"; 12343 platforms = platforms.linux; 12344 }; 12345 }; 12346 12347 seqdiag = buildPythonPackage rec { 12348 name = "seqdiag-0.9.4"; 12349 12350 src = pkgs.fetchurl { 12351 url = "https://pypi.python.org/packages/source/s/seqdiag/${name}.tar.gz"; 12352 sha256 = "1qa7d0m1wahvmrj95rxkb6128cbwd4w3gy8gbzncls66h46bifiz"; 12353 }; 12354 12355 buildInputs = with self; [ pep8 nose unittest2 docutils ]; 12356 12357 propagatedBuildInputs = with self; [ blockdiag ]; 12358 12359 # Tests fail: 12360 # ... 12361 # ERROR: Failure: OSError ([Errno 2] No such file or directory: '/tmp/nix-build-python2.7-seqdiag-0.9.0.drv-0/seqdiag-0.9.0/src/seqdiag/tests/diagrams/') 12362 doCheck = false; 12363 12364 meta = { 12365 description = "Generate sequence-diagram image from spec-text file (similar to Graphviz)"; 12366 homepage = http://blockdiag.com/; 12367 license = licenses.asl20; 12368 platforms = platforms.linux; 12369 maintainers = with maintainers; [ bjornfor ]; 12370 }; 12371 }; 12372 12373 12374 scapy = buildPythonPackage rec { 12375 name = "scapy-2.2.0"; 12376 12377 disabled = isPy3k || isPyPy; 12378 12379 src = pkgs.fetchurl { 12380 url = "http://www.secdev.org/projects/scapy/files/${name}.tar.gz"; 12381 sha256 = "1bqmp0xglkndrqgmybpwmzkv462mir8qlkfwsxwbvvzh9li3ndn5"; 12382 }; 12383 12384 propagatedBuildInputs = [ modules.readline ]; 12385 12386 meta = { 12387 description = "Powerful interactive network packet manipulation program"; 12388 homepage = http://www.secdev.org/projects/scapy/; 12389 license = licenses.gpl2; 12390 platforms = platforms.linux; 12391 maintainers = with maintainers; [ bjornfor ]; 12392 }; 12393 }; 12394 12395 12396 scipy = let 12397 support = import ../development/python-modules/numpy-scipy-support.nix { 12398 inherit python; 12399 openblas = pkgs.openblasCompat; 12400 pkgName = "numpy"; 12401 }; 12402 in buildPythonPackage rec { 12403 name = "scipy-0.15.1"; 12404 12405 src = pkgs.fetchurl { 12406 url = "http://pypi.python.org/packages/source/s/scipy/${name}.tar.gz"; 12407 sha256 = "16i5iksaas3m0hgbxrxpgsyri4a9ncbwbiazlhx5d6lynz1wn4m2"; 12408 }; 12409 12410 buildInputs = [ pkgs.gfortran self.nose ]; 12411 propagatedBuildInputs = [ self.numpy ]; 12412 12413 preConfigure = '' 12414 sed -i '0,/from numpy.distutils.core/s//import setuptools;from numpy.distutils.core/' setup.py 12415 ''; 12416 12417 inherit (support) preBuild checkPhase; 12418 12419 setupPyBuildFlags = [ "--fcompiler='gnu95'" ]; 12420 12421 meta = { 12422 description = "SciPy (pronounced 'Sigh Pie') is open-source software for mathematics, science, and engineering. "; 12423 homepage = http://www.scipy.org/; 12424 }; 12425 }; 12426 12427 12428 scikitlearn = buildPythonPackage rec { 12429 name = "scikit-learn-0.16.1"; 12430 12431 src = pkgs.fetchurl { 12432 url = "https://pypi.python.org/packages/source/s/scikit-learn/${name}.tar.gz"; 12433 sha256 = "1r761qmsq2mnl8sapplbx0ipj6i7ppr2cmz009q5rjana0liwwn0"; 12434 }; 12435 12436 buildInputs = with self; [ nose pillow pkgs.gfortran pkgs.glibcLocales ]; 12437 propagatedBuildInputs = with self; [ numpy scipy pkgs.openblas ]; 12438 12439 buildPhase = '' 12440 ${self.python.executable} setup.py build_ext -i --fcompiler='gnu95' 12441 ''; 12442 12443 checkPhase = '' 12444 LC_ALL="en_US.UTF-8" HOME=$TMPDIR OMP_NUM_THREADS=1 nosetests 12445 ''; 12446 12447 meta = { 12448 description = "A set of python modules for machine learning and data mining"; 12449 homepage = http://scikit-learn.org; 12450 license = licenses.bsd3; 12451 }; 12452 }; 12453 12454 12455 scripttest = buildPythonPackage rec { 12456 version = "1.3"; 12457 name = "scripttest-${version}"; 12458 12459 src = pkgs.fetchurl { 12460 url = "http://pypi.python.org/packages/source/s/scripttest/scripttest-${version}.tar.gz"; 12461 md5 = "1d1c5117ccfc7b5961cae6c1020c0848"; 12462 }; 12463 12464 buildInputs = with self; [ nose pytest ]; 12465 12466 meta = { 12467 description = "A library for testing interactive command-line applications"; 12468 homepage = http://pypi.python.org/pypi/ScriptTest/; 12469 }; 12470 }; 12471 12472 seaborn= buildPythonPackage rec { 12473 name = "seaborn-0.6.0"; 12474 src = pkgs.fetchurl { 12475 url = "http://pypi.python.org/packages/source/s/seaborn/${name}.tar.gz"; 12476 md5 = "bc518f1f45dadb9deb2bb57ca3af3cad"; 12477 }; 12478 12479 propagatedBuildInputs = with self; [ pandas matplotlib ]; 12480 12481 meta = { 12482 description = "statisitical data visualization"; 12483 homepage = "http://stanford.edu/~mwaskom/software/seaborn/"; 12484 license = "BSD"; 12485 }; 12486 }; 12487 12488 selenium = buildPythonPackage rec { 12489 name = "selenium-2.44.0"; 12490 src = pkgs.fetchurl { 12491 url = "http://pypi.python.org/packages/source/s/selenium/${name}.tar.gz"; 12492 sha256 = "0l70pqwg88imbylcd831vg8nj8ipy4zr331f6qjccss7vn56i2h5"; 12493 }; 12494 12495 buildInputs = with self; [pkgs.xlibs.libX11]; 12496 12497 # Recompiling x_ignore_nofocus.so as the original one dlopen's libX11.so.6 by some 12498 # absolute paths. Replaced by relative path so it is found when used in nix. 12499 x_ignore_nofocus = 12500 pkgs.fetchFromGitHub { 12501 owner = "SeleniumHQ"; 12502 repo = "selenium"; 12503 rev = "selenium-2.44.0"; 12504 sha256 = "13aqm0dwy17ghimy7m2mxjwlyc1k7zk5icxzrs1sa896056f1dyy"; 12505 }; 12506 12507 patchPhase = '' 12508 cp "${x_ignore_nofocus}/cpp/linux-specific/"* . 12509 substituteInPlace x_ignore_nofocus.c --replace "/usr/lib/libX11.so.6" "${pkgs.xlibs.libX11}/lib/libX11.so.6" 12510 gcc -c -fPIC x_ignore_nofocus.c -o x_ignore_nofocus.o 12511 gcc -shared \ 12512 -Wl,${if stdenv.isDarwin then "-install_name" else "-soname"},x_ignore_nofocus.so \ 12513 -o x_ignore_nofocus.so \ 12514 x_ignore_nofocus.o 12515 cp -v x_ignore_nofocus.so py/selenium/webdriver/firefox/${if pkgs.stdenv.is64bit then "amd64" else "x86"}/ 12516 ''; 12517 }; 12518 12519 setuptools_scm = buildPythonPackage rec { 12520 name = "setuptools_scm-${version}"; 12521 version = "1.7.0"; 12522 12523 src = pkgs.fetchurl { 12524 url = "https://pypi.python.org/packages/source/s/setuptools_scm/${name}.tar.gz"; 12525 sha256 = "f2f69c782b4f549003edf5b75b356b37f40a4e880b615996c5d9c117913d6f9c"; 12526 }; 12527 12528 buildInputs = with self; [ pip ]; 12529 12530 preBuild = '' 12531 ${python.interpreter} setup.py egg_info 12532 ''; 12533 12534 meta = with stdenv.lib; { 12535 homepage = https://bitbucket.org/pypa/setuptools_scm/; 12536 description = "Handles managing your python package versions in scm metadata"; 12537 license = licenses.mit; 12538 maintainers = with maintainers; [ jgeerds ]; 12539 }; 12540 }; 12541 12542 setuptoolsDarcs = buildPythonPackage { 12543 name = "setuptools-darcs-1.2.9"; 12544 12545 src = pkgs.fetchurl { 12546 url = "http://pypi.python.org/packages/source/s/setuptools_darcs/setuptools_darcs-1.2.9.tar.gz"; 12547 sha256 = "d37ce11030addbd729284c441facd0869cdc6e5c888dc5fa0a6f1edfe3c3e617"; 12548 }; 12549 12550 # In order to break the dependency on darcs -> ghc, we don't add 12551 # darcs as a propagated build input. 12552 propagatedBuildInputs = with self; [ darcsver ]; 12553 12554 meta = { 12555 description = "setuptools plugin for the Darcs version control system"; 12556 12557 homepage = http://allmydata.org/trac/setuptools_darcs; 12558 12559 license = "BSD"; 12560 }; 12561 }; 12562 12563 12564 setuptoolsTrial = buildPythonPackage { 12565 name = "setuptools-trial-0.5.12"; 12566 12567 src = pkgs.fetchurl { 12568 url = "http://pypi.python.org/packages/source/s/setuptools_trial/setuptools_trial-0.5.12.tar.gz"; 12569 md5 = "f16f4237c9ee483a0cd13208849d96ad"; 12570 }; 12571 12572 propagatedBuildInputs = with self; [ twisted ]; 12573 12574 meta = { 12575 description = "setuptools plug-in that helps run unit tests built with the \"Trial\" framework (from Twisted)"; 12576 12577 homepage = http://allmydata.org/trac/setuptools_trial; 12578 12579 license = "unspecified"; # ! 12580 }; 12581 }; 12582 12583 12584 simplejson = buildPythonPackage (rec { 12585 name = "simplejson-3.3.0"; 12586 12587 src = pkgs.fetchurl { 12588 url = "http://pypi.python.org/packages/source/s/simplejson/${name}.tar.gz"; 12589 md5 = "0e29b393bceac8081fa4e93ff9f6a001"; 12590 }; 12591 12592 meta = { 12593 description = "A simple, fast, extensible JSON encoder/decoder for Python"; 12594 12595 longDescription = '' 12596 simplejson is compatible with Python 2.4 and later with no 12597 external dependencies. It covers the full JSON specification 12598 for both encoding and decoding, with unicode support. By 12599 default, encoding is done in an encoding neutral fashion (plain 12600 ASCII with \uXXXX escapes for unicode characters). 12601 ''; 12602 12603 homepage = http://code.google.com/p/simplejson/; 12604 12605 license = licenses.mit; 12606 }; 12607 }); 12608 12609 simpleparse = buildPythonPackage rec { 12610 version = "2.1.1"; 12611 name = "simpleparse-${version}"; 12612 12613 disabled = isPy3k || isPyPy; 12614 12615 src = pkgs.fetchurl { 12616 url = "https://pypi.python.org/packages/source/S/SimpleParse/SimpleParse-${version}.tar.gz"; 12617 sha256 = "1n8msk71lpl3kv086xr2sv68ppgz6228575xfnbszc6p1mwr64rg"; 12618 }; 12619 12620 meta = { 12621 description = "A Parser Generator for Python"; 12622 homepage = https://pypi.python.org/pypi/SimpleParse; 12623 platforms = platforms.all; 12624 maintainers = with maintainers; [ DamienCassou ]; 12625 }; 12626 }; 12627 12628 sigal = buildPythonPackage rec { 12629 name = "sigal-0.9.2"; 12630 12631 src = pkgs.fetchurl { 12632 url = "http://pypi.python.org/packages/source/s/sigal/${name}.tar.gz"; 12633 sha256 = "0mk3bzaxn9snx9lc0pj9zvgdgdyhkza6b8z5x91772mlv84sfw6c"; 12634 }; 12635 12636 propagatedBuildInputs = with self; [ jinja2 markdown pillow pilkit clint click pytest blinker ]; 12637 12638 meta = { 12639 description = "Yet another simple static gallery generator"; 12640 homepage = http://sigal.saimon.org/en/latest/index.html; 12641 license = licenses.mit; 12642 maintainers = with maintainers; [ iElectric ]; 12643 }; 12644 }; 12645 12646 snowballstemmer = buildPythonPackage rec { 12647 name = "snowballstemmer-1.2.0"; 12648 12649 src = pkgs.fetchurl { 12650 url = "http://pypi.python.org/packages/source/s/snowballstemmer/${name}.tar.gz"; 12651 md5 = "51f2ef829db8129dd0f2354f0b209970"; 12652 }; 12653 12654 propagatedBuildInputs = with self; [ PyStemmer ]; 12655 12656 meta = { 12657 description = "16 stemmer algorithms (15 + Poerter English stemmer) generated from Snowball algorithms"; 12658 homepage = http://sigal.saimon.org/en/latest/index.html; 12659 license = licenses.bsd3; 12660 platforms = platforms.unix; 12661 }; 12662 }; 12663 12664 sqlite3dbm = buildPythonPackage rec { 12665 name = "sqlite3dbm-0.1.4"; 12666 disabled = isPy3k; 12667 12668 src = pkgs.fetchurl { 12669 url = "http://pypi.python.org/packages/source/s/sqlite3dbm/${name}.tar.gz"; 12670 md5 = "fc2f8fb09a4bbc0260b97e835b369184"; 12671 }; 12672 12673 buildInputs = with self; [ modules.sqlite3 ]; 12674 12675 meta = { 12676 description = "sqlite-backed dictionary"; 12677 homepage = "http://github.com/Yelp/sqlite3dbm"; 12678 license = licenses.asl20; 12679 }; 12680 }; 12681 12682 pgpdump = self.buildPythonPackage rec { 12683 name = "pgpdump-1.5"; 12684 12685 src = pkgs.fetchurl { 12686 url = "https://pypi.python.org/packages/source/p/pgpdump/pgpdump-1.5.tar.gz"; 12687 md5 = "040a451c8e63de3e61fc5b66efa7fca5"; 12688 }; 12689 12690 meta = { 12691 description = "Python library for parsing PGP packets"; 12692 homepage = https://github.com/toofishes/python-pgpdump; 12693 license = licenses.bsd3; 12694 }; 12695 }; 12696 12697 spambayes = buildPythonPackage rec { 12698 name = "spambayes-1.1b1"; 12699 12700 src = pkgs.fetchurl { 12701 url = "mirror://sourceforge/spambayes/${name}.tar.gz"; 12702 sha256 = "0kqvjb89b02wp41p650ydfspi1s8d7akx1igcrw62diidqbxp04n"; 12703 }; 12704 12705 propagatedBuildInputs = with self; [ pydns lockfile ]; 12706 12707 meta = { 12708 description = "Statistical anti-spam filter, initially based on the work of Paul Graham"; 12709 homepage = http://spambayes.sourceforge.net/; 12710 }; 12711 }; 12712 12713 shapely = buildPythonPackage rec { 12714 name = "Shapely-1.3.1"; 12715 12716 src = pkgs.fetchurl { 12717 url = "http://pypi.python.org/packages/source/S/Shapely/${name}.tar.gz"; 12718 sha256 = "099sc7ajpp6hbgrx3c0bl6hhkz1mhnr0ahvc7s4i3f3b7q1zfn7l"; 12719 }; 12720 12721 buildInputs = with self; [ pkgs.geos pkgs.glibcLocales ]; 12722 12723 preConfigure = '' 12724 export LANG="en_US.UTF-8"; 12725 ''; 12726 12727 patchPhase = '' 12728 sed -i "s|_lgeos = load_dll('geos_c', fallbacks=.*)|_lgeos = load_dll('geos_c', fallbacks=['${pkgs.geos}/lib/libgeos_c.so'])|" shapely/geos.py 12729 ''; 12730 12731 doCheck = false; # won't suceed for unknown reasons that look harmless, though 12732 12733 meta = { 12734 description = "Geometric objects, predicates, and operations"; 12735 homepage = "https://pypi.python.org/pypi/Shapely/"; 12736 }; 12737 }; 12738 12739 stevedore = buildPythonPackage rec { 12740 name = "stevedore-0.15"; 12741 12742 src = pkgs.fetchurl { 12743 url = "http://pypi.python.org/packages/source/s/stevedore/${name}.tar.gz"; 12744 sha256 = "bec9269cbfa58de4f0849ec79bb7d54eeeed9df8b5fbfa1637fbc68062822847"; 12745 }; 12746 12747 buildInputs = with self; [ pbr pip ] ++ optional isPy26 argparse; 12748 12749 propagatedBuildInputs = with self; [ setuptools ]; 12750 12751 meta = { 12752 description = "Manage dynamic plugins for Python applications"; 12753 homepage = "https://pypi.python.org/pypi/stevedore"; 12754 license = licenses.asl20; 12755 }; 12756 }; 12757 12758 timelib = buildPythonPackage rec { 12759 name = "timelib-0.2.4"; 12760 12761 src = pkgs.fetchurl { 12762 url = "https://pypi.python.org/packages/source/t/timelib/${name}.zip"; 12763 md5 = "400e316f81001ec0842fa9b2cef5ade9"; 12764 }; 12765 12766 buildInputs = with self; [ ]; 12767 12768 meta = { 12769 description = "parse english textual date descriptions"; 12770 homepage = "https://github.com/pediapress/timelib/"; 12771 license = licenses.zlib; 12772 }; 12773 }; 12774 12775 pydns = buildPythonPackage rec { 12776 name = "pydns-2.3.6"; 12777 disabled = isPy3k; 12778 12779 src = pkgs.fetchurl { 12780 url = "https://pypi.python.org/packages/source/p/pydns/${name}.tar.gz"; 12781 sha256 = "0qnv7i9824nb5h9psj0rwzjyprwgfiwh5s5raa9avbqazy5hv5pi"; 12782 }; 12783 12784 doCheck = false; 12785 12786 }; 12787 12788 sympy = buildPythonPackage rec { 12789 name = "sympy-0.7.6"; 12790 disabled = isPy34 || isPyPy; # some tests fail 12791 12792 src = pkgs.fetchurl { 12793 url = "https://pypi.python.org/packages/source/s/sympy/${name}.tar.gz"; 12794 sha256 = "19yp0gy4i7p4g6l3b8vaqkj9qj7yqb5kqy0qgbdagpzgkdz958yz"; 12795 }; 12796 12797 buildInputs = [ pkgs.glibcLocales ]; 12798 12799 preCheck = '' 12800 export LANG="en_US.UTF-8" 12801 ''; 12802 12803 meta = { 12804 description = "A Python library for symbolic mathematics"; 12805 homepage = http://www.sympy.org/; 12806 license = licenses.bsd3; 12807 maintainers = with maintainers; [ lovek323 ]; 12808 platforms = platforms.unix; 12809 }; 12810 }; 12811 12812 pilkit = buildPythonPackage rec { 12813 name = "pilkit-1.1.4"; 12814 12815 src = pkgs.fetchurl { 12816 url = "http://pypi.python.org/packages/source/p/pilkit/${name}.tar.gz"; 12817 md5 = "659dd67440f4b576889f2cd350f43d7b"; 12818 }; 12819 12820 preConfigure = '' 12821 substituteInPlace setup.py --replace 'nose==1.2.1' 'nose' 12822 ''; 12823 12824 # tests fail, see https://github.com/matthewwithanm/pilkit/issues/9 12825 doCheck = false; 12826 12827 buildInputs = with self; [ pillow nose_progressive nose mock blessings ]; 12828 12829 meta = { 12830 maintainers = with maintainers; [ iElectric ]; 12831 }; 12832 }; 12833 12834 clint = buildPythonPackage rec { 12835 name = "clint-0.4.1"; 12836 12837 src = pkgs.fetchurl { 12838 url = "http://pypi.python.org/packages/source/c/clint/${name}.tar.gz"; 12839 md5 = "d0a0952bfcc5f4c5e03c36854665b298"; 12840 }; 12841 12842 checkPhase = '' 12843 nosetests 12844 ''; 12845 12846 buildInputs = with self; [ pillow nose_progressive nose mock blessings nose ]; 12847 12848 meta = { 12849 maintainers = with maintainers; [ iElectric ]; 12850 }; 12851 }; 12852 12853 argh = buildPythonPackage rec { 12854 name = "argh-0.26.1"; 12855 12856 src = pkgs.fetchurl { 12857 url = "http://pypi.python.org/packages/source/a/argh/${name}.tar.gz"; 12858 sha256 = "1nqham81ihffc9xmw85dz3rg3v90rw7h0dp3dy0bh3qkp4n499q6"; 12859 }; 12860 12861 checkPhase = '' 12862 export LANG="en_US.UTF-8" 12863 py.test 12864 ''; 12865 12866 buildInputs = with self; [ pytest py mock pkgs.glibcLocales ]; 12867 12868 meta = { 12869 maintainers = with maintainers; [ iElectric ]; 12870 }; 12871 }; 12872 12873 nose_progressive = buildPythonPackage rec { 12874 name = "nose-progressive-1.3"; 12875 12876 src = pkgs.fetchurl { 12877 url = "http://pypi.python.org/packages/source/n/nose-progressive/${name}.tar.gz"; 12878 md5 = "180be93929c5962044a35489f193259d"; 12879 }; 12880 12881 buildInputs = with self; [ pillow blessings nose ]; 12882 propagatedBuildInputs = with self; [ modules.curses ]; 12883 12884 meta = { 12885 maintainers = with maintainers; [ iElectric ]; 12886 }; 12887 }; 12888 12889 blessings = buildPythonPackage rec { 12890 name = "blessings-1.5.1"; 12891 12892 src = pkgs.fetchurl { 12893 url = "http://pypi.python.org/packages/source/b/blessings/${name}.tar.gz"; 12894 md5 = "fbbddbf20b1f9a13e3fa612b1e086fd8"; 12895 }; 12896 12897 # 4 failing tests 12898 doCheck = false; 12899 12900 buildInputs = with self; [ nose modules.curses ]; 12901 12902 meta = { 12903 maintainers = with maintainers; [ iElectric ]; 12904 }; 12905 }; 12906 12907 semantic = buildPythonPackage rec { 12908 name = "semantic-1.0.3"; 12909 12910 disabled = isPy3k; 12911 12912 propagatedBuildInputs = with self; [ quantities numpy ]; 12913 12914 src = pkgs.fetchurl { 12915 url = "https://pypi.python.org/packages/source/s/semantic/semantic-1.0.3.tar.gz"; 12916 md5 = "78a150190e3e7d0f6f357b4c828e5f0d"; 12917 }; 12918 12919 # strange setuptools error (can not import semantic.test) 12920 doCheck = false; 12921 12922 meta = with pkgs.stdenv.lib; { 12923 description = "Common Natural Language Processing Tasks for Python"; 12924 homepage = https://github.com/crm416/semantic; 12925 license = licenses.mit; 12926 }; 12927 }; 12928 12929 sexpdata = buildPythonPackage rec { 12930 name = "sexpdata-0.0.2"; 12931 src = pkgs.fetchurl { 12932 url = "http://pypi.python.org/packages/source/s/sexpdata/${name}.tar.gz"; 12933 md5 = "efc44265bc27cb3d6ffed4fbf5733fc1"; 12934 }; 12935 12936 doCheck = false; 12937 12938 meta = { 12939 description = "S-expression parser for Python"; 12940 homepage = "https://github.com/tkf/sexpdata"; 12941 }; 12942 }; 12943 12944 12945 sh = buildPythonPackage rec { 12946 name = "sh-1.08"; 12947 12948 src = pkgs.fetchurl { 12949 url = "http://pypi.python.org/packages/source/s/sh/${name}.tar.gz"; 12950 md5 = "4028bcba85daa0aef579ed24261e88a3"; 12951 }; 12952 12953 doCheck = false; 12954 12955 meta = { 12956 description = "Python subprocess interface"; 12957 homepage = http://pypi.python.org/pypi/sh/; 12958 }; 12959 }; 12960 12961 12962 sipsimple = buildPythonPackage rec { 12963 name = "sipsimple-${version}"; 12964 version = "2.5.0"; 12965 disabled = isPy3k; 12966 12967 configurePhase = "find -name 'configure' -exec chmod a+x {} \\; ; find -name 'aconfigure' -exec chmod a+x {} \\; ; ${python}/bin/${python.executable} setup.py build_ext --pjsip-clean-compile"; 12968 12969 src = pkgs.fetchurl { 12970 url = "http://download.ag-projects.com/SipClient/python-${name}.tar.gz"; 12971 sha256 = "1k97pdpqjs5dw7v73082jpqhv6xhlrdy987qbdb9a9zvfiz7q8sj"; 12972 }; 12973 12974 propagatedBuildInputs = with self; [ cython pkgs.openssl dns dateutil xcaplib msrplib lxml ]; 12975 12976 buildInputs = with pkgs; [ alsaLib ffmpeg libv4l pkgconfig sqlite libvpx ]; 12977 12978 installPhase = "${python}/bin/${python.executable} setup.py install --prefix=$out"; 12979 12980 doCheck = false; 12981 }; 12982 12983 12984 six = buildPythonPackage rec { 12985 name = "six-1.9.0"; 12986 12987 src = pkgs.fetchurl { 12988 url = "http://pypi.python.org/packages/source/s/six/${name}.tar.gz"; 12989 sha256 = "1mci5i8mjqmljmv33h0q3d4djc13zk1kfmb3fbvd3yy43x0m4h72"; 12990 }; 12991 12992 # error: invalid command 'test' 12993 doCheck = false; 12994 12995 meta = { 12996 description = "A Python 2 and 3 compatibility library"; 12997 homepage = http://pypi.python.org/pypi/six/; 12998 }; 12999 }; 13000 13001 13002 skype4py = buildPythonPackage (rec { 13003 name = "Skype4Py-1.0.32.0"; 13004 disabled = isPy3k || isPyPy; 13005 13006 src = pkgs.fetchurl { 13007 url = mirror://sourceforge/skype4py/Skype4Py-1.0.32.0.tar.gz; 13008 sha256 = "0cmkrv450wa8v50bng5dflpwkl5c1p9pzysjkb2956w5kvwh6f5b"; 13009 }; 13010 13011 unpackPhase = '' 13012 tar xf $src 13013 find . -type d -exec chmod +rx {} \; 13014 sourceRoot=`pwd`/`ls -d S*` 13015 ''; 13016 13017 # error: invalid command 'test' 13018 doCheck = false; 13019 13020 propagatedBuildInputs = with self; [ pkgs.xlibs.libX11 pkgs.pythonDBus pygobject ]; 13021 13022 meta = { 13023 description = "High-level, platform independent Skype API wrapper for Python"; 13024 13025 # The advertisement says https://developer.skype.com/wiki/Skype4Py 13026 # but that url does not work. This following web page points to the 13027 # download link and has some information about the package. 13028 homepage = http://pypi.python.org/pypi/Skype4Py/1.0.32.0; 13029 13030 license = "BSD"; 13031 }; 13032 }); 13033 13034 smartdc = buildPythonPackage rec { 13035 name = "smartdc-0.1.12"; 13036 13037 src = pkgs.fetchurl { 13038 url = https://pypi.python.org/packages/source/s/smartdc/smartdc-0.1.12.tar.gz; 13039 md5 = "b960f61facafc879142b699050f6d8b4"; 13040 }; 13041 13042 propagatedBuildInputs = with self; [ requests http_signature ]; 13043 13044 meta = { 13045 description = "Joyent SmartDataCenter CloudAPI connector using http-signature authentication via Requests"; 13046 homepage = https://github.com/atl/py-smartdc; 13047 license = licenses.mit; 13048 }; 13049 }; 13050 13051 socksipy-branch = buildPythonPackage rec { 13052 name = "SocksiPy-branch-1.01"; 13053 src = pkgs.fetchurl { 13054 url = https://pypi.python.org/packages/source/S/SocksiPy-branch/SocksiPy-branch-1.01.tar.gz; 13055 sha256 = "01l41v4g7fy9fzvinmjxy6zcbhgqaif8dhdqm4w90fwcw9h51a8p"; 13056 }; 13057 meta = { 13058 homepage = http://code.google.com/p/socksipy-branch/; 13059 description = "This Python module allows you to create TCP connections through a SOCKS proxy without any special effort"; 13060 license = licenses.bsd3; 13061 }; 13062 }; 13063 13064 sorl_thumbnail = buildPythonPackage rec { 13065 name = "sorl-thumbnail-11.12"; 13066 13067 src = pkgs.fetchurl { 13068 url = "https://pypi.python.org/packages/source/s/sorl-thumbnail/${name}.tar.gz"; 13069 sha256 = "050b9kzbx7jvs3qwfxxshhis090hk128maasy8pi5wss6nx5kyw4"; 13070 }; 13071 13072 # Disabled due to an improper configuration error when tested against django. This looks like something broken in the test cases for sorl. 13073 doCheck = false; 13074 13075 meta = { 13076 homepage = http://sorl-thumbnail.readthedocs.org/en/latest/; 13077 description = "Thumbnails for Django"; 13078 license = licenses.bsd3; 13079 }; 13080 }; 13081 13082 supervisor = buildPythonPackage rec { 13083 name = "supervisor-3.1.1"; 13084 13085 disabled = isPy3k; 13086 13087 src = pkgs.fetchurl { 13088 url = "https://pypi.python.org/packages/source/s/supervisor/${name}.tar.gz"; 13089 md5 = "8c9714feaa63902f03871317e3ebf62e"; 13090 }; 13091 13092 buildInputs = with self; [ mock ]; 13093 propagatedBuildInputs = with self; [ meld3 ]; 13094 13095 # failing tests when building under chroot as root user doesn't exist 13096 doCheck = false; 13097 13098 meta = { 13099 description = "A system for controlling process state under UNIX"; 13100 homepage = http://supervisord.org/; 13101 }; 13102 }; 13103 13104 subprocess32 = buildPythonPackage rec { 13105 name = "subprocess32-3.2.6"; 13106 disabled = isPy3k; 13107 13108 src = pkgs.fetchurl { 13109 url = "https://pypi.python.org/packages/source/s/subprocess32/${name}.tar.gz"; 13110 md5 = "754c5ab9f533e764f931136974b618f1"; 13111 }; 13112 13113 buildInputs = [ pkgs.bash ]; 13114 13115 doCheck = !isPyPy; 13116 13117 preConfigure = '' 13118 substituteInPlace test_subprocess32.py \ 13119 --replace '/usr/' '${pkgs.bash}/' 13120 ''; 13121 13122 checkPhase = '' 13123 TMP_PREFIX=`pwd`/tmp/$name 13124 TMP_INSTALL_DIR=$TMP_PREFIX/lib/${pythonPackages.python.libPrefix}/site-packages 13125 PYTHONPATH="$TMP_INSTALL_DIR:$PYTHONPATH" 13126 mkdir -p $TMP_INSTALL_DIR 13127 python setup.py develop --prefix $TMP_PREFIX 13128 python test_subprocess32.py 13129 ''; 13130 13131 meta = { 13132 homepage = https://pypi.python.org/pypi/subprocess32; 13133 description = "Backport of the subprocess module from Python 3.2.5 for use on 2.x"; 13134 maintainers = with maintainers; [ garbas ]; 13135 }; 13136 }; 13137 13138 13139 sphinx = buildPythonPackage (rec { 13140 name = "Sphinx-1.3.1"; 13141 13142 src = pkgs.fetchurl { 13143 url = "http://pypi.python.org/packages/source/S/Sphinx/${name}.tar.gz"; 13144 md5 = "8786a194acf9673464c5455b11fd4332"; 13145 }; 13146 13147 propagatedBuildInputs = with self; [ docutils jinja2 pygments sphinx_rtd_theme alabaster Babel snowballstemmer six ]; 13148 13149 meta = { 13150 description = "A tool that makes it easy to create intelligent and beautiful documentation for Python projects"; 13151 homepage = http://sphinx.pocoo.org/; 13152 license = licenses.bsd3; 13153 platforms = platforms.unix; 13154 }; 13155 }); 13156 13157 13158 sphinx_rtd_theme = buildPythonPackage (rec { 13159 name = "sphinx_rtd_theme-0.1.7"; 13160 13161 src = pkgs.fetchurl { 13162 url = "http://pypi.python.org/packages/source/s/sphinx_rtd_theme/${name}.tar.gz"; 13163 md5 = "3ffe014445195705968d899c38b305fd"; 13164 }; 13165 13166 postPatch = '' 13167 rm requirements.txt 13168 touch requirements.txt 13169 ''; 13170 13171 meta = { 13172 description = "ReadTheDocs.org theme for Sphinx, 2013 version"; 13173 homepage = https://github.com/snide/sphinx_rtd_theme/; 13174 license = licenses.bsd3; 13175 platforms = platforms.unix; 13176 }; 13177 }); 13178 13179 13180 sphinxcontrib_httpdomain = buildPythonPackage (rec { 13181 name = "sphinxcontrib-httpdomain-1.3.0"; 13182 13183 # Check is disabled due to this issue: 13184 # https://bitbucket.org/pypa/setuptools/issue/137/typeerror-unorderable-types-str-nonetype 13185 doCheck = false; 13186 13187 src = pkgs.fetchurl { 13188 url = "https://pypi.python.org/packages/source/s/sphinxcontrib-httpdomain/${name}.tar.gz"; 13189 md5 = "ad7ea42bd4c7c0ee57b1cb25bbf24aab"; 13190 }; 13191 13192 propagatedBuildInputs = with self; [sphinx]; 13193 13194 meta = { 13195 description = "Provides a Sphinx domain for describing RESTful HTTP APIs"; 13196 13197 homepage = http://bitbucket.org/birkenfeld/sphinx-contrib; 13198 13199 license = "BSD"; 13200 }; 13201 }); 13202 13203 13204 sphinxcontrib_plantuml = buildPythonPackage (rec { 13205 name = "sphinxcontrib-plantuml-0.5"; 13206 13207 src = pkgs.fetchurl { 13208 url = "https://pypi.python.org/packages/source/s/sphinxcontrib-plantuml/${name}.tar.gz"; 13209 md5 = "4a8840fe3475a19c2af3fa877ab9d296"; 13210 }; 13211 13212 propagatedBuildInputs = with self; [sphinx plantuml]; 13213 13214 meta = { 13215 description = "Provides a Sphinx domain for embedding UML diagram with PlantUML"; 13216 13217 homepage = http://bitbucket.org/birkenfeld/sphinx-contrib; 13218 13219 license = "BSD"; 13220 }; 13221 }); 13222 13223 13224 sphinx_pypi_upload = buildPythonPackage (rec { 13225 name = "Sphinx-PyPI-upload-0.2.1"; 13226 13227 src = pkgs.fetchurl { 13228 url = "https://pypi.python.org/packages/source/S/Sphinx-PyPI-upload/${name}.tar.gz"; 13229 md5 = "b9f1df5c8443197e4d49abbba1cfddc4"; 13230 }; 13231 13232 meta = { 13233 description = "Setuptools command for uploading Sphinx documentation to PyPI"; 13234 13235 homepage = http://bitbucket.org/jezdez/sphinx-pypi-upload/; 13236 13237 license = "BSD"; 13238 }; 13239 }); 13240 13241 sqlalchemy = self.sqlalchemy9.override rec { 13242 name = "SQLAlchemy-0.7.10"; 13243 disabled = isPy34; 13244 doCheck = !isPyPy; 13245 13246 src = pkgs.fetchurl { 13247 url = "http://pypi.python.org/packages/source/S/SQLAlchemy/${name}.tar.gz"; 13248 sha256 = "0rhxgr85xdhjn467qfs0dkyj8x46zxcv6ad3dfx3w14xbkb3kakp"; 13249 }; 13250 patches = [ 13251 # see https://groups.google.com/forum/#!searchin/sqlalchemy/module$20logging$20handlers/sqlalchemy/ukuGhmQ2p6g/2_dOpBEYdDYJ 13252 # waiting for 0.7.11 release 13253 ../development/python-modules/sqlalchemy-0.7.10-test-failures.patch 13254 ]; 13255 preConfigure = optionalString isPy3k '' 13256 python3 sa2to3.py --no-diffs -w lib test examples 13257 ''; 13258 }; 13259 13260 sqlalchemy8 = self.sqlalchemy9.override rec { 13261 name = "SQLAlchemy-0.8.7"; 13262 disabled = isPy34; 13263 doCheck = !isPyPy; 13264 13265 src = pkgs.fetchurl { 13266 url = "https://pypi.python.org/packages/source/S/SQLAlchemy/${name}.tar.gz"; 13267 md5 = "4f3377306309e46739696721b1785335"; 13268 }; 13269 preConfigure = optionalString isPy3k '' 13270 python3 sa2to3.py --no-diffs -w lib test examples 13271 ''; 13272 }; 13273 13274 sqlalchemy9 = buildPythonPackage rec { 13275 name = "SQLAlchemy-0.9.9"; 13276 13277 disabled = isPyPy; 13278 13279 src = pkgs.fetchurl { 13280 url = "https://pypi.python.org/packages/source/S/SQLAlchemy/${name}.tar.gz"; 13281 sha256 = "14az6hhrz4bgnicz4q373z119zmaf7j5zxl1jfbfl5lix5m1z9bj"; 13282 }; 13283 13284 buildInputs = with self; [ nose mock ] 13285 ++ stdenv.lib.optional doCheck pysqlite; 13286 propagatedBuildInputs = with self; [ modules.sqlite3 ]; 13287 13288 # Test-only dependency pysqlite doesn't build on Python 3. This isn't an 13289 # acceptable reason to make all dependents unavailable on Python 3 as well 13290 doCheck = !isPy3k; 13291 13292 checkPhase = '' 13293 ${python.executable} sqla_nose.py 13294 ''; 13295 13296 meta = { 13297 homepage = http://www.sqlalchemy.org/; 13298 description = "A Python SQL toolkit and Object Relational Mapper"; 13299 }; 13300 }; 13301 13302 sqlalchemy_1_0 = self.sqlalchemy9.override rec { 13303 name = "SQLAlchemy-1.0.6"; 13304 13305 src = pkgs.fetchurl { 13306 url = "https://pypi.python.org/packages/source/S/SQLAlchemy/${name}.tar.gz"; 13307 sha256 = "1wv5kjf142m8g1dnbvgpbqxb8v8rm9lzgsafql2gg229xi5sba4r"; 13308 }; 13309 }; 13310 13311 sqlalchemy_imageattach = buildPythonPackage rec { 13312 name = "SQLAlchemy-ImageAttach-${version}"; 13313 version = "0.8.2"; 13314 disabled = isPy33; 13315 13316 src = pkgs.fetchgit { 13317 url = https://github.com/crosspop/sqlalchemy-imageattach.git; 13318 rev = "refs/tags/${version}"; 13319 md5 = "cffdcde30952176e35fccf385f579dda"; 13320 }; 13321 13322 buildInputs = with self; [ pytest webob pkgs.imagemagick nose ]; 13323 propagatedBuildInputs = with self; [ sqlalchemy8 wand ]; 13324 13325 checkPhase = '' 13326 cd tests 13327 export MAGICK_HOME="${pkgs.imagemagick}" 13328 export PYTHONPATH=$PYTHONPATH:../ 13329 py.test 13330 cd .. 13331 ''; 13332 doCheck = !isPyPy; # failures due to sqla version mismatch 13333 13334 meta = { 13335 homepage = https://github.com/crosspop/sqlalchemy-imageattach; 13336 description = "SQLAlchemy extension for attaching images to entity objects"; 13337 license = licenses.mit; 13338 }; 13339 }; 13340 13341 13342 sqlalchemy_migrate = buildPythonPackage rec { 13343 name = "sqlalchemy-migrate-0.6.1"; 13344 13345 src = pkgs.fetchurl { 13346 url = "http://sqlalchemy-migrate.googlecode.com/files/${name}.tar.gz"; 13347 sha1 = "17168b5fa066bd56fd93f26345525377e8a83d8a"; 13348 }; 13349 13350 buildInputs = with self; [ nose unittest2 scripttest ]; 13351 13352 propagatedBuildInputs = with self; [ tempita decorator sqlalchemy ]; 13353 13354 preCheck = 13355 '' 13356 echo sqlite:///__tmp__ > test_db.cfg 13357 ''; 13358 13359 # Some tests fail with "unexpected keyword argument 'script_path'". 13360 doCheck = false; 13361 13362 meta = { 13363 homepage = http://code.google.com/p/sqlalchemy-migrate/; 13364 description = "Schema migration tools for SQLAlchemy"; 13365 }; 13366 }; 13367 13368 13369 sqlparse = buildPythonPackage rec { 13370 name = "sqlparse-${version}"; 13371 version = "0.1.14"; 13372 13373 src = pkgs.fetchurl { 13374 url = "https://pypi.python.org/packages/source/s/sqlparse/${name}.tar.gz"; 13375 sha256 = "1w6shyh7n139cp636sym0frdyiwybw1m7gd2l4s3d7xbaccf6qg5"; 13376 }; 13377 13378 meta = { 13379 description = "Non-validating SQL parser for Python"; 13380 longDescription = '' 13381 Provides support for parsing, splitting and formatting SQL statements. 13382 ''; 13383 homepage = https://github.com/andialbrecht/sqlparse; 13384 license = licenses.bsd3; 13385 maintainers = with maintainers; [ nckx ]; 13386 }; 13387 }; 13388 13389 python_statsd = buildPythonPackage rec { 13390 name = "python-statsd-${version}"; 13391 version = "1.6.0"; 13392 disabled = isPy3k; # next release will be py3k compatible 13393 13394 src = pkgs.fetchurl { 13395 url = "https://pypi.python.org/packages/source/p/python-statsd/${name}.tar.gz"; 13396 md5 = "3a0c71a160b504b843703c3041c7d7fb"; 13397 }; 13398 13399 buildInputs = with self; [ mock nose coverage ]; 13400 13401 meta = { 13402 description = "A client for Etsy's node-js statsd server"; 13403 homepage = https://github.com/WoLpH/python-statsd; 13404 license = licenses.bsd3; 13405 }; 13406 }; 13407 13408 13409 stompclient = buildPythonPackage (rec { 13410 name = "stompclient-0.3.2"; 13411 disabled = isPy3k; 13412 13413 src = pkgs.fetchurl { 13414 url = "http://pypi.python.org/packages/source/s/stompclient/${name}.tar.gz"; 13415 md5 = "af0a314b6106dd80da24a918c24a1eab"; 13416 }; 13417 13418 buildInputs = with self; [ mock nose ]; 13419 13420 # XXX: Ran 0 tests in 0.217s 13421 13422 meta = { 13423 description = "Lightweight and extensible STOMP messaging client"; 13424 homepage = http://bitbucket.org/hozn/stompclient; 13425 license = licenses.asl20; 13426 }; 13427 }); 13428 13429 subdownloader = buildPythonPackage rec { 13430 version = "2.0.18"; 13431 name = "subdownloader-${version}"; 13432 13433 src = pkgs.fetchurl { 13434 url = "https://launchpad.net/subdownloader/trunk/2.0.18/+download/subdownloader_2.0.18.orig.tar.gz"; 13435 sha256 = "0manlfdpb585niw23ibb8n21mindd1bazp0pnxvmdjrp2mnw97ig"; 13436 }; 13437 13438 propagatedBuildInputs = with self; [ mmpython pyqt4 ]; 13439 13440 setup = '' 13441 import os 13442 import sys 13443 13444 try: 13445 if os.environ.get("NO_SETUPTOOLS"): 13446 raise ImportError() 13447 from setuptools import setup, Extension 13448 SETUPTOOLS = True 13449 except ImportError: 13450 SETUPTOOLS = False 13451 # Use distutils.core as a fallback. 13452 # We won t be able to build the Wheel file on Windows. 13453 from distutils.core import setup, Extension 13454 13455 with open("README") as fp: 13456 long_description = fp.read() 13457 13458 requirements = [ ] 13459 13460 install_options = { 13461 "name": "subdownloader", 13462 "version": "2.0.18", 13463 "description": "Tool for automatic download/upload subtitles for videofiles using fast hashing", 13464 "long_description": long_description, 13465 "url": "http://www.subdownloader.net", 13466 13467 "scripts": ["run.py"], 13468 "packages": ["cli", "FileManagement", "gui", "languages", "modules"], 13469 13470 } 13471 if SETUPTOOLS: 13472 install_options["install_requires"] = requirements 13473 13474 setup(**install_options) 13475 ''; 13476 13477 postUnpack = '' 13478 echo '${setup}' > $sourceRoot/setup.py 13479 ''; 13480 13481 meta = { 13482 description = "Tool for automatic download/upload subtitles for videofiles using fast hashing"; 13483 homepage = http://www.subdownloader.net; 13484 license = licenses.gpl3; 13485 maintainers = with maintainers; [ DamienCassou ]; 13486 }; 13487 }; 13488 13489 subunit = buildPythonPackage rec { 13490 name = pkgs.subunit.name; 13491 src = pkgs.subunit.src; 13492 13493 propagatedBuildInputs = with self; [ testtools testscenarios ]; 13494 13495 meta = pkgs.subunit.meta; 13496 }; 13497 13498 13499 sure = buildPythonPackage rec { 13500 name = "sure-${version}"; 13501 version = "1.2.8"; 13502 13503 preBuild = '' 13504 export LC_ALL="en_US.UTF-8" 13505 ''; 13506 13507 # https://github.com/gabrielfalcao/sure/issues/71 13508 doCheck = !isPy3k; 13509 disabled = isPyPy; 13510 13511 src = pkgs.fetchurl { 13512 url = "http://pypi.python.org/packages/source/s/sure/${name}.tar.gz"; 13513 sha256 = "0pgi9xg00wcw0m1pv5qp7jv53q38yffcmkf2fj1zlfi2b9c3njid"; 13514 }; 13515 13516 buildInputs = with self; [ nose pkgs.glibcLocales ]; 13517 13518 propagatedBuildInputs = with self; [ six mock ]; 13519 13520 meta = { 13521 description = "Utility belt for automated testing"; 13522 homepage = "http://falcao.it/sure/"; 13523 license = licenses.gpl3Plus; 13524 }; 13525 }; 13526 13527 13528 structlog = buildPythonPackage rec { 13529 name = "structlog-0.4.2"; 13530 13531 src = pkgs.fetchurl { 13532 url = "https://pypi.python.org/packages/source/s/structlog/${name}.tar.gz"; 13533 md5 = "062cda36069e8573e00c265f451f899e"; 13534 }; 13535 13536 meta = { 13537 description = "Painless structural logging"; 13538 homepage = http://www.structlog.org/; 13539 license = licenses.asl20; 13540 }; 13541 }; 13542 13543 13544 # XXX: ValueError: ZIP does not support timestamps before 1980 13545 # svneverever = buildPythonPackage rec { 13546 # name = "svneverever-778489a8"; 13547 # 13548 # src = pkgs.fetchgit { 13549 # url = git://git.goodpoint.de/svneverever.git; 13550 # rev = "778489a8c6f07825fb18c9da3892a781c3d659ac"; 13551 # sha256 = "41c9da1dab2be7b60bff87e618befdf5da37c0a56287385cb0cbd3f91e452bb6"; 13552 # }; 13553 # 13554 # propagatedBuildInputs = with self; [ pysvn argparse ]; 13555 # 13556 # doCheck = false; 13557 # }; 13558 13559 targetcli_fb = buildPythonPackage rec { 13560 version = "2.1.fb33"; 13561 name = "targetcli-fb-${version}"; 13562 13563 src = pkgs.fetchurl { 13564 url = "https://github.com/agrover/targetcli-fb/archive/v${version}.tar.gz"; 13565 sha256 = "1zcm0agdpf866020b43fl8zyyyzz6r74mn1sz4xpaa0pinpwjk42"; 13566 }; 13567 13568 propagatedBuildInputs = with self; [ 13569 configshell_fb 13570 rtslib_fb 13571 ]; 13572 13573 meta = { 13574 description = "A command shell for managing the Linux LIO kernel target"; 13575 homepage = "https://github.com/agrover/targetcli-fb"; 13576 platforms = platforms.linux; 13577 }; 13578 }; 13579 13580 syncthing-gtk = buildPythonPackage rec { 13581 version = "0.6.3"; 13582 name = "syncthing-gtk-${version}"; 13583 src = pkgs.fetchFromGitHub { 13584 owner = "syncthing"; 13585 repo = "syncthing-gtk"; 13586 rev = "v${version}"; 13587 sha256 = "1qa5bw2qizjiqvkms8i31wsjf8cw9p0ciamxgfgq6n37wcalv6ms"; 13588 }; 13589 13590 disabled = isPy3k; 13591 13592 propagatedBuildInputs = with self; [ pkgs.syncthing pygobject3 dateutil pkgs.gtk3 pyinotify pkgs.libnotify pkgs.psmisc ]; 13593 13594 patchPhase = '' 13595 substituteInPlace "scripts/syncthing-gtk" \ 13596 --replace "/usr/share" "$out/share" \ 13597 ''; 13598 13599 13600 meta = { 13601 description = " GTK3 & python based GUI for Syncthing "; 13602 maintainers = with maintainers; [ DamienCassou ]; 13603 platforms = pkgs.syncthing.meta.platforms; 13604 homepage = "https://github.com/syncthing/syncthing-gtk"; 13605 license = licenses.gpl2; 13606 }; 13607 }; 13608 13609 tarsnapper = buildPythonPackage rec { 13610 name = "tarsnapper-0.2.1"; 13611 disabled = isPy3k; 13612 13613 src = pkgs.fetchgit { 13614 url = https://github.com/miracle2k/tarsnapper.git; 13615 rev = "620439bca68892f2ffaba1079a34b18496cc6596"; 13616 sha256 = "06pp499qm2dxpja2jgmmq2jrcx3m4nq52x5hhil9r1jxvyiq962p"; 13617 }; 13618 13619 propagatedBuildInputs = with self; [ argparse pyyaml ]; 13620 13621 patches = [ ../development/python-modules/tarsnapper-path.patch ]; 13622 13623 preConfigure = '' 13624 substituteInPlace src/tarsnapper/script.py \ 13625 --replace '@NIXTARSNAPPATH@' '${pkgs.tarsnap}/bin/tarsnap' 13626 ''; 13627 }; 13628 13629 taskcoach = buildPythonPackage rec { 13630 name = "TaskCoach-1.3.22"; 13631 disabled = isPy3k; 13632 13633 src = pkgs.fetchurl { 13634 url = "mirror://sourceforge/taskcoach/${name}.tar.gz"; 13635 sha256 = "1ddx56bqmh347synhgjq625ijv5hqflr0apxg0nl4jqdsqk1zmxh"; 13636 }; 13637 13638 propagatedBuildInputs = with self; [ wxPython ]; 13639 13640 # I don't know why I need to add these libraries. Shouldn't they 13641 # be part of wxPython? 13642 postInstall = '' 13643 libspaths=${pkgs.xlibs.libSM}/lib:${pkgs.xlibs.libXScrnSaver}/lib 13644 wrapProgram $out/bin/taskcoach.py \ 13645 --prefix LD_LIBRARY_PATH : $libspaths 13646 ''; 13647 13648 # error: invalid command 'test' 13649 doCheck = false; 13650 13651 meta = { 13652 homepage = http://taskcoach.org/; 13653 description = "Todo manager to keep track of personal tasks and todo lists"; 13654 license = licenses.gpl3Plus; 13655 }; 13656 }; 13657 13658 taskw = buildPythonPackage rec { 13659 version = "1.0.2"; 13660 name = "taskw-${version}"; 13661 13662 src = pkgs.fetchurl { 13663 url = "https://pypi.python.org/packages/source/t/taskw/${name}.tar.gz"; 13664 sha256 = "0wa2hwplss2r56jrwib6j9sxxm02dz78878975jk9fj10p84w5kr"; 13665 }; 13666 13667 patches = [ ../development/python-modules/taskw/use-template-for-taskwarrior-install-path.patch ]; 13668 postPatch = '' 13669 substituteInPlace taskw/warrior.py \ 13670 --replace '@@taskwarrior@@' '${pkgs.taskwarrior}' 13671 ''; 13672 13673 buildInputs = with self; [ nose pkgs.taskwarrior tox ]; 13674 propagatedBuildInputs = with self; [ six dateutil pytz ]; 13675 13676 meta = { 13677 homepage = http://github.com/ralphbean/taskw; 13678 description = "Python bindings for your taskwarrior database"; 13679 license = licenses.gpl3Plus; 13680 platforms = platforms.all; 13681 maintainers = with maintainers; [ pierron ]; 13682 }; 13683 }; 13684 13685 tempita = buildPythonPackage rec { 13686 version = "0.5.2"; 13687 name = "tempita-${version}"; 13688 13689 src = pkgs.fetchurl { 13690 url = "http://pypi.python.org/packages/source/T/Tempita/Tempita-${version}.tar.gz"; 13691 md5 = "4c2f17bb9d481821c41b6fbee904cea1"; 13692 }; 13693 13694 disabled = isPy3k; 13695 13696 buildInputs = with self; [ nose ]; 13697 13698 meta = { 13699 homepage = http://pythonpaste.org/tempita/; 13700 description = "A very small text templating language"; 13701 }; 13702 }; 13703 13704 terminado = buildPythonPackage rec { 13705 name = "terminado-${version}"; 13706 version = "0.5"; 13707 13708 src = pkgs.fetchurl { 13709 url = "https://pypi.python.org/packages/source/t/terminado/${name}.tar.gz"; 13710 sha256 = "63e893eff1ba84f1ee7c4bfcca7676ba1de6394538bb9aa80cbbc8866cb875b6"; 13711 }; 13712 13713 propagatedBuildInputs = with self; [ ptyprocess tornado ]; 13714 13715 meta = { 13716 description = "Terminals served to term.js using Tornado websockets"; 13717 homepage = https://github.com/takluyver/terminado; 13718 license = licenses.bsd2; 13719 }; 13720 }; 13721 13722 testscenarios = buildPythonPackage rec { 13723 name = "testscenarios-${version}"; 13724 version = "0.4"; 13725 13726 src = pkgs.fetchurl { 13727 url = "https://pypi.python.org/packages/source/t/testscenarios/${name}.tar.gz"; 13728 sha256 = "1671jvrvqlmbnc42j7pc5y6vc37q44aiwrq0zic652pxyy2fxvjg"; 13729 }; 13730 13731 propagatedBuildInputs = with self; [ testtools ]; 13732 13733 meta = { 13734 description = "a pyunit extension for dependency injection"; 13735 homepage = https://pypi.python.org/pypi/testscenarios; 13736 license = licenses.asl20; 13737 }; 13738 }; 13739 13740 13741 testtools = buildPythonPackage rec { 13742 name = "testtools-${version}"; 13743 version = "0.9.34"; 13744 13745 src = pkgs.fetchurl { 13746 url = "https://pypi.python.org/packages/source/t/testtools/${name}.tar.gz"; 13747 sha256 = "0s6sn9h26dif2c9sayf875x622kq8jb2f4qbc6if7gwh2sssgicn"; 13748 }; 13749 13750 propagatedBuildInputs = with self; [ self.python_mimeparse self.extras lxml ]; 13751 13752 meta = { 13753 description = "A set of extensions to the Python standard library's unit testing framework"; 13754 homepage = http://pypi.python.org/pypi/testtools; 13755 license = licenses.mit; 13756 }; 13757 }; 13758 13759 13760 python_mimeparse = buildPythonPackage rec { 13761 name = "python-mimeparse-${version}"; 13762 version = "0.1.4"; 13763 13764 src = pkgs.fetchurl { 13765 url = "https://pypi.python.org/packages/source/p/python-mimeparse/${name}.tar.gz"; 13766 sha256 = "1hyxg09kaj02ri0rmwjqi86wk4nd1akvv7n0dx77azz76wga4s9w"; 13767 }; 13768 13769 # error: invalid command 'test' 13770 doCheck = false; 13771 13772 meta = { 13773 description = "A module provides basic functions for parsing mime-type names and matching them against a list of media-ranges"; 13774 homepage = https://code.google.com/p/mimeparse/; 13775 license = licenses.mit; 13776 }; 13777 }; 13778 13779 13780 extras = buildPythonPackage rec { 13781 name = "extras-${version}"; 13782 version = "0.0.3"; 13783 13784 src = pkgs.fetchurl { 13785 url = "https://pypi.python.org/packages/source/e/extras/extras-${version}.tar.gz"; 13786 sha256 = "1h7zx4dfyclalg0fqnfjijpn0f793a9mx8sy3b27gd31nr6dhq3s"; 13787 }; 13788 13789 # error: invalid command 'test' 13790 doCheck = false; 13791 13792 meta = { 13793 description = "A module provides basic functions for parsing mime-type names and matching them against a list of media-ranges"; 13794 homepage = https://code.google.com/p/mimeparse/; 13795 license = licenses.mit; 13796 }; 13797 }; 13798 13799 texttable = self.buildPythonPackage rec { 13800 name = "texttable-0.8.1"; 13801 13802 src = pkgs.fetchurl { 13803 url = "https://pypi.python.org/packages/source/t/texttable/${name}.tar.gz"; 13804 md5 = "4fe37704f16ecf424b91e122defedd7e"; 13805 }; 13806 13807 meta = { 13808 description = "A module to generate a formatted text table, using ASCII characters"; 13809 homepage = http://foutaise.org/code/; 13810 license = licenses.lgpl2; 13811 }; 13812 }; 13813 13814 tlslite = buildPythonPackage rec { 13815 name = "tlslite-${version}"; 13816 version = "0.4.8"; 13817 13818 src = pkgs.fetchurl { 13819 url = "https://pypi.python.org/packages/source/t/tlslite/${name}.tar.gz"; 13820 sha256 = "1fxx6d3nw5r1hqna1h2jvqhcygn9fyshlm0gh3gp0b1ji824gd6r"; 13821 }; 13822 13823 meta = { 13824 description = "A pure Python implementation of SSL and TLS"; 13825 homepage = https://pypi.python.org/pypi/tlslite; 13826 license = licenses.bsd3; 13827 }; 13828 }; 13829 13830 qrcode = buildPythonPackage rec { 13831 name = "qrcode-${version}"; 13832 version = "5.1"; 13833 13834 src = pkgs.fetchurl { 13835 url = "https://pypi.python.org/packages/source/q/qrcode/${name}.tar.gz"; 13836 sha256 = "0skzrvhjnnacrz52jml4i050vdx5lfcd3np172srxjaghdgfxg9k"; 13837 }; 13838 13839 propagatedBuildInputs = with self; [ six ]; 13840 13841 meta = { 13842 description = "Quick Response code generation for Python"; 13843 home = "https://pypi.python.org/pypi/qrcode"; 13844 license = licenses.bsd3; 13845 }; 13846 }; 13847 13848 tmdb3 = buildPythonPackage rec { 13849 name = "tmdb3-${version}"; 13850 version = "0.6.17"; 13851 13852 src = pkgs.fetchurl { 13853 url = "https://pypi.python.org/packages/source/t/tmdb3/${name}.zip"; 13854 md5 = "cd259427454472164c9a2479504c9cbb"; 13855 }; 13856 13857 meta = { 13858 description = "Python implementation of the v3 API for TheMovieDB.org, allowing access to movie and cast information"; 13859 homepage = http://pypi.python.org/pypi/tmdb3; 13860 license = licenses.bsd3; 13861 }; 13862 }; 13863 13864 toolz = buildPythonPackage rec{ 13865 name = "toolz-${version}"; 13866 version = "0.7.2"; 13867 13868 src = pkgs.fetchurl{ 13869 url = "https://pypi.python.org/packages/source/t/toolz/toolz-${version}.tar.gz"; 13870 md5 = "6f045541a9e7ee755b7b00fced4a7fde"; 13871 }; 13872 13873 meta = { 13874 homepage = "http://github.com/pytoolz/toolz/"; 13875 description = "List processing tools and functional utilities"; 13876 license = "licenses.bsd3"; 13877 }; 13878 }; 13879 13880 tox = buildPythonPackage rec { 13881 name = "tox-1.8.1"; 13882 13883 propagatedBuildInputs = with self; [ py virtualenv ]; 13884 13885 doCheck = false; 13886 13887 src = pkgs.fetchurl { 13888 url = "https://pypi.python.org/packages/source/t/tox/${name}.tar.gz"; 13889 md5 = "c4423cc6512932b37e5b0d1faa87bef2"; 13890 }; 13891 }; 13892 13893 smmap = buildPythonPackage rec { 13894 name = "smmap-0.8.2"; 13895 disabled = isPy3k || isPyPy; # next release will have py3k/pypy support 13896 meta.maintainers = with maintainers; [ mornfall ]; 13897 13898 src = pkgs.fetchurl { 13899 url = "https://pypi.python.org/packages/source/s/smmap/${name}.tar.gz"; 13900 sha256 = "0vrdgr6npmajrv658fv8bij7zgm5jmz2yxkbv8kmbv25q1f9b8ny"; 13901 }; 13902 }; 13903 13904 trac = buildPythonPackage { 13905 name = "trac-1.0.1"; 13906 disabled = isPy3k; 13907 13908 src = pkgs.fetchurl { 13909 url = http://ftp.edgewall.com/pub/trac/Trac-1.0.1.tar.gz; 13910 sha256 = "1nqa95fcnkpyq4jk6az7l7sqgm3b3pjq3bx1n7y4v3bad5jr1m4x"; 13911 }; 13912 13913 # couple of failing tests 13914 doCheck = false; 13915 13916 PYTHON_EGG_CACHE = "`pwd`/.egg-cache"; 13917 13918 propagatedBuildInputs = with self; [ genshi pkgs.setuptools modules.sqlite3 ]; 13919 13920 meta = { 13921 description = "Enhanced wiki and issue tracking system for software development projects"; 13922 13923 license = "BSD"; 13924 }; 13925 }; 13926 13927 traits = buildPythonPackage rec { 13928 name = "traits-${version}"; 13929 version = "4.5.0"; 13930 13931 src = pkgs.fetchurl { 13932 url = "http://pypi.python.org/packages/source/t/traits/${name}.tar.gz"; 13933 md5 = "3ad558eebaedc63c29c80183c0371d2f"; 13934 }; 13935 13936 propagatedBuildInputs = with self; [ numpy ]; 13937 13938 meta = { 13939 description = "explicitly typed attributes for Python"; 13940 homepage = http://pypi.python.org/pypi/traits; 13941 license = "BSD"; 13942 }; 13943 }; 13944 13945 13946 transaction = buildPythonPackage rec { 13947 name = "transaction-${version}"; 13948 version = "1.4.3"; 13949 13950 src = pkgs.fetchurl { 13951 url = "http://pypi.python.org/packages/source/t/transaction/${name}.tar.gz"; 13952 md5 = "b4ca5983c9e3a0808ff5ff7648092c76"; 13953 }; 13954 13955 propagatedBuildInputs = with self; [ zope_interface ]; 13956 13957 meta = { 13958 description = "Transaction management"; 13959 homepage = http://pypi.python.org/pypi/transaction; 13960 license = licenses.zpt20; 13961 }; 13962 }; 13963 13964 transmissionrpc = buildPythonPackage rec { 13965 name = "transmissionrpc-${version}"; 13966 version = "0.11"; 13967 13968 src = pkgs.fetchurl { 13969 url = "https://pypi.python.org/packages/source/t/transmissionrpc/${name}.tar.gz"; 13970 md5 = "b2f918593e509f0e66e2e643291b436d"; 13971 }; 13972 13973 propagatedBuildInputs = with self; [ six ]; 13974 13975 meta = { 13976 description = "Python implementation of the Transmission bittorent client RPC protocol"; 13977 homepage = http://pypi.python.org/pypi/transmissionrpc/; 13978 license = licenses.mit; 13979 }; 13980 }; 13981 13982 eggdeps = buildPythonPackage rec { 13983 name = "eggdeps-${version}"; 13984 version = "0.4"; 13985 13986 src = pkgs.fetchurl { 13987 url = "http://pypi.python.org/packages/source/t/tl.eggdeps/tl.${name}.tar.gz"; 13988 md5 = "2472204a2abd0d8cd4d11ff0fbf36ae7"; 13989 }; 13990 13991 # tests fail, see http://hydra.nixos.org/build/4316603/log/raw 13992 doCheck = false; 13993 13994 propagatedBuildInputs = with self; [ zope_interface zope_testing ]; 13995 meta = { 13996 description = "A tool which computes a dependency graph between active Python eggs"; 13997 homepage = http://thomas-lotze.de/en/software/eggdeps/; 13998 license = licenses.zpt20; 13999 }; 14000 }; 14001 14002 14003 turses = buildPythonPackage (rec { 14004 name = "turses-0.2.23"; 14005 14006 src = pkgs.fetchurl { 14007 url = "http://pypi.python.org/packages/source/t/turses/${name}.tar.gz"; 14008 md5 = "71b9e3ab12d9186798e739b5273d1438"; 14009 }; 14010 14011 propagatedBuildInputs = with self; [ oauth2 urwid tweepy ] ++ optional isPy26 argparse; 14012 14013 #buildInputs = [ tox ]; 14014 # needs tox 14015 doCheck = false; 14016 14017 meta = { 14018 homepage = https://github.com/alejandrogomez/turses; 14019 description = "A Twitter client for the console"; 14020 license = licenses.gpl3; 14021 maintainers = with maintainers; [ garbas ]; 14022 platforms = platforms.linux; 14023 }; 14024 }); 14025 14026 tweepy = buildPythonPackage (rec { 14027 name = "tweepy-2.3.0"; 14028 disabled = isPy3k; 14029 14030 src = pkgs.fetchurl { 14031 url = "http://pypi.python.org/packages/source/t/tweepy/${name}.tar.gz"; 14032 md5 = "065c80d244360988c61d64b5dfb7e229"; 14033 }; 14034 14035 meta = { 14036 homepage = "https://github.com/tweepy/tweepy"; 14037 description = "Twitter library for python"; 14038 license = licenses.mit; 14039 maintainers = with maintainers; [ garbas ]; 14040 platforms = platforms.linux; 14041 }; 14042 }); 14043 14044 twiggy = buildPythonPackage rec { 14045 name = "Twiggy-${version}"; 14046 version = "0.4.5"; 14047 14048 src = pkgs.fetchurl { 14049 url = "https://pypi.python.org/packages/source/T/Twiggy/Twiggy-0.4.5.tar.gz"; 14050 # md5 = "b0dfbbb7f56342e448af4d22a47a339c"; # provided by pypi website. 14051 sha256 = "4e8f1894e5aee522db6cb245ccbfde3c5d1aa08d31330c7e3af783b0e66eec23"; 14052 }; 14053 14054 doCheck = false; 14055 14056 meta = { 14057 homepage = http://twiggy.wearpants.org; 14058 # Taken from http://i.wearpants.org/blog/meet-twiggy/ 14059 description = "Twiggy is the first totally new design for a logger since log4j"; 14060 license = licenses.bsd3; 14061 platforms = platforms.all; 14062 maintainers = with maintainers; [ pierron ]; 14063 }; 14064 }; 14065 14066 twitter = buildPythonPackage rec { 14067 name = "twitter-${version}"; 14068 version = "1.15.0"; 14069 14070 src = pkgs.fetchurl { 14071 url = "https://pypi.python.org/packages/source/t/twitter/${name}.tar.gz"; 14072 sha256 = "1m6b17irb9klc345k8174pni724jzy2973z2x2jg69h83hipjw2c"; 14073 }; 14074 14075 doCheck = false; 14076 14077 meta = { 14078 description = "Twitter API library"; 14079 license = licenses.mit; 14080 maintainers = with maintainers; [ thoughtpolice ]; 14081 }; 14082 }; 14083 14084 twisted = buildPythonPackage rec { 14085 # NOTE: When updating please check if new versions still cause issues 14086 # to packages like carbon (http://stackoverflow.com/questions/19894708/cant-start-carbon-12-04-python-error-importerror-cannot-import-name-daem) 14087 disabled = isPy3k; 14088 14089 name = "Twisted-11.1.0"; 14090 src = pkgs.fetchurl { 14091 url = "https://pypi.python.org/packages/source/T/Twisted/${name}.tar.bz2"; 14092 sha256 = "05agfp17cndhv2w0p559lvknl7nv0xqkg10apc47fm53m8llbfvz"; 14093 }; 14094 14095 propagatedBuildInputs = with self; [ zope_interface ]; 14096 14097 # Generate Twisted's plug-in cache. Twited users must do it as well. See 14098 # http://twistedmatrix.com/documents/current/core/howto/plugin.html#auto3 14099 # and http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=477103 for 14100 # details. 14101 postInstall = "$out/bin/twistd --help > /dev/null"; 14102 14103 meta = { 14104 homepage = http://twistedmatrix.com/; 14105 14106 description = "Twisted, an event-driven networking engine written in Python"; 14107 14108 longDescription = '' 14109 Twisted is an event-driven networking engine written in Python 14110 and licensed under the MIT license. 14111 ''; 14112 14113 license = licenses.mit; 14114 14115 maintainers = [ ]; 14116 }; 14117 }; 14118 14119 tzlocal = buildPythonPackage rec { 14120 name = "tzlocal-1.1.1"; 14121 14122 propagatedBuildInputs = with self; [ pytz ]; 14123 14124 src = pkgs.fetchurl { 14125 url = "https://pypi.python.org/packages/source/t/tzlocal/tzlocal-1.1.1.zip"; 14126 md5 = "56c2a04501b98f2a1188d003fd6d3dba"; 14127 }; 14128 14129 # test fail (timezone test fail) 14130 doCheck = false; 14131 14132 meta = with pkgs.stdenv.lib; { 14133 description = "Tzinfo object for the local timezone"; 14134 homepage = https://github.com/regebro/tzlocal; 14135 license = licenses.cddl; 14136 }; 14137 }; 14138 14139 umemcache = buildPythonPackage rec { 14140 name = "umemcache-${version}"; 14141 version = "1.6.3"; 14142 disabled = isPy3k; 14143 14144 src = pkgs.fetchurl { 14145 url = "https://pypi.python.org/packages/source/u/umemcache/${name}.zip"; 14146 sha256 = "211031a03576b7796bf277dbc9c9e3e754ba066bbb7fb601ab5c6291b8ec1918"; 14147 }; 14148 14149 meta = { 14150 description = "Ultra fast memcache client written in highly optimized C++ with Python bindings"; 14151 homepage = https://github.com/esnme/ultramemcache; 14152 license = licenses.bsdOriginal; 14153 }; 14154 }; 14155 14156 unicodecsv = buildPythonPackage rec { 14157 version = "0.12.0"; 14158 name = "unicodecsv-${version}"; 14159 disabled = isPy3k; 14160 14161 src = pkgs.fetchurl { 14162 url = "https://pypi.python.org/packages/source/u/unicodecsv/${name}.tar.gz"; 14163 sha256 = "012yvwza38bq84z9p8xzlxn7bkz0gf5y2nm5js7cyn766cy53dxh"; 14164 }; 14165 14166 # ImportError: No module named runtests 14167 #buildInputs = with self; [ unittest2 ]; 14168 doCheck = false; 14169 14170 meta = { 14171 description = "Drop-in replacement for Python2's stdlib csv module, with unicode support"; 14172 homepage = https://github.com/jdunck/python-unicodecsv; 14173 maintainers = with maintainers; [ koral ]; 14174 }; 14175 }; 14176 14177 unittest2 = buildPythonPackage rec { 14178 version = "0.5.1"; 14179 name = "unittest2-${version}"; 14180 14181 src = if python.is_py3k or false 14182 then pkgs.fetchurl { 14183 url = "http://pypi.python.org/packages/source/u/unittest2py3k/unittest2py3k-${version}.tar.gz"; 14184 sha256 = "00yl6lskygcrddx5zspkhr0ibgvpknl4678kkm6s626539grq93q"; 14185 } 14186 else pkgs.fetchurl { 14187 url = "http://pypi.python.org/packages/source/u/unittest2/unittest2-${version}.tar.gz"; 14188 md5 = "a0af5cac92bbbfa0c3b0e99571390e0f"; 14189 }; 14190 14191 preConfigure = '' 14192 sed -i 's/unittest2py3k/unittest2/' setup.py 14193 ''; 14194 14195 meta = { 14196 description = "A backport of the new features added to the unittest testing framework in Python 2.7"; 14197 homepage = http://pypi.python.org/pypi/unittest2; 14198 }; 14199 }; 14200 14201 14202 14203 update_checker = pythonPackages.buildPythonPackage rec { 14204 name = "update_checker-0.11"; 14205 14206 src = pkgs.fetchurl { 14207 url = "https://pypi.python.org/packages/source/u/update_checker/update_checker-0.11.tar.gz"; 14208 md5 = "1daa54bac316be6624d7ee77373144bb"; 14209 }; 14210 14211 propagatedBuildInputs = with pythonPackages; [ requests2 ]; 14212 14213 doCheck = false; 14214 14215 meta = { 14216 description = "A python module that will check for package updates"; 14217 homepage = https://github.com/bboe/update_checker; 14218 license = licenses.bsd2; 14219 }; 14220 }; 14221 14222 urlgrabber = buildPythonPackage rec { 14223 name = "urlgrabber-3.9.1"; 14224 disabled = isPy3k; 14225 14226 src = pkgs.fetchurl { 14227 url = "http://urlgrabber.baseurl.org/download/${name}.tar.gz"; 14228 sha256 = "4437076c8708e5754ea04540e46c7f4f233734ee3590bb8a96389264fb0650d0"; 14229 }; 14230 14231 # error: invalid command 'test' 14232 doCheck = false; 14233 14234 propagatedBuildInputs = with self; [ pycurl ]; 14235 14236 meta = { 14237 homepage = "urlgrabber.baseurl.org"; 14238 license = licenses.lgpl2Plus; 14239 description = "Python module for downloading files"; 14240 maintainers = with maintainers; [ qknight ]; 14241 }; 14242 }; 14243 14244 14245 urwid = buildPythonPackage (rec { 14246 name = "urwid-1.3.0"; 14247 14248 # multiple: NameError: name 'evl' is not defined 14249 doCheck = false; 14250 14251 src = pkgs.fetchurl { 14252 url = "https://pypi.python.org/packages/source/u/urwid/${name}.tar.gz"; 14253 md5 = "a989acd54f4ff1a554add464803a9175"; 14254 }; 14255 14256 meta = { 14257 description = "A full-featured console (xterm et al.) user interface library"; 14258 homepage = http://excess.org/urwid; 14259 repositories.git = git://github.com/wardi/urwid.git; 14260 license = licenses.lgpl21; 14261 maintainers = with maintainers; [ garbas ]; 14262 }; 14263 }); 14264 14265 pyuv = buildPythonPackage rec { 14266 name = "pyuv-0.11.5"; 14267 disabled = isPyPy; # see https://github.com/saghul/pyuv/issues/49 14268 14269 src = pkgs.fetchurl { 14270 url = "https://github.com/saghul/pyuv/archive/${name}.tar.gz"; 14271 sha256 = "c251952cb4e54c92ab0e871decd13cf73d11ca5dba9f92962de51d12e3a310a9"; 14272 }; 14273 14274 patches = [ ../development/python-modules/pyuv-external-libuv.patch ]; 14275 14276 buildInputs = with self; [ pkgs.libuvVersions.v0_11_29 ]; 14277 14278 meta = { 14279 description = "Python interface for libuv"; 14280 homepage = https://github.com/saghul/pyuv; 14281 repositories.git = git://github.com/saghul/pyuv.git; 14282 license = licenses.mit; 14283 }; 14284 }; 14285 14286 virtualenv = buildPythonPackage rec { 14287 name = "virtualenv-1.11.6"; 14288 src = pkgs.fetchurl { 14289 url = "http://pypi.python.org/packages/source/v/virtualenv/${name}.tar.gz"; 14290 md5 = "f61cdd983d2c4e6aeabb70b1060d6f49"; 14291 }; 14292 14293 pythonPath = [ self.recursivePthLoader ]; 14294 14295 patches = [ ../development/python-modules/virtualenv-change-prefix.patch ]; 14296 14297 propagatedBuildInputs = with self; [ modules.readline modules.sqlite3 modules.curses ]; 14298 14299 buildInputs = with self; [ mock nose ]; 14300 14301 # XXX: Ran 0 tests in 0.003s 14302 14303 meta = { 14304 description = "a tool to create isolated Python environments"; 14305 homepage = http://www.virtualenv.org; 14306 license = licenses.mit; 14307 maintainers = with maintainers; [ goibhniu ]; 14308 }; 14309 }; 14310 14311 virtualenv-clone = buildPythonPackage rec { 14312 name = "virtualenv-clone-0.2.5"; 14313 14314 src = pkgs.fetchurl { 14315 url = "https://pypi.python.org/packages/source/v/virtualenv-clone/${name}.tar.gz"; 14316 md5 = "23e71d255058b2543d839af7f4ce3208"; 14317 }; 14318 14319 buildInputs = with self; [pytest]; 14320 propagatedBuildInputs = with self; [virtualenv]; 14321 14322 # needs tox to run the tests 14323 doCheck = false; 14324 14325 meta = { 14326 description = "Script to clone virtualenvs"; 14327 license = licenses.mit; 14328 platforms = platforms.all; 14329 }; 14330 }; 14331 14332 virtualenvwrapper = buildPythonPackage (rec { 14333 name = "virtualenvwrapper-4.3"; 14334 14335 src = pkgs.fetchurl { 14336 url = "https://pypi.python.org/packages/source/v/virtualenvwrapper/${name}.tar.gz"; 14337 sha256 = "514cbc22218347bf7b54bdbe49e1a5f550d2d53b1ad2491c10e91ddf48fb528f"; 14338 }; 14339 14340 # pip depend on $HOME setting 14341 preConfigure = "export HOME=$TMPDIR"; 14342 14343 buildInputs = with self; [ pbr pip pkgs.which ]; 14344 propagatedBuildInputs = with self; [ 14345 stevedore 14346 virtualenv 14347 virtualenv-clone 14348 ] ++ optional isPy26 argparse; 14349 14350 patchPhase = '' 14351 for file in "virtualenvwrapper.sh" "virtualenvwrapper_lazy.sh"; do 14352 substituteInPlace "$file" --replace "which" "${pkgs.which}/bin/which" 14353 14354 # We can't set PYTHONPATH in a normal way (like exporting in a wrapper 14355 # script) because the user has to evaluate the script and we don't want 14356 # modify the global PYTHONPATH which would affect the user's 14357 # environment. 14358 # Furthermore it isn't possible to just use VIRTUALENVWRAPPER_PYTHON 14359 # for this workaround, because this variable is well quoted inside the 14360 # shell script. 14361 # (the trailing " -" is required to only replace things like these one: 14362 # "$VIRTUALENVWRAPPER_PYTHON" -c "import os,[...] and not in 14363 # if-statements or anything like that. 14364 # ...and yes, this "patch" is hacky :) 14365 substituteInPlace "$file" --replace '"$VIRTUALENVWRAPPER_PYTHON" -' 'env PYTHONPATH="$VIRTUALENVWRAPPER_PYTHONPATH" "$VIRTUALENVWRAPPER_PYTHON" -' 14366 done 14367 ''; 14368 14369 postInstall = '' 14370 # This might look like a dirty hack but we can't use the makeWrapper function because 14371 # the wrapped file were then called via "exec". The virtualenvwrapper shell scripts 14372 # aren't normal executables. Instead, the user has to evaluate them. 14373 14374 for file in "virtualenvwrapper.sh" "virtualenvwrapper_lazy.sh"; do 14375 local wrapper="$out/bin/$file" 14376 local wrapped="$out/bin/.$file-wrapped" 14377 mv "$wrapper" "$wrapped" 14378 14379 cat > "$wrapper" <<- EOF 14380 export PATH="$PATH:\$PATH" 14381 export VIRTUALENVWRAPPER_PYTHONPATH="$PYTHONPATH:$(toPythonPath $out)" 14382 source "$wrapped" 14383 EOF 14384 14385 chmod -x "$wrapped" 14386 chmod +x "$wrapper" 14387 done 14388 ''; 14389 14390 meta = { 14391 description = "Enhancements to virtualenv"; 14392 homepage = "https://pypi.python.org/pypi/virtualenvwrapper"; 14393 license = licenses.mit; 14394 }; 14395 }); 14396 14397 vultr = buildPythonPackage rec { 14398 version = "0.1.2"; 14399 name = "vultr-${version}"; 14400 14401 src = pkgs.fetchFromGitHub { 14402 owner = "spry-group"; 14403 repo = "python-vultr"; 14404 rev = "${version}"; 14405 sha256 = "1qjvvr2v9gfnwskdl0ayazpcmiyw9zlgnijnhgq9mcri5gq9jw5h"; 14406 }; 14407 14408 propagatedBuildInputs = with self; [ requests2 ]; 14409 14410 # Tests disabled. They fail because they try to access the network 14411 doCheck = false; 14412 14413 meta = { 14414 description = "Vultr.com API Client"; 14415 homepage = "https://github.com/spry-group/python-vultr"; 14416 license = licenses.mit; 14417 maintainers = with maintainers; [ lihop ]; 14418 platforms = platforms.all; 14419 }; 14420 }; 14421 14422 waitress = buildPythonPackage rec { 14423 name = "waitress-0.8.9"; 14424 14425 src = pkgs.fetchurl { 14426 url = "http://pypi.python.org/packages/source/w/waitress/${name}.tar.gz"; 14427 md5 = "da3f2e62b3676be5dd630703a68e2a04"; 14428 }; 14429 14430 doCheck = false; 14431 14432 meta = { 14433 maintainers = with maintainers; [ garbas iElectric ]; 14434 platforms = platforms.all; 14435 }; 14436 }; 14437 14438 14439 webcolors = buildPythonPackage rec { 14440 name = "webcolors-1.4"; 14441 14442 src = pkgs.fetchurl { 14443 url = "https://pypi.python.org/packages/source/w/webcolors/${name}.tar.gz"; 14444 md5 = "35de9d785b5c04a9cc66a2eae0519254"; 14445 }; 14446 14447 # error: invalid command 'test' 14448 doCheck = false; 14449 14450 meta = { 14451 description = "Library for working with color names/values defined by the HTML and CSS specifications"; 14452 homepage = https://bitbucket.org/ubernostrum/webcolors/overview/; 14453 license = licenses.bsd3; 14454 platforms = platforms.linux; 14455 }; 14456 }; 14457 14458 14459 wand = buildPythonPackage rec { 14460 name = "Wand-0.3.5"; 14461 14462 src = pkgs.fetchurl { 14463 url = "https://pypi.python.org/packages/source/W/Wand/${name}.tar.gz"; 14464 md5 = "10bab03bf86ce8da2a95a3b15197ae2e"; 14465 }; 14466 14467 buildInputs = with self; [ pkgs.imagemagick pytest psutil memory_profiler pytest_xdist ]; 14468 14469 meta = { 14470 description = "Ctypes-based simple MagickWand API binding for Python"; 14471 homepage = http://wand-py.org/; 14472 platforms = platforms.all; 14473 }; 14474 }; 14475 14476 14477 wcwidth = buildPythonPackage rec { 14478 name = "wcwidth-${version}"; 14479 version = "0.1.4"; 14480 14481 src = pkgs.fetchurl { 14482 url = "https://pypi.python.org/packages/source/w/wcwidth/${name}.tar.gz"; 14483 sha256 = "0awx28xi938nv55qlmai3b5ddqd1w5c294gy95xh4xsx0hik2vch"; 14484 }; 14485 14486 # Checks fail due to missing tox.ini file: 14487 doCheck = false; 14488 14489 meta = { 14490 description = "Measures number of Terminal column cells of wide-character codes"; 14491 longDescription = '' 14492 This API is mainly for Terminal Emulator implementors -- any Python 14493 program that attempts to determine the printable width of a string on 14494 a Terminal. It is implemented in python (no C library calls) and has 14495 no 3rd-party dependencies. 14496 ''; 14497 homepage = https://github.com/jquast/wcwidth; 14498 license = licenses.mit; 14499 maintainers = with maintainers; [ nckx ]; 14500 }; 14501 }; 14502 14503 webob = buildPythonPackage rec { 14504 version = "1.4"; 14505 name = "webob-${version}"; 14506 14507 src = pkgs.fetchurl { 14508 url = "http://pypi.python.org/packages/source/W/WebOb/WebOb-${version}.tar.gz"; 14509 md5 = "8437607c0cc00c35f658f972516ffb55"; 14510 }; 14511 14512 propagatedBuildInputs = with self; [ nose ]; 14513 14514 meta = { 14515 description = "WSGI request and response object"; 14516 homepage = http://pythonpaste.org/webob/; 14517 platforms = platforms.all; 14518 }; 14519 }; 14520 14521 14522 websockify = buildPythonPackage rec { 14523 version = "0.3.0"; 14524 name = "websockify-${version}"; 14525 14526 src = pkgs.fetchurl { 14527 url = "http://pypi.python.org/packages/source/w/websockify/websockify-${version}.tar.gz"; 14528 md5 = "29b6549d3421907de4bbd881ecc2e1b1"; 14529 }; 14530 14531 propagatedBuildInputs = with self; [ numpy ]; 14532 14533 meta = { 14534 description = "WebSockets support for any application/server"; 14535 homepage = https://github.com/kanaka/websockify; 14536 }; 14537 }; 14538 14539 14540 webtest = buildPythonPackage rec { 14541 version = "2.0.15"; 14542 name = "webtest-${version}"; 14543 14544 src = pkgs.fetchurl { 14545 url = "http://pypi.python.org/packages/source/W/WebTest/WebTest-${version}.zip"; 14546 md5 = "49314bdba23f4d0bd807facb2a6d3f90"; 14547 }; 14548 14549 preConfigure = '' 14550 substituteInPlace setup.py --replace "nose<1.3.0" "nose" 14551 ''; 14552 14553 # XXX: skipping two tests fails in python2.6 14554 doCheck = ! isPy26; 14555 14556 buildInputs = with self; optionals isPy26 [ ordereddict unittest2 ]; 14557 14558 propagatedBuildInputs = with self; [ 14559 nose 14560 webob 14561 six 14562 beautifulsoup4 14563 waitress 14564 mock 14565 pyquery 14566 wsgiproxy2 14567 paste_deploy 14568 coverage 14569 ]; 14570 14571 meta = { 14572 description = "Helper to test WSGI applications"; 14573 homepage = http://webtest.readthedocs.org/en/latest/; 14574 platforms = platforms.all; 14575 }; 14576 }; 14577 14578 14579 werkzeug = buildPythonPackage rec { 14580 name = "Werkzeug-0.9.6"; 14581 14582 src = pkgs.fetchurl { 14583 url = "http://pypi.python.org/packages/source/W/Werkzeug/${name}.tar.gz"; 14584 md5 = "f7afcadc03b0f2267bdc156c34586043"; 14585 }; 14586 14587 propagatedBuildInputs = with self; [ itsdangerous ]; 14588 14589 doCheck = false; # tests fail, not sure why 14590 14591 meta = { 14592 homepage = http://werkzeug.pocoo.org/; 14593 description = "A WSGI utility library for Python"; 14594 license = "BSD"; 14595 }; 14596 }; 14597 14598 14599 14600 willie = pythonPackages.buildPythonPackage rec { 14601 name = "willie-5.2.0"; 14602 14603 src = pkgs.fetchurl { 14604 url = "https://pypi.python.org/packages/source/w/willie/willie-5.2.0.tar.gz"; 14605 md5 = "a19f8c34e10e3c2d0d915c894224e521"; 14606 }; 14607 14608 propagatedBuildInputs = with pythonPackages; [ feedparser pytz lxml praw pyenchant pygeoip backports_ssl_match_hostname_3_4_0_2 ]; 14609 14610 meta = { 14611 description = "A simple, lightweight, open source, easy-to-use IRC utility bot, written in Python"; 14612 homepage = http://willie.dftba.net/; 14613 license = licenses.efl20; 14614 }; 14615 }; 14616 14617 wokkel = buildPythonPackage (rec { 14618 url = "http://wokkel.ik.nu/releases/0.7.0/wokkel-0.7.0.tar.gz"; 14619 name = nameFromURL url ".tar"; 14620 src = pkgs.fetchurl { 14621 inherit url; 14622 sha256 = "0rnshrzw8605x05mpd8ndrx3ri8h6cx713mp8sl4f04f4gcrz8ml"; 14623 }; 14624 14625 propagatedBuildInputs = with self; [twisted dateutil]; 14626 14627 meta = { 14628 description = "Some (mainly XMPP-related) additions to twisted"; 14629 homepage = "http://wokkel.ik.nu/"; 14630 license = licenses.mit; 14631 }; 14632 }); 14633 14634 14635 wsgiproxy2 = buildPythonPackage rec { 14636 name = "WSGIProxy2-0.1"; 14637 14638 src = pkgs.fetchurl { 14639 url = "http://pypi.python.org/packages/source/W/WSGIProxy2/${name}.tar.gz"; 14640 md5 = "157049212f1c81a8790efa31146fbabf"; 14641 }; 14642 14643 propagatedBuildInputs = with self; [ six webob ]; 14644 14645 meta = { 14646 maintainers = with maintainers; [ garbas iElectric ]; 14647 platforms = platforms.all; 14648 }; 14649 }; 14650 14651 wxPython = self.wxPython28; 14652 14653 wxPython28 = callPackage ../development/python-modules/wxPython/2.8.nix { 14654 wxGTK = pkgs.wxGTK28; 14655 }; 14656 14657 wxPython30 = callPackage ../development/python-modules/wxPython/3.0.nix { 14658 wxGTK = pkgs.wxGTK30; 14659 }; 14660 14661 xcaplib = buildPythonPackage rec { 14662 name = "python-xcaplib-${version}"; 14663 version = "1.1.0"; 14664 14665 src = pkgs.fetchurl { 14666 url = "http://download.ag-projects.com/XCAP/${name}.tar.gz"; 14667 sha256 = "2f8ea6fe7d005104ef1d854aa87bd8ee85ca242a70cde42f409f8e5557f864b3"; 14668 }; 14669 14670 propagatedBuildInputs = with self; [ eventlib application ]; 14671 }; 14672 14673 xe = buildPythonPackage rec { 14674 url = "http://www.blarg.net/%7Esteveha/xe-0.7.4.tar.gz"; 14675 name = stdenv.lib.nameFromURL url ".tar"; 14676 src = pkgs.fetchurl { 14677 inherit url; 14678 sha256 = "0v9878cl0y9cczdsr6xjy8v9l139lc23h4m5f86p4kpf2wlnpi42"; 14679 }; 14680 14681 # error: invalid command 'test' 14682 doCheck = false; 14683 14684 meta = { 14685 homepage = "http://home.blarg.net/~steveha/xe.html"; 14686 description = "XML elements"; 14687 }; 14688 }; 14689 14690 xlib = buildPythonPackage (rec { 14691 name = "xlib-0.15rc1"; 14692 14693 src = pkgs.fetchurl { 14694 url = "mirror://sourceforge/python-xlib/python-${name}.tar.bz2"; 14695 sha256 = "0mvzz605pxzj7lfp2w6z4qglmr4rjza9xrb7sl8yn12cklzfky0m"; 14696 }; 14697 14698 # Tests require `pyutil' so disable them to avoid circular references. 14699 doCheck = false; 14700 14701 propagatedBuildInputs = with self; [ pkgs.xlibs.libX11 ]; 14702 14703 meta = { 14704 description = "Fully functional X client library for Python programs"; 14705 14706 homepage = http://python-xlib.sourceforge.net/; 14707 14708 license = licenses.gpl2Plus; 14709 }; 14710 }); 14711 14712 xmltodict = buildPythonPackage (rec { 14713 name = "xmltodict-0.9.2"; 14714 14715 src = pkgs.fetchurl { 14716 url = "http://pypi.python.org/packages/source/x/xmltodict/${name}.tar.gz"; 14717 sha256 = "00crqnjh1kbvcgfnn3b8c7vq30lf4ykkxp1xf3pf7mswr5l1wp97"; 14718 }; 14719 14720 buildInputs = with self; [ coverage nose ]; 14721 14722 meta = { 14723 description = "Makes working with XML feel like you are working with JSON"; 14724 homepage = https://github.com/martinblech/xmltodict; 14725 license = licenses.mit; 14726 }; 14727 }); 14728 14729 youtube-dl = callPackage ../tools/misc/youtube-dl { 14730 # Release versions don't need pandoc because the formatted man page 14731 # is included in the tarball. 14732 pandoc = null; 14733 }; 14734 14735 youtube-dl-light = callPackage ../tools/misc/youtube-dl { 14736 # Release versions don't need pandoc because the formatted man page 14737 # is included in the tarball. 14738 ffmpeg = null; 14739 pandoc = null; 14740 }; 14741 14742 zbase32 = buildPythonPackage (rec { 14743 name = "zbase32-1.1.2"; 14744 14745 src = pkgs.fetchurl { 14746 url = "http://pypi.python.org/packages/source/z/zbase32/${name}.tar.gz"; 14747 sha256 = "2f44b338f750bd37b56e7887591bf2f1965bfa79f163b6afcbccf28da642ec56"; 14748 }; 14749 14750 # Tests require `pyutil' so disable them to avoid circular references. 14751 doCheck = false; 14752 14753 buildInputs = with self; [ setuptoolsDarcs ]; 14754 14755 meta = { 14756 description = "zbase32, a base32 encoder/decoder"; 14757 14758 homepage = http://pypi.python.org/pypi/zbase32; 14759 14760 license = "BSD"; 14761 }; 14762 }); 14763 14764 14765 zconfig = buildPythonPackage rec { 14766 name = "zconfig-${version}"; 14767 version = "3.0.3"; 14768 14769 src = pkgs.fetchurl { 14770 url = "http://pypi.python.org/packages/source/Z/ZConfig/ZConfig-${version}.tar.gz"; 14771 md5 = "60a107c5857c3877368dfe5930559804"; 14772 }; 14773 14774 propagatedBuildInputs = with self; [ zope_testrunner ]; 14775 14776 meta = { 14777 description = "Structured Configuration Library"; 14778 homepage = http://pypi.python.org/pypi/ZConfig; 14779 license = licenses.zpt20; 14780 maintainers = with maintainers; [ goibhniu ]; 14781 }; 14782 }; 14783 14784 14785 zc_lockfile = buildPythonPackage rec { 14786 name = "zc.lockfile-${version}"; 14787 version = "1.0.2"; 14788 14789 src = pkgs.fetchurl { 14790 url = "http://pypi.python.org/packages/source/z/zc.lockfile/${name}.tar.gz"; 14791 md5 = "f099d4cf2583a0c7bea0146a44dc4d59"; 14792 }; 14793 14794 meta = { 14795 description = "Inter-process locks"; 14796 homepage = http://www.python.org/pypi/zc.lockfile; 14797 license = licenses.zpt20; 14798 maintainers = with maintainers; [ goibhniu ]; 14799 }; 14800 }; 14801 14802 14803 zdaemon = buildPythonPackage rec { 14804 name = "zdaemon-${version}"; 14805 version = "4.0.0"; 14806 14807 src = pkgs.fetchurl { 14808 url = "http://pypi.python.org/packages/source/z/zdaemon/${name}.tar.gz"; 14809 md5 = "4056e2ea35855695ed15389d9c168b92"; 14810 }; 14811 14812 propagatedBuildInputs = [ self.zconfig ]; 14813 14814 # too many deps.. 14815 doCheck = false; 14816 14817 meta = { 14818 description = "A daemon process control library and tools for Unix-based systems"; 14819 homepage = http://pypi.python.org/pypi/zdaemon; 14820 license = licenses.zpt20; 14821 maintainers = with maintainers; [ goibhniu ]; 14822 }; 14823 }; 14824 14825 14826 zfec = buildPythonPackage (rec { 14827 name = "zfec-1.4.24"; 14828 disabled = isPyPy; 14829 14830 src = pkgs.fetchurl { 14831 url = "http://pypi.python.org/packages/source/z/zfec/${name}.tar.gz"; 14832 sha256 = "1ks94zlpy7n8sb8380gf90gx85qy0p9073wi1wngg6mccxp9xsg3"; 14833 }; 14834 14835 buildInputs = with self; [ setuptoolsDarcs ]; 14836 propagatedBuildInputs = with self; [ pyutil argparse ]; 14837 14838 meta = { 14839 homepage = http://allmydata.org/trac/zfec; 14840 14841 description = "Zfec, a fast erasure codec which can be used with the command-line, C, Python, or Haskell"; 14842 14843 longDescription = '' 14844 Fast, portable, programmable erasure coding a.k.a. "forward 14845 error correction": the generation of redundant blocks of 14846 information such that if some blocks are lost then the 14847 original data can be recovered from the remaining blocks. The 14848 zfec package includes command-line tools, C API, Python API, 14849 and Haskell API. 14850 ''; 14851 14852 license = licenses.gpl2Plus; 14853 }; 14854 }); 14855 14856 zodb3 = buildPythonPackage rec { 14857 name = "zodb3-${version}"; 14858 version = "3.11.0"; 14859 disabled = isPyPy; 14860 14861 src = pkgs.fetchurl { 14862 url = "http://pypi.python.org/packages/source/Z/ZODB3/ZODB3-${version}.tar.gz"; 14863 md5 = "21975c1609296e7834e8cf4025af3039"; 14864 }; 14865 14866 propagatedBuildInputs = with self; [ manuel transaction zc_lockfile zconfig zdaemon zope_interface zope_event BTrees persistent ZEO ]; 14867 14868 meta = { 14869 description = "An object-oriented database for Python"; 14870 homepage = http://pypi.python.org/pypi/ZODB3; 14871 license = licenses.zpt20; 14872 maintainers = with maintainers; [ goibhniu ]; 14873 }; 14874 }; 14875 14876 zodb = buildPythonPackage rec { 14877 name = "zodb-${version}"; 14878 disabled = isPyPy; 14879 14880 version = "4.0.1"; 14881 14882 src = pkgs.fetchurl { 14883 url = "http://pypi.python.org/packages/source/Z/ZODB/ZODB-${version}.tar.gz"; 14884 md5 = "092d787524b095164231742c96b32f50"; 14885 }; 14886 14887 propagatedBuildInputs = with self; [ manuel transaction zc_lockfile zconfig zdaemon zope_interface persistent BTrees ] 14888 ++ optionals isPy3k [ zodbpickle ]; 14889 14890 preCheck = if isPy3k then '' 14891 # test failure on py3.4 14892 rm src/ZODB/tests/testDB.py 14893 '' else ""; 14894 14895 meta = { 14896 description = "An object-oriented database for Python"; 14897 homepage = http://pypi.python.org/pypi/ZODB; 14898 license = licenses.zpt20; 14899 maintainers = with maintainers; [ goibhniu ]; 14900 }; 14901 }; 14902 14903 zodbpickle = self.buildPythonPackage rec { 14904 name = "zodbpickle-0.5.2"; 14905 disabled = isPyPy; # https://github.com/zopefoundation/zodbpickle/issues/10 14906 14907 src = pkgs.fetchurl { 14908 url = "https://pypi.python.org/packages/source/z/zodbpickle/${name}.tar.gz"; 14909 md5 = "d401bd89f99ec8d56c22493e6f8c0443"; 14910 }; 14911 14912 # fails.. 14913 doCheck = false; 14914 14915 meta = { 14916 homepage = http://pypi.python.org/pypi/zodbpickle; 14917 }; 14918 }; 14919 14920 14921 BTrees = self.buildPythonPackage rec { 14922 name = "BTrees-4.0.8"; 14923 14924 patches = [ ./../development/python-modules/btrees_interger_overflow.patch ]; 14925 14926 propagatedBuildInputs = with self; [ persistent zope_interface transaction ]; 14927 14928 src = pkgs.fetchurl { 14929 url = "https://pypi.python.org/packages/source/B/BTrees/${name}.tar.gz"; 14930 md5 = "7f5df4cf8dd50fb0c584c0929a406c92"; 14931 }; 14932 14933 meta = { 14934 description = "scalable persistent components"; 14935 homepage = http://packages.python.org/BTrees; 14936 }; 14937 }; 14938 14939 14940 persistent = self.buildPythonPackage rec { 14941 name = "persistent-4.0.8"; 14942 14943 propagatedBuildInputs = with self; [ zope_interface ]; 14944 14945 src = pkgs.fetchurl { 14946 url = "https://pypi.python.org/packages/source/p/persistent/${name}.tar.gz"; 14947 md5 = "2942f1ca7764b1bef8d48fa0d9a236b7"; 14948 }; 14949 14950 meta = { 14951 description = "automatic persistence for Python objects"; 14952 homepage = http://www.zope.org/Products/ZODB; 14953 }; 14954 }; 14955 14956 xdot = buildPythonPackage rec { 14957 name = "xdot-0.6"; 14958 14959 src = pkgs.fetchurl { 14960 url = "https://pypi.python.org/packages/source/x/xdot/xdot-0.6.tar.gz"; 14961 md5 = "a8e5fc5208657b03ad1bd4c46de75724"; 14962 }; 14963 14964 propagatedBuildInputs = with self; [ pygtk pygobject pkgs.graphviz ]; 14965 14966 meta = { 14967 description = "xdot.py is an interactive viewer for graphs written in Graphviz's dot"; 14968 homepage = https://github.com/jrfonseca/xdot.py; 14969 license = licenses.lgpl3Plus; 14970 }; 14971 }; 14972 14973 zope_broken = buildPythonPackage rec { 14974 name = "zope.broken-3.6.0"; 14975 14976 src = pkgs.fetchurl { 14977 url = "http://pypi.python.org/packages/source/z/zope.broken/${name}.zip"; 14978 md5 = "eff24d7918099a3e899ee63a9c31bee6"; 14979 }; 14980 14981 buildInputs = with self; [ zope_interface ]; 14982 14983 meta = { 14984 maintainers = with maintainers; [ goibhniu ]; 14985 }; 14986 }; 14987 14988 14989 zope_browser = buildPythonPackage rec { 14990 name = "zope.browser-2.0.2"; 14991 14992 src = pkgs.fetchurl { 14993 url = "http://pypi.python.org/packages/source/z/zope.browser/${name}.zip"; 14994 sha256 = "0f9r5rn9lzgi4hvkhgb6vgw8kpz9sv16jsfb9ws4am8gbqcgv2iy"; 14995 }; 14996 14997 propagatedBuildInputs = with self; [ zope_interface ]; 14998 14999 meta = { 15000 maintainers = with maintainers; [ goibhniu ]; 15001 }; 15002 }; 15003 15004 zope_browserresource = buildPythonPackage rec { 15005 name = "zope.browserresource-4.0.1"; 15006 15007 propagatedBuildInputs = with self; [ 15008 zope_component zope_configuration zope_contenttype zope_i18n 15009 zope_interface zope_location zope_publisher zope_schema zope_traversing 15010 ]; 15011 15012 # all tests fail 15013 doCheck = false; 15014 15015 src = pkgs.fetchurl { 15016 url = "https://pypi.python.org/packages/source/z/zope.browserresource/zope.browserresource-4.0.1.zip"; 15017 md5 = "81bbe92c1f04725561470f89d73222c5"; 15018 }; 15019 }; 15020 15021 15022 15023 zope_component = buildPythonPackage rec { 15024 name = "zope.component-4.2.1"; 15025 15026 src = pkgs.fetchurl { 15027 url = "http://pypi.python.org/packages/source/z/zope.component/zope.component-4.2.1.tar.gz"; 15028 sha256 = "1gzbr0j6c2h0cqnpi2cjss38wrz1bcwx8xahl3vykgz5laid15l6"; 15029 }; 15030 15031 propagatedBuildInputs = with self; [ 15032 zope_configuration zope_event zope_i18nmessageid zope_interface 15033 zope_testing 15034 ]; 15035 15036 # ignore tests because of a circular dependency on zope_security 15037 doCheck = false; 15038 15039 meta = { 15040 maintainers = with maintainers; [ goibhniu ]; 15041 }; 15042 }; 15043 15044 15045 zope_configuration = buildPythonPackage rec { 15046 name = "zope.configuration-4.0.3"; 15047 15048 src = pkgs.fetchurl { 15049 url = "http://pypi.python.org/packages/source/z/zope.configuration/zope.configuration-4.0.3.tar.gz"; 15050 sha256 = "1x9dfqypgympnlm25p9m43xh4qv3p7d75vksv9pzqibrb4cggw5n"; 15051 }; 15052 15053 propagatedBuildInputs = with self; [ zope_i18nmessageid zope_schema ]; 15054 15055 meta = { 15056 maintainers = with maintainers; [ goibhniu ]; 15057 }; 15058 }; 15059 15060 15061 zope_container = buildPythonPackage rec { 15062 name = "zope.container-4.0.0"; 15063 15064 src = pkgs.fetchurl { 15065 url = "http://pypi.python.org/packages/source/z/zope.container/${name}.tar.gz"; 15066 md5 = "b24d2303ece65a2d9ce23a5bd074c335"; 15067 }; 15068 15069 # a test is failing 15070 doCheck = false; 15071 15072 propagatedBuildInputs = with self; [ 15073 zodb3 zope_broken zope_dottedname zope_publisher 15074 zope_filerepresentation zope_lifecycleevent zope_size 15075 zope_traversing 15076 ]; 15077 15078 meta = { 15079 maintainers = with maintainers; [ goibhniu ]; 15080 }; 15081 }; 15082 15083 15084 zope_contenttype = buildPythonPackage rec { 15085 name = "zope.contenttype-4.0.1"; 15086 15087 src = pkgs.fetchurl { 15088 url = "http://pypi.python.org/packages/source/z/zope.contenttype/${name}.tar.gz"; 15089 md5 = "171be44753e86742da8c81b3ad008ce0"; 15090 }; 15091 15092 meta = { 15093 maintainers = with maintainers; [ goibhniu ]; 15094 }; 15095 }; 15096 15097 15098 zope_dottedname = buildPythonPackage rec { 15099 name = "zope.dottedname-3.4.6"; 15100 15101 src = pkgs.fetchurl { 15102 url = "http://pypi.python.org/packages/source/z/zope.dottedname/${name}.tar.gz"; 15103 md5 = "62d639f75b31d2d864fe5982cb23959c"; 15104 }; 15105 meta = { 15106 maintainers = with maintainers; [ goibhniu ]; 15107 }; 15108 }; 15109 15110 15111 zope_event = buildPythonPackage rec { 15112 name = "zope.event-${version}"; 15113 version = "4.0.3"; 15114 15115 src = pkgs.fetchurl { 15116 url = "http://pypi.python.org/packages/source/z/zope.event/${name}.tar.gz"; 15117 sha256 = "1w858k9kmgzfj36h65kp27m9slrmykvi5cjq6c119xqnaz5gdzgm"; 15118 }; 15119 15120 meta = { 15121 description = "An event publishing system"; 15122 homepage = http://pypi.python.org/pypi/zope.event; 15123 license = licenses.zpt20; 15124 maintainers = with maintainers; [ goibhniu ]; 15125 }; 15126 }; 15127 15128 15129 zope_exceptions = buildPythonPackage rec { 15130 name = "zope.exceptions-${version}"; 15131 version = "4.0.5"; 15132 15133 src = pkgs.fetchurl { 15134 url = "http://pypi.python.org/packages/source/z/zope.exceptions/${name}.tar.gz"; 15135 md5 = "c95569fcb444ae541777de7ae5297492"; 15136 }; 15137 15138 propagatedBuildInputs = with self; [ zope_interface ]; 15139 15140 meta = { 15141 description = "Exception interfaces and implementations"; 15142 homepage = http://pypi.python.org/pypi/zope.exceptions; 15143 license = licenses.zpt20; 15144 maintainers = with maintainers; [ goibhniu ]; 15145 }; 15146 }; 15147 15148 15149 zope_filerepresentation = buildPythonPackage rec { 15150 name = "zope.filerepresentation-3.6.1"; 15151 15152 src = pkgs.fetchurl { 15153 url = "http://pypi.python.org/packages/source/z/zope.filerepresentation/${name}.tar.gz"; 15154 md5 = "4a7a434094f4bfa99a7f22e75966c359"; 15155 }; 15156 15157 propagatedBuildInputs = with self; [ zope_schema ]; 15158 15159 meta = { 15160 maintainers = with maintainers; [ goibhniu ]; 15161 }; 15162 }; 15163 15164 15165 zope_i18n = buildPythonPackage rec { 15166 name = "zope.i18n-3.8.0"; 15167 15168 src = pkgs.fetchurl { 15169 url = "http://pypi.python.org/packages/source/z/zope.i18n/${name}.tar.gz"; 15170 sha256 = "045nnimmshibcq71yym2d8yrs6wzzhxq5gl7wxjnkpyjm5y0hfkm"; 15171 }; 15172 15173 propagatedBuildInputs = with self; [ pytz zope_component ]; 15174 15175 meta = { 15176 maintainers = with maintainers; [ goibhniu ]; 15177 }; 15178 }; 15179 15180 15181 zope_i18nmessageid = buildPythonPackage rec { 15182 name = "zope.i18nmessageid-4.0.3"; 15183 15184 src = pkgs.fetchurl { 15185 url = "http://pypi.python.org/packages/source/z/zope.i18nmessageid/zope.i18nmessageid-4.0.3.tar.gz"; 15186 sha256 = "1rslyph0klk58dmjjy4j0jxy21k03azksixc3x2xhqbkv97cmzml"; 15187 }; 15188 15189 meta = { 15190 maintainers = with maintainers; [ goibhniu ]; 15191 }; 15192 }; 15193 15194 15195 zope_lifecycleevent = buildPythonPackage rec { 15196 name = "zope.lifecycleevent-3.7.0"; 15197 15198 src = pkgs.fetchurl { 15199 url = "http://pypi.python.org/packages/source/z/zope.lifecycleevent/${name}.tar.gz"; 15200 sha256 = "0s5brphqzzz89cykg61gy7zcmz0ryq1jj2va7gh2n1b3cccllp95"; 15201 }; 15202 15203 propagatedBuildInputs = with self; [ zope_event zope_component ]; 15204 15205 meta = { 15206 maintainers = with maintainers; [ goibhniu ]; 15207 }; 15208 }; 15209 15210 15211 zope_location = buildPythonPackage rec { 15212 name = "zope.location-4.0.3"; 15213 15214 src = pkgs.fetchurl { 15215 url = "http://pypi.python.org/packages/source/z/zope.location/zope.location-4.0.3.tar.gz"; 15216 sha256 = "1nj9da4ksiyv3h8n2vpzwd0pb03mdsh7zy87hfpx72b6p2zcwg74"; 15217 }; 15218 15219 propagatedBuildInputs = with self; [ zope_proxy ]; 15220 15221 # ignore circular dependency on zope_schema 15222 preBuild = '' 15223 sed -i '/zope.schema/d' setup.py 15224 ''; 15225 15226 doCheck = false; 15227 15228 meta = { 15229 maintainers = with maintainers; [ goibhniu ]; 15230 }; 15231 }; 15232 15233 15234 zope_proxy = buildPythonPackage rec { 15235 name = "zope.proxy-4.1.4"; 15236 15237 src = pkgs.fetchurl { 15238 url = "http://pypi.python.org/packages/source/z/zope.proxy/${name}.tar.gz"; 15239 md5 = "3bcaf8b8512a99649ecf2f158c11d05b"; 15240 }; 15241 15242 propagatedBuildInputs = with self; [ zope_interface ]; 15243 15244 meta = { 15245 maintainers = with maintainers; [ goibhniu ]; 15246 }; 15247 }; 15248 15249 15250 zope_publisher = buildPythonPackage rec { 15251 name = "zope.publisher-3.12.6"; 15252 15253 src = pkgs.fetchurl { 15254 url = "http://pypi.python.org/packages/source/z/zope.publisher/${name}.tar.gz"; 15255 md5 = "495131970cc7cb14de8e517fb3857ade"; 15256 }; 15257 15258 propagatedBuildInputs = with self; [ 15259 zope_browser zope_contenttype zope_i18n zope_security 15260 ]; 15261 15262 meta = { 15263 maintainers = with maintainers; [ goibhniu ]; 15264 }; 15265 }; 15266 15267 15268 zope_schema = buildPythonPackage rec { 15269 name = "zope.schema-4.4.2"; 15270 15271 src = pkgs.fetchurl { 15272 url = "http://pypi.python.org/packages/source/z/zope.schema/${name}.tar.gz"; 15273 sha256 = "1p943jdxb587dh7php4vx04qvn7b2877hr4qs5zyckvp5afhhank"; 15274 }; 15275 15276 propagatedBuildInputs = with self; [ zope_location zope_event zope_interface zope_testing ] ++ optional isPy26 ordereddict; 15277 15278 meta = { 15279 maintainers = with maintainers; [ goibhniu ]; 15280 }; 15281 }; 15282 15283 15284 zope_security = buildPythonPackage rec { 15285 name = "zope.security-4.0.1"; 15286 15287 src = pkgs.fetchurl { 15288 url = "http://pypi.python.org/packages/source/z/zope.security/${name}.tar.gz"; 15289 md5 = "27d1f2873a0ee9c1f485f7b8f22d8e1c"; 15290 }; 15291 15292 propagatedBuildInputs = with self; [ 15293 zope_component zope_configuration zope_i18nmessageid zope_schema 15294 zope_proxy zope_testrunner 15295 ]; 15296 15297 meta = { 15298 maintainers = with maintainers; [ goibhniu ]; 15299 }; 15300 }; 15301 15302 15303 zope_size = buildPythonPackage rec { 15304 name = "zope.size-3.5.0"; 15305 15306 src = pkgs.fetchurl { 15307 url = "http://pypi.python.org/packages/source/z/zope.size/${name}.tar.gz"; 15308 sha256 = "006xfkhvmypwd3ww9gbba4zly7n9w30bpp1h74d53la7l7fiqk2f"; 15309 }; 15310 15311 propagatedBuildInputs = with self; [ zope_i18nmessageid zope_interface ]; 15312 15313 meta = { 15314 maintainers = with maintainers; [ goibhniu ]; 15315 }; 15316 }; 15317 15318 15319 zope_sqlalchemy = buildPythonPackage rec { 15320 name = "zope.sqlalchemy-0.7.5"; 15321 15322 doCheck = !isPyPy; # https://github.com/zopefoundation/zope.sqlalchemy/issues/12 15323 15324 src = pkgs.fetchurl { 15325 url = "http://pypi.python.org/packages/source/z/zope.sqlalchemy/${name}.zip"; 15326 md5 = "0a468bd5b8884cd29fb71acbf7eaa31e"; 15327 }; 15328 15329 buildInputs = with self; [ zope_testing zope_interface ]; 15330 propagatedBuildInputs = with self; [ sqlalchemy9 transaction ]; 15331 15332 meta = { 15333 maintainers = with maintainers; [ garbas iElectric ]; 15334 platforms = platforms.all; 15335 }; 15336 }; 15337 15338 15339 zope_testing = buildPythonPackage rec { 15340 name = "zope.testing-${version}"; 15341 version = "4.1.3"; 15342 15343 src = pkgs.fetchurl { 15344 url = "http://pypi.python.org/packages/source/z/zope.testing/${name}.tar.gz"; 15345 md5 = "6c73c5b668a67fdc116a25b884058ed9"; 15346 }; 15347 15348 doCheck = !isPyPy; 15349 15350 propagatedBuildInputs = with self; [ zope_interface zope_exceptions zope_location ]; 15351 15352 meta = { 15353 description = "Zope testing helpers"; 15354 homepage = http://pypi.python.org/pypi/zope.testing; 15355 license = licenses.zpt20; 15356 maintainers = with maintainers; [ goibhniu ]; 15357 }; 15358 }; 15359 15360 15361 zope_testrunner = buildPythonPackage rec { 15362 name = "zope.testrunner-${version}"; 15363 version = "4.4.3"; 15364 15365 src = pkgs.fetchurl { 15366 url = "http://pypi.python.org/packages/source/z/zope.testrunner/${name}.zip"; 15367 sha256 = "1dwk35kg0bmj2lzp4fd2bgp6dv64q5sda09bf0y8j63y53vqbsw8"; 15368 }; 15369 15370 propagatedBuildInputs = with self; [ zope_interface zope_exceptions zope_testing six ] ++ optional (!python.is_py3k or false) subunit; 15371 15372 doCheck = !isPy27; 15373 15374 meta = { 15375 description = "A flexible test runner with layer support"; 15376 homepage = http://pypi.python.org/pypi/zope.testrunner; 15377 license = licenses.zpt20; 15378 maintainers = with maintainers; [ goibhniu ]; 15379 }; 15380 }; 15381 15382 15383 zope_traversing = buildPythonPackage rec { 15384 name = "zope.traversing-4.0.0"; 15385 15386 src = pkgs.fetchurl { 15387 url = "http://pypi.python.org/packages/source/z/zope.traversing/${name}.zip"; 15388 md5 = "5cc40c552f953939f7c597ebbedd586f"; 15389 }; 15390 15391 propagatedBuildInputs = with self; [ zope_location zope_security zope_publisher transaction zope_tales ]; 15392 15393 # circular dependency on zope_browserresource 15394 doCheck = false; 15395 15396 meta = { 15397 maintainers = with maintainers; [ goibhniu ]; 15398 }; 15399 }; 15400 15401 15402 zope_interface = buildPythonPackage rec { 15403 name = "zope.interface-4.1.1"; 15404 15405 src = pkgs.fetchurl { 15406 url = "http://pypi.python.org/packages/source/z/zope.interface/${name}.tar.gz"; 15407 md5 = "edcd5f719c5eb2e18894c4d06e29b6c6"; 15408 }; 15409 15410 propagatedBuildInputs = with self; [ zope_event ]; 15411 15412 meta = { 15413 description = "Zope.Interface"; 15414 homepage = http://zope.org/Products/ZopeInterface; 15415 license = licenses.zpt20; 15416 maintainers = with maintainers; [ goibhniu ]; 15417 }; 15418 }; 15419 15420 hgsvn = buildPythonPackage rec { 15421 name = "hgsvn-0.3.5"; 15422 src = pkgs.fetchurl rec { 15423 url = "http://pypi.python.org/packages/source/h/hgsvn/${name}.zip"; 15424 sha256 = "043yvkjf9hgm0xzhmwj1qk3fsmbgwm39f4wsqkscib9wfvxs8wbg"; 15425 }; 15426 disabled = isPy3k || isPyPy; 15427 15428 buildInputs = with self; [ pkgs.setuptools ]; 15429 doCheck = false; 15430 15431 meta = { 15432 description = "HgSVN"; 15433 homepage = http://pypi.python.org/pypi/hgsvn; 15434 }; 15435 }; 15436 15437 cliapp = buildPythonPackage rec { 15438 name = "cliapp-${version}"; 15439 version = "1.20140719"; 15440 disabled = isPy3k; 15441 15442 src = pkgs.fetchurl rec { 15443 url = "http://code.liw.fi/debian/pool/main/p/python-cliapp/python-cliapp_${version}.orig.tar.gz"; 15444 sha256 = "0kxl2q85n4ggvbw2m8crl11x8n637mx6y3a3b5ydw8nhlsiqijgp"; 15445 }; 15446 15447 buildInputs = with self; [ sphinx ]; 15448 15449 # error: invalid command 'test' 15450 doCheck = false; 15451 15452 meta = { 15453 homepage = http://liw.fi/cliapp/; 15454 description = "Python framework for Unix command line programs"; 15455 maintainers = with maintainers; [ rickynils ]; 15456 }; 15457 }; 15458 15459 # Remove tornado 3.x once pythonPackages.thumbor is updated to 5.x 15460 tornado_3 = buildPythonPackage rec { 15461 name = "tornado-3.2.2"; 15462 15463 propagatedBuildInputs = with self; [ backports_ssl_match_hostname_3_4_0_2 ]; 15464 15465 src = pkgs.fetchurl { 15466 url = "https://pypi.python.org/packages/source/t/tornado/${name}.tar.gz"; 15467 sha256 = "13mq6nx98999zql8p2zlg4sj2hr2sxq9w11mqzi7rjfjs0z2sn8i"; 15468 }; 15469 15470 doCheck = false; 15471 }; 15472 tornado = buildPythonPackage rec { 15473 name = "tornado-${version}"; 15474 version = "4.2.1"; 15475 15476 propagatedBuildInputs = with self; [ backports_ssl_match_hostname_3_4_0_2 certifi ]; 15477 15478 src = pkgs.fetchurl { 15479 url = "https://pypi.python.org/packages/source/t/tornado/${name}.tar.gz"; 15480 sha256 = "a16fcdc4f76b184cb82f4f9eaeeacef6113b524b26a2cb331222e4a7fa6f2969"; 15481 }; 15482 }; 15483 15484 tokenlib = buildPythonPackage rec { 15485 name = "tokenlib-${version}"; 15486 version = "0.3.1"; 15487 src = pkgs.fetchgit { 15488 url = https://github.com/mozilla-services/tokenlib.git; 15489 rev = "refs/tags/${version}"; 15490 sha256 = "0dmq41sy64jmkj7n49jgbpii5n5d41ci263lyhqbff5slr289m51"; 15491 }; 15492 15493 propagatedBuildInputs = with self; [ requests webob ]; 15494 }; 15495 15496 tornadokick = buildPythonPackage rec { 15497 name = "tornadokick-0.2.1"; 15498 15499 propagatedBuildInputs = with self; [ tornado ]; 15500 15501 src = pkgs.fetchurl { 15502 url = "https://pypi.python.org/packages/source/t/tornadokick/${name}.tar.gz"; 15503 md5 = "95ee5a295ce3f361c6f843c4f39cbb8c"; 15504 }; 15505 15506 meta = { 15507 description = "A Toolkit for the Tornado Web Framework"; 15508 homepage = http://github.com/multoncore/tornadokick; 15509 license = licenses.asl20; 15510 }; 15511 }; 15512 15513 screenkey = buildPythonPackage rec { 15514 version = "0.2-b3634a2c6eb6d6936c3b2c1ef5078bf3a84c40c6"; 15515 name = "screenkey-${version}"; 15516 15517 propagatedBuildInputs = with self; [ pygtk distutils_extra xlib pkgs.xorg.xmodmap ]; 15518 15519 preConfigure = '' 15520 substituteInPlace setup.py --replace "/usr/share" "./share" 15521 15522 # disable the feature that binds a shortcut to turning on/off 15523 # screenkey. This is because keybinder is not packages in Nix as 15524 # of today. 15525 substituteInPlace Screenkey/screenkey.py \ 15526 --replace "import keybinder" "" \ 15527 --replace " keybinder.bind(self.options['hotkey'], self.hotkey_cb, show_item)" "" 15528 ''; 15529 15530 src = pkgs.fetchgit { 15531 url = https://github.com/scs3jb/screenkey.git; 15532 rev = "b3634a2c6eb6d6936c3b2c1ef5078bf3a84c40c6"; 15533 sha256 = "eb754917e98e03cb9d528eb5f57a08c88fa7a8172f92325a9fe796b2daf14db0"; 15534 }; 15535 15536 meta = { 15537 homepage = https://github.com/scs3jb/screenkey; 15538 description = "A screencast tool to show your keys"; 15539 license = licenses.gpl3Plus; 15540 maintainers = with maintainers; [ DamienCassou ]; 15541 platforms = platforms.linux; 15542 }; 15543 }; 15544 15545 tarman = buildPythonPackage rec { 15546 version = "0.1.3"; 15547 name = "tarman-${version}"; 15548 15549 disabled = isPy3k; 15550 15551 src = pkgs.fetchurl { 15552 url = "https://pypi.python.org/packages/source/t/tarman/tarman-${version}.zip"; 15553 sha256 = "0ri6gj883k042xaxa2d5ymmhbw2bfcxdzhh4bz7700ibxwxxj62h"; 15554 }; 15555 15556 buildInputs = with self; [ unittest2 nose mock ]; 15557 propagatedBuildInputs = with self; [ modules.curses libarchive ]; 15558 15559 # tests are still failing 15560 doCheck = false; 15561 }; 15562 15563 15564 libarchive = buildPythonPackage rec { 15565 version = "3.1.2-1"; 15566 name = "libarchive-${version}"; 15567 disabled = isPy3k; 15568 15569 src = pkgs.fetchurl { 15570 url = "http://python-libarchive.googlecode.com/files/python-libarchive-${version}.tar.gz"; 15571 sha256 = "0j4ibc4mvq64ljya9max8832jafi04jciff9ia9qy0xhhlwkcx8x"; 15572 }; 15573 15574 propagatedBuildInputs = with self; [ pkgs.libarchive ]; 15575 }; 15576 15577 libarchive-c = buildPythonPackage rec { 15578 name = "libarchive-c-2.1"; 15579 15580 src = pkgs.fetchurl { 15581 url = "https://pypi.python.org/packages/source/l/libarchive-c/${name}.tar.gz"; 15582 sha256 = "089lrz6xyrfnk55v35vis6jyqyyl77w093057djyspnd2744wi2n"; 15583 }; 15584 15585 patchPhase = '' 15586 substituteInPlace libarchive/ffi.py --replace \ 15587 "find_library('archive')" "'${pkgs.libarchive}/lib/libarchive.so'" 15588 ''; 15589 15590 buildInputs = [ pkgs.libarchive ]; 15591 }; 15592 15593 pybrowserid = buildPythonPackage rec { 15594 name = "PyBrowserID-${version}"; 15595 version = "0.9.2"; 15596 disabled = isPy3k; # Errors in the test suite. 15597 15598 src = pkgs.fetchgit { 15599 url = https://github.com/mozilla/PyBrowserID.git; 15600 rev = "refs/tags/${version}"; 15601 sha256 = "0nyqb0v8yrkqnrqsh1hlhvzr2pyvkxvkw701p3gpsvk29c0gb5n6"; 15602 }; 15603 15604 doCheck = false; # some tests use networking 15605 15606 buildInputs = with self; [ mock unittest2 ]; 15607 propagatedBuildInputs = with self; [ requests ]; 15608 15609 meta = { 15610 description = "Python library for the BrowserID Protocol"; 15611 homepage = "https://github.com/mozilla/PyBrowserID"; 15612 license = licenses.mpl20; 15613 }; 15614 }; 15615 15616 pyzmq = buildPythonPackage rec { 15617 name = "pyzmq-14.5.0"; 15618 src = pkgs.fetchurl { 15619 url = "http://pypi.python.org/packages/source/p/pyzmq/${name}.tar.gz"; 15620 sha256 = "1gbpgz4ngfw5x6zlsa1k0jwy5vd5wg9iz1shdx4zav256ib08vjx"; 15621 }; 15622 buildInputs = with self; [ pkgs.zeromq3 ]; 15623 doCheck = false; 15624 }; 15625 15626 tokenserver = buildPythonPackage rec { 15627 name = "tokenserver-${version}"; 15628 version = "1.2.11"; 15629 15630 src = pkgs.fetchgit { 15631 url = https://github.com/mozilla-services/tokenserver.git; 15632 rev = "refs/tags/${version}"; 15633 sha256 = "1pjrw7xhhqx7h4s08h1lsaa499r2ymc41zdknjimn6zlqdjdk1fb"; 15634 }; 15635 15636 doCheck = false; 15637 propagatedBuildInputs = with self; [ cornice mozsvc pybrowserid tokenlib ]; 15638 15639 patchPhase = '' 15640 sed -i "s|'testfixtures'||" setup.py 15641 ''; 15642 15643 meta = { 15644 maintainers = [ ]; 15645 platforms = platforms.all; 15646 }; 15647 }; 15648 15649 tissue = buildPythonPackage rec { 15650 name = "tissue-0.9.2"; 15651 src = pkgs.fetchurl { 15652 url = "http://pypi.python.org/packages/source/t/tissue/${name}.tar.gz"; 15653 md5 = "87dbcdafff41bfa1b424413f79aa9153"; 15654 }; 15655 15656 buildInputs = with self; [ nose ]; 15657 propagatedBuildInputs = with self; [ pep8 ]; 15658 15659 meta = { 15660 maintainers = with maintainers; [ garbas iElectric ]; 15661 platforms = platforms.all; 15662 }; 15663 }; 15664 15665 15666 tracing = buildPythonPackage rec { 15667 name = "tracing-${version}"; 15668 version = "0.8"; 15669 15670 src = pkgs.fetchurl rec { 15671 url = "http://code.liw.fi/debian/pool/main/p/python-tracing/python-tracing_${version}.orig.tar.gz"; 15672 sha256 = "1l4ybj5rvrrcxf8csyq7qx52izybd502pmx70zxp46gxqm60d2l0"; 15673 }; 15674 15675 buildInputs = with self; [ sphinx ]; 15676 15677 # error: invalid command 'test' 15678 doCheck = false; 15679 15680 meta = { 15681 homepage = http://liw.fi/tracing/; 15682 description = "Python debug logging helper"; 15683 maintainers = with maintainers; [ rickynils ]; 15684 }; 15685 }; 15686 15687 translationstring = buildPythonPackage rec { 15688 name = "translationstring-1.3"; 15689 15690 src = pkgs.fetchurl { 15691 url = "http://pypi.python.org/packages/source/t/translationstring/${name}.tar.gz"; 15692 md5 = "a4b62e0f3c189c783a1685b3027f7c90"; 15693 }; 15694 15695 meta = { 15696 maintainers = with maintainers; [ garbas iElectric ]; 15697 platforms = platforms.all; 15698 }; 15699 }; 15700 15701 15702 ttystatus = buildPythonPackage rec { 15703 name = "ttystatus-${version}"; 15704 version = "0.23"; 15705 disabled = isPy3k; 15706 15707 src = pkgs.fetchurl rec { 15708 url = "http://code.liw.fi/debian/pool/main/p/python-ttystatus/python-ttystatus_${version}.orig.tar.gz"; 15709 sha256 = "0ymimviyjyh2iizqilg88g4p26f5vpq1zm3cvg7dr7q4y3gmik8y"; 15710 }; 15711 15712 buildInputs = with self; [ sphinx ]; 15713 15714 # error: invalid command 'test' 15715 doCheck = false; 15716 15717 meta = { 15718 homepage = http://liw.fi/ttystatus/; 15719 description = "Progress and status updates on terminals for Python"; 15720 maintainers = with maintainers; [ rickynils ]; 15721 }; 15722 }; 15723 15724 larch = buildPythonPackage rec { 15725 name = "larch-${version}"; 15726 version = "1.20131130"; 15727 15728 src = pkgs.fetchurl rec { 15729 url = "http://code.liw.fi/debian/pool/main/p/python-larch/python-larch_${version}.orig.tar.gz"; 15730 sha256 = "1hfanp9l6yc5348i3f5sb8c5s4r43y382hflnbl6cnz4pm8yh5r7"; 15731 }; 15732 15733 buildInputs = with self; [ sphinx ]; 15734 propagatedBuildInputs = with self; [ tracing ttystatus cliapp ]; 15735 15736 # error: invalid command 'test' 15737 doCheck = false; 15738 15739 meta = { 15740 homepage = http://liw.fi/larch/; 15741 description = "Python B-tree library"; 15742 maintainers = with maintainers; [ rickynils ]; 15743 }; 15744 }; 15745 15746 15747 websocket_client = buildPythonPackage rec { 15748 name = "websocket_client-0.32.0"; 15749 15750 src = pkgs.fetchurl { 15751 url = "https://pypi.python.org/packages/source/w/websocket-client/${name}.tar.gz"; 15752 md5 = "b07a897511a3c585251fe2ea85a9d9d9"; 15753 }; 15754 15755 propagatedBuildInputs = with self; [ six backports_ssl_match_hostname_3_4_0_2 unittest2 argparse ]; 15756 15757 meta = { 15758 homepage = https://github.com/liris/websocket-client; 15759 description = "Websocket client for python"; 15760 license = licenses.lgpl2; 15761 }; 15762 }; 15763 15764 15765 webhelpers = buildPythonPackage rec { 15766 name = "WebHelpers-1.3"; 15767 15768 src = pkgs.fetchurl { 15769 url = "http://pypi.python.org/packages/source/W/WebHelpers/${name}.tar.gz"; 15770 md5 = "32749ffadfc40fea51075a7def32588b"; 15771 }; 15772 15773 buildInputs = with self; [ routes markupsafe webob nose ]; 15774 15775 # TODO: failing tests https://bitbucket.org/bbangert/webhelpers/pull-request/1/fix-error-on-webob-123/diff 15776 doCheck = false; 15777 15778 meta = { 15779 maintainers = with maintainers; [ garbas iElectric ]; 15780 platforms = platforms.all; 15781 }; 15782 }; 15783 15784 whisper = buildPythonPackage rec { 15785 name = "whisper-${version}"; 15786 version = "0.9.12"; 15787 15788 src = pkgs.fetchurl { 15789 url = "https://pypi.python.org/packages/source/w/whisper/${name}.tar.gz"; 15790 md5 = "5fac757cc4822ab0678dbe0d781d904e"; 15791 }; 15792 15793 # error: invalid command 'test' 15794 doCheck = false; 15795 15796 meta = { 15797 homepage = http://graphite.wikidot.com/; 15798 description = "Fixed size round-robin style database"; 15799 maintainers = with maintainers; [ rickynils offline ]; 15800 }; 15801 }; 15802 15803 carbon = buildPythonPackage rec { 15804 name = "carbon-${version}"; 15805 version = "0.9.12"; 15806 15807 src = pkgs.fetchurl { 15808 url = "https://pypi.python.org/packages/source/c/carbon/${name}.tar.gz"; 15809 md5 = "66967d5a622fd29973838fcd10eb34f3"; 15810 }; 15811 15812 propagatedBuildInputs = with self; [ whisper txamqp zope_interface twisted ]; 15813 15814 # error: invalid command 'test' 15815 doCheck = false; 15816 15817 meta = { 15818 homepage = http://graphite.wikidot.com/; 15819 description = "Backend data caching and persistence daemon for Graphite"; 15820 maintainers = with maintainers; [ rickynils offline ]; 15821 }; 15822 }; 15823 15824 15825 ujson = buildPythonPackage rec { 15826 name = "ujson-1.33"; 15827 15828 disabled = isPyPy; 15829 15830 src = pkgs.fetchurl { 15831 url = "https://pypi.python.org/packages/source/u/ujson/${name}.zip"; 15832 md5 = "8148a2493fff78940feab1e11dc0a893"; 15833 }; 15834 15835 meta = { 15836 homepage = http://pypi.python.org/pypi/ujson; 15837 description = "Ultra fast JSON encoder and decoder for Python"; 15838 license = licenses.bsd3; 15839 }; 15840 }; 15841 15842 15843 unidecode = buildPythonPackage rec { 15844 name = "Unidecode-0.04.12"; 15845 15846 src = pkgs.fetchurl { 15847 url = "http://pypi.python.org/packages/source/U/Unidecode/${name}.tar.gz"; 15848 md5 = "351dc98f4512bdd2e93f7a6c498730eb"; 15849 }; 15850 15851 meta = { 15852 homepage = http://pypi.python.org/pypi/Unidecode/; 15853 description = "ASCII transliterations of Unicode text"; 15854 license = licenses.gpl2; 15855 maintainers = with maintainers; [ iElectric ]; 15856 }; 15857 }; 15858 15859 15860 pyusb = buildPythonPackage rec { 15861 name = "pyusb-1.0.0b2"; 15862 15863 src = pkgs.fetchurl { 15864 url = "https://pypi.python.org/packages/source/p/pyusb/${name}.tar.gz"; 15865 md5 = "5cc9c7dd77b4d12fcc22fee3b39844bc"; 15866 }; 15867 15868 # Fix the USB backend library lookup 15869 postPatch = '' 15870 libusb=${pkgs.libusb1}/lib/libusb-1.0.so 15871 test -f $libusb || { echo "ERROR: $libusb doesn't exist, please update/fix this build expression."; exit 1; } 15872 sed -i -e "s|libname = .*|libname = \"$libusb\"|" usb/backend/libusb1.py 15873 ''; 15874 15875 meta = { 15876 description = "Python USB access module (wraps libusb 1.0)"; # can use other backends 15877 homepage = http://pyusb.sourceforge.net/; 15878 license = licenses.bsd3; 15879 maintainers = with maintainers; [ bjornfor ]; 15880 }; 15881 }; 15882 15883 15884 usbtmc = buildPythonPackage rec { 15885 name = "usbtmc-${version}"; 15886 version = "0.6"; 15887 15888 src = pkgs.fetchurl { 15889 url = "https://github.com/python-ivi/python-usbtmc/archive/v${version}.tar.gz"; 15890 sha256 = "1wnw6ndc3s1i8zpbikz5zc40ijvpraqdb0xn8zmqlyn95xxfizw2"; 15891 }; 15892 15893 propagatedBuildInputs = with self; [ pyusb ]; 15894 15895 meta = { 15896 description = "Python implementation of the USBTMC instrument control protocol"; 15897 homepage = http://alexforencich.com/wiki/en/python-usbtmc/start; 15898 license = licenses.mit; 15899 maintainers = with maintainers; [ bjornfor ]; 15900 }; 15901 }; 15902 15903 15904 txamqp = buildPythonPackage rec { 15905 name = "txamqp-${version}"; 15906 version = "0.3"; 15907 15908 src = pkgs.fetchurl rec { 15909 url = "https://launchpad.net/txamqp/trunk/${version}/+download/python-txamqp_${version}.orig.tar.gz"; 15910 sha256 = "1r2ha0r7g14i4b5figv2spizjrmgfpspdbl1m031lw9px2hhm463"; 15911 }; 15912 15913 buildInputs = with self; [ twisted ]; 15914 15915 meta = { 15916 homepage = https://launchpad.net/txamqp; 15917 description = "Library for communicating with AMQP peers and brokers using Twisted"; 15918 maintainers = with maintainers; [ rickynils ]; 15919 }; 15920 }; 15921 15922 versiontools = buildPythonPackage rec { 15923 name = "versiontools-1.9.1"; 15924 doCheck = (!isPy3k); 15925 15926 src = pkgs.fetchurl { 15927 url = "https://pypi.python.org/packages/source/v/versiontools/${name}.tar.gz"; 15928 sha256 = "1xhl6kl7f4srgnw6zw4lr8j2z5vmrbaa83nzn2c9r2m1hwl36sd9"; 15929 }; 15930 15931 }; 15932 15933 graphite_web = buildPythonPackage rec { 15934 name = "graphite-web-${version}"; 15935 version = "0.9.12"; 15936 15937 src = pkgs.fetchurl rec { 15938 url = "https://pypi.python.org/packages/source/g/graphite-web/${name}.tar.gz"; 15939 md5 = "8edbb61f1ffe11c181bd2cb9ec977c72"; 15940 }; 15941 15942 propagatedBuildInputs = with self; [ django_1_3 django_tagging modules.sqlite3 whisper pkgs.pycairo ldap memcached ]; 15943 15944 postInstall = '' 15945 wrapProgram $out/bin/run-graphite-devel-server.py \ 15946 --prefix PATH : ${pkgs.which}/bin 15947 ''; 15948 15949 preConfigure = '' 15950 substituteInPlace webapp/graphite/thirdparty/pytz/__init__.py --replace '/usr/share/zoneinfo' '/etc/zoneinfo' 15951 substituteInPlace webapp/graphite/settings.py --replace "join(WEBAPP_DIR, 'content')" "join('$out', 'webapp', 'content')" 15952 cp webapp/graphite/manage.py bin/manage-graphite.py 15953 substituteInPlace bin/manage-graphite.py --replace 'settings' 'graphite.settings' 15954 ''; 15955 15956 # error: invalid command 'test' 15957 doCheck = false; 15958 15959 meta = { 15960 homepage = http://graphite.wikidot.com/; 15961 description = "Enterprise scalable realtime graphing"; 15962 maintainers = with maintainers; [ rickynils offline ]; 15963 }; 15964 }; 15965 15966 graphite_api = buildPythonPackage rec { 15967 name = "graphite-api-1.0.1"; 15968 disabled = isPyPy; 15969 15970 src = pkgs.fetchgit { 15971 url = "https://github.com/brutasse/graphite-api.git"; 15972 rev = "b6f75e8a08fae695c094fece6de611b893fc65fb"; 15973 sha256 = "41b90d5f35e99a020a6b1b77938690652521d1841b3165574fcfcee807ce4e6a"; 15974 }; 15975 15976 checkPhase = "nosetests"; 15977 15978 propagatedBuildInputs = with self; [ 15979 flask 15980 flask_cache 15981 cairocffi 15982 pyparsing 15983 pytz 15984 pyyaml 15985 raven 15986 six 15987 structlog 15988 tzlocal 15989 ]; 15990 15991 buildInputs = with self; [ 15992 nose 15993 mock 15994 ]; 15995 15996 LD_LIBRARY_PATH = "${pkgs.cairo}/lib"; 15997 15998 meta = { 15999 description = "Graphite-web, without the interface. Just the rendering HTTP API"; 16000 homepage = https://github.com/brutasse/graphite-api; 16001 license = licenses.asl20; 16002 }; 16003 }; 16004 16005 graphite_beacon = buildPythonPackage rec { 16006 name = "graphite_beacon-0.22.1"; 16007 16008 src = pkgs.fetchurl { 16009 url = "https://pypi.python.org/packages/source/g/graphite_beacon/${name}.tar.gz"; 16010 md5 = "3d7b2bf8a41b6c3ec5ba2c14db321096"; 16011 }; 16012 16013 propagatedBuildInputs = [ self.tornado ]; 16014 16015 preBuild = "> requirements.txt"; 16016 16017 meta = { 16018 description = "A simple alerting application for Graphite metrics"; 16019 homepage = https://github.com/klen/graphite-beacon; 16020 maintainers = [ maintainers.offline ]; 16021 license = licenses.mit; 16022 }; 16023 }; 16024 16025 graphite_influxdb = buildPythonPackage rec { 16026 name = "graphite-influxdb-0.3"; 16027 16028 src = pkgs.fetchgit { 16029 url = "https://github.com/vimeo/graphite-influxdb.git"; 16030 rev = "2273d12a24e1d804685a36debfd4224b7416b62f"; 16031 sha256 = "e386eaf190793d3ad0a42a74b9e137a968a51fc3806f602ff756e09c0c0648a8"; 16032 }; 16033 16034 propagatedBuildInputs = with self; [ influxdb graphite_api ]; 16035 16036 passthru.moduleName = "graphite_influxdb.InfluxdbFinder"; 16037 16038 meta = { 16039 description = "An influxdb backend for Graphite-web and graphite-api"; 16040 homepage = https://github.com/vimeo/graphite-influxdb; 16041 license = licenses.asl20; 16042 }; 16043 }; 16044 16045 graphite_pager = buildPythonPackage rec { 16046 name = "graphite-pager-${version}"; 16047 version = "2bbfe91220ec1e0ca1cdf4b5564386482a44ed7d"; 16048 16049 src = pkgs.fetchgit { 16050 url = "https://github.com/offlinehacker/graphite-pager.git"; 16051 sha256 = "aa932f941efe4ed89971fe7572218b020d1a144259739ef78db6397b968eef62"; 16052 rev = version; 16053 }; 16054 16055 buildInputs = with self; [ nose mock ]; 16056 propagatedBuildInputs = with self; [ 16057 jinja2 pyyaml redis requests pagerduty 16058 python_simple_hipchat pushbullet 16059 ]; 16060 16061 patchPhase = "> requirements.txt"; 16062 checkPhase = "nosetests"; 16063 16064 meta = { 16065 description = "A simple alerting application for Graphite metrics"; 16066 homepage = https://github.com/seatgeek/graphite-pager; 16067 maintainers = with maintainers; [ offline ]; 16068 license = licenses.bsd2; 16069 }; 16070 }; 16071 16072 16073 pyspotify = buildPythonPackage rec { 16074 name = "pyspotify-${version}"; 16075 16076 version = "1.12"; 16077 16078 src = pkgs.fetchurl { 16079 url = "https://github.com/mopidy/pyspotify/archive/v${version}.tar.gz"; 16080 sha256 = "0bj6p4hafj1yp0j5n1rxww39nvi3w6y3azadz8a8nxb3b4a8f1xn"; 16081 }; 16082 16083 buildInputs = with self; [ pkgs.libspotify ] 16084 ++ stdenv.lib.optional stdenv.isDarwin pkgs.install_name_tool; 16085 16086 # python zip complains about old timestamps 16087 preConfigure = '' 16088 find -print0 | xargs -0 touch 16089 ''; 16090 16091 postInstall = stdenv.lib.optionalString stdenv.isDarwin '' 16092 find "$out" -name _spotify.so -exec \ 16093 install_name_tool -change \ 16094 @loader_path/../Frameworks/libspotify.framework/libspotify \ 16095 ${pkgs.libspotify}/lib/libspotify.dylib \ 16096 {} \; 16097 ''; 16098 16099 # There are no tests 16100 doCheck = false; 16101 16102 meta = { 16103 homepage = http://pyspotify.mopidy.com; 16104 description = "A Python interface to Spotifys online music streaming service"; 16105 license = licenses.unfree; 16106 maintainers = with maintainers; [ lovek323 rickynils ]; 16107 platforms = platforms.unix; 16108 }; 16109 }; 16110 16111 pykka = buildPythonPackage rec { 16112 name = "pykka-${version}"; 16113 16114 version = "1.2.0"; 16115 16116 src = pkgs.fetchgit { 16117 url = "https://github.com/jodal/pykka.git"; 16118 rev = "refs/tags/v${version}"; 16119 sha256 = "17vv2q636zp2fvxrp7ckgnz1ifaffcj5vdxvfb4isd1d32c49amb"; 16120 }; 16121 16122 # There are no tests 16123 doCheck = false; 16124 16125 meta = { 16126 homepage = http://www.pykka.org; 16127 description = "A Python implementation of the actor model"; 16128 maintainers = with maintainers; [ rickynils ]; 16129 }; 16130 }; 16131 16132 ws4py = buildPythonPackage rec { 16133 name = "ws4py-${version}"; 16134 16135 version = "git-20130303"; 16136 16137 src = pkgs.fetchgit { 16138 url = "https://github.com/Lawouach/WebSocket-for-Python.git"; 16139 rev = "ace276500ca7e4c357595e3773be151d37bcd6e2"; 16140 sha256 = "04m4m3ncn7g4rb81xg5n28imns7rsq8d2w98gjpaib6vlmyly3g1"; 16141 }; 16142 16143 # python zip complains about old timestamps 16144 preConfigure = '' 16145 find -print0 | xargs -0 touch 16146 ''; 16147 16148 # Tests depend on other packages 16149 doCheck = false; 16150 16151 meta = { 16152 homepage = https://ws4py.readthedocs.org; 16153 description = "A WebSocket package for Python"; 16154 maintainers = with maintainers; [ rickynils ]; 16155 }; 16156 }; 16157 16158 gdata = buildPythonPackage rec { 16159 name = "gdata-${version}"; 16160 version = "2.0.17"; 16161 16162 src = pkgs.fetchurl { 16163 url = "https://gdata-python-client.googlecode.com/files/${name}.tar.gz"; 16164 # sha1 = "d2d9f60699611f95dd8c328691a2555e76191c0c"; 16165 sha256 = "0bdaqmicpbj9v3p0swvyrqs7m35bzwdw1gy56d3k09np692jfwmd"; 16166 }; 16167 16168 # Fails with "error: invalid command 'test'" 16169 doCheck = false; 16170 16171 meta = { 16172 homepage = https://code.google.com/p/gdata-python-client/; 16173 description = "Python client library for Google data APIs"; 16174 license = licenses.asl20; 16175 }; 16176 }; 16177 16178 IMAPClient = buildPythonPackage rec { 16179 name = "IMAPClient-${version}"; 16180 version = "0.11"; 16181 disabled = isPy34; 16182 16183 src = pkgs.fetchurl { 16184 url = "http://freshfoo.com/projects/IMAPClient/${name}.tar.gz"; 16185 sha256 = "1w54h8gz25qf6ggazzp6xf7kvsyiadsjfkkk17gm0p6pmzvvccbn"; 16186 }; 16187 16188 buildInputs = with self; [ mock ]; 16189 16190 preConfigure = '' 16191 sed -i '/distribute_setup/d' setup.py 16192 substituteInPlace setup.py --replace "mock==0.8.0" "mock" 16193 ''; 16194 16195 meta = { 16196 homepage = http://imapclient.freshfoo.com/; 16197 description = "Easy-to-use, Pythonic and complete IMAP client library"; 16198 license = licenses.bsd3; 16199 }; 16200 }; 16201 16202 Logbook = buildPythonPackage rec { 16203 name = "Logbook-${version}"; 16204 version = "0.4.2"; 16205 16206 src = pkgs.fetchurl { 16207 url = "https://pypi.python.org/packages/source/L/Logbook/${name}.tar.gz"; 16208 # md5 = "143cb15af4c4a784ca785a1546ad1b93"; 16209 sha256 = "1g2pnhxh7m64qsrs0ifwcmpfk7gqjvrawd8z66i001rsdnq778v0"; 16210 }; 16211 16212 meta = { 16213 homepage = http://pythonhosted.org/Logbook/; 16214 description = "A logging replacement for Python"; 16215 license = licenses.bsd3; 16216 }; 16217 }; 16218 16219 libvirt = pkgs.stdenv.mkDerivation rec { 16220 name = "libvirt-python-${version}"; 16221 version = "1.2.17"; 16222 16223 src = pkgs.fetchurl { 16224 url = "http://libvirt.org/sources/python/${name}.tar.gz"; 16225 sha256 = "1v9nkfik75bmcrdqzc8al8qf0dsaw56fzfv2kr8s4058290dplzl"; 16226 }; 16227 16228 buildInputs = with self; [ python pkgs.pkgconfig pkgs.libvirt lxml ]; 16229 16230 buildPhase = "${python.interpreter} setup.py build"; 16231 16232 installPhase = "${python.interpreter} setup.py install --prefix=$out"; 16233 16234 meta = { 16235 homepage = http://www.libvirt.org/; 16236 description = "libvirt Python bindings"; 16237 license = licenses.lgpl2; 16238 }; 16239 }; 16240 16241 searx = buildPythonPackage rec { 16242 name = "searx-0.7.0"; 16243 16244 src = pkgs.fetchurl { 16245 url = "https://github.com/asciimoo/searx/archive/v0.7.0.tar.gz"; 16246 sha256 = "0vq2zjdr1c8mr3zkycqq3732zf4pybbbrs3kzplqgf851k9zfpbw"; 16247 }; 16248 16249 propagatedBuildInputs = with self; [ pyyaml lxml grequests flaskbabel flask requests 16250 gevent speaklater Babel pytz dateutil pygments ]; 16251 16252 meta = { 16253 homepage = https://github.com/asciimoo/searx; 16254 description = "A privacy-respecting, hackable metasearch engine"; 16255 license = licenses.agpl3Plus; 16256 maintainers = with maintainers; [ matejc ]; 16257 }; 16258 }; 16259 16260 16261 grequests = buildPythonPackage rec { 16262 name = "grequests-0.2.0"; 16263 16264 src = pkgs.fetchurl { 16265 url = "http://pypi.python.org/packages/source/g/grequests/${name}.tar.gz"; 16266 sha256 = "0lafzax5igbh8y4x0krizr573wjsxz7bhvwygiah6qwrzv83kv5c"; 16267 }; 16268 16269 buildInputs = with self; [ requests gevent ]; 16270 16271 meta = { 16272 description = "Asynchronous HTTP requests"; 16273 homepage = https://github.com/kennethreitz/grequests; 16274 license = "bsd"; 16275 maintainers = with maintainers; [ matejc ]; 16276 }; 16277 }; 16278 16279 flaskbabel = buildPythonPackage rec { 16280 name = "Flask-Babel-0.9"; 16281 16282 src = pkgs.fetchurl { 16283 url = "http://pypi.python.org/packages/source/F/Flask-Babel/${name}.tar.gz"; 16284 sha256 = "0k7vk4k54y55ma0nx2k5s0phfqbriwslhy5shh3b0d046q7ibzaa"; 16285 }; 16286 16287 buildInputs = with self; [ flask jinja2 speaklater Babel pytz ]; 16288 16289 meta = { 16290 description = "Adds i18n/l10n support to Flask applications"; 16291 homepage = https://github.com/mitsuhiko/flask-babel; 16292 license = "bsd"; 16293 maintainers = with maintainers; [ matejc ]; 16294 }; 16295 }; 16296 16297 speaklater = buildPythonPackage rec { 16298 name = "speaklater-1.3"; 16299 16300 src = pkgs.fetchurl { 16301 url = "http://pypi.python.org/packages/source/s/speaklater/${name}.tar.gz"; 16302 sha256 = "1ab5dbfzzgz6cnz4xlwx79gz83id4bhiw67k1cgqrlzfs0va7zjr"; 16303 }; 16304 16305 meta = { 16306 description = "implements a lazy string for python useful for use with gettext"; 16307 homepage = https://github.com/mitsuhiko/speaklater; 16308 license = "bsd"; 16309 maintainers = with maintainers; [ matejc ]; 16310 }; 16311 }; 16312 16313 pushbullet = buildPythonPackage rec { 16314 name = "pushbullet.py-${version}"; 16315 version = "0.5.0"; 16316 16317 src = pkgs.fetchurl { 16318 url = "https://pypi.python.org/packages/source/p/pushbullet.py/pushbullet.py-0.5.0.tar.gz"; 16319 md5 = "36c83ba5f7d5208bb86c00eba633f921"; 16320 }; 16321 16322 propagatedBuildInputs = with self; [requests websocket_client python_magic ]; 16323 }; 16324 16325 power = buildPythonPackage rec { 16326 name = "power-1.2"; 16327 16328 src = pkgs.fetchurl { 16329 url = "http://pypi.python.org/packages/source/p/power/${name}.tar.gz"; 16330 sha256 = "09a00af8357f63dbb1a1eb13b82e39ccc0a14d6d2e44e5b235afe60ce8ee8195"; 16331 }; 16332 16333 meta = { 16334 description = "Cross-platform system power status information"; 16335 homepage = https://github.com/Kentzo/Power; 16336 license = licenses.mit; 16337 }; 16338 }; 16339 16340 udiskie = buildPythonPackage rec { 16341 version = "1.1.2"; 16342 name = "udiskie-${version}"; 16343 16344 src = pkgs.fetchurl { 16345 url = "https://github.com/coldfix/udiskie/archive/${version}.tar.gz"; 16346 sha256 = "07fyvwp4rga47ayfsmb79p2784sqrih0sglwnd9c4x6g63xgljvb"; 16347 }; 16348 16349 preConfigure = '' 16350 export XDG_RUNTIME_DIR=/tmp 16351 ''; 16352 16353 propagatedBuildInputs = with self; [ pkgs.gobjectIntrospection pkgs.gtk3 pyyaml pygobject3 pkgs.libnotify pkgs.udisks2 pkgs.gettext self.docopt ]; 16354 16355 preFixup = '' 16356 wrapProgram "$out/bin/"* \ 16357 --prefix GI_TYPELIB_PATH : "$GI_TYPELIB_PATH" 16358 ''; 16359 16360 # tests require dbusmock 16361 doCheck = false; 16362 16363 meta = { 16364 description = "Removable disk automounter for udisks"; 16365 license = licenses.mit; 16366 homepage = https://github.com/coldfix/udiskie; 16367 maintainers = with maintainers; [ AndersonTorres ]; 16368 }; 16369 }; 16370 16371 pythonefl_1_15 = buildPythonPackage rec { 16372 name = "python-efl-${version}"; 16373 version = "1.15.0"; 16374 src = pkgs.fetchurl { 16375 url = "http://download.enlightenment.org/rel/bindings/python/${name}.tar.gz"; 16376 sha256 = "1k3vb7pb70l2v1s2mzg91wvmncq93vb04vn60pzdlrnbcns0grhi"; 16377 }; 16378 preConfigure = '' 16379 export NIX_CFLAGS_COMPILE="$(pkg-config --cflags efl) -I${self.dbus}/include/dbus-1.0 $NIX_CFLAGS_COMPILE" 16380 ''; 16381 buildInputs = with self; [ pkgs.pkgconfig pkgs.e19.efl pkgs.e19.elementary ]; 16382 meta = { 16383 description = "Python bindings for EFL and Elementary"; 16384 homepage = http://enlightenment.org/; 16385 maintainers = with maintainers; [ matejc tstrobel ftrvxmtrx ]; 16386 platforms = platforms.linux; 16387 license = licenses.gpl3; 16388 }; 16389 }; 16390 16391 toposort = buildPythonPackage rec { 16392 name = "toposort-${version}"; 16393 version = "1.1"; 16394 src = pkgs.fetchurl { 16395 url = "https://pypi.python.org/packages/source/t/toposort/toposort-1.1.tar.gz"; 16396 sha256 = "1izmirbwmd9xrk7rq83p486cvnsslfa5ljvl7rijj1r64zkcnf3a"; 16397 }; 16398 meta = { 16399 description = "A topological sort algorithm"; 16400 homepage = https://pypi.python.org/pypi/toposort/1.1; 16401 maintainers = with maintainers; [ tstrobel ]; 16402 platforms = platforms.linux; 16403 #license = licenses.apache; 16404 }; 16405 }; 16406 16407 snapperGUI = buildPythonPackage rec { 16408 name = "Snapper-GUI"; 16409 16410 src = pkgs.fetchgit { 16411 url = "https://github.com/ricardomv/snapper-gui"; 16412 rev = "11d98586b122180c75a86fccda45c4d7e3137591"; 16413 sha256 = "7a9f86fc17dbf130526e70c3e925eac30e2c74d6b932efbf7e7cd9fbba6dc4b1"; 16414 }; 16415 16416 # no tests available 16417 doCheck = false; 16418 16419 propagatedBuildInputs = with self; [ pygobject3 dbus ]; 16420 16421 meta = { 16422 homepage = https://github.com/ricardomv/snapper-gui; 16423 description = "Graphical frontend for snapper"; 16424 license = licenses.gpl2; 16425 maintainers = with maintainers; [ tstrobel ]; 16426 }; 16427 }; 16428 16429 16430 redNotebook = buildPythonPackage rec { 16431 name = "rednotebook-1.8.1"; 16432 16433 src = pkgs.fetchurl { 16434 url = "mirror://sourceforge/rednotebook/${name}.tar.gz"; 16435 sha256 = "00b7s4xpqpxsbzjvjx9qsx5d84m9pvn383c5di1nsfh35pig0rzn"; 16436 }; 16437 16438 # no tests available 16439 doCheck = false; 16440 16441 propagatedBuildInputs = with self; [ pygtk pywebkitgtk pyyaml chardet ]; 16442 16443 meta = { 16444 homepage = http://rednotebook.sourceforge.net/index.html; 16445 description = "A modern journal that includes a calendar navigation, customizable templates, export functionality and word clouds"; 16446 license = licenses.gpl2; 16447 maintainers = with maintainers; [ tstrobel ]; 16448 }; 16449 }; 16450 16451 16452 moreItertools = buildPythonPackage rec { 16453 name = "more-itertools-2.2"; 16454 16455 disabled = isPy3k; 16456 16457 src = pkgs.fetchurl { 16458 url = "https://github.com/erikrose/more-itertools/archive/2.2.tar.gz"; 16459 sha256 = "4606417182e0a1289e23fb7f964a64ca9fdaafb7c1999034dc4fa0cc5850c478"; 16460 }; 16461 16462 propagatedBuildInputs = with self; [ nose ]; 16463 16464 meta = { 16465 homepage = https://more-itertools.readthedocs.org; 16466 description = "Expansion of the itertools module"; 16467 license = licenses.mit; 16468 }; 16469 }; 16470 16471 16472 uncertainties = buildPythonPackage rec { 16473 name = "uncertainties-2.4.6.1"; 16474 16475 src = pkgs.fetchurl { 16476 url = "https://github.com/lebigot/uncertainties/archive/2.4.6.1.tar.gz"; 16477 sha256 = "993ad1a380185ff9548510401ed89fe96cf1f18ca48b44657356c8dcd3ad5032"; 16478 }; 16479 16480 buildInputs = with self; [ nose numpy ]; 16481 16482 meta = { 16483 homepage = "http://pythonhosted.org/uncertainties/"; 16484 description = "Transparent calculations with uncertainties on the quantities involved (aka error propagation)"; 16485 license = licenses.bsd3; 16486 }; 16487 }; 16488 16489 16490 funcy = buildPythonPackage rec { 16491 name = "funcy-1.4"; 16492 16493 src = pkgs.fetchurl { 16494 url = "https://github.com/Suor/funcy/archive/1.4.tar.gz"; 16495 sha256 = "694e29aa67d03a6ab006f1854740b65f4f87e581afb33853f80e647ddb5f24e7"; 16496 }; 16497 16498 meta = { 16499 description = "Collection of fancy functional tools focused on practicality"; 16500 homepage = "http://funcy.readthedocs.org/"; 16501 license = licenses.bsd3; 16502 16503 }; 16504 }; 16505 16506 boto-230 = buildPythonPackage rec { 16507 name = "boto-2.30.0"; 16508 disabled = ! isPy27; 16509 src = pkgs.fetchurl { 16510 url = https://pypi.python.org/packages/source/b/boto/boto-2.30.0.tar.gz; 16511 sha256 = "12gl8azmx1vv8dbv9jhnsbhjpc2dd1ng0jlbcg734k6ggwq1h6hh"; 16512 }; 16513 doCheck = false; 16514 meta = { 16515 homepage = https://github.com/boto/boto; 16516 license = licenses.mit; 16517 description = "Python interface to Amazon Web Services"; 16518 }; 16519 }; 16520 16521 gcs-oauth2-boto-plugin = buildPythonPackage rec { 16522 name = "gcs-oauth2-boto-plugin-1.8"; 16523 disabled = ! isPy27; 16524 src = pkgs.fetchurl { 16525 url = https://pypi.python.org/packages/source/g/gcs-oauth2-boto-plugin/gcs-oauth2-boto-plugin-1.8.tar.gz; 16526 sha256 = "0jy62y5bmaf1mb735lqwry1s5nx2qqrxvl5sxip9yg4miih3qkyb"; 16527 }; 16528 propagatedBuildInputs = with self; [ boto-230 httplib2 google_api_python_client retry_decorator pkgs.pyopenssl socksipy-branch ]; 16529 meta = { 16530 homepage = https://developers.google.com/storage/docs/gspythonlibrary; 16531 description = "Provides OAuth 2.0 credentials that can be used with Google Cloud Storage"; 16532 license = licenses.asl20; 16533 }; 16534 }; 16535 16536 gsutil = buildPythonPackage rec { 16537 name = "gsutil-4.6"; 16538 disabled = ! isPy27; 16539 meta = { 16540 homepage = https://developers.google.com/storage/docs/gsutil; 16541 description = "Google Cloud Storage Tool"; 16542 maintainers = [ "Russell O'Connor <oconnorr@google.com>" ]; 16543 license = licenses.asl20; 16544 }; 16545 doCheck = false; 16546 16547 src = pkgs.fetchurl { 16548 url = https://pypi.python.org/packages/source/g/gsutil/gsutil-4.6.tar.gz; 16549 sha256 = "1i0clm60162rbk45ljr8nsw4ndkzjnwb7r440shcqjrvw8jq49mn"; 16550 }; 16551 16552 propagatedBuildInputs = with self; [ boto-230 crcmod httplib2 gcs-oauth2-boto-plugin google_api_python_client gflags 16553 retry_decorator pkgs.pyopenssl socksipy-branch crcmod ]; 16554 }; 16555 16556 pypi2nix = self.buildPythonPackage rec { 16557 rev = "04a68d8577acbceb88bdf51b1231a9dbdead7003"; 16558 name = "pypi2nix-1.0_${rev}"; 16559 disabled = ! isPy27; 16560 16561 src = pkgs.fetchurl { 16562 url = "https://github.com/garbas/pypi2nix/tarball/${rev}"; 16563 name = "${name}.tar.bz"; 16564 sha256 = "1fv85x2bz442iyxsvka2g75zibjcq48gp2fc7szaqcfqxq42syy9"; 16565 }; 16566 16567 doCheck = false; 16568 16569 meta = { 16570 homepage = https://github.com/garbas/pypi2nix; 16571 description = ""; 16572 maintainers = with maintainers; [ garbas ]; 16573 }; 16574 }; 16575 16576 svg2tikz = self.buildPythonPackage { 16577 name = "svg2tikz-1.0.0"; 16578 disabled = ! isPy27; 16579 16580 propagatedBuildInputs = with self; [lxml]; 16581 16582 src = pkgs.fetchgit { 16583 url = "https://github.com/kjellmf/svg2tikz"; 16584 sha256 = "429428ec435e53672b85cdfbb89bb8af0ff9f8238f5d05970729e5177d252d5f"; 16585 rev = "ad36f2c3818da13c4136d70a0fd8153acf8daef4"; 16586 }; 16587 16588 meta = { 16589 homepage = https://github.com/kjellmf/svg2tikz; 16590 description = "An SVG to TikZ converter"; 16591 license = licenses.gpl2Plus; 16592 maintainers = with maintainers; [ gal_bolle ]; 16593 }; 16594 }; 16595 16596 syncserver = buildPythonPackage rec { 16597 name = "syncserver-${version}"; 16598 version = "1.5.0"; 16599 disabled = ! isPy27; 16600 16601 src = pkgs.fetchgit { 16602 url = https://github.com/mozilla-services/syncserver.git; 16603 rev = "refs/tags/${version}"; 16604 sha256 = "1xljylycxg7351hmqh7aa6fvvsjg06zvd4r7hcjqyd0k0sxvk7y6"; 16605 }; 16606 16607 buildInputs = with self; [ unittest2 ]; 16608 propagatedBuildInputs = with self; [ 16609 cornice gunicorn pyramid requests simplejson sqlalchemy9 mozsvc tokenserver 16610 serversyncstorage configparser 16611 ]; 16612 16613 meta = { 16614 maintainers = [ ]; 16615 platforms = platforms.all; 16616 }; 16617 }; 16618 16619 serversyncstorage = buildPythonPackage rec { 16620 name = "serversyncstorage-${version}"; 16621 version = "1.5.11"; 16622 disabled = ! isPy27; 16623 src = pkgs.fetchgit { 16624 url = https://github.com/mozilla-services/server-syncstorage.git; 16625 rev = "refs/tags/${version}"; 16626 sha256 = "1byq2k2f36f1jli9599ygfm2qsb4adl9140sxjpgfjbznb74q90q"; 16627 }; 16628 16629 propagatedBuildInputs = with self; [ 16630 pyramid sqlalchemy9 simplejson mozsvc cornice pyramid_hawkauth pymysql 16631 pymysqlsa umemcache wsgiproxy2 requests pybrowserid 16632 ]; 16633 16634 doCheck = false; # lazy packager 16635 }; 16636 16637 16638 thumbor = self.buildPythonPackage rec { 16639 name = "thumbor-4.0.4"; 16640 disabled = ! isPy27; 16641 16642 propagatedBuildInputs = with self; [ 16643 # Remove pythonPackages.tornado 3.x once thumbor is updated to 5.x 16644 tornado_3 16645 pycrypto 16646 pycurl 16647 pillow 16648 derpconf 16649 python_magic 16650 thumborPexif 16651 (pkgs.opencv.override { 16652 gtk = null; 16653 glib = null; 16654 xineLib = null; 16655 gstreamer = null; 16656 ffmpeg = null; 16657 }) 16658 ]; 16659 16660 src = pkgs.fetchurl { 16661 url = "https://pypi.python.org/packages/source/t/thumbor/${name}.tar.gz"; 16662 md5 = "cf639a1cc57ee287b299ace450444408"; 16663 }; 16664 16665 meta = { 16666 description = "A smart imaging service"; 16667 homepage = https://github.com/globocom/thumbor/wiki; 16668 license = licenses.mit; 16669 }; 16670 }; 16671 16672 thumborPexif = self.buildPythonPackage rec { 16673 name = "thumbor-pexif-0.14"; 16674 disabled = ! isPy27; 16675 16676 src = pkgs.fetchurl { 16677 url = "https://pypi.python.org/packages/source/t/thumbor-pexif/${name}.tar.gz"; 16678 md5 = "fb4cdb60f4a0bead5193fb483ccd3430"; 16679 }; 16680 16681 meta = { 16682 description = "Module to parse and edit the EXIF data tags in a JPEG image"; 16683 homepage = http://www.benno.id.au/code/pexif/; 16684 license = licenses.mit; 16685 }; 16686 }; 16687 16688 pync = buildPythonPackage rec { 16689 version = "1.4"; 16690 baseName = "pync"; 16691 name = "${baseName}-${version}"; 16692 disabled = ! isPy27; 16693 16694 src = pkgs.fetchurl { 16695 url = "https://pypi.python.org/packages/source/p/${baseName}/${name}.tar.gz"; 16696 md5 = "5cc79077f386a17b539f1e51c05a3650"; 16697 }; 16698 16699 buildInputs = with self; [ pkgs.coreutils ]; 16700 16701 propagatedBuildInputs = with self; [ dateutil ]; 16702 16703 preInstall = stdenv.lib.optionalString stdenv.isDarwin '' 16704 sed -i 's|^\([ ]*\)self.bin_path.*$|\1self.bin_path = "${pkgs.terminal-notifier}/bin/terminal-notifier"|' build/lib/pync/TerminalNotifier.py 16705 ''; 16706 16707 meta = { 16708 description = "Python Wrapper for Mac OS 10.8 Notification Center"; 16709 homepage = https://pypi.python.org/pypi/pync/1.4; 16710 license = licenses.mit; 16711 platforms = platforms.darwin; 16712 maintainers = with maintainers; [ lovek323 ]; 16713 }; 16714 }; 16715 16716 weboob = buildPythonPackage rec { 16717 name = "weboob-1.0"; 16718 disabled = ! isPy27; 16719 16720 src = pkgs.fetchurl { 16721 url = "https://symlink.me/attachments/download/289/${name}.tar.gz"; 16722 md5 = "38f832f1b8654441adafe8558faa7109"; 16723 }; 16724 16725 setupPyBuildFlags = ["--qt" "--xdg"]; 16726 16727 propagatedBuildInputs = with self; [ pillow prettytable pyyaml dateutil gdata requests2 mechanize feedparser lxml pkgs.gnupg pyqt4 pkgs.libyaml simplejson cssselect futures ]; 16728 16729 meta = { 16730 homepage = http://weboob.org; 16731 description = "Collection of applications and APIs to interact with websites without requiring the user to open a browser"; 16732 license = licenses.agpl3; 16733 maintainers = with maintainers; [ DamienCassou ]; 16734 }; 16735 }; 16736 16737 datadiff = buildPythonPackage rec { 16738 name = "datadiff-1.1.6"; 16739 disabled = ! isPy27; 16740 16741 src = pkgs.fetchurl { 16742 url = "https://pypi.python.org/packages/source/d/datadiff/datadiff-1.1.6.zip"; 16743 md5 = "c34a690db75eead148aa5fa89e575d1e"; 16744 }; 16745 16746 buildInputs = with self; [ nose ]; 16747 16748 meta = { 16749 description = "DataDiff"; 16750 homepage = http://sourceforge.net/projects/datadiff/; 16751 license = licenses.asl20; 16752 }; 16753 }; 16754 16755 termcolor = buildPythonPackage rec { 16756 name = "termcolor-1.1.0"; 16757 disabled = ! isPy27; 16758 16759 src = pkgs.fetchurl { 16760 url = "https://pypi.python.org/packages/source/t/termcolor/termcolor-1.1.0.tar.gz"; 16761 md5 = "043e89644f8909d462fbbfa511c768df"; 16762 }; 16763 16764 meta = { 16765 description = "Termcolor"; 16766 homepage = http://pypi.python.org/pypi/termcolor; 16767 license = licenses.mit; 16768 }; 16769 }; 16770 16771 html2text = buildPythonPackage rec { 16772 name = "html2text-2014.12.29"; 16773 disabled = ! isPy27; 16774 16775 src = pkgs.fetchurl { 16776 url = "https://pypi.python.org/packages/source/h/html2text/html2text-2014.12.29.tar.gz"; 16777 md5 = "c5bd796bdf7d1bfa43f55f1e2b5e4826"; 16778 }; 16779 16780 propagatedBuildInputs = with pythonPackages; [ ]; 16781 16782 meta = { 16783 homepage = https://github.com/Alir3z4/html2text/; 16784 }; 16785 }; 16786 16787 pychart = buildPythonPackage rec { 16788 name = "pychart-1.39"; 16789 disabled = ! isPy27; 16790 16791 src = pkgs.fetchurl { 16792 url = "http://download.gna.org/pychart/PyChart-1.39.tar.gz"; 16793 sha256 = "882650928776a7ca72e67054a9e0ac98f78645f279c0cfb5910db28f03f07c2e"; 16794 }; 16795 16796 meta = { 16797 description = "Library for creating high quality encapsulated Postscript, PDF, PNG, or SVG charts"; 16798 homepage = http://home.gna.org/pychart/; 16799 license = licenses.gpl2; 16800 }; 16801 }; 16802 16803 parsimonious = buildPythonPackage rec { 16804 name = "parsimonious-0.6.0"; 16805 disabled = ! isPy27; 16806 src = pkgs.fetchurl { 16807 url = "https://github.com/erikrose/parsimonious/archive/0.6.tar.gz"; 16808 sha256 = "7ad992448b69a3f3d943bac0be132bced3f13937c8ca150ba2fd1d7b6534f846"; 16809 }; 16810 16811 propagatedBuildInputs = with self; [ nose ]; 16812 16813 meta = { 16814 homepage = "https://github.com/erikrose/parsimonious"; 16815 description = "Fast arbitrary-lookahead packrat parser written in pure Python"; 16816 license = licenses.mit; 16817 }; 16818 }; 16819 16820 networkx = buildPythonPackage rec { 16821 name = "networkx-1.9.1"; 16822 disabled = ! isPy27; 16823 16824 src = pkgs.fetchurl { 16825 url = "https://pypi.python.org/packages/source/n/networkx/networkx-1.9.1.tar.gz"; 16826 sha256 = "6380eb38d0b5770d7e50813c8a48ff7c373b2187b4220339c1adce803df01c59"; 16827 }; 16828 16829 propagatedBuildInputs = with self; [ nose decorator ]; 16830 16831 meta = { 16832 homepage = "https://networkx.github.io/"; 16833 description = "Library for the creation, manipulation, and study of the structure, dynamics, and functions of complex networks"; 16834 license = licenses.bsd3; 16835 }; 16836 }; 16837 16838 basemap = buildPythonPackage rec { 16839 name = "basemap-1.0.7"; 16840 disabled = ! isPy27; 16841 16842 src = pkgs.fetchurl { 16843 url = "mirror://sourceforge/project/matplotlib/matplotlib-toolkits/basemap-1.0.7/basemap-1.0.7.tar.gz"; 16844 sha256 = "0ca522zirj5sj10vg3fshlmgi615zy5gw2assapcj91vsvhc4zp0"; 16845 }; 16846 16847 propagatedBuildInputs = with self; [ numpy matplotlib pillow ]; 16848 buildInputs = with self; with pkgs ; [ setuptools geos proj ]; 16849 16850 # Standard configurePhase from `buildPythonPackage` seems to break the setup.py script 16851 configurePhase = '' 16852 export GEOS_DIR=${pkgs.geos} 16853 ''; 16854 16855 # The installer does not support the '--old-and-unmanageable' option 16856 installPhase = '' 16857 ${python.interpreter} setup.py install --prefix $out 16858 ''; 16859 16860 # The 'check' target is not supported by the `setup.py` script. 16861 # TODO : do the post install checks (`cd examples && ${python.interpreter} run_all.py`) 16862 doCheck = false; 16863 16864 meta = { 16865 homepage = "http://matplotlib.org/basemap/"; 16866 description = "Plot data on map projections with matplotlib"; 16867 longDescription = '' 16868 An add-on toolkit for matplotlib that lets you plot data on map projections with 16869 coastlines, lakes, rivers and political boundaries. See 16870 http://matplotlib.github.com/basemap/users/examples.html for examples of what it can do. 16871 ''; 16872 license = with licenses; [ mit gpl2 ]; 16873 }; 16874 }; 16875 16876 dicttoxml = buildPythonPackage rec { 16877 name = "dicttoxml-1.6.4"; 16878 16879 src = pkgs.fetchurl { 16880 url = "https://pypi.python.org/packages/source/d/dicttoxml/dicttoxml-1.6.4.tar.gz"; 16881 md5 = "154b47d2b7405280b871a81502a05657"; 16882 }; 16883 16884 propagatedBuildInputs = with self; [ ]; 16885 16886 meta = { 16887 description = "Summary"; 16888 homepage = https://github.com/quandyfactory/dicttoxml; 16889 }; 16890 }; 16891 16892 16893 markdown2 = buildPythonPackage rec { 16894 name = "markdown2-${version}"; 16895 version = "2.3.0"; 16896 16897 src = pkgs.fetchurl { 16898 url = "https://pypi.python.org/packages/source/m/markdown2/${name}.zip"; 16899 sha256 = "073zyx3caqa9zlzxa82k9k2nhhn8c5imqpgp5nwqnh0fgaj9pqn8"; 16900 }; 16901 propagatedBuildInputs = with self; []; 16902 meta = { 16903 description = "A fast and complete Python implementation of Markdown"; 16904 homepage = https://github.com/trentm/python-markdown2; 16905 license = licenses.mit; 16906 maintainers = with maintainers; [ hbunke ]; 16907 }; 16908 }; 16909 16910 16911 evernote = buildPythonPackage rec { 16912 name = "evernote-${version}"; 16913 version = "1.25.0"; 16914 disabled = ! isPy27; #some dependencies do not work with py3 16915 16916 src = pkgs.fetchurl { 16917 url = "https://pypi.python.org/packages/source/e/evernote/${name}.tar.gz"; 16918 sha256 = "1lwlg6fpi3530245jzham1400a5b855bm4sbdyck229h9kg1v02d"; 16919 }; 16920 16921 propagatedBuildInputs = with self; [ oauth2 ]; 16922 16923 meta = { 16924 description = "Evernote SDK for Python"; 16925 homepage = http://dev.evernote.com; 16926 license = licenses.asl20; 16927 maintainers = with maintainers; [ hbunke ]; 16928 }; 16929 }; 16930 16931 thrift = buildPythonPackage rec { 16932 name = "thrift-${version}"; 16933 version = "0.9.2"; 16934 16935 src = pkgs.fetchurl { 16936 url = "https://pypi.python.org/packages/source/t/thrift/${name}.tar.gz"; 16937 sha256 = "1yla6wg18x2a0l0lrvkp1v464hqhff98ck8pnv8d5j9kn3j6bxh8"; 16938 }; 16939 16940 meta = { 16941 description = "Python bindings for the Apache Thrift RPC system"; 16942 homepage = http://thrift.apache.org/; 16943 license = licenses.asl20; 16944 maintainers = with maintainers; [ hbunke ]; 16945 16946 }; 16947 }; 16948 16949 geeknote = buildPythonPackage rec { 16950 version = "2015-03-02"; 16951 name = "geeknote-${version}"; 16952 disabled = ! isPy27; 16953 16954 src = pkgs.fetchFromGitHub { 16955 owner = "VitaliyRodnenko"; 16956 repo = "geeknote"; 16957 rev = "7ea2255bb6"; 16958 sha256 = "0lw3m8g7r8r7dxhqih08x0i6agd201q2ig35a59rd4vygr3xqw2j"; 16959 }; 16960 16961 /* build with tests fails with "Can not create application dirictory : 16962 /homeless-shelter/.geeknotebuilder". */ 16963 doCheck = false; 16964 16965 propagatedBuildInputs = with self; [ 16966 thrift 16967 beautifulsoup4 16968 markdown2 16969 sqlalchemy 16970 html2text 16971 evernote 16972 ]; 16973 16974 meta = { 16975 description = "Work with Evernote from command line"; 16976 homepage = http://www.geeknote.me; 16977 license = licenses.gpl1; 16978 maintainers = with maintainers; [ hbunke ]; 16979 16980 }; 16981 }; 16982 16983 trollius = buildPythonPackage rec { 16984 version = "1.0.4"; 16985 name = "trollius-${version}"; 16986 disabled = isPy34; 16987 16988 src = pkgs.fetchurl { 16989 url = "https://pypi.python.org/packages/source/t/trollius/${name}.tar.gz"; 16990 md5 = "3631a464d49d0cbfd30ab2918ef2b783"; 16991 }; 16992 16993 buildInputs = with self; [ mock ] 16994 ++ optional isPy26 unittest2; 16995 16996 propagatedBuildInputs = with self; [] 16997 ++ optional isPy26 ordereddict 16998 ++ optional (isPy26 || isPy27 || isPyPy) futures; 16999 17000 # Some of the tests fail on darwin with `error: AF_UNIX path too long' 17001 # because of the *long* path names for sockets 17002 patchPhase = optionalString stdenv.isDarwin '' 17003 sed -i -e "s|test_create_ssl_unix_connection|skip_test_create_ssl_unix_connection|" tests/test_events.py 17004 sed -i -e "s|test_create_unix_connection|skip_test_create_unix_connection|" tests/test_events.py 17005 sed -i -e "s|test_create_unix_connection|skip_test_create_unix_connection|" tests/test_events.py 17006 sed -i -e "s|test_create_unix_connection|skip_test_create_unix_connection|" tests/test_events.py 17007 sed -i -e "s|test_create_unix_server_existing_path_nonsock|skip_test_create_unix_server_existing_path_nonsock|" tests/test_unix_events.py 17008 sed -i -e "s|test_create_unix_server_existing_path_sock|skip_test_create_unix_server_existing_path_sock|" tests/test_unix_events.py 17009 sed -i -e "s|test_create_unix_server_ssl_verified|skip_test_create_unix_server_ssl_verified|" tests/test_events.py 17010 sed -i -e "s|test_create_unix_server_ssl_verified|skip_test_create_unix_server_ssl_verified|" tests/test_events.py 17011 sed -i -e "s|test_create_unix_server_ssl_verified|skip_test_create_unix_server_ssl_verified|" tests/test_events.py 17012 sed -i -e "s|test_create_unix_server_ssl_verify_failed|skip_test_create_unix_server_ssl_verify_failed|" tests/test_events.py 17013 sed -i -e "s|test_create_unix_server_ssl_verify_failed|skip_test_create_unix_server_ssl_verify_failed|" tests/test_events.py 17014 sed -i -e "s|test_create_unix_server_ssl_verify_failed|skip_test_create_unix_server_ssl_verify_failed|" tests/test_events.py 17015 sed -i -e "s|test_create_unix_server_ssl|skip_test_create_unix_server_ssl|" tests/test_events.py 17016 sed -i -e "s|test_create_unix_server_ssl|skip_test_create_unix_server_ssl|" tests/test_events.py 17017 sed -i -e "s|test_create_unix_server_ssl|skip_test_create_unix_server_ssl|" tests/test_events.py 17018 sed -i -e "s|test_create_unix_server|skip_test_create_unix_server|" tests/test_events.py 17019 sed -i -e "s|test_create_unix_server|skip_test_create_unix_server|" tests/test_events.py 17020 sed -i -e "s|test_create_unix_server|skip_test_create_unix_server|" tests/test_events.py 17021 sed -i -e "s|test_open_unix_connection_error|skip_test_open_unix_connection_error|" tests/test_streams.py 17022 sed -i -e "s|test_open_unix_connection_no_loop_ssl|skip_test_open_unix_connection_no_loop_ssl|" tests/test_streams.py 17023 sed -i -e "s|test_open_unix_connection|skip_test_open_unix_connection|" tests/test_streams.py 17024 sed -i -e "s|test_start_unix_server|skip_test_start_unix_server|" tests/test_streams.py 17025 sed -i -e "s|test_unix_sock_client_ops|skip_test_unix_sock_client_ops|" tests/test_events.py 17026 sed -i -e "s|test_unix_sock_client_ops|skip_test_unix_sock_client_ops|" tests/test_events.py 17027 sed -i -e "s|test_unix_sock_client_ops|skip_test_unix_sock_client_ops|" tests/test_events.py 17028 '' + optionalString isPy26 '' 17029 sed -i -e "s|test_env_var_debug|skip_test_env_var_debug|" tests/test_tasks.py 17030 ''; 17031 17032 meta = { 17033 description = "Port of the Tulip project (asyncio module, PEP 3156) on Python 2"; 17034 homepage = "https://bitbucket.org/enovance/trollius"; 17035 license = licenses.asl20; 17036 maintainers = with maintainers; [ garbas ]; 17037 }; 17038 }; 17039 17040 neovim = buildPythonPackage rec { 17041 version = "0.0.36"; 17042 name = "neovim-${version}"; 17043 17044 src = pkgs.fetchurl { 17045 url = "https://pypi.python.org/packages/source/n/neovim/${name}.tar.gz"; 17046 md5 = "8cdad23402e29c7c5a1e85770e976edf"; 17047 }; 17048 17049 propagatedBuildInputs = with self; [ msgpack ] 17050 ++ optional (!isPyPy) greenlet 17051 ++ optional (!isPy34) trollius; 17052 17053 meta = { 17054 description = "Python client for Neovim"; 17055 homepage = "https://github.com/neovim/python-client"; 17056 license = licenses.asl20; 17057 maintainers = with maintainers; [ garbas ]; 17058 }; 17059 }; 17060 17061 ghp-import = buildPythonPackage rec { 17062 version = "0.4.1"; 17063 name = "ghp-import-${version}"; 17064 src = pkgs.fetchurl { 17065 url = "https://pypi.python.org/packages/source/g/ghp-import/${name}.tar.gz"; 17066 md5 = "99e018372990c03ab355aa62c34965c5"; 17067 }; 17068 disabled = isPyPy; 17069 buildInputs = [ pkgs.glibcLocales ]; 17070 preConfigure = '' 17071 export LC_ALL="en_US.UTF-8" 17072 ''; 17073 meta = { 17074 description = "Copy your docs directly to the gh-pages branch."; 17075 homepage = "http://github.com/davisp/ghp-import"; 17076 license = "Tumbolia Public License"; 17077 maintainers = with maintainers; [ garbas ]; 17078 }; 17079 }; 17080 17081 typogrify = buildPythonPackage rec { 17082 name = "typogrify-2.0.7"; 17083 src = pkgs.fetchurl { 17084 url = "https://pypi.python.org/packages/source/t/typogrify/${name}.tar.gz"; 17085 md5 = "63f38f80531996f187d2894cc497ba08"; 17086 }; 17087 disabled = isPyPy; 17088 propagatedBuildInputs = with self; [ smartypants ]; 17089 meta = { 17090 description = "Filters to enhance web typography, including support for Django & Jinja templates"; 17091 homepage = "https://github.com/mintchaos/typogrify"; 17092 license = licenses.bsd3; 17093 maintainers = with maintainers; [ garbas ]; 17094 }; 17095 }; 17096 17097 smartypants = buildPythonPackage rec { 17098 version = "1.8.6"; 17099 name = "smartypants-${version}"; 17100 src = pkgs.fetchhg { 17101 url = "https://bitbucket.org/livibetter/smartypants.py"; 17102 rev = "v${version}"; 17103 sha256 = "1cmzz44d2hm6y8jj2xcq1wfr26760gi7iq92ha8xbhb1axzd7nq6"; 17104 }; 17105 disabled = isPyPy; 17106 buildInputs = with self; [ ]; #docutils pygments ]; 17107 meta = { 17108 description = "Python with the SmartyPants"; 17109 homepage = "https://bitbucket.org/livibetter/smartypants.py"; 17110 license = licenses.bsd3; 17111 maintainers = with maintainers; [ garbas ]; 17112 }; 17113 }; 17114 17115 pypeg2 = buildPythonPackage rec { 17116 version = "2.15.1"; 17117 name = "pypeg2-${version}"; 17118 17119 src = pkgs.fetchurl { 17120 url = "https://pypi.python.org/packages/source/p/pyPEG2/pyPEG2-${version}.tar.gz"; 17121 sha256 = "f4814a5f9c84bbb0794bef8d2a5871f4aed25366791c55e2162681873ad8bd21"; 17122 }; 17123 17124 meta = { 17125 description = "PEG parser interpreter in Python"; 17126 homepage = http://fdik.org/pyPEG; 17127 license = licenses.gpl2; 17128 }; 17129 }; 17130 17131 jenkins-job-builder = buildPythonPackage rec { 17132 name = "jenkins-job-builder-1.2.0"; 17133 disabled = ! (isPy26 || isPy27); 17134 17135 src = pkgs.fetchurl { 17136 url = "https://pypi.python.org/packages/source/j/jenkins-job-builder/${name}.tar.gz"; 17137 md5 = "79e44ef0d3fffc19f415d8c0caac6b7b"; 17138 }; 17139 17140 # pbr required for jenkins-job-builder is <1.0.0 while many of the test 17141 # dependencies require pbr>=1.1 17142 doCheck = false; 17143 17144 buildInputs = with self; [ 17145 pip 17146 ]; 17147 17148 propagatedBuildInputs = with self; [ 17149 pbr 17150 python-jenkins 17151 pyyaml 17152 six 17153 ] ++ optionals isPy26 [ 17154 argparse 17155 ordereddict 17156 ]; 17157 17158 meta = { 17159 description = "Jenkins Job Builder is a system for configuring Jenkins jobs using simple YAML files stored in Git."; 17160 homepage = "http://docs.openstack.org/infra/system-config/jjb.html"; 17161 license = licenses.asl20; 17162 maintainers = with maintainers; [ garbas ]; 17163 }; 17164 }; 17165 17166 dot2tex = buildPythonPackage rec { 17167 name = "dot2tex-2.9.0"; 17168 17169 src = pkgs.fetchurl { 17170 url = "https://pypi.python.org/packages/source/d/dot2tex/dot2tex-2.9.0.tar.gz"; 17171 md5 = "2dbaeac905424d0410751235bde4b8b2"; 17172 }; 17173 17174 propagatedBuildInputs = with self; [ 17175 pyparsing 17176 ]; 17177 17178 meta = { 17179 description = "Convert graphs generated by Graphviz to LaTeX friendly formats"; 17180 homepage = "https://github.com/kjellmf/dot2tex"; 17181 license = licenses.mit; 17182 }; 17183 }; 17184 17185 poezio = buildPythonPackage rec { 17186 name = "poezio-${version}"; 17187 version = "0.9"; 17188 17189 namePrefix = ""; 17190 disabled = (!isPy34); 17191 propagatedBuildInputs = with self ; [ aiodns slixmpp ]; 17192 17193 patches = 17194 let patch_base = ../development/python-modules/poezio ; 17195 in [ "${patch_base}/make_default_config_writable.patch" 17196 ]; 17197 17198 src = pkgs.fetchurl { 17199 url = "http://dev.louiz.org/attachments/download/91/${name}.tar.xz"; 17200 sha256 = "1vc7zn4rp0ds0cdh1xcmbwx6w2qh4pnpzi5mdnj3rpl7xdr6jqzi"; 17201 }; 17202 17203 meta = { 17204 description = "Free console XMPP client"; 17205 homepage = http://poez.io; 17206 license = licenses.mit; 17207 maintainers = [ maintainers.lsix ]; 17208 }; 17209 }; 17210 17211 xcffib = buildPythonPackage rec { 17212 version = "0.3.2"; 17213 name = "xcffib-${version}"; 17214 17215 src = pkgs.fetchurl { 17216 url = "https://pypi.python.org/packages/source/x/xcffib/${name}.tar.gz"; 17217 md5 = "fa13f3fee67c83016a1242982a7c8bda"; 17218 }; 17219 17220 propagatedBuildInputs = [ self.cffi self.six ]; 17221 17222 meta = { 17223 description = "A drop in replacement for xpyb, an XCB python binding"; 17224 homepage = "https://github.com/tych0/xcffib"; 17225 license = licenses.asl20; 17226 maintainers = with maintainers; [ kamilchm ]; 17227 }; 17228 }; 17229 17230 pafy = buildPythonPackage rec { 17231 name = "pafy-${version}"; 17232 version = "0.3.74"; 17233 17234 src = pkgs.fetchurl { 17235 url = "https://pypi.python.org/packages/source/p/pafy/${name}.tar.gz"; 17236 md5 = "fbf0e7f85914eaf35f87837232eec09c"; 17237 }; 17238 17239 propagatedBuildInputs = with self; [ youtube-dl ]; 17240 17241 meta = with stdenv.lib; { 17242 description = "A library to download YouTube content and retrieve metadata"; 17243 homepage = http://np1.github.io/pafy/; 17244 license = licenses.lgpl3Plus; 17245 maintainers = with maintainers; [ odi ]; 17246 }; 17247 }; 17248 17249 suds = buildPythonPackage rec { 17250 name = "suds-0.4"; 17251 disabled = isPy3k; 17252 17253 src = pkgs.fetchurl { 17254 url = "https://pypi.python.org/packages/source/s/suds/suds-0.4.tar.gz"; 17255 md5 = "b7502de662341ed7275b673e6bd73191"; 17256 }; 17257 17258 meta = with stdenv.lib; { 17259 description = "Lightweight SOAP client"; 17260 homepage = https://fedorahosted.org/suds; 17261 license = licenses.lgpl3Plus; 17262 }; 17263 }; 17264 17265 mps-youtube = buildPythonPackage rec { 17266 name = "mps-youtube-${version}"; 17267 version = "0.2.5"; 17268 17269 disabled = (!isPy3k); 17270 17271 src = pkgs.fetchFromGitHub { 17272 owner = "mps-youtube"; 17273 repo = "mps-youtube"; 17274 rev = "7e457d2b4700387b88a3c96579e13cb76ca1f06b"; 17275 sha256 = "1811vlhgfi4rasjfsfdl7x174s75zk3x08p2z05wfcvinflfgxly"; 17276 }; 17277 17278 propagatedBuildInputs = with self; [ pafy ]; 17279 17280 meta = with stdenv.lib; { 17281 description = "Terminal based YouTube player and downloader"; 17282 homepage = http://github.com/np1/mps-youtube; 17283 license = licenses.gpl3; 17284 maintainers = with maintainers; [ odi ]; 17285 }; 17286 }; 17287 17288 d2to1 = buildPythonPackage rec { 17289 name = "d2to1-${version}"; 17290 version = "0.2.11"; 17291 17292 buildInputs = with self; [ nose ]; 17293 src = pkgs.fetchurl { 17294 url = "https://pypi.python.org/packages/source/d/d2to1/d2to1-${version}.tar.gz"; 17295 sha256 = "1a5z367b7dpd6dgi0w8pymb68aj2pblk8w04l2c8hibhj8dpl2b4"; 17296 }; 17297 17298 meta = { 17299 description = "Support for distutils2-like setup.cfg files as package metadata"; 17300 homepage = https://pypi.python.org/pypi/d2to1; 17301 license = licenses.bsd2; 17302 maintainers = [ maintainers.makefu ]; 17303 }; 17304 }; 17305 17306 ovh = buildPythonPackage rec { 17307 name = "ovh-${version}"; 17308 version = "0.3.5"; 17309 doCheck = false; #test needs packages too explicit 17310 buildInputs = with self; [ d2to1 ]; 17311 propagatedBuildInputs = with self; [ requests2 ]; 17312 17313 src = pkgs.fetchurl { 17314 url = "https://pypi.python.org/packages/source/o/ovh/ovh-${version}.tar.gz"; 17315 sha256 = "1y74lrdlgbb786mwas7ynphimfi00dgr67ncjq20kdf31jg5415n"; 17316 }; 17317 17318 meta = { 17319 description = "Thin wrapper around OVH's APIs"; 17320 homepage = https://pypi.python.org/pypi/ovh; 17321 license = licenses.bsd2; 17322 maintainers = [ maintainers.makefu ]; 17323 }; 17324 }; 17325 17326}; in pythonPackages