From doug at doughellmann.com Fri May 2 15:38:08 2014 From: doug at doughellmann.com (Doug Hellmann) Date: Fri, 2 May 2014 09:38:08 -0400 Subject: WSME -- Web Services Made Easy -- 0.6.1 Message-ID: <74D38191-171B-4483-BF06-A93B3F30516E@doughellmann.com> WSME -- Web Services Made Easy -- 0.6.1 Web Service Made Easy (WSME) simplify the writing of REST web services by providing simple yet powerful typing which removes the need to directly manipulate the request and the response objects. WSME can work standalone or on top of your favorite python web (micro)framework, so you can use both your preferred way of routing your REST requests and most of the features of WSME that rely on the typing system like: * Alternate protocols, including ones supporting batch-calls * Easy documentation through a [1]Sphinx extension What's New In This Release? * Fix error: variable 'kw' referenced before assignment * Fix default handling for zero values * Fixing spelling mistakes * A proper check of UuidType * pecan: cleanup, use global vars and staticmethod * args_from_args() to work with an instance of UserType Documentation [2]Documentation for WSME is hosted on [3]readthedocs.org References 1. http://sphinx-doc.org/ 2. http://http://wsme.readthedocs.org/en/latest/ 3. http://readthedocs.org/ From john at szakmeister.net Sat May 3 16:36:25 2014 From: john at szakmeister.net (John Szakmeister) Date: Sat, 3 May 2014 10:36:25 -0400 Subject: Nose 1.3.2 released Message-ID: 1.3.2 fixes a regression introduced in 1.3.1 on PyPy, and an issue on Python 3.3 and 3.4 that managed to slip by--along with a few other minor fixes. See the CHANGELOG for the details of what was fixed. Also note that nose 1.x is in maintenance mode. We will not be looking to add any features, and you should seriously consider looking at nose2 as the way forward. If you're interested in the future of nose, please take a look at the nose2 project on github (https://github.com/nose-devs/nose2) or pypi (http://pypi.python.org/pypi/nose2/0.4.7). And lastly if you have the money to spare, please consider donating to the John Hunter memorial fund (http://numfocus.org/johnhunter/). We all give up time with our families to work on free software: so now the free software community that has benefited so much from that time we took can give something back to his family. -John From anthony.tuininga at gmail.com Sun May 4 03:49:35 2014 From: anthony.tuininga at gmail.com (Anthony Tuininga) Date: Sat, 3 May 2014 19:49:35 -0600 Subject: cx_Freeze 4.3.3 Message-ID: What is cx_Freeze? cx_Freeze is a set of scripts and modules for freezing Python scripts into executables, in much the same way that py2exe and py2app do. Unlike these two tools, cx_Freeze is cross platform and should work on any platform that Python itself works on. It supports Python 2.6 or higher, including Python 3. Where do I get it? http://cx-freeze.sourceforge.net What's new? http://cx_freeze.readthedocs.org/en/latest/releasenotes.html From ralf.gommers at gmail.com Sun May 4 10:15:52 2014 From: ralf.gommers at gmail.com (Ralf Gommers) Date: Sun, 4 May 2014 10:15:52 +0200 Subject: ANN: Scipy 0.14.0 release Message-ID: Hi, On behalf of the Scipy development team I'm pleased to announce the availability of Scipy 0.14.0. This release contains new features (see release notes below) and 8 months worth of maintenance work. 80 people contributed to this release. This is also the first release for which binary wheels are available on PyPi for OS X, supporting the python.org Python. Wheels for Windows are still being worked on, those may follow at a later date. This release requires Python 2.6, 2.7 or 3.2-3.4 and NumPy 1.5.1 or greater. Sources and binaries can be found at https://sourceforge.net/projects/scipy/files/scipy/0.14.0/. Enjoy, Ralf ========================== SciPy 0.14.0 Release Notes ========================== .. contents:: SciPy 0.14.0 is the culmination of 8 months of hard work. It contains many new features, numerous bug-fixes, improved test coverage and better documentation. There have been a number of deprecations and API changes in this release, which are documented below. All users are encouraged to upgrade to this release, as there are a large number of bug-fixes and optimizations. Moreover, our development attention will now shift to bug-fix releases on the 0.14.x branch, and on adding new features on the master branch. This release requires Python 2.6, 2.7 or 3.2-3.4 and NumPy 1.5.1 or greater. New features ============ ``scipy.interpolate`` improvements ---------------------------------- A new wrapper function `scipy.interpolate.interpn` for interpolation on regular grids has been added. `interpn` supports linear and nearest-neighbor interpolation in arbitrary dimensions and spline interpolation in two dimensions. Faster implementations of piecewise polynomials in power and Bernstein polynomial bases have been added as `scipy.interpolate.PPoly` and `scipy.interpolate.BPoly`. New users should use these in favor of `scipy.interpolate.PiecewisePolynomial`. `scipy.interpolate.interp1d` now accepts non-monotonic inputs and sorts them. If performance is critical, sorting can be turned off by using the new ``assume_sorted`` keyword. Functionality for evaluation of bivariate spline derivatives in ``scipy.interpolate`` has been added. The new class `scipy.interpolate.Akima1DInterpolator` implements the piecewise cubic polynomial interpolation scheme devised by H. Akima. Functionality for fast interpolation on regular, unevenly spaced grids in arbitrary dimensions has been added as `scipy.interpolate.RegularGridInterpolator` . ``scipy.linalg`` improvements ----------------------------- The new function `scipy.linalg.dft` computes the matrix of the discrete Fourier transform. A condition number estimation function for matrix exponential, `scipy.linalg.expm_cond`, has been added. ``scipy.optimize`` improvements ------------------------------- A set of benchmarks for optimize, which can be run with ``optimize.bench()``, has been added. `scipy.optimize.curve_fit` now has more controllable error estimation via the ``absolute_sigma`` keyword. Support for passing custom minimization methods to ``optimize.minimize()`` and ``optimize.minimize_scalar()`` has been added, currently useful especially for combining ``optimize.basinhopping()`` with custom local optimizer routines. ``scipy.stats`` improvements ---------------------------- A new class `scipy.stats.multivariate_normal` with functionality for multivariate normal random variables has been added. A lot of work on the ``scipy.stats`` distribution framework has been done. Moment calculations (skew and kurtosis mainly) are fixed and verified, all examples are now runnable, and many small accuracy and performance improvements for individual distributions were merged. The new function `scipy.stats.anderson_ksamp` computes the k-sample Anderson-Darling test for the null hypothesis that k samples come from the same parent population. ``scipy.signal`` improvements ----------------------------- ``scipy.signal.iirfilter`` and related functions to design Butterworth, Chebyshev, elliptical and Bessel IIR filters now all use pole-zero ("zpk") format internally instead of using transformations to numerator/denominator format. The accuracy of the produced filters, especially high-order ones, is improved significantly as a result. The new function `scipy.signal.vectorstrength` computes the vector strength, a measure of phase synchrony, of a set of events. ``scipy.special`` improvements ------------------------------ The functions `scipy.special.boxcox` and `scipy.special.boxcox1p`, which compute the Box-Cox transformation, have been added. ``scipy.sparse`` improvements ----------------------------- - Significant performance improvement in CSR, CSC, and DOK indexing speed. - When using Numpy >= 1.9 (to be released in MM 2014), sparse matrices function correctly when given to arguments of ``np.dot``, ``np.multiply`` and other ufuncs. With earlier Numpy and Scipy versions, the results of such operations are undefined and usually unexpected. - Sparse matrices are no longer limited to ``2^31`` nonzero elements. They automatically switch to using 64-bit index data type for matrices containing more elements. User code written assuming the sparse matrices use int32 as the index data type will continue to work, except for such large matrices. Code dealing with larger matrices needs to accept either int32 or int64 indices. Deprecated features =================== ``anneal`` ---------- The global minimization function `scipy.optimize.anneal` is deprecated. All users should use the `scipy.optimize.basinhopping` function instead. ``scipy.stats`` --------------- ``randwcdf`` and ``randwppf`` functions are deprecated. All users should use distribution-specific ``rvs`` methods instead. Probability calculation aliases ``zprob``, ``fprob`` and ``ksprob`` are deprecated. Use instead the ``sf`` methods of the corresponding distributions or the ``special`` functions directly. ``scipy.interpolate`` --------------------- ``PiecewisePolynomial`` class is deprecated. Backwards incompatible changes ============================== scipy.special.lpmn ------------------ ``lpmn`` no longer accepts complex-valued arguments. A new function ``clpmn`` with uniform complex analytic behavior has been added, and it should be used instead. scipy.sparse.linalg ------------------- Eigenvectors in the case of generalized eigenvalue problem are normalized to unit vectors in 2-norm, rather than following the LAPACK normalization convention. The deprecated UMFPACK wrapper in ``scipy.sparse.linalg`` has been removed due to license and install issues. If available, ``scikits.umfpack`` is still used transparently in the ``spsolve`` and ``factorized`` functions. Otherwise, SuperLU is used instead in these functions. scipy.stats ----------- The deprecated functions ``glm``, ``oneway`` and ``cmedian`` have been removed from ``scipy.stats``. ``stats.scoreatpercentile`` now returns an array instead of a list of percentiles. scipy.interpolate ----------------- The API for computing derivatives of a monotone piecewise interpolation has changed: if `p` is a ``PchipInterpolator`` object, `p.derivative(der)` returns a callable object representing the derivative of `p`. For in-place derivatives use the second argument of the `__call__` method: `p(0.1, der=2)` evaluates the second derivative of `p` at `x=0.1`. The method `p.derivatives` has been removed. Other changes ============= Authors ======= * Marc Abramowitz + * Anders Bech Borchersen + * Vincent Arel-Bundock + * Petr Baudis + * Max Bolingbroke * Fran?ois Boulogne * Matthew Brett * Lars Buitinck * Evgeni Burovski * CJ Carey + * Thomas A Caswell + * Pawel Chojnacki + * Phillip Cloud + * Stefano Costa + * David Cournapeau * David Menendez Hurtado + * Matthieu Dartiailh + * Christoph Deil + * J?rg Dietrich + * endolith * Francisco de la Pe?a + * Ben FrantzDale + * Jim Garrison + * Andr? Gaul * Christoph Gohlke * Ralf Gommers * Robert David Grant * Alex Griffing * Blake Griffith * Yaroslav Halchenko * Andreas Hilboll * Kat Huang * Gert-Ludwig Ingold * James T. Webber + * Dorota Jarecka + * Todd Jennings + * Thouis (Ray) Jones * Juan Luis Cano Rodr?guez * ktritz + * Jacques Kvam + * Eric Larson + * Justin Lavoie + * Denis Laxalde * Jussi Leinonen + * lemonlaug + * Tim Leslie * Alain Leufroy + * George Lewis + * Max Linke + * Brandon Liu + * Benny Malengier + * Matthias K?mmerer + * Cimarron Mittelsteadt + * Eric Moore * Andrew Nelson + * Niklas Hamb?chen + * Joel Nothman + * Clemens Novak * Emanuele Olivetti + * Stefan Otte + * peb + * Josef Perktold * pjwerneck * poolio * J?r?me Roy + * Carl Sandrock + * Andrew Sczesnak + * Shauna + * Fabrice Silva * Daniel B. Smith * Patrick Snape + * Thomas Spura + * Jacob Stevenson * Julian Taylor * Tomas Tomecek * Richard Tsai * Jacob Vanderplas * Joris Vankerschaver + * Pauli Virtanen * Warren Weckesser A total of 80 people contributed to this release. People with a "+" by their names contributed a patch for the first time. This list of names is automatically generated, and may not be fully complete. From larry at hastings.org Mon May 5 13:08:41 2014 From: larry at hastings.org (Larry Hastings) Date: Mon, 05 May 2014 04:08:41 -0700 Subject: [RELEASED] Python 3.4.1rc1 Message-ID: <53677139.6010008@hastings.org> On behalf of the Python development community and the Python 3.4 release team, I'm pleased to announce the availability of Python 3.4.1rc1. Python 3.4.1rc1 has over three hundred bugfixes and other improvements over 3.4.0. One notable change: the version of OpenSSL bundled with the Windows installer no longer has the "HeartBleed" vulnerability. You can download it here: https://www.python.org/download/releases/3.4.1 One note: the "topics" data file for the pydoc is broken in this release. This means the pydoc command and the built-in "help" will fail on some topics. //arry/ From paul.chakravarti at gmail.com Mon May 5 15:11:30 2014 From: paul.chakravarti at gmail.com (Paul Chakravarti) Date: Mon, 5 May 2014 14:11:30 +0100 Subject: ANN: dnslib-0.9.0 - DNS library for Python (with Py2/3 support) Message-ID: <5F88A0C1-7B87-4EAA-BBAA-F3D149C624B1@gmail.com> Hello, I have just uploaded a new version of 'dnslib' to PyPi: https://pypi.python.org/pypi/dnslib/0.9.0 'dnslib' is a simple but very flexible library for encoding & decoding DNS data and creating custom DNS resolvers for Python 2/3. This is the first version that supports Python 3.2+ (and 2.7) and also includes a large number of fixes and additional functionality. (README included below). This is a major release - please submit any issues to the BitBucket issue tracker (https://bitbucket.org/paulc/dnslib). Thanks, PaulC dnslib ------ A library to encode/decode DNS wire-format packets supporting both Python 2.7 and Python 3.2+. The library provides: * Support for encoding/decoding DNS packets between wire format, python objects, and Zone/DiG textual representation (dnslib.dns) * A server framework allowing the simple creation of custom DNS resolvers (dnslib.server) and a number of example servers created using this frameowork * A number of utilities for testing (dnslib.client, dnslib.proxy, dnslib.intercept) Python 3 support was added in Version 0.9.0 which represented a fairly major update to the library - the key changes include: * Python 2.7/3.2+ support (the last version supporting Python 2.6 or earlier was version 0.8.3) * Support for encoding/decoding resource records in 'Zone' (BIND) file format * Support for encoding/decoding backets in 'DiG' format * Server framework allowing (in most cases) custom resolvers to be created by just subclassing the DNSResolver class and overringing the 'resolve' method * A lot of fixes to error detection/handling which should make the library much more robust to invalid/unsupported data. The library should now either return a valid DNSRecord instance or raise DNSError (tested via fuzzing) * Improved utilities (dnslib.client, dnslib.proxy, dnslib.intercept) * Improvements to encoding/decoding tests including the ability to generate test data automatically in test_decode.py (comparing outputs against DiG) * Ability to compare and diff DNSRecords This is a large release and despite the testing there therefore are likely to be some bugs. Once the 0.9 release is sufficiently stable I would expect to release as 1.0.0 (and stabilise th api) The key DNS packet handling classes are in dnslib.dns and map to the standard DNS packet sections: * DNSRecord - container for DNS packet. Contains: - DNSHeader - Question section containing zero or more DNSQuestion objects - Answer section containing zero or more RR objects - Authority section containing zero or more RR objects - Additional section containing zero or more RR objects * DNS RRs (resource records) contain an RR header and an RD object) * Specific RD types are implemented as subclasses of RD * DNS labels are represented by a DNSLabel class - in most cases this handles conversion to/from textual representation however does support arbitatry labels via a tuple of bytes objects) Version 0.9 of the library was a major rewrite to support Python 3.2+ (retaining support for Python 2.7+). As part of the Py3 changes a number of other significant changes were intrtoduced: - Much better error handling (packet decoding errors should be caught and DNSError raised) Usage: ------ To decode a DNS packet: >>> packet = binascii.unhexlify(b'd5ad818000010005000000000377777706676f6f676c6503636f6d0000010001c00c0005000100000005000803777777016cc010c02c0001000100000005000442f95b68c02c0001000100000005000442f95b63c02c0001000100000005000442f95b67c02c0001000100000005000442f95b93') >>> d = DNSRecord.parse(packet) >>> d The default text representation of the DNSRecord is in zone file format: >>> print(d) ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 54701 ;; flags: qr rd ra; QUERY: 1, ANSWER: 5, AUTHORITY: 0, ADDITIONAL: 0 ;; QUESTION SECTION: ;www.google.com. IN A ;; ANSWER SECTION: www.google.com. 5 IN CNAME www.l.google.com. www.l.google.com. 5 IN A 66.249.91.104 www.l.google.com. 5 IN A 66.249.91.99 www.l.google.com. 5 IN A 66.249.91.103 www.l.google.com. 5 IN A 66.249.91.147 To create a DNS Request Packet: >>> d = DNSRecord.question("google.com") (This is equivalent to: d = DNSRecord(q=DNSQuestion("google.com") ) >>> d >>> str(DNSRecord.parse(d.pack())) == str(d) True >>> print(d) ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: ... ;; flags: rd; QUERY: 1, ANSWER: 0, AUTHORITY: 0, ADDITIONAL: 0 ;; QUESTION SECTION: ;google.com. IN A >>> d = DNSRecord.question("google.com","MX") (This is equivalent to: d = DNSRecord(q=DNSQuestion("google.com",QTYPE.MX) ) >>> str(DNSRecord.parse(d.pack())) == str(d) True >>> print(d) ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: ... ;; flags: rd; QUERY: 1, ANSWER: 0, AUTHORITY: 0, ADDITIONAL: 0 ;; QUESTION SECTION: ;google.com. IN MX To create a DNS Response Packet: >>> d = DNSRecord(DNSHeader(qr=1,aa=1,ra=1), ... q=DNSQuestion("abc.com"), ... a=RR("abc.com",rdata=A("1.2.3.4"))) >>> d >>> str(DNSRecord.parse(d.pack())) == str(d) True >>> print(d) ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: ... ;; flags: qr aa rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 0 ;; QUESTION SECTION: ;abc.com. IN A ;; ANSWER SECTION: abc.com. 0 IN A 1.2.3.4 It is also possible to create RRs from a string in zone file format >>> RR.fromZone("abc.com IN A 1.2.3.4") [] (Note: this produces a list of RRs which should be unpacked if being passed to add_answer/add_auth/add_ar etc) >>> q = DNSRecord.question("abc.com") >>> a = q.reply() >>> a.add_answer(*RR.fromZone("abc.com 60 A 1.2.3.4")) >>> print(a) ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: ... ;; flags: qr aa rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 0 ;; QUESTION SECTION: ;abc.com. IN A ;; ANSWER SECTION: abc.com. 60 IN A 1.2.3.4 The zone file can contain multiple entries and supports most of the normal format defined in RFC1035 (specifically not $INCLUDE) >>> z = ''' ... $TTL 300 ... $ORIGIN abc.com ... ... @ IN MX 10 mail.abc.com. ... www IN A 1.2.3.4 ... IN TXT "Some Text" ... mail IN CNAME www.abc.com. ... ''' >>> for rr in RR.fromZone(textwrap.dedent(z)): ... print(rr) abc.com. 300 IN MX 10 mail.abc.com. www.abc.com. 300 IN A 1.2.3.4 www.abc.com. 300 IN TXT "Some Text" mail.abc.com. 300 IN CNAME www.abc.com. To create a skeleton reply to a DNS query: >>> q = DNSRecord(q=DNSQuestion("abc.com",QTYPE.ANY)) >>> a = q.reply() >>> a.add_answer(RR("abc.com",QTYPE.A,rdata=A("1.2.3.4"),ttl=60)) >>> str(DNSRecord.parse(a.pack())) == str(a) True >>> print(a) ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: ... ;; flags: qr aa rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 0 ;; QUESTION SECTION: ;abc.com. IN ANY ;; ANSWER SECTION: abc.com. 60 IN A 1.2.3.4 Add additional RRs: >>> a.add_answer(RR("xxx.abc.com",QTYPE.A,rdata=A("1.2.3.4"))) >>> a.add_answer(RR("xxx.abc.com",QTYPE.AAAA,rdata=AAAA("1234:5678::1"))) >>> str(DNSRecord.parse(a.pack())) == str(a) True >>> print(a) ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: ... ;; flags: qr aa rd ra; QUERY: 1, ANSWER: 3, AUTHORITY: 0, ADDITIONAL: 0 ;; QUESTION SECTION: ;abc.com. IN ANY ;; ANSWER SECTION: abc.com. 60 IN A 1.2.3.4 xxx.abc.com. 0 IN A 1.2.3.4 xxx.abc.com. 0 IN AAAA 1234:5678::1 It is also possible to create a reply from a string in zone file format: >>> q = DNSRecord(q=DNSQuestion("abc.com",QTYPE.ANY)) >>> a = q.replyZone("abc.com 60 IN CNAME xxx.abc.com") >>> print(a) ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: ... ;; flags: qr aa rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 0 ;; QUESTION SECTION: ;abc.com. IN ANY ;; ANSWER SECTION: abc.com. 60 IN CNAME xxx.abc.com. >>> str(DNSRecord.parse(a.pack())) == str(a) True >>> q = DNSRecord(q=DNSQuestion("abc.com",QTYPE.ANY)) >>> a = q.replyZone(textwrap.dedent(z)) >>> print(a) ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: ... ;; flags: qr aa rd ra; QUERY: 1, ANSWER: 4, AUTHORITY: 0, ADDITIONAL: 0 ;; QUESTION SECTION: ;abc.com. IN ANY ;; ANSWER SECTION: abc.com. 300 IN MX 10 mail.abc.com. www.abc.com. 300 IN A 1.2.3.4 www.abc.com. 300 IN TXT "Some Text" mail.abc.com. 300 IN CNAME www.abc.com. The library also includes a simple framework for generating custom DNS resolvers in dnslib.server (see module docs). In post cases this just requires implementing a custom 'resolve' method which receives a question object and returns a response. A number of sample resolvers are provided as examples (see CLI --help): dnslib.fixedresolver - Respond to all requests with fixed response dnslib.zoneresolver - Respond from Zone file dnslib.shellresolver - Call shell script to generate response The library includes a number of client utilities which can be run using: DiG like client library # python -m dnslib.client --help DNS Proxy Server # python -m dnslib.proxy --help Intercepting DNS Proxy Server (replace proxy responses for specified domains) # python -m dnslib.intercept --help Changelog: ---------- * 0.1 2010-09-19 Initial Release * 0.2 2010-09-22 Minor fixes * 0.3 2010-10-02 Add DNSLabel class to support arbitrary labels (embedded '.') * 0.4 2012-02-26 Merge with dbslib-circuits * 0.5 2012-09-13 Add support for RFC2136 DDNS updates Patch provided by Wesley Shields - thanks * 0.6 2012-10-20 Basic AAAA support * 0.7 2012-10-20 Add initial EDNS0 support (untested) * 0.8 2012-11-04 Add support for NAPTR, Authority RR and additional RR Patch provided by Stefan Andersson (https://bitbucket.org/norox) - thanks * 0.8.1 2012-11-05 Added NAPTR test case and fixed logic error Patch provided by Stefan Andersson (https://bitbucket.org/norox) - thanks * 0.8.2 2012-11-11 Patch to fix IPv6 formatting Patch provided by Torbj?rn L?nnemark (https://bitbucket.org/tobbezz) - thanks * 0.8.3 2013-04-27 Don't parse rdata if rdlength is 0 Patch provided by Wesley Shields - thanks * 0.9.0 2014-05-05 Major update including Py3 support (see docs) License: -------- * BSD Author: ------- * Paul Chakravarti (paul.chakravarti at gmail.com) Master Repository/Issues: ------------------------- * https://bitbucket.org/paulc/dnslib (Cloned on GitHub: https://github.com/paulchakravarti/dnslib) From john at szakmeister.net Tue May 6 11:59:20 2014 From: john at szakmeister.net (John Szakmeister) Date: Tue, 6 May 2014 05:59:20 -0400 Subject: Nose 1.3.3 Released Message-ID: Nose 1.3.3 fixes a simple issue with the reported version number. Sorry for the back-to-back releases. Enjoy! -John From fwierzbicki at gmail.com Tue May 6 21:35:49 2014 From: fwierzbicki at gmail.com (fwierzbicki at gmail.com) Date: Tue, 6 May 2014 12:35:49 -0700 Subject: Jython 2.7b2 released! Message-ID: On behalf of the Jython development team, I'm pleased to announce that the second beta of Jython 2.7 is available. Details are here: http://fwierzbicki.blogspot.com/2014/05/jython-27-beta2-released.html Thanks to Adconion Media Group for sponsoring my work on Jython, and thanks to the many contributors to Jython! -Frank From geoff.bache at gmail.com Wed May 7 14:36:28 2014 From: geoff.bache at gmail.com (Geoff Bache) Date: Wed, 7 May 2014 14:36:28 +0200 Subject: StoryText 3.11 - GUI testing tool Message-ID: Hi all, The 3.11 release features the following: - PyGTK part now supports FileChooser synchronisation in GTK+ >= 2.20 - Java GUI parts (SWT/Eclipse/Swing) can now disable Jython cache (recommended) - Eclipse RCP part now handles the latest Jython version (2.5.3) - Eclipse RCP part now supports NatTables - Swing part now works around Abbot bug with closing windows being very slow Regards, Geoff Bache A bit more detail: StoryText is an unconventional GUI testing tool for PyGTK, Tkinter, wxPython, Swing and SWT along with a Python framework for testing GUIs in general. Instead of recording GUI mechanics directly, it asks the user for descriptive names and hence builds up a "domain language" along with a "UI map file" that translates this language into actions on the current GUI widgets. The point is to reduce coupling, allow very expressive tests, and ensure that GUI changes mean changing the UI map file but not all the tests. Instead of an "assertion" mechanism, it auto-generates a log of the GUI appearance and changes to it. The point is then to use that as a baseline for text-based testing, using TextTest. It also includes support for instrumenting code so that "waits" can be recorded, making it far easier for a tester to record correctly synchronized tests without having to explicitly plan for this. Homepage: http://www.texttest.org/index.php?page=ui_testing Download: http://sourceforge.net/projects/pyusecase Mailing list: https://lists.sourceforge.net/lists/listinfo/texttest-users Bugs: https://bugs.launchpad.net/storytext/ Source: https://code.launchpad.net/sto rytext From theller at ctypes.org Fri May 9 20:13:10 2014 From: theller at ctypes.org (Thomas Heller) Date: Fri, 09 May 2014 20:13:10 +0200 Subject: py2exe for Python 3 released Message-ID: <536D1AB6.3040106@ctypes.org> Finally there is py2exe for Python3! `py2exe` is a distutils extension which allows to build standalone Windows executable programs (32-bit and 64-bit) from Python scripts; Python 3.3 and later are supported. It can build console executables, windows (GUI) executables, windows services, and DLL/EXE COM servers. News: - py2exe now supports Python 3.3 and 3.4 - can be installed with 'pip' since py2exe is released in wheel format (in addition to a source package and bdist_wininst installers) - less warnings from the build process thanks to a hooks module which contains knowledge about some often used packages - easy start: executables can now be built with a simple command line script; no need to write a setup-script from scratch. In fact a commented setup-script can now be autogenerated - py2exe does now find Python modules even in zipped eggs Short manual and download at the Python cheeseshop (or simply install it with 'pip install py2exe'): https://pypi.python.org/pypi/py2exe/0.9.2.0/ Enjoy, Thomas From garabik-news-2005-05 at kassiopeia.juls.savba.sk Sat May 10 17:16:50 2014 From: garabik-news-2005-05 at kassiopeia.juls.savba.sk (garabik-news-2005-05 at kassiopeia.juls.savba.sk) Date: Sat, 10 May 2014 15:16:50 +0000 (UTC) Subject: ANN: verynice 0.3 - a nice(1) like utility for throttling processes Message-ID: verynice is a nice(1)-like command line utility for unix systems to throttle long running processes beyond what can be achieved by nice(1), by repeatedly suspending and resuming the process. Author: Radovan Garab?k URL: http://kassiopeia.juls.savba.sk/~garabik/software/verynice/ License: GPL (v3) -- ----------------------------------------------------------- | Radovan Garab?k http://kassiopeia.juls.savba.sk/~garabik/ | | __..--^^^--..__ garabik @ kassiopeia.juls.savba.sk | ----------------------------------------------------------- Antivirus alert: file .signature infected by signature virus. Hi! I'm a signature virus! Copy me into your signature file to help me spread! From sky at havana.port-zero.com Sun May 11 20:48:25 2014 From: sky at havana.port-zero.com (Leslie P. Polzer) Date: Sun, 11 May 2014 20:48:25 +0200 Subject: ANN: Cerridwen 1.0c4 Message-ID: <0fdad04382784ef2879f204291bfe132.squirrel@mail.port-zero.com> Dear Python friends, today I'm proud to be ANNOUNCING: The initial release of a new package, named Cerridwen (1.0c4). PyPI entry: https://pypi.python.org/pypi/cerridwen What gives? The author perceives a lack of modern open source software providing high quality planetary data that is suitable for astronomical and astrological purposes. So, to start amending that situation I wrote Cerridwen. Cerridwen is a moon data API relying on pyswisseph and numpy to provide accurate and comprehensive data on the moon. With its help you will, for example, be able to get the moon's current tropical sign, the dates of the next new and full moons and its current absolute and relative diameter. Cerridwen offers a JSON HTTP API and comes a simple command-line tool. These are built on a library module that you can use to develop your own applications. And you're invited too! Please try it if you're interested! :-) I've also set up a test server for the API here: http://cerridwen.viridian-project.de/api/v1/moon You can load it in your browser too for a quick peek! Please note that the given information may be up to 10 seconds old, due to efficiency considerations in the current version of Cerridwen. All feedback and participation is welcome, including forks and patches. Cerridwen's code is on Github. Need more information? Please do take a look at the PyPI page, it contains more detailed information. Also feel free to write to me at . Thanks for reading! With Cerridwen I'm trying to give something back to the Python community. This is my first publicly released Python package. Cheers, Leslie From ralf.gommers at gmail.com Sun May 11 22:45:02 2014 From: ralf.gommers at gmail.com (Ralf Gommers) Date: Sun, 11 May 2014 22:45:02 +0200 Subject: ANN: Weave 0.15.0 release Message-ID: Hi, I'm pleased to announce the release of Weave 0.15.0. Weave provides tools for including C/C++ code within Python code. Inlining C/C++ code within Python generally results in speedups of 1.5x to 30x over algorithms written in pure Python. Weave is the stand-alone version of the deprecated Scipy submodule scipy.weave. It is Python 2.x only, and is provided for users that need new versions of Scipy (from which the weave submodule will be removed in the future) but have existing code that still depends on scipy.weave. For new code, users are recommended to use Cython. Weave 0.15.0 is the first release of Weave as a standalone package. It is numbered 0.15.0, because it was split from Scipy after the 0.14.0 release of that package. No new functionality is included in this release compared to Scipy 0.14.0, only changes needed to make Weave a standalone package. This release requires Python 2.6 or 2.7. The source code can be found on https://github.com/scipy/weave and the release itself on PyPi: https://pypi.python.org/pypi/weave Note that the Scipy developers are not planning to make any further improvements to Weave. They may however merge pull requests and create maintenance releases for urgent issues. If someone is interested in maintaining Weave, that would be very welcome. Questions and discussions relating to Weave should be directed to the scipy-dev mailing list (see http://scipy.org/scipylib/mailing-lists.html). Cheers, Ralf From atechsmail at gmail.com Mon May 12 20:14:12 2014 From: atechsmail at gmail.com (aTechs -) Date: Mon, 12 May 2014 20:14:12 +0200 Subject: Spinne - python 3.x micro web framework Message-ID: Spinne ( https://github.com/aTechs/Spinne), a new micro web framework which currently aims to make it simple, easy and fast to develop web apps and projects in python. From peterhudec.com at gmail.com Wed May 14 15:54:41 2014 From: peterhudec.com at gmail.com (Peter Hudec) Date: Wed, 14 May 2014 06:54:41 -0700 (PDT) Subject: Googe App Engine Installer Message-ID: <9c234c68-ff60-417d-855b-1464974bb10c@googlegroups.com> Hi all, I would like to announce that I just created a simple package for installing the google package from the Googe App Engine SDK via pip and easy_install. https://github.com/peterhudec/gae_installer From phd at phdru.name Thu May 15 17:57:17 2014 From: phd at phdru.name (Oleg Broytman) Date: Thu, 15 May 2014 17:57:17 +0200 Subject: SQLObject 1.6.0 Message-ID: <20140515155717.GB30877@phdru.name> Hello! I'm pleased to announce version 1.6.0, the first stable release of branch 1.6 of SQLObject. What's new in SQLObject ======================= Features & Interface -------------------- * Python 2.4 is no longer supported. The minimal supported version is Python 2.5. * Support for Python 2.5 is declared obsolete and will be removed in the next release. * Upgrade ez_setup to 1.4.2. * Adapt duplicate error message strings for SQLite 3.8. Contributor for this release is Neil Muller. For a more complete list, please see the news: http://sqlobject.org/News.html What is SQLObject ================= SQLObject is an object-relational mapper. Your database tables are described as classes, and rows are instances of those classes. SQLObject is meant to be easy to use and quick to get started with. SQLObject supports a number of backends: MySQL, PostgreSQL, SQLite, Firebird, Sybase, MSSQL and MaxDB (also known as SAPDB). Where is SQLObject ================== Site: http://sqlobject.org Development: http://sqlobject.org/devel/ Mailing list: https://lists.sourceforge.net/mailman/listinfo/sqlobject-discuss Archives: http://news.gmane.org/gmane.comp.python.sqlobject Download: https://pypi.python.org/pypi/SQLObject/1.6.0 News and changes: http://sqlobject.org/News.html Oleg. -- Oleg Broytman http://phdru.name/ phd at phdru.name Programmers don't die, they just GOSUB without RETURN. From kwpolska at gmail.com Fri May 16 20:14:33 2014 From: kwpolska at gmail.com (Chris =?UTF-8?B?4oCcS3dwb2xza2HigJ0=?= Warrick) Date: Fri, 16 May 2014 20:14:33 +0200 Subject: Nikola v7.0.0 released! Message-ID: -----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 On behalf of the Nikola team, I am pleased to announce the release of Nikola v7.0.0 (after 10 days of testing in RC1). What is Nikola? =============== Nikola is a static site and blog generator, written in Python. It can use Mako and Jinja2 templates, and input in many popular markup formats, such as reStructuredText and Markdown ? and can even turn IPython Notebooks into blog posts! It also supports image galleries, and is multilingual. Nikola is flexible, and page builds are extremely fast, courtesy of doit (which is rebuilding only what has been changed). Find out more at the website: http://getnikola.com/ - --- Nikola v7.0.0 is the first major release since 8 months. As such, we had many things that could be changed. There are some things that you might need to change on your site, especially if you have a custom theme. Here is a short and incomplete list of the most important changes: Key Changes since v6.4.0 ======================== * New dependencies: ``natsort`` (natural sorting in galleries) and ``dateutil`` (replaces ``pytz``) * Many deprecated options were removed. * SCHEDULE_FORCE_TODAY, EXTRA_PLUGINS and ENABLED_EXTRAS are now removed and have no effect. * Two options were changed: - HIDE_SOURCELINK ? SHOW_SOURCELINK (inverted) - HIDE_UNTRANSLATED_POSTS ? SHOW_UNTRANSLATED_POSTS (inverted) * READ_MORE_LINK is split into INDEX_READ_MORE_LINK and RSS_READ_MORE_LINK. Moreover, new tags, like ``(remaining_)reading_time`` and ``(remaining_)paragraph_count``, were added. * Added options: FORCE_ISO8601, LOGO_URL, SHOW_BLOG_TITLE (logo support), GENERATE_RSS, ROBOTS_EXCLUSIONS, CONTENT_FOOTER_FORMATS, RSS_PLAIN, UNSLUGIFY_TITLES (for meta extraction from filenames). * Certain settings are now translatable. As of now, the settings are: BLOG_AUTHOR, BLOG_TITLE, BLOG_DESCRIPTION, LICENSE, CONTENT_FOOTER, SOCIAL_BUTTONS_CODE, SEARCH_FORM, BODY_END, EXTRA_HEAD_DATA, NAVIGATION_LINKS, READ_MORE_LINK. * There are many changes to themes. The ``base`` theme now offers a stylish look and is usable on sites, through a new stylesheet. The HTML code is now more semantic and sectioned, making it easier to style sites. Some templates are also renamed or removed. * The basic Jinja themes (base-jinja, bootstrap-jinja, bootstrap3-jinja) are now shipped with Nikola. Please remove any leftover copies from your themes/ folders. * You now can (and should!) specify a timezone offset in post dates, using a ``UTC?00:00`` syntax. (warning: ``UTC-03:00`` means *3 hours east of UTC* and not *west*, as is done in some Unix tools!) You can also use ISO 8601 dates (and if you want to do that, you should set ``FORCE_ISO8601=True`` to get those in new_post and new_page) * You now can use the reST metadata format in .meta files, allowing for greater flexibility. Get it! ======= Nikola v7.0.0 is available for download at `GitHub`_ and `PyPI`_. .. _GitHub: https://github.com/getnikola/nikola/releases/tag/v7.0.0 .. _PyPI: https://pypi.python.org/pypi/Nikola Changelog ========= Features - -------- * Added ``UNSLUGIFY_TITLES`` option for making titles fetched via the filename regexp prettier (Issue #1282) * New dependencies: ``natsort`` (natural sorting in galleries) and ``dateutil`` (replaces ``pytz``) * Nikola.commands are now the user-friendly wrappers from console (Issue #1177) * Add a ``github_deploy`` command to deploy to GitHub pages (Issue #1208) * Remove tidy filter (it was broken due to tidy being ancient) (Issue #1164) * Added ``GENERATE_RSS`` setting to allow disabling RSS in Nikola (Issue #1236) * Link listings raw sources if COPY_SOURCES is True (Issue #1214) * Much more powerful ``nikola plugin`` command (Issue #1189) * More powerful console mode allows access to all nikola commands (Issue #830) * New ```ROBOTS_EXCLUSIONS``` option listing resources to exclude from sitemap and include in new generated /robots.txt (Issue #804) * Generate sitemapindex containing RSS and sitemap files (Issue #804) * Support hooks in templates, for use by plugins (Issue #896) * Use readline if available (Issue #1238) * Replaced ``READ_MORE_LINK`` with ``INDEX_READ_MORE_LINK`` and ``RSS_READ_MORE_LINK`` (Issue #1222) * Added reading_time, remaining_reading_time, paragraph_count, remaining_paragraph_count tags for READ_MORE_LINK (Issue #1220) * Add canonical link in listings. * Added support for new meta files that are the same format as 1-file metadata, allowing for greater flexibility (Issue #954) * Colorbox is now internationalized (Issue #1205) * Added LOGO_URL and SHOW_BLOG_TITLE=True settings to facilitate showing off logos (Issue #1122) * Create automatic story index pages for subfolders, too (Issue #793) * New Slovak translation by Tom?? Pr?kop * Created a MarkdownExtension plugin class (Issue #1175) * The base theme produces properly sectioned and semantic HTML5 (Issues #1123, #1137) * The base theme comes with a new stylish look by default (Issue #1137) * The base theme supports Right-to-Left by using ::dir(rtl) CSS4 rules and tags where valid (Issue #1146) * Bootstrap 2 updated to 2.3.2 (via Issue #1137) * Added FORCE_ISO8601 setting that currently makes new_post use ISO 8601 dates (via Issue #1156) * Added support for TZ specified in post date (Issue #1118) * Make ``nikola init`` ask about the site?s settings (Issue #1080) * Use natural sorting for files and folders list in listings and galleries (Issue #1144) * Added invariance testing (Issue #672) * Plugins can inject templates in the system (Issue #1139) * ``nikola import_wordpress`` now has a ``--qtranslate`` option, to parse posts in the qtranslate wordpress plugin format and turn them into multilingual Nikola posts (Issue #1072) * ``nikola console`` allows for interpreter choice via -b, -i, -p; moreover, support for bpython is not deprecated anymore (Issue #1126) * ``retired`` tag for posts has been replaced with ``private`` (via Issue #686) * Changed the default TRANSLATIONS_PATTERN to "{path}.{lang}.{ext}". (Issues #990, #829) * Backwards compatibility with v5 is broken. Added backwards-incompatible changes. (Issue #829) * Added a ``CONTENT_FOOTER_FORMATS`` config option. It is used to format the ``CONTENT_FOOTER`` variable properly, for compatibility with the Translatable Settings feature. The variable takes a dict, the keys of which are languages, and values are (args, kwargs). (Issue #1112) * Certain settings are now translatable. As of now, the settings are: BLOG_AUTHOR, BLOG_TITLE, BLOG_DESCRIPTION, LICENSE, CONTENT_FOOTER, SOCIAL_BUTTONS_CODE, SEARCH_FORM, BODY_END, EXTRA_HEAD_DATA, NAVIGATION_LINKS, READ_MORE_LINK (the up-to-date list is available in SITE.TRANSLATABLE_SETTINGS) (Issues #851, #1057, #1061, #1112) * New Post.author() returns meta 'author' or BLOG_AUTHOR (Issue #1117) * Ship base-jinja, bootstrap-jinja, bootstrap3-jinja with Nikola (Issue #1104) * Invert ``HIDE_SOURCELINK`` and ``HIDE_UNTRANSLATED_POSTS`` into ``SHOW_SOURCELINK`` and ``SHOW_UNTRANSLATED_POSTS`` (Issue #1076) * Remove old messages left over for backwards compatibility: (Issues #829, #1105) - "More posts about", replaced by "More posts about %s" - "Posted", replaced by "Posted:" - "Also available in", replaced by "Also available in:" * Remove old "sl_SI", "tr_TR" locale aliases (use "sl" and "tr") (Issue #829, #1105) * New option RSS_PLAIN to optionally strip HTML from RSS feeds (Issue #1107) * Support content key in compilers' create_post (Issue #1098) * Use setuptools? extras feature. Use ``pip install nikola[extras]`` to install Nikola with extras (``requirements-extras.txt``, formerly ``requirements-full.txt`` -- note the name change!) (Issue #1089) Bugfixes - -------- * Markdown now outputs code in a reST-like fashion (Issue #1063) * code.css is back to supporting only ``pre.code`` (Issue #1063) * Links in monthly archives did not have ``/index.html`` if STRIP_INDEXES was set to False (Issue #1263) * Fix lxml adding extra root tags being added by lxml by lxml.html.tostring * Not having typogrify installed now produces a valid error (Issue #1262) * Pages were not rebuilt when DEMOTE_HEADERS was changed (Issue #1261) * Removed SCHEDULE_FORCE_TODAY option (Issue #984) * Give better error for unknown subcommands (Issue #1233) * Handle conf.py for import plugins more generically (Issue #1235) * Remove RSS files from the sitemap (Issue #804) * ``nikola deploy`` works with DEPLOY_FUTURE = True (Issue #1249) * Removed EXTRA_PLUGINS and ENABLED_EXTRAS options (Issue #1247) * ``nikola COMMAND -h/--help`` now outputs command help and not Nikola help (showing the command help is standard behavior) (Issue #1245) * Redirect pages should have a body linking to the new location * The typogrify filter is now Python 3-compatible (Issue #1244) * Fix ``nikola auto`` not watching changes in FILES_FOLDERS (Issue #1241) * Vimeo and YouTube embedding in reStructuredText is now protocol-relative * Don't crash if a unknown kind of path/link is requested (Issue #1236) * Don't run ``clean`` and ``list`` outside sites (Issue #1232) * If an invalid language is specified, Nikola now shows a helpful error message instead of a traceback (via Issue #1225) * Ensure the locale is set correctly when compiling posts (Issue #1219) * Fix site-dependent commands (they tried to run anyways) (Issue #1223) * Follow symlinks when walking trees (Issue #1206) * bootswatch_theme works again and does not try using server hostname=swatch (Issue #1202) * Make markdown extensions not break when markdown is not installed (Issue #1201) * hidetitle now works in posts, too (Issue #1188) * Refactoring of post translation checking (Issue #1194) * Trigger rebuild on gallery changes in auto mode (Issue #1180) * Galleries are more usable in non-Bootstrap-based themes (Issue #1137) * Removed dependency on pytz because mixing it with dateutil breaks things. * Use current system TZ for current_time (Issue #1161) * Fix links with full path in RSS for files outside root (Issue #1162) * ``nikola new_post`` now always outputs a newline at the end of file (Issue #1169) * Gallery code cleanup (Issue #1121) * USE_FILENAME_AS_TITLE works again (Issue #1073) * Rebuild CSS bundles when files change, and also when files are removed (Issue #1153) * Don't call links to SITE_URL bad on check when URL_TYPE is 'absolute' (Issue #1147) * Trigger rebuilds if URL_TYPE changes (Issue #1095) * Eliminate repeated tags in posts (Issue #1142) * custom.css not included in bundles * Don?t publish email addresses in RSS, use author name via Dublin Core * Rebuild a lot of files when TIMEZONE changes (Issue #1110) * The ``init`` command and the importers now always output to the CWD. Previously, if you had a ``conf.py`` file higher in the directory structure, Nikola would put the output of those commands in the directory that contained the file. (Issue #1132) * Files with non-ASCII characters in filenames are copied only when needed, and not every build (Issue #1129) * Split Twitter Cards and Open Graph, enable the latter by default * Load html5shiv.js from remote or local server depending on USE_CDN option * Fix dependency issue in listings (Issue #1032) * Logging configuration has been fixed. The stderr handler can now only be set to DEBUG or INFO (any higher levels are corrected as INFO), and unwanted (i.e. DEBUG) messages are not shown, as intended. (Issue #1111) * Catch keyboard exit while serving so traceback does not show (Issue #1124) * Support rescanning posts in the Nikola class (Issue #1100) * Use TIMEZONE with ``nikola new_post`` and ``nikola new_page``. (Issue #1088) - -- Chris ?Kwpolska? Warrick Release Manager for v7.0.0 -----BEGIN PGP SIGNATURE----- Version: GnuPG v2.0.22 (GNU/Linux) iQEcBAEBAgAGBQJTdlWJAAoJEHECPb1equoW7scIAKxes94prdRFc1o9Ousj5CJG SoxJYlRMxC438yDJFGdh1n4+KqxT/1sjpHq7Gr7lvTjGG058JXFzwmk2hrUmT1z+ ExDL73n1GzXOJYQLNPXn4BftUAhn8SpusgbDoo6ltGEV7ou//sBI1RqcI/7Lw5cR 6yDdO5Qi+a775Xb4UgzN0eBACndedyQO9gbJZ4LO5doepThAcy1mZcPOlwYJl2vj +7NksiQ5b2IKwaRq4wAJW1+GLvk5HWNRRu1V+hfVzWOBy8BKSIkvP6zCLPWFs8dg 6ckqx5bgiI4pad5G7eDGM9RkwvRDNJkLDvQBMsPCKoEjgP6ct/tMNrPf9OwY6HM= =CQ/1 -----END PGP SIGNATURE----- From benjamin at python.org Mon May 19 02:49:18 2014 From: benjamin at python.org (Benjamin Peterson) Date: Sun, 18 May 2014 17:49:18 -0700 Subject: [RELEASED] Python 2.7.7 release candidate 1 Message-ID: <1400460558.31367.118834865.1A1F5777@webmail.messagingengine.com> Greetings Python users, Python 2.7.7 release candidate 1 is now available for download. Python 2.7.7 is a regularly scheduled bugfix release for the Python 2.7 series. The 2.7.7 release contains fixes for two severe, if arcane, potential security vulnerabilities. The first was the possibility of reading arbitrary process memory using JSONDecoder.raw_decode. [1] (No other json APIs are affected.) The second security issue is an integer overflow in the strop module. [2] (If you don't know what the strop module is, go ahead and forget it now.) This release also includes months of accumulated normal bugfixes. All the changes in Python 2.7.7 are described in detail in the Misc/NEWS file of the source tarball. You can view it online at http://hg.python.org/cpython/raw-file/e32e3a9f3902/Misc/NEWS Downloads are at https://python.org/download/releases/2.7.7/ This is a testing release. Assuming no horrible bugs are found, 2.7.7 final will be released in two weeks time. Please consider testing your applications and libraries with the release candidate and reporting bugs to http://bugs.python.org/ Enjoy, Benjamin Peterson 2.7 Release Manager [1] http://bugs.python.org/issue21529 [2] http://bugs.python.org/issue21530 From itamar at hybridcluster.com Fri May 16 16:44:46 2014 From: itamar at hybridcluster.com (Itamar Turner-Trauring) Date: Fri, 16 May 2014 10:44:46 -0400 Subject: Eliot: a framework for Logging as Storytelling Message-ID: <5376245E.3000609@hybridcluster.com> Eliot provides a structured logging and tracing system for Python that generates log messages describing a forest of nested actions. Actions start and eventually finish, successfully or not. Log messages thus tell a story: what happened and what caused it. Here's what your logs might look like before using Eliot: Going to validate http://example.com/index.html. Started download attempted. Download succeeded! Missing element in "/html/body". Bad HTML entity in "/html/body/p[2]". 2 validation errors found! After switching to Eliot you'll get a tree of messages with both message contents and causal relationships encoded in a structured format: * {"action_type": "validate_page", "action_status": "started", "url": "http://example.com/index.html"} o {"action_type": "download", "action_status": "started"} o {"action_type": "download", "action_status": "succeeded"} o {"action_type": "validate_html", "action_status": "started"} + {"message_type": "validation_error", "error_type": "missing_title", "xpath": "/html/head"} + {"message_type": "validation_error", "error_type": "bad_entity", "xpath": "/html/body/p[2]"} o {"action_type": "validate_html", "action_status": "failed", "exception": "validator.ValidationFailed"} * {"action_type": "validate_page", "action_status": "failed", "exception": "validator.ValidationFailed"} Features: * Structured, typed log messages. * Ability to log actions, not just point-in-time information: log messages become a trace of program execution. * Excellent support for unit testing your logging code. * Emphasis on performance, including no blocking I/O in logging code path. * Optional Twisted support. * Designed for JSON output, usable by Logstash/Elasticsearch. * Supports CPython 2.7, 3.3 and PyPy. Eliot is released by HybridCluster <https://hybridcluster.github.io> under the Apache 2.0 License. To install: $ pip install eliot Downloads are available on PyPI <https://pypi.python.org/pypi/eliot>. Documentation can be found on Read The Docs <https://eliot.readthedocs.org/>. Bugs and feature requests should be filed at the project Github page <https://github.com/hybridcluster/eliot>. From larry at hastings.org Mon May 19 08:00:55 2014 From: larry at hastings.org (Larry Hastings) Date: Sun, 18 May 2014 23:00:55 -0700 Subject: [RELEASED] Python 3.4.1 Message-ID: <53799E17.7040805@hastings.org> On behalf of the Python development community and the Python 3.4 release team, I'm pleased to announce the availability of Python 3.4.1. Python 3.4.1 has over three hundred bugfixes and other improvements over 3.4.0. One notable change: the version of OpenSSL bundled with the Windows installer no longer has the "HeartBleed" vulnerability. You can download it here: https://www.python.org/download/releases/3.4.1 //arry/ From vinay_sajip at yahoo.co.uk Mon May 19 16:24:35 2014 From: vinay_sajip at yahoo.co.uk (Vinay Sajip) Date: Mon, 19 May 2014 15:24:35 +0100 (BST) Subject: [ANN]: distlib 0.1.9 released on PyPI Message-ID: <1400509475.10474.YahooMailNeo@web172405.mail.ir2.yahoo.com> I've just released version 0.1.9 of distlib on PyPI [1]. For newcomers, distlib is a library of packaging functionality which is intended to be usable as the basis for third-party packaging tools. The main changes in this release are as follows: ??? Fixed issue #47: Updated binary launchers to fix double-quoting bug ??? where script executable paths have spaces. ??? Added ``keystore`` keyword argument to signing and verification APIs. A more detailed change log is available at [2]. Please try it out, and if you find any problems or have any suggestions for improvements, please give some feedback using the issue tracker! [3] Regards, Vinay Sajip [1] https://pypi.python.org/pypi/distlib/0.1.9 [2] http://pythonhosted.org/distlib/overview.html#change-log-for-distlib [3] https://bitbucket.org/pypa/distlib/issues/new From fabiofz at gmail.com Tue May 20 20:19:46 2014 From: fabiofz at gmail.com (Fabio Zadrozny) Date: Tue, 20 May 2014 15:19:46 -0300 Subject: PyDev 3.5.0 Released Message-ID: <CANXBEFoS4B4J7ECUbPuQzS7+LiHWjoVFw=UWSKWoW4s6XmxEQg@mail.gmail.com> What is PyDev? --------------------------- PyDev is an open-source Python IDE on top of Eclipse for Python, Jython and IronPython development. It comes with goodies such as code completion, syntax highlighting, syntax analysis, code analysis, refactor, debug, interactive console, etc. Details on PyDev: http://pydev.org Details on its development: http://pydev.blogspot.com What is LiClipse? --------------------------- LiClipse is a PyDev standalone with goodies such as support for Multiple cursors, theming and a number of other languages such as Django Templates, Kivy Language, Mako Templates, Html, Javascript, etc. It's also a commercial counterpart which helps supporting the development of PyDev. Details on LiClipse: http://brainwy.github.io/liclipse/ Release Highlights: ------------------------------- - **Important**: PyDev requires Eclipse 3.8 or 4.3 onwards and Java 7! For older versions, keep using PyDev 2.x (or LiClipse for a PyDev standalone with all requirements bundled). * Adding plead for the current crowdfunding at http://tiny.cc/pydev-2014. * PyDev now has a new logo. * **py.test**: * Improved py.test test runner preferences page. * py.test integration improved to be less intrusive and work with xdist. * py.test protocol invocation now allows for module/session scoped fixtures to work properly. * Add bookmark and add task actions are shown in the ruler context menu (**Ctrl+F10**). * Code completion was not properly recognizing variables assigned to self inside an elif statement. * Django 1.7: Model.objects is manually patched inside PyDev to give proper code-completion results. * Debugger: hovering over private ('__' prefixed) variables now shows proper value. * Thread.isAlive() is no longer called to workaround debugger issue on Python 3.4. * Hyperlinking should not happen on spacing characters (I.e.: Ctrl+click on spaces). * Fixed NPE when interpreter is created with JDT and loaded afterwards without it. * Fixed issue where tokens cached information could end up being null after I/O. * Manually creating new run configuration no longer gives an exception (i.e.: configuration without associated project). * Out-of-sync error on PYTHONPATH change (patch by Danny Yoo) * There's an extension point for clients to resolve modules (patch by Danny Yoo). * **Ctrl+Shift+G** (find references) is now properly categorized. * Rename refactoring now validates files (read only) prior to refactoring (patch by Danny Yoo). * Not checking preferred settings when the PyDev plugin is started, but rather when a PyDev editor is opened. * Setting remote debugger socket to be properly reused. * The PyDev stdout/stderr redirector now properly uses PYTHONIOENCODING. Cheers, -- Fabio Zadrozny ------------------------------------------------------ Software Developer LiClipse http://brainwy.github.io/liclipse PyDev - Python Development Environment for Eclipse http://pydev.org http://pydev.blogspot.com From cimrman3 at ntc.zcu.cz Fri May 23 13:24:57 2014 From: cimrman3 at ntc.zcu.cz (Robert Cimrman) Date: Fri, 23 May 2014 13:24:57 +0200 Subject: ANN: SfePy 2014.2 Message-ID: <537F3009.6060907@ntc.zcu.cz> I am pleased to announce release 2014.2 of SfePy. Description ----------- SfePy (simple finite elements in Python) is a software for solving systems of coupled partial differential equations by the finite element method. The code is based on NumPy and SciPy packages. It is distributed under the new BSD license. This release brings a preliminary support for isogeometric analysis - a recently developed computational approach that allows using the NURBS-based domain description from CAD design tools also for approximation purposes similar to the finite element method. Home page: http://sfepy.org Mailing list: http://groups.google.com/group/sfepy-devel Git (source) repository, issue tracker, wiki: http://github.com/sfepy Highlights of this release -------------------------- - preliminary support for isogeometric analysis - improved post-processing and visualization script for time-dependent problems with adaptive time steps - three new terms For full release notes see http://docs.sfepy.org/doc/release_notes.html#id1 (rather long and technical). Best regards, Robert Cimrman and Contributors (*) (*) Contributors to this release (alphabetical order): Vladim?r Luke? From anthony.tuininga at gmail.com Sun May 25 06:39:08 2014 From: anthony.tuininga at gmail.com (Anthony Tuininga) Date: Sat, 24 May 2014 22:39:08 -0600 Subject: cx_Oracle 5.1.3 Message-ID: <CAE1XR-6sbtDFJw+BwT-WN0hRyR82fzHCwm7OhnMur8xyH516gg@mail.gmail.com> What is cx_Oracle? cx_Oracle is a Python extension module that enables access to Oracle for Python 2.x and 3.x and conforms to the Python database API 2.0 specifications with a number of enhancements. Where do I get it? http://cx-oracle.sourceforge.net What's new? http://cx-oracle.readthedocs.org/en/latest/releasenotes.html From s.feltman at gmail.com Mon May 26 22:00:40 2014 From: s.feltman at gmail.com (Simon Feltman) Date: Mon, 26 May 2014 13:00:40 -0700 Subject: PyGObject 3.12.2 Released Message-ID: <CACc9j8a94PQ4rV4aT2v6WQsv2BaNoWz+yvsJibv_WCZKKLRhmQ@mail.gmail.com> I am pleased to announce version 3.12.2 of the Python bindings for GObject. This is the third release in the stable 3.12.x series for GNOME 3.12. Download ======== The new release is available from ftp.gnome.org: https://download.gnome.org/sources/pygobject/3.12/pygobject-3.12.2.tar.xz (686K) sha256sum: 7e7a3d349acf5bb4b68f8539a42e67958840a67cd4f0341ee9aa49189af2a522 What's new in PyGObject 3.12.2 ================================= - PEP8 fixes - Python 3.4 make check fixes About PyGObject =============== GObject is a object system used by GTK+, GStreamer and other libraries. PyGObject provides a convenient wrapper for use in Python programs when accessing GObject libraries. Like the GObject library itself PyGObject is licensed under the GNU LGPL, so is suitable for use in both free software and proprietary applications. It is already in use in many applications ranging from small single purpose scripts up to large full featured applications. PyGObject now dynamically accesses any GObject libraries that uses GObject Introspection. It replaces the need for separate modules such as PyGTK, GIO and python-gnome to build a full GNOME 3.0 application. Once new functionality is added to gobject library it is instantly available as a Python API without the need for intermediate Python glue. From s.feltman at gmail.com Mon May 26 22:07:10 2014 From: s.feltman at gmail.com (Simon Feltman) Date: Mon, 26 May 2014 13:07:10 -0700 Subject: PyGObject 3.13.2 Released Message-ID: <CACc9j8bGOiuKXWftD5KCQN1Hjj=hofyWPdO0oHX8aV1UxF+1vQ@mail.gmail.com> I am pleased to announce version 3.13.2 of the Python bindings for GObject. This is the third alpha release of the 3.13.x series which will result in a stable GNOME 3.14 release. This release fixes a many long standing issues and hits a milestone in our testing of having over 1,000 unit tests. Download ======== The new release is available from ftp.gnome.org: https://download.gnome.org/sources/pygobject/3.13/pygobject-3.13.2.tar.xz (693K) sha256sum: 69eb8b642463ca26644a64019ed539c5185ed2abd06600dfc83e793cd028a8de What's new in PyGObject 3.13.2 ================================= - Unification of GLib.GError and GLib.Error. GLib.Error should be used for any exception handling while GLib.GError is a compatibility alias. (Simon Feltman) (#712519) - New API gi.require_foreign() for ensuring cairo marshalling is supported. (Simon Feltman) (#707735) - Automatic marshalling of cairo objects from non-introspected signal arguments. (Simon Feltman) (#694604) - GTypeClass methods are now directly available on Python GObject classes. This allows calling previously un-available methods like: Gtk.Widget.list_child_properties (Johan Dahlin) (#685218) - Gtk.Container.child_get_property and Gtk.Widget.style_get_property now return Python native values and the pass-by-reference "value" argument is optional. - Add Gtk.Container.child_get and child_set for working with multiple child properties (Simon Feltman) (#685076) - Python 3.4 make check fixes - PEP8 fixes About PyGObject =============== GObject is a object system used by GTK+, GStreamer and other libraries. PyGObject provides a convenient wrapper for use in Python programs when accessing GObject libraries. Like the GObject library itself PyGObject is licensed under the GNU LGPL, so is suitable for use in both free software and proprietary applications. It is already in use in many applications ranging from small single purpose scripts up to large full featured applications. PyGObject now dynamically accesses any GObject libraries that uses GObject Introspection. It replaces the need for separate modules such as PyGTK, GIO and python-gnome to build a full GNOME 3.0 application. Once new functionality is added to gobject library it is instantly available as a Python API without the need for intermediate Python glue. From g.rodola at gmail.com Tue May 27 13:10:48 2014 From: g.rodola at gmail.com (Giampaolo Rodola') Date: Tue, 27 May 2014 13:10:48 +0200 Subject: ANN: pysendfile 2.0.1 released Message-ID: <CAFYqXL9LDbPy5ts3Z2pbgg5cfcf1-5dpNUZyg4mPHOdzJSz1Og@mail.gmail.com> Hi folks, I'm pleased to announce the 2.0.1 release of pysendfile: https://github.com/giampaolo/pysendfile === About === This is a python interface to sendfile(2) system call available on most UNIX systems. sendfile(2) provides a "zero-copy" way of copying data from one file descriptor to another (a socket). The phrase "zero-copy" refers to the fact that all of the copying of data between the two descriptors is done entirely by the kernel, with no copying of data into userspace buffers, resuting in file transfers being from 2x to 3x faster. Basically, any application sending files over the network can take advantage of it. HTTP and FTP servers are a typical example. === Changes === - #20: host tarball on PYPI - #21: project migrated from google code to github - #21: project migrated from SVN to GIT - #22: pysendfile won't compile on python 3.4 - #23: add a Makefile - #24: use of travis continuous integration - #25: use tox for multiple python versions testing === Supported platforms === * Linux * Mac OSX * FreeBSD * Dragon Fly BSD * Sun OS * AIX (not properly tested) === Supported python versions === >From 2.5 to 3.4. -- Giampaolo - http://grodola.blogspot.com From email at domain.com Tue May 27 20:41:00 2014 From: email at domain.com (Alan James Salmoni) Date: Tue, 27 May 2014 19:41:00 +0100 Subject: [ANN]: Salstat, friendly open source statistics Message-ID: <2014052719410049513-email@domaincom> I am proud to announce a new source code release of Salstat, the friendly open source statistics program. It is written in Python with Numpy, SciPy, wxPython and many other Python libraries (see the readme.md Code is available from GitHub: https://github.com/salmoni/Salstat ## What is Salstat? Salstat is a program for statistical analysis: Much like SPSS but friendlier and easier to use. It began in 2000 as a project to provide software that removed legacy interfaces and let people learn about statistics rather than having to master an interface. After a career-imposed hiatus since 2003, a few released have crept out over the last year bringing improvements and a more powerful program to people who aren't comfortable with statistics. ## What's new? This latest release features simple histograms. ## What features does it have? *Data import*: SAS, CSV, Excel, LibreOffice Calc *Descriptives*: Too many to mention. There are 9 types of quantile to give you some idea. Can analyse univariate or multivariate data sets. *Inferential tests*: A range of 1 and 2 sample tests, parametric and non-parametric. 2+ sample tests are currently not working because the relevant interface needs a redesign to accommodate them but they will be arriving soon. *Charts, graphs, plots*: Column, bar, scatter, line, spline, area, pie, box plot, histogram. ## Does Salstat need help? Please pass this news around your social media network to spread the word. Find us on Twitter (@Salstat) and full news articles at http://salstat.blogspot.co.uk/. We're okay with the developer talent (although we're always pleased to hear especially if you can commit long-term) but most of all we need users ? which means telling people Salstat exists. All the best & have fun, Alan J. Salmoni Salstat ? Friendly open source statistics GitHub: https://github.com/salmoni/Salstat Blog: http://salstat.blogspot.co.uk/ Facebook: https://www.facebook.com/salstat1 Twitter: @Salstat From info at egenix.com Wed May 28 10:14:24 2014 From: info at egenix.com (eGenix Team: M.-A. Lemburg) Date: Wed, 28 May 2014 10:14:24 +0200 Subject: ANN: eGenix mxODBC Connect 2.1.0 - Python ODBC Database Interface Message-ID: <53859AE0.5010306@egenix.com> ________________________________________________________________________ ANNOUNCING eGenix.com mxODBC Connect Python ODBC Database Interface Version 2.1.0 mxODBC Connect is our commercially supported client-server product for connecting Python applications to relational databases in a truly platform independent way. This announcement is also available on our web-site for online reading: http://www.egenix.com/company/news/eGenix-mxODBC-Connect-2.1.0-GA.html ________________________________________________________________________ INTRODUCTION The mxODBC Connect Database Interface for Python allows users to easily connect Python applications to all major databases on the market today in a highly portable, convenient and secure way. Python Database Connectivity the Easy Way ----------------------------------------- Unlike our mxODBC Python extension, mxODBC Connect is designed as client-server application, so you no longer need to find production quality ODBC drivers for all the platforms you target with your Python application. Instead you use an easy to install royalty-free Python client library which connects directly to the mxODBC Connect database server over the network. This makes mxODBC Connect a great basis for writing cross-platform multi-tier database applications and utilities in Python, especially if you run applications that need to communicate with databases such as MS SQL Server and MS Access, Oracle Database, IBM DB2 and Informix, Sybase ASE and Sybase Anywhere, MySQL, PostgreSQL, SAP MaxDB and many more, that run on Windows or Linux machines. Ideal for Database Driven Client Applications --------------------------------------------- By removing the need to install and configure ODBC drivers on the client side and dealing with complicated network setups for each set of drivers, mxODBC Connect greatly simplifies deployment of database driven client applications, while at the same time making the network communication between client and database server more efficient and more secure. For more information, please have a look at the mxODBC Connect product page, in particular, the full list of available features. For more information, please see the product page: http://www.egenix.com/products/python/mxODBCConnect/ ________________________________________________________________________ NEWS mxODBC Connect 2.1.0 is a new minor release of our successful mxODBC Connect product. These are the changes compared to mxODBC Connect 2.0.5. Update to the mxODBC 3.3 API ---------------------------- mxODBC Connect 2.1 upgrades the mxODBC Connect Client to the new mxODBC 3.3. APIs and enhancements. Stored Procedures * mxODBC Connect now has full support for input, output and input/output parameters in stored procedures and stored functions, allowing easy integration with existing databases systems. User Customizable Row Objects * Added support for user customizable row objects by adding cursor/connection .rowfactory and .row constructor attributes. When set, these are used to wrap the normal row tuples returned by the .fetch*() methods into dynamically created row objects. * Added new RowFactory classes to support cursor.rowfactory and cursor.row. These allow dynamically creating row classes that provide sequence as well as mapping and attribute access to row fields - similar to what namedtuples implements, but more efficient and specific to result sets. Fast Cursor Types * Switched to forward-only cursor types for all database backends, since this provides a much better performance for MS SQL Server and IBM DB2 drivers. * Added a new .cursortype attribute to allow adjusting and inspecting the ODBC cursor type to be used for an mxODBC Connect cursor object. Default is to use forward-only cursors, but mxODBC also support several other useful cursor types such as static cursors with full support for result set scrolling. More new Features * Enhanced cursor.prepare() to allow querying cursor.description right after the prepare step and not only after calling a cursor.execute*() method. * Added iterator/generator support to .executemany(). The parameters list can now be an iterator/generator, if needed. * Added new connection.dbapi property to easily access module level symbols from the connection object. * Timestamp seconds fraction resolution is now determined from the scale of a datetime/timestamp SQL column, using the connection.timestampresolution as lower bound, when using SQL type binding. In Python type binding mode, the connection.timestampresolution determines the scale with which a variable is bound. This allows for greater flexibility when dealing with database backends that don't provide full nano-second second resolution, such as e.g. MS SQL Server. * mxODBC Connect accepts Unicode string values for date/time/datetime/timestamp column types in SQL type binding mode. Previous versions already did in Python type binding mode. * mxODBC Connect uses unicode(obj, encoding) semantics when binding Python objects to SQLWCHAR Unicode database parameters to provide better compatibility with Python objects. Additionally, it ignores the encoding in case obj is a number, to avoid conversion errors. * Added new cursor.encoding attribute. This gets its default values from the connection the cursor was created on and allows for per-cursor encoding settings. * Added cursor.bindmethod which inherits from connection.bindmethod when creating the cursor. This allows adjusting the variable bind method on a per-cursor basis, rather than only on a per connection basis as in previous mxODBC Connect versions. mxODBC Connect API Enhancements ------------------------------- * The SQL lookup object is cached on the client side to avoid frequent roundtrips when using symbols which are needed for stored procedures with input/output parameters. * The SQL lookup object received support for new ODBC 3.8 symbols and values, including driver specific symbols used by the MS SQL Server Native Client and IBM DB2 ODBC drivers. * Improved the server side object management to simplify client side garbage collection considerations. Even though we still encourage using explicit garbage collection of cursors, connections and server sessions on the client side, mxODBC Connect Server will now handle most situations even without these explicit calls. Asynchronous Processing ----------------------- * Tested with the latest gevent and greenlet packages. mxODBC Connect Client will happily work together with the asynchronous libraries gevent. All it takes is a single configuration entry in the client side config file. Security Enhancements --------------------- * Changed the way passwords are stored in the server's authorized-users.txt file in order to make password storage more secure. * User authentication now uses salted SHA-256 password hashes when transferring the login data from the client to the server. This provides better protection when using plain text client server setups and additional security over SSL network connections. ODBC Driver/Manager Compatibility Enhancements ---------------------------------------------- unixODBC * mxODBC Connect Server is now built against unixODBC 2.3.2 on Linux. DataDirect * Updated the DataDirect binding to version 7.1.2 of the DataDirect ODBC manager on Linux. Oracle * Added work-around for Oracle Instant Client to be able to use integer output parameters. * Added a work-around for Oracle Instant Client to have it return output parameters based on the input placeholder Python parameter types. It would otherwise return all parameters as strings. Disabled a test for Oracle Instant Client which tries to set a pre-connect connection option for timeouts, since the ODBC driver segfaults with this option. MS SQL Server * mxODBC Connect Server 2.1 defaults to 100ns connection.timestampresolution for MS SQL Server 2008 and later, and 1ms resolution for MS SQL server 2005 and earlier. This simplifies interfacing to SQL Server timestamp columns by preventing occasional precision errors. * Tested mxODBC Connect Server successfully with new MS SQL Server Native Client 11 for Linux. Unicode connection strings still don't work, but everything else does. * Added documentation on how to use Kerberos with mxODBC and SQL Server for authentication on both Windows and Linux to the mxODBC User Manual. * Added note about problems of the FreeTDS ODBC driver dealing with TIME and DATE columns. Sybase ASE * Added work-around for the Sybase ASE ODBC driver, which doesn't always pass back NULL correctly to mxODBC Connect Server on 64-bit Unix systems. * Changed the variable type binding mode default for the Sybase ASE ODBC driver from Python type binding to SQL type binding, which resolves issues with e.g. the Unicode support for that driver. * Added note about a segfault problem with the Sybase ASE 15.7 ODBC driver which is caused by the driver corrupting the heap. IBM DB2 * Added work-around for the IBM DB2 ODBC driver, which doesn't always pass back NULL correctly to mxODBC Connect Server on 64-bit Unix systems. PostgreSQL * Added work-around to force Python type binding for the PostgreSQL ODBC drivers. More recent versions of the driver report supporting SQL type binding, but they don't implement it. * Added work-around to have PostgreSQL ODBC drivers properly work with binary data for BYTEA columns. MySQL * mxODBC Connect Server now supports native Unicode with the recent MySQL ODBC drivers - provided you use the Unicode variants of the drivers. * Changed the default binding mode for MySQL ODBC drivers to Python type binding. This works around a problem with date/time values when talking to MySQL 5.6 servers. For the full set of changes, including those of the 2.0 series of mxODBC Connect, please check the mxODBC Connect change log. http://www.egenix.com/products/python/mxODBCConnect/changelog.html ________________________________________________________________________ UPGRADING You are encouraged to upgrade to this latest mxODBC Connect release. When upgrading, please always upgrade both the server and the client installations to the same version - even for patch level releases. We will give out 20% discount coupons for upgrade purchases going from mxODBC Connect Server 1.x to 2.1 and 50% coupons for upgrades from mxODBC 2.x to 2.1. Please contact the eGenix.com Sales Team (sales at egenix.com) with your existing license serials for details. Users of our stand-alone mxODBC product will have to purchase new licenses from our online shop in order to use mxODBC Connect. You can request free 30-day evaluation licenses by visiting our web-site or writing to sales at egenix.com, stating your name (or the name of the company) and the number of eval licenses that you need. http://www.egenix.com/products/python/mxODBCConnect/#Evaluation ________________________________________________________________________ DOWNLOADS The download archives as well as instructions for installation and configuration of the product can be found on the product page: http://www.egenix.com/products/python/mxODBCConnect/ If you want to try the package, jump straight to the download instructions: https://cms.egenix.com/products/python/mxODBCConnect/#Download Fully functional evaluation licenses for the mxODBC Connect Server are available free of charge: http://www.egenix.com/products/python/mxODBCConnect/#Evaluation mxODBC Connect Client is always free of charge. _______________________________________________________________________ SUPPORT Commercial support for this product is available from eGenix.com. Please see http://www.egenix.com/services/support/ for details about our support offerings. _______________________________________________________________________ INFORMATION About Python (http://www.python.org/): Python is an object-oriented Open Source programming language which runs on all modern platforms. By integrating ease-of-use, clarity in coding, enterprise application connectivity and rapid application design, Python establishes an ideal programming platform for today's IT challenges. About eGenix (http://www.egenix.com/): eGenix is a software project, consulting and product company focusing on expert project services and professional quality products for companies, Python users and developers. Enjoy, -- Marc-Andre Lemburg eGenix.com Professional Python Services directly from the Source (#1, May 28 2014) >>> Python Projects, Consulting and Support ... http://www.egenix.com/ >>> mxODBC.Zope/Plone.Database.Adapter ... http://zope.egenix.com/ >>> mxODBC, mxDateTime, mxTextTools ... http://python.egenix.com/ ________________________________________________________________________ ::::: Try our mxODBC.Connect Python Database Interface for free ! :::::: eGenix.com Software, Skills and Services GmbH Pastor-Loeh-Str.48 D-40764 Langenfeld, Germany. CEO Dipl.-Math. Marc-Andre Lemburg Registered at Amtsgericht Duesseldorf: HRB 46611 http://www.egenix.com/company/contact/ From phil at riverbankcomputing.com Wed May 28 23:07:08 2014 From: phil at riverbankcomputing.com (Phil Thompson) Date: Wed, 28 May 2014 22:07:08 +0100 Subject: ANN: PyQt v5.3 Released Message-ID: <869123966a8532815d0bcf75bec7d9bb@www.riverbankcomputing.com> PyQt5 v5.3 has been released and is available from http://www.riverbankcomputing.com/software/pyqt/download5. PyQt5 is a comprehensive set of bindings for v5 of Digia's Qt cross-platform application framework. It supports Python v3, v2.7 and v2.6. The highlights of this release include support for Qt v5.3 including the new QtQuickWidgets and QtWebSockets modules. PyQt5 supports cross-compiling to iOS and Android. Windows installers are provided which contain everything needed for PyQt5 development (including Qt, Qt Designer, QScintilla, and MySQL, PostgreSQL, SQLite and ODBC drivers) except Python itself. Installers are provided for the 32 and 64 bit versions of Python v3.4. PyQt5 is implemented as a set of 29 extension modules including support for: - non-GUI infrastructure including event loops, threads, i18n, user and application settings, mapped files and shared memory - GUI infrastructure including window system integration, event handling, 2D graphics, basic imaging, fonts, OpenGL - a comprehensive set of desktop widgets - WebKit - full integration with Quick2 and QML allowing new Quick items to be implemented in Python and created in QML - event driven network programming - multimedia including cameras, audio and radios - Bluetooth - global positioning using satellite, Wi-Fi or text file sources - sensors including accelerometers, altimeters, compasses, gyroscopes, magnetometers, and light, pressure, proximity, rotation and temperature sensors - serial ports - SQL - printing - DBus - XPath, XQuery, XSLT and XML Schema validation - a help system for creating and viewing searchable documentation - unit testing of GUI applications. From jeffreback at gmail.com Fri May 30 19:44:47 2014 From: jeffreback at gmail.com (Jeff Reback) Date: Fri, 30 May 2014 13:44:47 -0400 Subject: ANN: Pandas 0.14.0 released Message-ID: <CAHMnJKgKcJQx-0Bm+8eqLkxOuw4xQakXi1u8C_ttO_CMDxfK9g@mail.gmail.com> Hello, We are proud to announce v0.14.0 of pandas, a major release from 0.13.1. This release includes a small number of API changes, several new features, enhancements, and performance improvements along with a large number of bug fixes. This was 4 months of work with 1014 commits by 121 authors encompassing 757 issues. We recommend that all users upgrade to this version. *Highlights:* - Officially support Python 3.4 - SQL interfaces updated to use sqlalchemy - Display interface changes - MultiIndexing Using Slicers - Ability to join a singly-indexed DataFrame with a multi-indexed DataFrame - More consistency in groupby results and more flexible groupby specifications - Holiday calendars are now supported in CustomBusinessDay - Several improvements in plotting functions, including: hexbin, area and pie plots - Performance doc section on I/O operations See a full description of Whatsnew for v0.14.0 here: http://pandas.pydata.org/pandas-docs/stable/whatsnew.html *What is it:* *pandas* is a Python package providing fast, flexible, and expressive data structures designed to make working with ?relational? or ?labeled? data both easy and intuitive. It aims to be the fundamental high-level building block for doing practical, real world data analysis in Python. Additionally, it has the broader goal of becoming the most powerful and flexible open source data analysis / manipulation tool available in any language. Documentation: http://pandas.pydata.org/pandas-docs/stable/ Source tarballs, windows binaries are available on PyPI: https://pypi.python.org/pypi/pandas windows binaries are courtesy of Christoph Gohlke and are built on Numpy 1.8 macosx wheels will be available soon, courtesy of Matthew Brett Please report any issues here: https://github.com/pydata/pandas/issues Thanks The Pandas Development Team Contributors to the 0.14.0 release - Acanthostega - Adam Marcus - agijsberts - akittredge - Alex Gaudio - Alex Rothberg - AllenDowney - Andrew Rosenfeld - Andy Hayden - ankostis - anomrake - Antoine Mazi?res - anton-d - bashtage - Benedikt Sauer - benjamin - Brad Buran - bwignall - cgohlke - chebee7i - Christopher Whelan - Clark Fitzgerald - clham - Dale Jung - Dan Allan - Dan Birken - danielballan - Daniel Waeber - David Jung - David Stephens - Douglas McNeil - DSM - Garrett Drapala - Gouthaman Balaraman - Guillaume Poulin - hshimizu77 - hugo - immerrr - ischwabacher - Jacob Howard - Jacob Schaer - jaimefrio - Jason Sexauer - Jeff Reback - Jeffrey Starr - Jeff Tratner - John David Reaver - John McNamara - John W. O'Brien - Jonathan Chambers - Joris Van den Bossche - jreback - jsexauer - Julia Evans - J?lio - Katie Atkinson - kdiether - Kelsey Jordahl - Kevin Sheppard - K.-Michael Aye - Matthias Kuhn - Matt Wittmann - Max Grender-Jones - Michael E. Gruen - michaelws - mikebailey - Mike Kelly - Nipun Batra - Noah Spies - ojdo - onesandzeroes - Patrick O'Keeffe - phaebz - Phillip Cloud - Pietro Battiston - PKEuS - Randy Carnevale - ribonoous - Robert Gibboni - rockg - sinhrks - Skipper Seabold - SplashDance - Stephan Hoyer - Tim Cera - Tobias Brandt - Todd Jennings - TomAugspurger - Tom Augspurger - unutbu - westurner - Yaroslav Halchenko - y-p - zach powers From itamar at itamarst.org Sat May 31 22:08:35 2014 From: itamar at itamarst.org (Itamar Turner-Trauring) Date: Sat, 31 May 2014 16:08:35 -0400 Subject: Crochet 1.3.0 - Use Twisted Anywhere! Message-ID: <538A36C3.9020504@itamarst.org> Crochet is an MIT-licensed library that makes it easier to use Twisted from regular blocking code. Some use cases include: * Easily use Twisted from a blocking framework like Django or Flask. * Write a library that provides a blocking API, but uses Twisted for its implementation. * Port blocking code to Twisted more easily, by keeping a backwards compatibility layer. * Allow normal Twisted programs that use threads to interact with Twisted more cleanly from their threaded parts. For example this can be useful when using Twisted as a WSGI container. This is a bugfix release, recommended for all users of Crochet. Crochet can be downloaded from https://pypi.python.org/pypi/crochet or by running: $ pip install crochet Documentation can be found at http://crochet.readthedocs.org <https://crochet.readthedocs.org/> Bugs and feature requests should be filed at the project https://github.com/itamarst/crochet Here?s an example of a program using Crochet. Notice that you get a completely blocking interface to Twisted and do not need to run the Twisted reactor, the event loop, yourself. #!/usr/bin/python """ Do a DNS lookup using Twisted's APIs. """ from __future__ import print_function # The Twisted code we'll be using: from twisted.names import client from crochet import setup, wait_for setup() # Crochet layer, wrapping Twisted's DNS library in a blocking call. @wait_for(timeout=5.0) def gethostbyname(name): """Lookup the IP of a given hostname. Unlike socket.gethostbyname() which can take an arbitrary amount of time to finish, this function will raise crochet.TimeoutError if more than 5 seconds elapse without an answer being received. """ d = client.lookupAddress(name) d.addCallback(lambda result: result[0][0].payload.dottedQuad()) return d if __name__ == '__main__': # Application code using the public API - notice it works in a normal # blocking manner, with no event loop visible: import sys name = sys.argv[1] ip = gethostbyname(name) print(name, "->", ip) Run on the command line: > $ python blockingdns.py twistedmatrix.com > twistedmatrix.com -> 66.35.39.66 From wescpy at gmail.com Tue May 13 18:08:09 2014 From: wescpy at gmail.com (wesley chun) Date: Tue, 13 May 2014 16:08:09 -0000 Subject: Fwd: ANN: Intro+Intermediate Python, San Francisco, Jul 30-31, Aug 1 In-Reply-To: <CAB6eaA6c8895ntfuxLqJgf5bEz1yC_wMBOhR9Ha7bCfKXAtjuA@mail.gmail.com> References: <CAB6eaA6c8895ntfuxLqJgf5bEz1yC_wMBOhR9Ha7bCfKXAtjuA@mail.gmail.com> Message-ID: <CAB6eaA4OCdrjs=yY4oTqLbz5vEjCh9EHGvJR5DaABvmUH7+Rvg@mail.gmail.com> Greetings! I'll be offering another hardcore Python course this summer near the San Francisco airport. If you're somewhat new to or have some Python experience under your belt already but want to fill-in the holes, this course is for you. Why take a real course when you can learn Python online or by reading books? Well, my goal isn't to teach Python syntax, which you can from any teacher, live or online, or from giant books. My job is to create great Python developers and removing the roadblocks that impede your path to getting there. This intensive course is based on my "Core Python" (http://corepython.com) books and is made up of 3 full days complete with lectures and several hands-on coding labs per day. t's also a great excuse to coming to beautiful Northern California for a summer vacation! Groups and development teams are welcome as well as individuals. I do more private gigs and fewer of these public courses lately, so please come join if you can... my next public intro/intermediate course may not be for awhile, so I'm hoping to meet some of you this time around! Sign up soon... there's a special earlybird rate for the rest of this month before going up to the regular rate after that. More details and registration at http://cyberwebconsulting.com as well as in the ad: http://goo.gl/pyJseQ I'm no fan of spam, so I'll only send out one last reminder as the date gets closer... say around the end of June. Cheers, -- Wesley - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - "A computer never does what you want... only what you tell it." +wesley chun <http://google.com/+WesleyChun> : wescpy at gmail : @wescpy<http://twitter.com/wescpy> Python training & consulting : http://CyberwebConsulting.com "Core Python" books : http://CorePython.com Python blog: http://wescpy.blogspot.com