1 { pkgs, python, buildPythonPackage }:
4 inherit (pkgs) fetchurl fetchsvn stdenv;
6 argparse = buildPythonPackage (rec {
7 name = "argparse-0.9.1";
10 url = "http://pypi.python.org/packages/source/a/argparse/${name}.zip";
11 sha256 = "00jw32wwccpf9smraywjk869b93w7f99rw8gi63yfhw6379fnq6m";
14 buildInputs = [ pkgs.unzip ];
16 # How do we run the tests?
20 homepage = http://code.google.com/p/argparse/;
22 license = "Apache License 2.0";
24 description = "argparse: Python command line parser";
27 The argparse module makes writing command line tools in Python
28 easy. Just briefly describe your command line interface and
29 argparse will take care of the rest, including: parsing the
30 arguments and flags from sys.argv, converting arg strings into
31 objects for your program, formatting and printing any help
32 messages, and much more.
37 darcsver = buildPythonPackage (rec {
38 name = "darcsver-1.3.1";
41 url = "http://pypi.python.org/packages/source/d/darcsver/${name}.tar.gz";
42 sha256 = "1a5cl2yhnd88a4vkc9r381cbjkcvga87dp9zx5av68857q1nvvvq";
45 buildInputs = [ pkgs.darcs ];
48 description = "Darcsver, generate a version number from Darcs history";
50 homepage = http://pypi.python.org/pypi/darcsver;
52 license = "BSD-style";
56 dateutil = buildPythonPackage (rec {
57 name = "dateutil-1.4.1";
60 url = "http://pypi.python.org/packages/source/p/python-dateutil/python-${name}.tar.gz";
61 sha256 = "0mrkh932k8s74h4rpgksvpmwbrrkq8zn78gbgwc22i2vlp31bdkl";
65 description = "Powerful extensions to the standard datetime module";
67 homepage = http://pypi.python.org/pypi/python-dateutil;
69 license = "BSD-style";
73 foolscap = buildPythonPackage (rec {
74 name = "foolscap-0.4.2";
77 url = "http://foolscap.lothar.com/releases/${name}.tar.gz";
78 sha256 = "14g89kjxxci3ssl9jgvpkyrcq62g361aw8pamlkclk8nnrh4f776";
81 propagatedBuildInputs = [ twisted pkgs.pyopenssl ];
84 homepage = http://foolscap.lothar.com/;
86 description = "Foolscap, an RPC protocol for Python that follows the distributed object-capability model";
89 "Foolscap" is the name for the next-generation RPC protocol,
90 intended to replace Perspective Broker (part of Twisted).
91 Foolscap is a protocol to implement a distributed
92 object-capabilities model in Python.
95 # See http://foolscap.lothar.com/trac/browser/LICENSE.
98 maintainers = [ stdenv.lib.maintainers.ludo ];
99 platforms = python.meta.platforms;
103 genshi = buildPythonPackage {
104 name = "genshi-0.5.1";
107 url = http://ftp.edgewall.com/pub/genshi/Genshi-0.5.1.tar.bz2;
108 sha256 = "1g2xw3zvgz59ilv7mrdlnvfl6ph8lwflwd4jr6zwrca2zhj7d8rs";
111 buildInputs = [ pkgs.setuptools ];
114 description = "Python components for parsing HTML, XML and other textual content";
117 Python library that provides an integrated set of
118 components for parsing, generating, and processing HTML, XML or other
119 textual content for output generation on the web.
126 jinja2 = buildPythonPackage {
127 name = "jinja2-2.2.1";
130 url = "http://pypi.python.org/packages/source/J/Jinja2/Jinja2-2.2.1.tar.gz";
131 md5 = "fea849d68891218eb0b21c170f1c32d5";
135 homepage = http://jinja.pocoo.org/;
136 description = "Stand-alone template engine";
139 Jinja2 is a template engine written in pure Python. It provides a
140 Django inspired non-XML syntax but supports inline expressions and
141 an optional sandboxed environment.
146 lxml = buildPythonPackage ( rec {
150 url = http://pypi.python.org/packages/source/l/lxml/lxml-2.2.2.tar.gz;
151 sha256 = "0zjpsy67wcs69qhb06ficl3a5z229hmczpr8h84rkk05vaagj8qv";
154 buildInputs = [ pkgs.libxml2 pkgs.libxslt ];
157 description = "Pythonic binding for the libxml2 and libxslt libraries";
158 homepage = http://codespeak.net/lxml/index.html;
163 mechanize = buildPythonPackage (rec {
164 name = "mechanize-0.1.11";
167 url = "http://wwwsearch.sourceforge.net/mechanize/src/${name}.tar.gz";
168 sha256 = "1h62mwy4iz09jqz17nrb9j8y0djd500zdfqwrz9xmdwqzqwixkj2";
172 description = "Stateful programmatic web browsing in Python";
174 homepage = http://wwwsearch.sourceforge.net/;
176 license = "BSD-style";
180 namebench = buildPythonPackage (rec {
181 name = "namebench-1.0.5";
184 url = "http://namebench.googlecode.com/files/${name}.tgz";
185 sha256 = "6cbde35ce94d1f31e7d48f5d8eec13238b4dbc505675a33f1e183e600c1482c3";
188 # No support of GUI yet.
193 homepage = http://namebench.googlecode.com/;
194 description = "Find fastest DNS servers available";
197 # third-party program licenses (embedded in the sources)
198 "LGPL" # Crystal_Clear
200 "Apache-2.0" # graphy
204 It hunts down the fastest DNS servers available for your computer to
205 use. namebench runs a fair and thorough benchmark using your web
206 browser history, tcpdump output, or standardized datasets in order
207 to provide an individualized recommendation. namebench is completely
208 free and does not modify your system in any way.
213 nevow = buildPythonPackage (rec {
214 name = "nevow-0.9.33";
217 url = "http://divmod.org/trac/attachment/wiki/SoftwareReleases/Nevow-0.9.33.tar.gz?format=raw";
218 sha256 = "1b6zhfxx247b60n1qi2hrawhiaah88v8igg37pf7rjkmvy2z1c6c";
219 name = "${name}.tar.gz";
222 propagatedBuildInputs = [ twisted ];
225 description = "Nevow, a web application construction kit for Python";
228 Nevow - Pronounced as the French "nouveau", or "noo-voh", Nevow
229 is a web application construction kit written in Python. It is
230 designed to allow the programmer to express as much of the view
231 logic as desired in Python, and includes a pure Python XML
232 expression syntax named stan to facilitate this. However it
233 also provides rich support for designer-edited templates, using
234 a very small XML attribute language to provide bi-directional
235 template manipulation capability.
237 Nevow also includes formless, a declarative syntax for
238 specifying the types of method parameters and exposing these
239 methods to the web. Forms can be rendered automatically, and
240 form posts will be validated and input coerced, rendering error
241 pages if appropriate. Once a form post has validated
242 successfully, the method will be called with the coerced values.
245 homepage = http://divmod.org/trac/wiki/DivmodNevow;
247 license = "BSD-style";
251 ply = buildPythonPackage (rec {
255 url = "http://www.dabeaz.com/ply/${name}.tar.gz";
256 sha256 = "10z4xq8lc8c21v4g7z3zpnvpqbc0vidigrck1kqhwgkqi4gh0kfj";
260 homepage = http://www.dabeaz.com/ply/;
262 description = "PLY (Python Lex-Yacc), an implementation of the lex and yacc parsing tools for Python";
265 PLY is an implementation of lex and yacc parsing tools for Python.
266 In a nutshell, PLY is nothing more than a straightforward lex/yacc
267 implementation. Here is a list of its essential features: It's
268 implemented entirely in Python; It uses LR-parsing which is
269 reasonably efficient and well suited for larger grammars; PLY
270 provides most of the standard lex/yacc features including support for
271 empty productions, precedence rules, error recovery, and support for
272 ambiguous grammars; PLY is straightforward to use and provides very
273 extensive error checking; PLY doesn't try to do anything more or less
274 than provide the basic lex/yacc functionality. In other words, it's
275 not a large parsing framework or a component of some larger system.
278 license = "revised-BSD";
280 maintainers = [ stdenv.lib.maintainers.ludo ];
281 platforms = python.meta.platforms;
285 psycopg2 = buildPythonPackage rec {
286 name = "psycopg2-2.0.13";
291 url = "http://initd.org/pub/software/psycopg/PSYCOPG-2-0/${name}.tar.gz";
292 sha256 = "0arkaa1nbbd3pyn4l1bc75wi7nff3vxxh4s8sj5al5hv20p64pm1";
295 propagatedBuildInputs = [ pkgs.postgresql ];
298 description = "PostgreSQL database adapter for the Python programming language";
299 license = "GPLv2/ZPL";
303 pycryptopp = buildPythonPackage (rec {
304 name = "pycryptopp-0.5.15";
307 url = "http://pypi.python.org/packages/source/p/pycryptopp/${name}.tar.gz";
308 sha256 = "0f8v3cs8vjpj423yx3ikj7qjvljrm86x0qpkckidv69kah8kndxa";
311 # Use our own copy of Crypto++.
312 preConfigure = "export PYCRYPTOPP_DISABLE_EMBEDDED_CRYPTOPP=1";
314 buildInputs = [ setuptoolsDarcs darcsver pkgs.cryptopp ];
317 homepage = http://allmydata.org/trac/pycryptopp;
319 description = "Python wrappers for the Crypto++ library";
323 maintainers = [ stdenv.lib.maintainers.ludo ];
324 platforms = python.meta.platforms;
328 pysqlite = buildPythonPackage (rec {
329 name = "pysqlite-2.5.5";
332 url = "http://pysqlite.googlecode.com/files/${name}.tar.gz";
333 sha256 = "ef7ca7f44893790e1a7084b10ea083770e138689406fddc7076d12d6bff4d44f";
336 # Since the `.egg' file is zipped, the `NEEDED' of the `.so' files
337 # it contains is not taken into account. Thus, we must explicitly make
338 # it a propagated input.
339 propagatedBuildInputs = [ pkgs.sqlite ];
342 substituteInPlace "setup.cfg" \
343 --replace "/usr/local/include" "${pkgs.sqlite}/include" \
344 --replace "/usr/local/lib" "${pkgs.sqlite}/lib"
347 # FIXME: How do we run the tests?
351 homepage = http://pysqlite.org/;
353 description = "Python bindings for the SQLite embedded relational database engine";
356 pysqlite is a DB-API 2.0-compliant database interface for SQLite.
358 SQLite is a relational database management system contained in
359 a relatively small C library. It is a public domain project
360 created by D. Richard Hipp. Unlike the usual client-server
361 paradigm, the SQLite engine is not a standalone process with
362 which the program communicates, but is linked in and thus
363 becomes an integral part of the program. The library
364 implements most of SQL-92 standard, including transactions,
365 triggers and most of complex queries.
367 pysqlite makes this powerful embedded SQL engine available to
368 Python programmers. It stays compatible with the Python
369 database API specification 2.0 as much as possible, but also
370 exposes most of SQLite's native API, so that it is for example
371 possible to create user-defined SQL functions and aggregates
375 license = "revised BSD";
377 maintainers = [ stdenv.lib.maintainers.ludo ];
378 platforms = python.meta.platforms;
382 pyutil = buildPythonPackage (rec {
383 name = "pyutil-1.3.30";
386 url = "http://pypi.python.org/packages/source/p/pyutil/${name}.tar.gz";
387 sha256 = "1ksb4gn8x53wcyddmjv1ma8cvvhjlmfxc6kpszyhb838i7xzla19";
390 buildInputs = [ setuptoolsDarcs ];
391 propagatedBuildInputs = [ zbase32 argparse ];
394 description = "Pyutil, a collection of mature utilities for Python programmers";
397 These are a few data structures, classes and functions which
398 we've needed over many years of Python programming and which
399 seem to be of general use to other Python programmers. Many of
400 the modules that have existed in pyutil over the years have
401 subsequently been obsoleted by new features added to the
402 Python language or its standard library, thus showing that
403 we're not alone in wanting tools like these.
406 homepage = http://allmydata.org/trac/pyutil;
412 setuptoolsDarcs = buildPythonPackage {
413 name = "setuptools-darcs-1.2.8";
416 url = "http://pypi.python.org/packages/source/s/setuptools_darcs/setuptools_darcs-1.2.8.tar.gz";
417 sha256 = "0jg9q9mhsky444mm7lpmmlxai8hmjg4pc71viv4kni8gls0gk9n8";
420 propagatedBuildInputs = [ pkgs.darcs ];
423 description = "setuptools plugin for the Darcs version control system";
425 homepage = http://allmydata.org/trac/setuptools_darcs;
431 simplejson = buildPythonPackage (rec {
432 name = "simplejson-2.0.9";
435 url = "http://simplejson.googlecode.com/svn/tags/${name}";
436 sha256 = "a48d5256fdb4f258c33da3dda110ecf3c786f086dcb08a01309acde6d1ddb921";
437 rev = "172"; # to be on the safe side
441 description = "simplejson is a simple, fast, extensible JSON encoder/decoder for Python";
444 simplejson is compatible with Python 2.4 and later with no
445 external dependencies. It covers the full JSON specification
446 for both encoding and decoding, with unicode support. By
447 default, encoding is done in an encoding neutral fashion (plain
448 ASCII with \uXXXX escapes for unicode characters).
451 homepage = http://code.google.com/p/simplejson/;
457 trac = buildPythonPackage {
458 name = "trac-0.11.5";
461 url = http://ftp.edgewall.com/pub/trac/Trac-0.11.5.tar.gz;
462 sha256 = "cc3362ecc533abc1755dd78e2d096d1413bc975abc3185318f4821458cd6a8ac";
467 PYTHON_EGG_CACHE = "`pwd`/.egg-cache";
469 propagatedBuildInputs = [ genshi pkgs.setuptools ];
472 description = "Enhanced wiki and issue tracking system for software development projects";
478 twisted = buildPythonPackage {
479 name = "twisted-8.2.0";
482 url = http://tmrc.mit.edu/mirror/twisted/Twisted/8.2/Twisted-8.2.0.tar.bz2;
483 sha256 = "1c6zplisjdnjzkfs0ld3a0f7m7xbjgx5rcwsdw5i1xiibsq2nq70";
486 propagatedBuildInputs = [ pkgs.ZopeInterface ];
489 homepage = http://twistedmatrix.com/;
491 description = "Twisted, an event-driven networking engine written in Python";
494 Twisted is an event-driven networking engine written in Python
495 and licensed under the MIT license.
500 maintainers = [ stdenv.lib.maintainers.ludo ];
501 platforms = python.meta.platforms;
505 zbase32 = buildPythonPackage (rec {
506 name = "zbase32-1.1.1";
509 url = "http://pypi.python.org/packages/source/z/zbase32/${name}.tar.gz";
510 sha256 = "0n59l4rs26vrhxpsfrwybjjir68aj23f09k1yjnbxqy5n0khp8gm";
513 # Tests require `pyutil' so disable them to avoid circular references.
516 buildInputs = [ setuptoolsDarcs ];
519 description = "zbase32, a base32 encoder/decoder";
521 homepage = http://pypi.python.org/pypi/zbase32;
527 zfec = buildPythonPackage (rec {
531 url = "http://pypi.python.org/packages/source/z/zfec/${name}.tar.gz";
532 sha256 = "0rgg7nsvbr4f9xmiclzypc39fnivg23kldv5aa8si0bgsxn6mh6w";
535 buildInputs = [ setuptoolsDarcs ];
536 propagatedBuildInputs = [ pyutil argparse ];
539 homepage = http://allmydata.org/trac/zfec;
541 description = "Zfec, a fast erasure codec which can be used with the command-line, C, Python, or Haskell";
544 Fast, portable, programmable erasure coding a.k.a. "forward
545 error correction": the generation of redundant blocks of
546 information such that if some blocks are lost then the
547 original data can be recovered from the remaining blocks. The
548 zfec package includes command-line tools, C API, Python API,