From barry at python.org Tue Oct 1 04:16:22 2013 From: barry at python.org (Barry Warsaw) Date: Mon, 30 Sep 2013 22:16:22 -0400 Subject: Released: Python 2.6.9 release candidate 1 Message-ID: <20130930221622.6f2fc372@anarchist> Hello Pythoneers and Pythonistas, I'm happy to announce the availability of Python 2.6.9 release candidate 1. Python 2.6.9rc1 is a security-fix source-only release for Python 2.6. This means that general bug maintenance has ended, and only critical security issues are being fixed. It also means that no installers for Windows or Mac OS X will be provided. The last binary release of Python 2.6 was 2.6.6. Python 2.6.9 final is currently scheduled for Monday, October 28, 2013. Five years after the original release of Python 2.6, the 2.6.9 final release will be the last release of the Python 2.6 series. After this, all official maintenance of any kind for Python 2.6 will cease and the series will be retired. For ongoing maintenance, please see Python 2.7. Since 2.6.9 will be the last Python 2.6 release ever, I ask that you please download Python 2.6.9rc1, build it on your favorite platforms, and test it with your favorite code. You can report bugs to the Python bug tracker: http://bugs.python.org The source can be download from: http://www.python.org/download/releases/2.6.9/ You can also see what's changed since Python 2.6.8: http://www.python.org/download/releases/2.6.9/NEWS.txt Many thanks go out to the entire Python community for their contributions and help in making Python 2.6.9 available, especially Jyrki Pulliainen for his patch contributions. Enjoy, -Barry (on behalf of the Python development community) From holger at merlinux.eu Tue Oct 1 12:39:51 2013 From: holger at merlinux.eu (holger krekel) Date: Tue, 1 Oct 2013 10:39:51 +0000 Subject: pytest-2.4: may better fixtures be with you Message-ID: <20131001103951.GV14010@merlinux.eu> The just released pytest-2.4.0 brings many improvements and numerous bug fixes while remaining plugin- and test-suite compatible apart from a few supposedly very minor incompatibilities. See below for a full list of details. A few feature highlights: - new yield-style fixtures `pytest.yield_fixture `_, allowing to use existing with-style context managers in fixture functions. - improved pdb support: ``import pdb ; pdb.set_trace()`` now works without requiring prior disabling of stdout/stderr capturing. Also the ``--pdb`` options works now on collection and internal errors and we introduced a new experimental hook for IDEs/plugins to intercept debugging: ``pytest_exception_interact(node, call, report)``. - shorter monkeypatch variant to allow specifying an import path as a target, for example: ``monkeypatch.setattr("requests.get", myfunc)`` - better unittest/nose compatibility: all teardown methods are now only called if the corresponding setup method succeeded. - integrate tab-completion on command line options if you have `argcomplete `_ configured. - allow boolean expression directly with skipif/xfail if a "reason" is also specified. - a new hook ``pytest_load_initial_conftests`` allows plugins like `pytest-django `_ to influence the environment before conftest files import ``django``. - reporting: color the last line red or green depending if failures/errors occured or everything passed. The documentation has been updated to accomodate the changes, see `http://pytest.org `_ To install or upgrade pytest:: pip install -U pytest # or easy_install -U pytest **Many thanks to all who helped, including Floris Bruynooghe, Brianna Laugher, Andreas Pelme, Anthon van der Neut, Anatoly Bubenkoff, Vladimir Keleshev, Mathieu Agopian, Ronny Pfannschmidt, Christian Theunert and many others.** may passing tests be with you, holger krekel Changes between 2.3.5 and 2.4 ----------------------------------- known incompatibilities: - if calling --genscript from python2.7 or above, you only get a standalone script which works on python2.7 or above. Use Python2.6 to also get a python2.5 compatible version. - all xunit-style teardown methods (nose-style, pytest-style, unittest-style) will not be called if the corresponding setup method failed, see issue322 below. - the pytest_plugin_unregister hook wasn't ever properly called and there is no known implementation of the hook - so it got removed. - pytest.fixture-decorated functions cannot be generators (i.e. use yield) anymore. This change might be reversed in 2.4.1 if it causes unforeseen real-life issues. However, you can always write and return an inner function/generator and change the fixture consumer to iterate over the returned generator. This change was done in lieu of the new ``pytest.yield_fixture`` decorator, see below. new features: - experimentally introduce a new ``pytest.yield_fixture`` decorator which accepts exactly the same parameters as pytest.fixture but mandates a ``yield`` statement instead of a ``return statement`` from fixture functions. This allows direct integration with "with-style" context managers in fixture functions and generally avoids registering of finalization callbacks in favour of treating the "after-yield" as teardown code. Thanks Andreas Pelme, Vladimir Keleshev, Floris Bruynooghe, Ronny Pfannschmidt and many others for discussions. - allow boolean expression directly with skipif/xfail if a "reason" is also specified. Rework skipping documentation to recommend "condition as booleans" because it prevents surprises when importing markers between modules. Specifying conditions as strings will remain fully supported. - reporting: color the last line red or green depending if failures/errors occured or everything passed. thanks Christian Theunert. - make "import pdb ; pdb.set_trace()" work natively wrt capturing (no "-s" needed anymore), making ``pytest.set_trace()`` a mere shortcut. - fix issue181: --pdb now also works on collect errors (and on internal errors) . This was implemented by a slight internal refactoring and the introduction of a new hook ``pytest_exception_interact`` hook (see next item). - fix issue341: introduce new experimental hook for IDEs/terminals to intercept debugging: ``pytest_exception_interact(node, call, report)``. - new monkeypatch.setattr() variant to provide a shorter invocation for patching out classes/functions from modules: monkeypatch.setattr("requests.get", myfunc) will replace the "get" function of the "requests" module with ``myfunc``. - fix issue322: tearDownClass is not run if setUpClass failed. Thanks Mathieu Agopian for the initial fix. Also make all of pytest/nose finalizer mimick the same generic behaviour: if a setupX exists and fails, don't run teardownX. This internally introduces a new method "node.addfinalizer()" helper which can only be called during the setup phase of a node. - simplify pytest.mark.parametrize() signature: allow to pass a CSV-separated string to specify argnames. For example: ``pytest.mark.parametrize("input,expected", [(1,2), (2,3)])`` works as well as the previous: ``pytest.mark.parametrize(("input", "expected"), ...)``. - add support for setUpModule/tearDownModule detection, thanks Brian Okken. - integrate tab-completion on options through use of "argcomplete". Thanks Anthon van der Neut for the PR. - change option names to be hyphen-separated long options but keep the old spelling backward compatible. py.test -h will only show the hyphenated version, for example "--collect-only" but "--collectonly" will remain valid as well (for backward-compat reasons). Many thanks to Anthon van der Neut for the implementation and to Hynek Schlawack for pushing us. - fix issue 308 - allow to mark/xfail/skip individual parameter sets when parametrizing. Thanks Brianna Laugher. - call new experimental pytest_load_initial_conftests hook to allow 3rd party plugins to do something before a conftest is loaded. Bug fixes: - fix issue358 - capturing options are now parsed more properly by using a new parser.parse_known_args method. - pytest now uses argparse instead of optparse (thanks Anthon) which means that "argparse" is added as a dependency if installing into python2.6 environments or below. - fix issue333: fix a case of bad unittest/pytest hook interaction. - PR27: correctly handle nose.SkipTest during collection. Thanks Antonio Cuni, Ronny Pfannschmidt. - fix issue355: junitxml puts name="pytest" attribute to testsuite tag. - fix issue336: autouse fixture in plugins should work again. - fix issue279: improve object comparisons on assertion failure for standard datatypes and recognise collections.abc. Thanks to Brianna Laugher and Mathieu Agopian. - fix issue317: assertion rewriter support for the is_package method - fix issue335: document py.code.ExceptionInfo() object returned from pytest.raises(), thanks Mathieu Agopian. - remove implicit distribute_setup support from setup.py. - fix issue305: ignore any problems when writing pyc files. - SO-17664702: call fixture finalizers even if the fixture function partially failed (finalizers would not always be called before) - fix issue320 - fix class scope for fixtures when mixed with module-level functions. Thanks Anatloy Bubenkoff. - you can specify "-q" or "-qq" to get different levels of "quieter" reporting (thanks Katarzyna Jachim) - fix issue300 - Fix order of conftest loading when starting py.test in a subdirectory. - fix issue323 - sorting of many module-scoped arg parametrizations - make sessionfinish hooks execute with the same cwd-context as at session start (helps fix plugin behaviour which write output files with relative path such as pytest-cov) - fix issue316 - properly reference collection hooks in docs - fix issue 306 - cleanup of -k/-m options to only match markers/test names/keywords respectively. Thanks Wouter van Ackooy. - improved doctest counting for doctests in python modules -- files without any doctest items will not show up anymore and doctest examples are counted as separate test items. thanks Danilo Bellini. - fix issue245 by depending on the released py-1.4.14 which fixes py.io.dupfile to work with files with no mode. Thanks Jason R. Coombs. - fix junitxml generation when test output contains control characters, addressing issue267, thanks Jaap Broekhuizen - fix issue338: honor --tb style for setup/teardown errors as well. Thanks Maho. - fix issue307 - use yaml.safe_load in example, thanks Mark Eichin. - better parametrize error messages, thanks Brianna Laugher - pytest_terminal_summary(terminalreporter) hooks can now use ".section(title)" and ".line(msg)" methods to print extra information at the end of a test run. From holger at merlinux.eu Wed Oct 2 09:21:08 2013 From: holger at merlinux.eu (holger krekel) Date: Wed, 2 Oct 2013 07:21:08 +0000 Subject: pytest-2.4.1: fix three regressions (of 2.4 compared to 2.3.5) In-Reply-To: <20131001103951.GV14010@merlinux.eu> References: <20131001103951.GV14010@merlinux.eu> Message-ID: <20131002072108.GZ14010@merlinux.eu> pytest-2.4.1 is a quick follow up release to fix three regressions compared to 2.3.5 before they hit more people: - When using parser.addoption() unicode arguments to the "type" keyword should also be converted to the respective types. thanks Floris Bruynooghe, @dnozay. (fixes issue360 and issue362) - fix dotted filename completion when using argcomplete thanks Anthon van der Neuth. (fixes issue361) - fix regression when a 1-tuple ("arg",) is used for specifying parametrization (the values of the parametrization were passed nested in a tuple). Thanks Donald Stufft. - also merge doc typo fixes, thanks Andy Dirnberger as usual, docs at http://pytest.org and upgrades via:: pip install -U pytest have fun and keep bug reports coming! holger krekel From thomas.calmant at gmail.com Wed Oct 2 14:59:59 2013 From: thomas.calmant at gmail.com (thomas.calmant at gmail.com) Date: Wed, 2 Oct 2013 05:59:59 -0700 (PDT) Subject: [ANN] iPOPO 0.5.4 Message-ID: <28cdc208-b046-4b84-9252-4ee51fdfd480@googlegroups.com> =========== iPOPO 0.5.4 =========== iPOPO v0.5.4 has been released ! About iPOPO =========== iPOPO is a service-oriented component model (SOCM) framework for Python, inspired from the Java project iPOJO. What's new in 0.5.4 =================== This version greatly speeds up iPOPO on large numbers of components (from 5,000 to 30,000 components). It also brings back Python 2.6 compatibility and fixes many bugs. New features: - Shell IOHandler now has a prompt() method, to request a line to the user - Shell command service get_method_names() method is no longer used. - iPOPO.get_factory_details() now returns the ID of the bundle providing the factory - New way to get the iPOPO service, replacing get_ipopo_svc_ref(): from pelix.ipopo.constants import use_ipopo with use_ipopo(bundle_context) as ipopo: ipopo.instantiate(...) The website of iPOPO has been replaced by a wiki: https://ipopo.coderxpress.net You can register to propose new features ! Feel free to send feedback on your experience of Pelix/iPOPO, via the mailing lists: User list : http://groups.google.com/group/ipopo-users Development list : http://groups.google.com/group/ipopo-dev Have fun ! Thomas From josiah.carlson at gmail.com Wed Oct 2 19:53:16 2013 From: josiah.carlson at gmail.com (Josiah Carlson) Date: Wed, 2 Oct 2013 10:53:16 -0700 Subject: ANN: rom 0.21 - Redis object mapper for Python Message-ID: Hey everyone, As time progresses, so does my Redis object mapper. The "rom" package is a Redis object mapper for Python. It sports an interface similar to Django's ORM, SQLAlchemy + Elixir, or Appengine's datastore. The changelog for recent releases can be seen below my signature. You can find the package at: https://www.github.com/josiahcarlson/rom https://pypi.python.org/pypi/rom And docs can be found at: http://pythonhosted.org/rom/ Please CC me on any replies if you have any questions or comments. Thank you, - Josiah #----------------------------------- 0.21 ------------------------------------ [fixed] upload for rom 0.20 was missing new columns.py, now fixed #----------------------------------- 0.20 ------------------------------------ [changed] Added exception when performing .all(), .execute(), or .count() on query objects that have had no filters or attribute ordering provided. This addresses issue #12. [changed] Moved column definitions to their own module, shouldn't affect any normal uses of rom. [added] For users of Redis 2.6 and later, there is a beta Lua-enabled writing option that allows for multiple unique columns on models. In some cases, this may improve performance when writing many entities very quickly. [added] The ability to reload an entity from Redis, optionally discarding any modifications to the object itself. Check out the documentation for Model.refresh(), Session.refresh(), and Session.refresh_all() [added] Tests for the newly changed/added features. [changed] Tests no longer use flushdb() - all test models/indexes/etc. are prefixed with RomTest, and we find/delete such keys before and after any tests are run. Now anyone can reasonably run the test suite. #----------------------------------- 0.19 ------------------------------------ [fixed] Thanks to a bug report by https://github.com/MickeyKim , was notified of a bug when using unique indexes, which is now fixed and has a testcase. #----------------------------------- 0.18 ------------------------------------ [fixed] Thanks to a bug report by https://github.com/MickeyKim , was notified and received an interim patch for a bug that could cause deleted entities to be resurrected on session.commit() or session.flush() . This has now been fixed and a testcase has been added. From phil at riverbankcomputing.com Thu Oct 3 03:40:17 2013 From: phil at riverbankcomputing.com (Phil Thompson) Date: Thu, 03 Oct 2013 02:40:17 +0100 Subject: ANN: PyQt5 v5.1 Released Message-ID: PyQt5 v5.1 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 full support for Qt v5.1, the QtSensors and QtSerialPort modules, and bindings for OpenGL v2.0 and OpenGL ES/2. 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.3. PyQt5 is implemented as a set of 22 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 - 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 georg at python.org Thu Oct 3 20:01:23 2013 From: georg at python.org (Georg Brandl) Date: Thu, 03 Oct 2013 20:01:23 +0200 Subject: Sphinx 1.2 beta 3 released Message-ID: <524DB0F3.3010608@python.org> -----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 Hi all, I'm very happy to announce the release of Sphinx 1.2, beta 3, available on the Python package index at . Please test and report bugs to . This is the second testing release for Sphinx 1.2, a new feature release with lots of improvements and new features, such as better search results, more support for internationalization and faster parallel builds. For the full changelog, go to . Thanks to the Python APAC 2013 sprint team! What is it? =========== Sphinx is a tool that makes it easy to create intelligent and beautiful documentation for Python projects (or other documents consisting of multiple reStructuredText source files). Website: http://sphinx-doc.org/ IRC: #sphinx-doc on irc.freenode.net cheers, Georg -----BEGIN PGP SIGNATURE----- Version: GnuPG v2.0.21 (GNU/Linux) iEYEARECAAYFAlJNsPMACgkQN9GcIYhpnLBx0wCePJ93ZbMADG8S3Iy4EubWSp3Q tLMAnj7LFsp7eGeLcSpUlhYwbKHyQRe8 =E+bh -----END PGP SIGNATURE----- From holger at merlinux.eu Fri Oct 4 14:41:32 2013 From: holger at merlinux.eu (holger krekel) Date: Fri, 4 Oct 2013 12:41:32 +0000 Subject: pytest-2.4.2: colorama on win32, plugin/tmpdir/other fixes In-Reply-To: <20131002072108.GZ14010@merlinux.eu> References: <20131001103951.GV14010@merlinux.eu> <20131002072108.GZ14010@merlinux.eu> Message-ID: <20131004124132.GD14010@merlinux.eu> pytest-2.4.2 is another bug-fixing release of the 2.4 series bringing another few fixes and little improvements: - on Windows require colorama and a newer py lib so that py.io.TerminalWriter() now uses colorama instead of its own ctypes hacks. (fixes issue365) thanks Paul Moore for bringing it up. - fix "-k" matching of tests where "repr" and "attr" and other names would cause wrong matches because of an internal implementation quirk (don't ask) which is now properly implemented. fixes issue345. - avoid tmpdir fixture to create too long filenames especially when parametrization is used (issue354) - fix pytest-pep8 and pytest-flakes / pytest interactions (collection names in mark plugin was assuming an item always has a function which is not true for those plugins etc.) Thanks Andi Zeidler. - introduce node.get_marker/node.add_marker API for plugins like pytest-pep8 and pytest-flakes to avoid the messy details of the node.keywords pseudo-dicts. Adapated docs. - remove attempt to "dup" stdout at startup as it's icky. the normal capturing should catch enough possibilities of tests messing up standard FDs. - add pluginmanager.do_configure(config) as a link to config.do_configure() for plugin-compatibility as usual, docs at http://pytest.org and upgrades via:: pip install -U pytest have fun, holger krekel From timothy.crosley at gmail.com Mon Oct 7 04:12:51 2013 From: timothy.crosley at gmail.com (timothy.crosley at gmail.com) Date: Sun, 6 Oct 2013 19:12:51 -0700 (PDT) Subject: isort 2.0.0 Message-ID: isort (the python import sorting library, command line tool, Vim plugin, Sublime plugin, and Kate plugin) has released version 2.0.0: - Adds support for automatically adding import statements across multiple python files. - Adds support for automatically removing imports across multiple python files. - Improved Kate Plugin. - Initial Sublime plugin. - Initial Vim plugin. From g.rodola at gmail.com Tue Oct 8 00:56:33 2013 From: g.rodola at gmail.com (Giampaolo Rodola') Date: Tue, 8 Oct 2013 00:56:33 +0200 Subject: ANN: psutil 1.1.1 released Message-ID: === About === psutil is a module providing an interface for retrieving information on all running processes and system utilization (CPU, memory, disks, network, users) in a portable way by using Python, implementing many functionalities offered by command line tools such as ps, top, free, netstat, lsof and others. It supports Linux, Windows, OSX, FreeBSD and Solaris with Python versions from 2.4 to 3.4. === Bug fixes === This is a bugfix only release fixing high-priority issue #438: https://code.google.com/p/psutil/issues/detail?id=438 This exclusively affected Linux users running kernels < 2.6.36 (which includes latest CentOS and Scientific Linux distros). You're encouraged to download new psutil version at: https://pypi.python.org/pypi/psutil#downloads === Links === * Home page: http://code.google.com/p/psutil * Downloads: https://pypi.python.org/pypi?:action=display&name=psutil#downloads * API Reference: http://code.google.com/p/psutil/wiki/Documentation Please try out this new release and let me know if you experience any problem by filing issues on the bug tracker. All the best, --- Giampaolo Rodola' http://code.google.com/p/pyftpdlib/ http://code.google.com/p/psutil/ http://code.google.com/p/pysendfile/ From dmalcolm at redhat.com Tue Oct 8 18:46:05 2013 From: dmalcolm at redhat.com (David Malcolm) Date: Tue, 08 Oct 2013 12:46:05 -0400 Subject: ANN: firehose-0.3 released Message-ID: <1381250765.15312.10.camel@surprise> "firehose" is a Python package intended for managing the results from code analysis tools (e.g. compiler warnings, static analysis, linters, etc). It currently provides parsers for the output of gcc, clang-analyzer, cppcheck, and findbugs. These parsers convert the results into a common data model of Python objects, with methods for lossless roundtrips through a provided XML format. There is also a JSON equivalent. It is available on pypi here: https://pypi.python.org/pypi/firehose and via git from: https://github.com/fedora-static-analysis/firehose The mailing list is: https://admin.fedoraproject.org/mailman/listinfo/firehose-devel Firehose is Free Software, licensed under the LGPLv2.1 or (at your option) any later version. It requires Python 2.7 or 3.2 onwards, and has been successfully tested with PyPy. Changes since 0.2: This release adds a parser for the output of the findbugs tool, along with various bugfixes and other internal cleanups. Thanks to L?o Cavaill?, Matthieu Caneill, Nicolas Dandrimont, and yeshuxiong for their help with this release. Enjoy! Dave From josiah.carlson at gmail.com Wed Oct 9 03:36:04 2013 From: josiah.carlson at gmail.com (Josiah Carlson) Date: Tue, 8 Oct 2013 18:36:04 -0700 Subject: ANN: RPQueue 0.22 Message-ID: Hello everyone, For those of you who didn't know, if you are interested in a Redis-backed time and/or fifo-queue with priorities, retries, etc., to be used with Python, one exists and is mature: it's called RPQueue, and it seeks to simplify your life of task execution. The recent changelog entries are below my signature. The package has been around for two years next month, and does exactly what you expect it to do - no more, no less. You can find the package at: https://github.com/josiahcarlson/rpqueue/ https://pypi.python.org/pypi/rpqueue Please CC me on any replies if you have any questions or comments. Thank you, - Josiah #----------------------------------- 0.22 ------------------------------------ [fixed] setup.py-based installations. Ran into the bug myself :/ #----------------------------------- 0.21 ------------------------------------ [changed] where available, rpqueue will now use Lua to move delayed tasks from the time-based priority queue to fifo queues. This should reduce overhead in all cases, and should drastically improve performance for those that use large numbers of delayed tasks. [changed] the version number is now PEP 386/440 compliant. [added] this changelog that will document updates/changes/improvements in an easily referenced location. [fixed] thanks to https://github.com/dmaust , rpqueue added a missing 'redis' requirement. From mdroe at stsci.edu Thu Oct 10 20:19:20 2013 From: mdroe at stsci.edu (Michael Droettboom) Date: Thu, 10 Oct 2013 14:19:20 -0400 Subject: ANN: matplotlib 1.3.1 Message-ID: <5256EFA8.9080200@stsci.edu> I'm pleased to announce the release of matplotlib version 1.3.1. This is a bugfix release. It may be downloaded from here, or installed through the package manager of your choice (when available): http://matplotlib.org/downloads The changelog is copied below: New in 1.3.1 ------------ 1.3.1 is a bugfix release, primarily dealing with improved setup and handling of dependencies, and correcting and enhancing the documentation. The following changes were made in 1.3.1 since 1.3.0. Enhancements ```````````` - Added a context manager for creating multi-page pdfs (see `matplotlib.backends.backend_pdf.PdfPages`). - The WebAgg backend should no have lower latency over heterogeneous Internet connections. Bug fixes ````````` - Histogram plots now contain the endline. - Fixes to the Molleweide projection. - Handling recent fonts from Microsoft and Macintosh-style fonts with non-ascii metadata is improved. - Hatching of fill between plots now works correctly in the PDF backend. - Tight bounding box support now works in the PGF backend. - Transparent figures now display correctly in the Qt4Agg backend. - Drawing lines from one subplot to another now works. - Unit handling on masked arrays has been improved. Setup and dependencies `````````````````````` - Now works with any version of pyparsing 1.5.6 or later, without displaying hundreds of warnings. - Now works with 64-bit versions of Ghostscript on MS-Windows. - When installing from source into an environment without Numpy, Numpy will first be downloaded and built and then used to build matplotlib. - Externally installed backends are now always imported using a fully-qualified path to the module. - Works with newer version of wxPython. - Can now build with a PyCXX installed globally on the system from source. - Better detection of Gtk3 dependencies. Testing ``````` - Tests should now work in non-English locales. - PEP8 conformance tests now report on locations of issues. Mike -- _ |\/|o _|_ _. _ | | \.__ __|__|_|_ _ _ ._ _ | ||(_| |(_|(/_| |_/|(_)(/_|_ |_|_)(_)(_)| | | http://www.droettboom.com From jyrki at dywypi.org Thu Oct 10 20:43:21 2013 From: jyrki at dywypi.org (Jyrki Pulliainen) Date: Thu, 10 Oct 2013 20:43:21 +0200 Subject: ANN: dh-virtualenv 0.5 released Message-ID: Hi, We (Spotify) have released the first public release of dh-virtualenv, a packaging tool that makes it possible to package virtualenvs inside Debian packaging. dh-virtualenv works by registering itself as a part of debhelper sequence, so pretty much any pre-existing Debian build system you have should be compatible with it. dh-virtualenv is released under GPL version 2 or later. Source code for it can be found here: https://github.com/spotify/dh-virtualenv Documentation: http://dh-virtualenv.readthedocs.org/en/latest/ ..and the accompanying release blog post: http://labs.spotify.com/2013/10/10/packaging-in-your-packaging-dh-virtualenv/ Cheers, Jyrki Pulliainen Software engineer @ Spotify From thomas.calmant at gmail.com Mon Oct 14 17:11:35 2013 From: thomas.calmant at gmail.com (Thomas Calmant) Date: Mon, 14 Oct 2013 08:11:35 -0700 (PDT) Subject: [ANN] jsonrpclib-pelix 0.1.6 Message-ID: <4bfba4f9-5ec7-460b-988c-154a317464c6@googlegroups.com> ====================== jsonrpclib-pelix 0.1.6 ====================== jsonrpclib-pelix v0.1.6 has been released ! About jsonrpclib-pelix ====================== This library is an implementation of the JSON-RPC specification. It supports both the original 1.0 specification, as well as the 2.0 specification, which includes batch submission, keyword arguments, etc. This is a patched version of the original jsonrpclib project by Josh Marshall, available at https://github.com/joshmarshall/jsonrpclib. The suffix -pelix only indicates that this version works with Pelix Remote Services, but it is not a Pelix specific implementation. jsonrpclib-pelix supports both Python 2 (tested on 2.7) and Python 3 (tested on 3.2). It is licensed under the Apache License, Version 2.0 (http://www.apache.org/licenses/LICENSE-2.0.html). What's new in 0.1.6 =================== - Corrected a bug in the unmarshalling process: now beans can be correctly used in RPC - Corrected a bug on Python 2.7: the io module was imported instead of StringIO - The configuration of a jsonrpclib server or client can now be an instance of the Config class, instead of using a singleton. This allows to use mutliple servers/clients with different configurations. jsonrpclib-pelix is available on : - PyPI: https://pypi.python.org/pypi/jsonrpclib-pelix/0.1.6 - Github: https://github.com/tcalmant/jsonrpclib Have fun ! Thomas From andy at clearwind.ca Tue Oct 15 03:49:25 2013 From: andy at clearwind.ca (Andy McKay) Date: Mon, 14 Oct 2013 18:49:25 -0700 Subject: Vancouver Python Day - Talk Proposal Deadline Message-ID: We've just set the deadline for Vancouver Python Day talk proposal submissions. All talk proposals must be submitted by *Thursday, October 17, 2013 at 23:59 Pacific Time*. See https://github.com/andymckay/vancouver-python-day for instructions on submitting a talk proposal. All Python-related topics are welcome -- including Django! In case you haven't heard, *Vancouver Python Day* is a one-day mini conference celebrating the Python Developer Community in Vancouver. It will be held on *Saturday, November 16, 2013* at SFU Harbour Centre. Stay tuned for another announcement soon regarding ticket availability. In the meantime, mark your calendar! Andy From prabhu at aero.iitb.ac.in Tue Oct 15 18:49:19 2013 From: prabhu at aero.iitb.ac.in (Prabhu Ramachandran) Date: Tue, 15 Oct 2013 22:19:19 +0530 Subject: CFP: SciPy India 2013: Dec 13 - 15, IIT Bombay Message-ID: <525D720F.7040203@aero.iitb.ac.in> Hello, The CFP and registration for SciPy India 2013 (http://scipy.in) is open. SciPy India 2013 will be held in IIT Bombay between December 13th to December 15th, 2013. Please spread the word! SciPy India is an annual conference on using Python for science and engineering research and education. The conference is currently in its fifth year and provides an opportunity to learn and implement Python in education and research. Call for Papers ================ We look forward to your submissions on the use of Python for scientific computing and education. This includes pedagogy, exploration, modeling and analysis from both applied and developmental perspectives. We welcome contributions from academia as well as industry. For details on the paper submission please see here: http://scipy.in/2013/call-for-proposals/ Important Dates ================ - Call for proposals end: 24th November 2013 - List of accepted proposals will be published: 1st December 2013. We look forward to seeing you at SciPy India. Regards, Prabhu Ramachandran and Jarrod Millman From ralf.gommers at gmail.com Sat Oct 19 23:40:15 2013 From: ralf.gommers at gmail.com (Ralf Gommers) Date: Sat, 19 Oct 2013 23:40:15 +0200 Subject: ANN: SciPy 0.13.0 release Message-ID: On behalf of the SciPy development team I'm pleased to announce the availability of SciPy 0.13.0. This release contains some interesting new features (see highlights below) and half a year's worth of maintenance work. 65 people contributed to this release. Some of the highlights are: - support for fancy indexing and boolean comparisons with sparse matrices - interpolative decompositions and matrix functions in the linalg module - two new trust-region solvers for unconstrained minimization This release requires Python 2.6, 2.7 or 3.1-3.3 and NumPy 1.5.1 or greater. Support for Python 2.4 and 2.5 has been dropped as of this release. Sources and binaries can be found at http://sourceforge.net/projects/scipy/files/scipy/0.13.0/, release notes are copied below. Enjoy, Ralf ========================== SciPy 0.13.0 Release Notes ========================== .. contents:: SciPy 0.13.0 is the culmination of 7 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.13.x branch, and on adding new features on the master branch. This release requires Python 2.6, 2.7 or 3.1-3.3 and NumPy 1.5.1 or greater. Highlights of this release are: - support for fancy indexing and boolean comparisons with sparse matrices - interpolative decompositions and matrix functions in the linalg module - two new trust-region solvers for unconstrained minimization New features ============ ``scipy.integrate`` improvements -------------------------------- N-dimensional numerical integration ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ A new function `scipy.integrate.nquad`, which provides N-dimensional integration functionality with a more flexible interface than ``dblquad`` and ``tplquad``, has been added. ``dopri*`` improvements ^^^^^^^^^^^^^^^^^^^^^^^ The intermediate results from the ``dopri`` family of ODE solvers can now be accessed by a *solout* callback function. ``scipy.linalg`` improvements ----------------------------- Interpolative decompositions ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Scipy now includes a new module `scipy.linalg.interpolative` containing routines for computing interpolative matrix decompositions (ID). This feature is based on the ID software package by P.G. Martinsson, V. Rokhlin, Y. Shkolnisky, and M. Tygert, previously adapted for Python in the PymatrixId package by K.L. Ho. Polar decomposition ^^^^^^^^^^^^^^^^^^^ A new function `scipy.linalg.polar`, to compute the polar decomposition of a matrix, was added. BLAS level 3 functions ^^^^^^^^^^^^^^^^^^^^^^ The BLAS functions ``symm``, ``syrk``, ``syr2k``, ``hemm``, ``herk`` and ``her2k`` are now wrapped in `scipy.linalg`. Matrix functions ^^^^^^^^^^^^^^^^ Several matrix function algorithms have been implemented or updated following detailed descriptions in recent papers of Nick Higham and his co-authors. These include the matrix square root (``sqrtm``), the matrix logarithm (``logm``), the matrix exponential (``expm``) and its Frechet derivative (``expm_frechet``), and fractional matrix powers (``fractional_matrix_power``). ``scipy.optimize`` improvements ------------------------------- Trust-region unconstrained minimization algorithms ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ The ``minimize`` function gained two trust-region solvers for unconstrained minimization: ``dogleg`` and ``trust-ncg``. ``scipy.sparse`` improvements ----------------------------- Boolean comparisons and sparse matrices ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ All sparse matrix types now support boolean data, and boolean operations. Two sparse matrices `A` and `B` can be compared in all the expected ways `A < B`, `A >= B`, `A != B`, producing similar results as dense Numpy arrays. Comparisons with dense matrices and scalars are also supported. CSR and CSC fancy indexing ^^^^^^^^^^^^^^^^^^^^^^^^^^ Compressed sparse row and column sparse matrix types now support fancy indexing with boolean matrices, slices, and lists. So where A is a (CSC or CSR) sparse matrix, you can do things like:: >>> A[A > 0.5] = 1 # since Boolean sparse matrices work >>> A[:2, :3] = 2 >>> A[[1,2], 2] = 3 ``scipy.sparse.linalg`` improvements ------------------------------------ The new function ``onenormest`` provides a lower bound of the 1-norm of a linear operator and has been implemented according to Higham and Tisseur (2000). This function is not only useful for sparse matrices, but can also be used to estimate the norm of products or powers of dense matrices without explictly building the intermediate matrix. The multiplicative action of the matrix exponential of a linear operator (``expm_multiply``) has been implemented following the description in Al-Mohy and Higham (2011). Abstract linear operators (`scipy.sparse.linalg.LinearOperator`) can now be multiplied, added to each other, and exponentiated, producing new linear operators. This enables easier construction of composite linear operations. ``scipy.spatial`` improvements ------------------------------ The vertices of a `ConvexHull` can now be accessed via the `vertices` attribute, which gives proper orientation in 2-D. ``scipy.signal`` improvements ----------------------------- The cosine window function `scipy.signal.cosine` was added. ``scipy.special`` improvements ------------------------------ New functions `scipy.special.xlogy` and `scipy.special.xlog1py` were added. These functions can simplify and speed up code that has to calculate ``x * log(y)`` and give 0 when ``x == 0``. ``scipy.io`` improvements ------------------------- Unformatted Fortran file reader ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ The new class `scipy.io.FortranFile` facilitates reading unformatted sequential files written by Fortran code. ``scipy.io.wavfile`` enhancements ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `scipy.io.wavfile.write` now accepts a file buffer. Previously it only accepted a filename. `scipy.io.wavfile.read` and `scipy.io.wavfile.write` can now handle floating point WAV files. ``scipy.interpolate`` improvements ---------------------------------- B-spline derivatives and antiderivatives ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `scipy.interpolate.splder` and `scipy.interpolate.splantider` functions for computing B-splines that represent derivatives and antiderivatives of B-splines were added. These functions are also available in the class-based FITPACK interface as ``UnivariateSpline.derivative`` and ``UnivariateSpline.antiderivative``. ``scipy.stats`` improvements ---------------------------- Distributions now allow using keyword parameters in addition to positional parameters in all methods. The function `scipy.stats.power_divergence` has been added for the Cressie-Read power divergence statistic and goodness of fit test. Included in this family of statistics is the "G-test" (http://en.wikipedia.org/wiki/G-test). `scipy.stats.mood` now accepts multidimensional input. An option was added to `scipy.stats.wilcoxon` for continuity correction. `scipy.stats.chisquare` now has an `axis` argument. `scipy.stats.mstats.chisquare` now has `axis` and `ddof` arguments. Deprecated features =================== ``expm2`` and ``expm3`` ----------------------- The matrix exponential functions `scipy.linalg.expm2` and `scipy.linalg.expm3` are deprecated. All users should use the numerically more robust `scipy.linalg.expm` function instead. ``scipy.stats`` functions ------------------------- `scipy.stats.oneway` is deprecated; `scipy.stats.f_oneway` should be used instead. `scipy.stats.glm` is deprecated. `scipy.stats.ttest_ind` is an equivalent function; more full-featured general (and generalized) linear model implementations can be found in statsmodels. `scipy.stats.cmedian` is deprecated; ``numpy.median`` should be used instead. Backwards incompatible changes ============================== LIL matrix assignment --------------------- Assigning values to LIL matrices with two index arrays now works similarly as assigning into ndarrays:: >>> x = lil_matrix((3, 3)) >>> x[[0,1,2],[0,1,2]]=[0,1,2] >>> x.todense() matrix([[ 0., 0., 0.], [ 0., 1., 0.], [ 0., 0., 2.]]) rather than giving the result:: >>> x.todense() matrix([[ 0., 1., 2.], [ 0., 1., 2.], [ 0., 1., 2.]]) Users relying on the previous behavior will need to revisit their code. The previous behavior is obtained by ``x[numpy.ix_([0,1,2],[0,1,2])] = ...`. Deprecated ``radon`` function removed ------------------------------------- The ``misc.radon`` function, which was deprecated in scipy 0.11.0, has been removed. Users can find a more full-featured ``radon`` function in scikit-image. Removed deprecated keywords ``xa`` and ``xb`` from ``stats.distributions`` -------------------------------------------------------------------------- The keywords ``xa`` and ``xb``, which were deprecated since 0.11.0, have been removed from the distributions in ``scipy.stats``. Changes to MATLAB file readers / writers ---------------------------------------- The major change is that 1D arrays in numpy now become row vectors (shape 1, N) when saved to a MATLAB 5 format file. Previously 1D arrays saved as column vectors (N, 1). This is to harmonize the behavior of writing MATLAB 4 and 5 formats, and adapt to the defaults of numpy and MATLAB - for example ``np.atleast_2d`` returns 1D arrays as row vectors. Trying to save arrays of greater than 2 dimensions in MATLAB 4 format now raises an error instead of silently reshaping the array as 2D. ``scipy.io.loadmat('afile')`` used to look for `afile` on the Python system path (``sys.path``); now ``loadmat`` only looks in the current directory for a relative path filename. Other changes ============= Security fix: ``scipy.weave`` previously used temporary directories in an insecure manner under certain circumstances. Cython is now required to build *unreleased* versions of scipy. The C files generated from Cython sources are not included in the git repo anymore. They are however still shipped in source releases. The code base received a fairly large PEP8 cleanup. A ``tox pep8`` command has been added; new code should pass this test command. Scipy cannot be compiled with gfortran 4.1 anymore (at least on RH5), likely due to that compiler version not supporting entry constructs well. Authors ======= This release contains work by the following people (contributed at least one patch to this release, names in alphabetical order): * Jorge Ca?ardo Alastuey + * Tom Aldcroft + * Max Bolingbroke + * Joseph Jon Booker + * Fran?ois Boulogne * Matthew Brett * Christian Brodbeck + * Per Brodtkorb + * Christian Brueffer + * Lars Buitinck * Evgeni Burovski + * Tim Cera * Lawrence Chan + * David Cournapeau * Draz?en Luc?anin + * Alexander J. Dunlap + * endolith * Andr? Gaul + * Christoph Gohlke * Ralf Gommers * Alex Griffing + * Blake Griffith + * Charles Harris * Bob Helmbold + * Andreas Hilboll * Kat Huang + * Oleksandr (Sasha) Huziy + * Gert-Ludwig Ingold + * Thouis (Ray) Jones * Juan Luis Cano Rodr?guez + * Robert Kern * Andreas Kloeckner + * Sytse Knypstra + * Gustav Larsson + * Denis Laxalde * Christopher Lee * Tim Leslie * Wendy Liu + * Clemens Novak + * Takuya Oshima + * Josef Perktold * Illia Polosukhin + * Przemek Porebski + * Steve Richardson + * Branden Rolston + * Skipper Seabold * Fazlul Shahriar * Leo Singer + * Rohit Sivaprasad + * Daniel B. Smith + * Julian Taylor * Louis Thibault + * Tomas Tomecek + * John Travers * Richard Tsai + * Jacob Vanderplas * Patrick Varilly * Pauli Virtanen * Stefan van der Walt * Warren Weckesser * Pedro Werneck + * Nils Werner + * Michael Wimmer + * Nathan Woods + * Tony S. Yu + A total of 65 people contributed to this release. People with a "+" by their names contributed a patch for the first time. From millerdev at gmail.com Sat Oct 19 17:19:08 2013 From: millerdev at gmail.com (Daniel Miller) Date: Sat, 19 Oct 2013 11:19:08 -0400 Subject: ANN: EditXT 1.3.2 Message-ID: <4BE759CB-0D8E-403E-9C94-6D3A3D4AF0A9@gmail.com> Introducing EditXT 1.3.2 - a programmer's text editor for Mac OS X ================================================================== Download it from GitHub: https://github.com/editxt/editxt/releases/tag/1.3.2 Features: - Syntax highlighting for Python and JavaScript (more definitions can be added). - Find/Replace with regular expression support and other conveniences. - Command bar to execute commands without using the mouse. - Smart indent/dedent with tabs or spaces. - Comment/uncomment selection. - Word wrap. - Line numbers. - Cursor position/selection length indicator. - Unix/Mac/Windows line ending support. - Document pane with drag/drop support. - Undo beyond save and beyond auto-reload on external change. - Persistent projects (cannot save project as file yet). - Preliminary support for character encodings other than UTF-8. - Sort lines tool. - Licensed under GPLv3 (source code available at http://editxt.org/) - Over 2000 tests (OK, not really a feature) About this release: =================== - Use SafeDump to dump editor config files (preparation for v1.4). 1.3.1 changes: - Fix bug that prevented replace with nothing (empty string). From real-not-anti-spam-address at apple-juice.co.uk Tue Oct 8 23:21:27 2013 From: real-not-anti-spam-address at apple-juice.co.uk (D.M. Procida) Date: Tue, 8 Oct 2013 22:21:27 +0100 Subject: PROPOSAL: PyCons in Africa Message-ID: <1lafzkj.1afceaq8xkvwhN%real-not-anti-spam-address@apple-juice.co.uk> I have a written a first draft outlining a proposal for a PyCon in a sub-Saharan African nation where there has never been one. There's an email list for people interested in becoming involved in the idea: . I'm seeking support for the proposal, from all parties who'd need to be involved, from Python user groups in African cities where a PyCon might be viable, to people who'd want to take part and the wider Python community. If anyone would like to add themselves to the list of potential collaborators on this, please do so using GitHub: . If you can't do that, just ask me to add the information. There's a wiki on GitHub too: . I'm also seeking critical opinions on this, so if you think it's a poor idea, or poorly conceived, or that there would be better ways to achieve the aims in the proposal, or something key that's missing from it, I would like to hear why you think that, so I can address any problems. Thanks, Daniele From mmckerns at caltech.edu Sun Oct 20 22:23:02 2013 From: mmckerns at caltech.edu (Michael McKerns) Date: Sun, 20 Oct 2013 16:23:02 -0400 (EDT) Subject: dill-0.2a1 Message-ID: <56028.67.186.183.87.1382300582.squirrel@webmail.caltech.edu> dill: serialize all of python (almost) # Version 0.2a1: 10/20/13 The latest released version is dill-0.2a1, available at: http://dev.danse.us/trac/pathos You can get the latest development release with all the shiny new features at: http://dev.danse.us/packages or even better, fork us on our github mirror of the svn trunk: https://github.com/uqfoundation # Highlights Dill can pickle the following standard types:: - none, type, bool, int, long, float, complex, str, unicode, - tuple, list, dict, file, buffer, builtin, - both old and new style classes, - instances of old and new style classes, - set, frozenset, array, lambda, - standard functions, functions with yields, nested functions - cell, method, unboundmethod, module, code, methodwrapper - dictproxy, methoddescriptor, getsetdescriptor, memberdescriptor, - wrapperdescriptor, xrange, slice, - notimplemented, ellipsis, quit - ... and more Dill also provides the capability to:: - save and load python interpreter sessions - save and extract the source code from functions and classes - interactively diagnose pickling errors # Thanks: Thanks to everyone who contributed. It's been three long years since dill has made a proper release, so I appreciate everyone's nudging the package forward. The authors of dill also thank the UQ Foundation, the Caltech PSAAP project, the ExMatEx project, the AFOSR, the NSF and DOE for their recent support. --- Mike McKerns California Institute of Technology http://www.its.caltech.edu/~mmckerns From timothy.crosley at gmail.com Sun Oct 20 23:19:31 2013 From: timothy.crosley at gmail.com (timothy.crosley at gmail.com) Date: Sun, 20 Oct 2013 14:19:31 -0700 (PDT) Subject: isort 2.2.0 Message-ID: isort (the Python import sorting library, command line tool, Vim plugin, Sublime plugin, and Kate plugin) has released version 2.2.0: Improvements since 2.0.0 release: - Improved module grouping detection method. - Added two additional multi-line output modes (Vertical Grid & Vertical Grid Grouped). - Forces there to be exactly one new line at the end of all sorted files. - Kate-plugin now keeps cursor position when adding and removing imports. - Adds support for writing to stdout by appending -d argument - Adds support for automatically adding and/or removing import statements across multiple python files. From larry at hastings.org Mon Oct 21 02:24:57 2013 From: larry at hastings.org (Larry Hastings) Date: Sun, 20 Oct 2013 17:24:57 -0700 Subject: [RELEASED] Python 3.4.0a4 Message-ID: <52647459.5000205@hastings.org> On behalf of the Python development team, I'm very pleased to announce the fourth and final alpha release of Python 3.4. This is a preview release, and its use is not recommended for production settings. Python 3.4 includes a range of improvements of the 3.x series, including hundreds of small improvements and bug fixes. Major new features and changes in the 3.4 release series so far include: * PEP 435, a standardized "enum" module * PEP 436, a build enhancement that will help generate introspection information for builtins * PEP 442, improved semantics for object finalization * PEP 443, adding single-dispatch generic functions to the standard library * PEP 445, a new C API for implementing custom memory allocators * PEP 446, changing file descriptors to not be inherited by default in subprocesses * PEP 450, the new "statistics" module * PEP 3156, the new "asyncio" module, a new framework for asynchronous I/O To download Python 3.4.0a4 visit: http://www.python.org/download/releases/3.4.0/ Python 3.4.0a4 has several known issues: * The Python compiler has a small memory leak. * The "asyncio" module test suite fails on some platforms. * I/O conducted by the "asyncio" module may, rarely, erroneously time out. The timeout takes one hour. Please consider trying Python 3.4.0a4 with your code and reporting any new issues you notice to: http://bugs.python.org/ Enjoy! -- Larry Hastings, Release Manager larry at hastings.org (on behalf of the entire python-dev team and 3.4's contributors) From g.rodola at gmail.com Tue Oct 22 20:22:24 2013 From: g.rodola at gmail.com (Giampaolo Rodola') Date: Tue, 22 Oct 2013 20:22:24 +0200 Subject: ANN: psutil 1.1.2 released Message-ID: === About === psutil is a module providing an interface for retrieving information on all running processes and system utilization (CPU, memory, disks, network, users) in a portable way by using Python, implementing many functionalities offered by command line tools such as ps, top, free, netstat, lsof and others. It supports Linux, Windows, OSX, FreeBSD and Solaris with Python versions from 2.4 to 3.4. === Bug fixes === This is a bugfix only release fixing high-priority issue #442 on Linux: https://code.google.com/p/psutil/issues/detail?id=442 This exclusively affected (certain) Linux users. You're encouraged to download new psutil version at: https://pypi.python.org/pypi/psutil#downloads === Links === * Home page: http://code.google.com/p/psutil * Downloads: https://pypi.python.org/pypi?:action=display&name=psutil#downloads * API Reference: http://code.google.com/p/psutil/wiki/Documentation Please try out this new release and let me know if you experience any problem by filing issues on the bug tracker. All the best, --- Giampaolo Rodola' http://code.google.com/p/pyftpdlib/ http://code.google.com/p/psutil/ http://code.google.com/p/pysendfile/ From anthony.tuininga at gmail.com Wed Oct 23 06:31:39 2013 From: anthony.tuininga at gmail.com (Anthony Tuininga) Date: Tue, 22 Oct 2013 22:31:39 -0600 Subject: cx_Freeze 4.3.2 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.3 or higher, including Python 3. Where do I get it? http://cx-freeze.sourceforge.net What's new? The release notes can be read here as well: http://cx_freeze.readthedocs.org/en/latest/releasenotes.html 1) Added support for Python 3.4. 2) Added hooks for PyQt4, PyQt5 and PySide to handle their plugins. 3) Added support for creating a shortcut/alias to the Applications directory within distributed DMG files for OS X. 4) Improve missing modules output. 5) Avoid polluting the extension module namespace when using the bootstrap module to load the extension. 6) Added support for using setuptools and pip if such tools are available. 7) Added first tests; nose and mock are required to run them. 8) Remove --bundle-iconfile in favor of --iconfile as a more generic method of including the icon for bdist_mac. 9) Documentation improved and FAQ added. 10) Converted samples to follow PEP 8. Bugs fixed: * cxfreeze-quickstart failed if the default base was not used * scripts frozen with Python 3 fail with an ImportError trying to import the re module * fix bug where after a first attempt to find a module failed, the second attempt would erroneously succeed * stop attempting to load a module by a name that is not a valid Python identifier From grisha at modpython.org Wed Oct 23 07:39:38 2013 From: grisha at modpython.org (Grisha Trubetskoy) Date: Wed, 23 Oct 2013 01:39:38 -0400 Subject: ANN: mod_python 3.4.1 Message-ID: After a six year pause in development, I am pleased to announce the 3.4.1 release of mod_python. Mod_python is an Apache HTTP Server module that embeds the Python language interpreter within the server. With mod_python you can write web-based applications in Python that are fast, scalable have access to advanced features such as ability to maintain objects between requests, access to httpd internals, content filters, connection handlers and more. The 3.4.1 release mainly addresses compatibility with Python version up to 2.7.5 and Apache HTTP Server 2.4.4, addition of a WSGI handler as well as many bug fixes. Mod_python 3.4.1 is released under the Apache License version 2.0. Information about this release, download link, documentation and more is available at: http://www.modpython.org/ Many thanks to everyone who contributed to and helped test this release, without your help it would not be possible! Regards, Gregory Trubetskoy From thomas.calmant at gmail.com Wed Oct 23 11:41:30 2013 From: thomas.calmant at gmail.com (Thomas Calmant) Date: Wed, 23 Oct 2013 02:41:30 -0700 (PDT) Subject: [ANN] jsonrpclib-pelix 0.1.6 Message-ID: <73e15b6d-7cec-4cbf-a30d-eeef9f9b6624@googlegroups.com> ====================== jsonrpclib-pelix 0.1.6 ====================== jsonrpclib-pelix v0.1.6 has been released ! About jsonrpclib-pelix ====================== This library is an implementation of the JSON-RPC specification. It supports both the original 1.0 specification, as well as the 2.0 specification, which includes batch submission, keyword arguments, etc. This is a patched version of the original jsonrpclib project by Josh Marshall, available at https://github.com/joshmarshall/jsonrpclib. The suffix -pelix only indicates that this version works with Pelix Remote Services, but it is not a Pelix specific implementation. jsonrpclib-pelix supports both Python 2 (tested on 2.7) and Python 3 (tested on 3.2). It is licensed under the Apache License, Version 2.0 (http://www.apache.org/licenses/LICENSE-2.0.html). What's new in 0.1.6 =================== - Corrected a bug in the unmarshalling process: now beans can be correctly used in RPC - Corrected a bug on Python 2.7: the io module was imported instead of StringIO - The configuration of a jsonrpclib server or client can now be an instance of the Config class, instead of using a singleton. This allows to use mutliple servers/clients with different configurations. jsonrpclib-pelix is available on : - PyPI: https://pypi.python.org/pypi/jsonrpclib-pelix/0.1.6 - Github: https://github.com/tcalmant/jsonrpclib Have fun ! Thomas From benjamin at python.org Sun Oct 27 20:51:13 2013 From: benjamin at python.org (Benjamin Peterson) Date: Sun, 27 Oct 2013 15:51:13 -0400 Subject: [RELEASE] Python 2.7.6 release candidate 1 Message-ID: I'm happy to announce the availability of Python 2.7.6 release candidate 1. Most importantly, this release candidate resolves crashes of the interactive interpreter on OS X 10.9. It also includes the usual collection of bugfixes over 2.7.5. These are described in excruciating detail in the Misc/NEWS file of the source tarball. You can view it online at http://hg.python.org/cpython/raw-file/9750acbf7c40/Misc/NEWS Downloads are at http://python.org/download/releases/2.7.6/ As always, please test the release and report bugs to http://bugs.python.org/ With any luck, the final release will follow in a week. Enjoy, Benjamin Peterson 2.7 Release Manager From georg at python.org Sun Oct 27 21:47:05 2013 From: georg at python.org (Georg Brandl) Date: Sun, 27 Oct 2013 21:47:05 +0100 Subject: [RELEASED] Python 3.3.3 release candidate 1 Message-ID: <526D7BC9.5060609@python.org> -----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 On behalf of the Python development team, I'm quite happy to announce the Python 3.3.3 release candidate 1. Python 3.3.3 includes several security fixes and over 150 bug fixes compared to the Python 3.3.2 release. This release fully supports OS X 10.9 Mavericks. In particular, this release fixes an issue that could cause previous versions of Python to crash when typing in interactive mode on OS X 10.9. Python 3.3.3 also contains a new batteries-included feature for OS X users of IDLE and other Tkinter-based programs. The python.org Mac OS X 64-bit/32-bit x86-64/i386 Installer for OS X 10.6+ now includes its own builtin version of Tcl/Tk 8.5. It is no longer necessary to install a third-party version of Tcl/Tk 8.5 to workaround the problematic system versions. See http://www.python.org/download/mac/tcltk/ for more information. Python 3.3 includes a range of improvements of the 3.x series, as well as easier porting between 2.x and 3.x. In total, almost 500 API items are new or improved in Python 3.3. For a more extensive list of changes in the 3.3 series, see http://docs.python.org/3.3/whatsnew/3.3.html and for the detailed changelog of 3.3.3, see http://docs.python.org/3.3/whatsnew/changelog.html To download Python 3.3.3 rc1 visit: http://www.python.org/download/releases/3.3.3/ This is a preview release, please report any bugs to http://bugs.python.org/ The final version is scheduled to be released in two weeks' time, on or about the 10th of November. Enjoy! - -- Georg Brandl, Release Manager georg at python.org (on behalf of the entire python-dev team and 3.3's contributors) -----BEGIN PGP SIGNATURE----- Version: GnuPG v2.0.22 (GNU/Linux) iEYEARECAAYFAlJte8kACgkQN9GcIYhpnLDx8wCgqtabbC8DaoW+Vy03AYGWyLhw sWcAoIK5jQeXDAxHayG+VWH/rRF1+qHC =yOed -----END PGP SIGNATURE----- From stagi.andrea at gmail.com Sun Oct 27 22:26:22 2013 From: stagi.andrea at gmail.com (Andrea Stagi) Date: Sun, 27 Oct 2013 22:26:22 +0100 Subject: Nimbits 0.1 released In-Reply-To: References: Message-ID: Hi, I released the first version of Nimbits python libraries. Nimbits ( http://www.nimbits.com) is a collection of software for recording time series data to the cloud and with this library you can store and retrieve values of your data points, for example you can store the value taken from a temperature sensor attached to your Raspberry every 20 seconds ( https://github.com/astagi/tempsender_sample ) The interface is simple and intuitive, look at the sample.py script :) Repo: https://github.com/astagi/pynimbits Download: https://pypi.python.org/pypi/nimbits/0.1 -- Andrea Stagi (@4stagi) - Software Engineer @ Atooma Inc. Job profile: http://linkedin.com/in/andreastagi Website: http://4spills.blogspot.it/ Github: http://github.com/astagi From andy at clearwind.ca Wed Oct 23 22:34:27 2013 From: andy at clearwind.ca (Andy McKay) Date: Wed, 23 Oct 2013 13:34:27 -0700 Subject: Vancouver Python Day - Tickets On Sale Friday! Message-ID: We're pleased to announce that tickets for Vancouver Python Day will be released on Friday, October 25 at 10AM. You can purchase tickets at http://vanpyday.eventbrite.com/ Space is extremely limited, so we advise buying your tickets as early as possible if you plan to attend. Thanks to our generous sponsors, tickets will be priced very affordably. We've also just released the list of scheduled talks. Visit http://www.vanpyday.com/ to view the list of speakers, and to learn more about the event. Finally, we're really happy to announce that A Thinking Ape, OpenRoad Communications, and Mobify have stepped up to sponsor this event. Vancouver Python Day would not be possible without their support. Hope to see you at the conference! From holger at merlinux.eu Wed Oct 30 11:21:58 2013 From: holger at merlinux.eu (holger krekel) Date: Wed, 30 Oct 2013 10:21:58 +0000 Subject: devpi 1.2 releases: many improvements + py33 support Message-ID: <20131030102158.GQ3973@merlinux.eu> The devpi-{server,client}-1.2 releases bring a lot of refinements and improvements for serving and interacting with your own pypi indexes: - devpi-server serves release files from URLs containing a MD5 hash allowing safe serving of those files through nginx - devpi-server's USER/INDEX urls can now be used directly with pip/easy_install without the previously required (and still valid) ``+simple/`` suffix. - ``devpi use --set-cfg`` reads and writes pip/easy_install configuration files, making those installers pick up the in-use index seemlessly. You can even do ``devpi use --always-set-cfg`` to always set those config files when issuing a "devpi use" afterwards. - ``devpi upload`` got many improvements: - versioned files (git and hg) will be exported to a clean directory prior to the build step - distutils/setup.py is now only used for building a package - documentation upload is tied to a version now - you can directly upload distribution files, including wheel files - both devpi-server and devpi-client are python3.3 compatible now and depend on a new devpi-common package which consolidates various pypi-interaction aspects to avoid code duplication. Also, global http proxy settings are honoured. If you have an existing devpi-server-1.1 installation serving your own packages you can install devpi-server>=1.2 and migrate the data with:: devpi-server --upgrade-state [--serverdir your_server_dir] This upgrades your server state in-place. Please make sure you backup your serverdir ahead of doing the upgrade (default location is ~/.devpi/server). WARNING: ``devpi-server --gendeploy`` is deprecated and will be removed probably in favor of just generating example config files for nginx/supervisor/cron. Also ``devpi install`` is deprecated now in favor of using pip/easy_install directly (see also the --set-cfg and --always-set-cfg options). For more information please refer to the extensive documentation at: http://doc.devpi.net/ or check the CHANGELOG below. have fun, holger krekel 1.2 ---------------------------- devpi-server: - serve links to files on simple pages and index root as relative paths so that it works more nicely with proxy-pass server setups. fixes issue56. - make devpi-server and devpi-common python3.3 compatible, addresses issue57 - use system http/s proxy settings from devpi-server. fixes issue58. - refactor locations to allow nginx serving static files more directly. Also updated nginx template accordingly. - rework "--upgrade-state" to detect the state version of the server dir and create an appropriate virtualenv with a devpi-server install in order to export data, and then import that version. - allow to use /user/index as indexserver url for pip/easy_install by redirecting non-json queries to /user/index/PROJ[/] to /user/index/+simple/PROJ/ - fix submission of multi-value fields like "classifiers" or "platform" (previously they would be wrongly collapsed to become the last value of a list) - fix normalization import/export issue: pypi names take precendence for defining the "real" name of a project. - always store uploaded documentation with a version. While "devpi upload" will make sure to pass in the version, "setup.py upload_docs" will not pass in a version. In the latter case, devpi-server assumes the documentation belongs to the highest yet registered release. This change requires exporting with devpi-1.1 and importing with devpi-1.2 in order to properly store versioned docs internally. - use types/url/metadata/validation functionality of new depdency devpi_common - internal cleanup using pytest-flakes - make devpi-server use a proper UserAgent string devpi-client: - "devpi list" and "devpi remove" now accept a pip/setuptools style requirement like "pkg>=1.0" instead of the former for limited "pkg-1.0". - make devpi-client fully work with python3.3 and fix test bugs - use system http/s proxy settings. fixes issue58. - add "devpi test -c tox.ini package" to use a particular (external) tox.ini for running tox with the unpackaged package. also add "--fallback-ini tox.ini" option which will only be used if the download package has no tox.ini. - new "devpi use --set-cfg" option to set pip/easy_install configuration files when changing indexes. Also new "devpi use --always-set-cfg=yes" option if you want to imply "--set-cfg" on future "devpi use" invocations and "devpi use --always-st-cfg=no" to disable this implication. - support git and hg for exporting all versioned files of a directory before performing the build step when uploading - improve how upload works: setup.py is only used for building docs and release files but not for the remote upload part. This gets rid of a number of hacks that were done trying to get the Python shipped "distutils" to pick the proper devpi index and allows proper SSL verification on Python2.6 onwards. - upload: show response when uploading documentation failed - upload: allow to specify archive files as positional arguments (both files and directories can be specified but the latter additionally require a --upload-dirs option) - fix issue54: upload now works on wheel files as well. As pkginfo does not support wheels directly, we use the ``twine`` project which extends pkginfo for now. - only show highest version in "devpi list PROJECT" output, unless "--all" is specified. - on upload release files: skip rather than guess packages which contain no metadata - strike BeautifulSoup dependency and re-use vendored pip-link parser - use types/url/metadata/validation functionality of new depdency devpi_common - internal cleanup wrt pytest-flakes discoveries - remove "archive" dependency in favour of a small implementation in devpi_common - make devpi-client use a proper UserAgent string From charlesr.harris at gmail.com Wed Oct 30 22:49:56 2013 From: charlesr.harris at gmail.com (Charles R Harris) Date: Wed, 30 Oct 2013 15:49:56 -0600 Subject: ANN: NumPy 1.8.0 release. Message-ID: I am pleased to announce the availability of NumPy 1.8.0. This release is the culmination of over a years worth of work by the NumPy team and contains many fixes, enhancements, and new features. Highlights are: - New, no 2to3, Python 2 and Python 3 are supported by a common code base. - New, gufuncs for linear algebra, enabling operations on stacked arrays. - New, inplace fancy indexing for ufuncs with the ``.at`` method. - New, ``partition`` function, partial sorting via selection for fast median. - New, ``nanmean``, ``nanvar``, and ``nanstd`` functions skipping NaNs. - New, ``full`` and ``full_like`` functions to create value initialized arrays. - New, ``PyUFunc_RegisterLoopForDescr``, better ufunc support for user dtypes. - Numerous performance improvements in many areas. This release requires Python 2.6, 2.7 or 3.2-3.3, support for Python 2.4 and 2.5 has been dropped. Sources and binaries can be found at http://sourceforge.net/projects/numpy/files/NumPy/1.8.0/. Some 119 people contributed to this release. This is a remarkable increase and shows that there is still life in this venerable code that had its beginning in Numeric some 18 years ago. Many thanks to you all. Enjoy, Chuck NumPy 1.8.0 Release Notes ************************* This release supports Python 2.6 -2.7 and 3.2 - 3.3. Highlights ========== * New, no 2to3, Python 2 and Python 3 are supported by a common code base. * New, gufuncs for linear algebra, enabling operations on stacked arrays. * New, inplace fancy indexing for ufuncs with the ``.at`` method. * New, ``partition`` function, partial sorting via selection for fast median. * New, ``nanmean``, ``nanvar``, and ``nanstd`` functions skipping NaNs. * New, ``full`` and ``full_like`` functions to create value initialized arrays. * New, ``PyUFunc_RegisterLoopForDescr``, better ufunc support for user dtypes. * Numerous performance improvements in many areas. Dropped Support =============== Support for Python versions 2.4 and 2.5 has been dropped, Support for SCons has been removed. Future Changes ============== The Datetime64 type remains experimental in this release. In 1.9 there will probably be some changes to make it more useable. The diagonal method currently returns a new array and raises a FutureWarning. In 1.9 it will return a readonly view. Multiple field selection from a array of structured type currently returns a new array and raises a FutureWarning. In 1.9 it will return a readonly view. The numpy/oldnumeric and numpy/numarray compatibility modules will be removed in 1.9. Compatibility notes =================== The doc/sphinxext content has been moved into its own github repository, and is included in numpy as a submodule. See the instructions in doc/HOWTO_BUILD_DOCS.rst.txt for how to access the content. .. _numpydoc: https://github.com/numpy/numpydoc The hash function of numpy.void scalars has been changed. Previously the pointer to the data was hashed as an integer. Now, the hash function uses the tuple-hash algorithm to combine the hash functions of the elements of the scalar, but only if the scalar is read-only. Numpy has switched its build system to using 'separate compilation' by default. In previous releases this was supported, but not default. This should produce the same results as the old system, but if you're trying to do something complicated like link numpy statically or using an unusual compiler, then it's possible you will encounter problems. If so, please file a bug and as a temporary workaround you can re-enable the old build system by exporting the shell variable NPY_SEPARATE_COMPILATION=0. For the AdvancedNew iterator the ``oa_ndim`` flag should now be -1 to indicate that no ``op_axes`` and ``itershape`` are passed in. The ``oa_ndim == 0`` case, now indicates a 0-D iteration and ``op_axes`` being NULL and the old usage is deprecated. This does not effect the ``NpyIter_New`` or ``NpyIter_MultiNew`` functions. The functions nanargmin and nanargmax now return np.iinfo['intp'].min for the index in all-NaN slices. Previously the functions would raise a ValueError for array returns and NaN for scalar returns. NPY_RELAXED_STRIDES_CHECKING ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ There is a new compile time environment variable ``NPY_RELAXED_STRIDES_CHECKING``. If this variable is set to 1, then numpy will consider more arrays to be C- or F-contiguous -- for example, it becomes possible to have a column vector which is considered both C- and F-contiguous simultaneously. The new definition is more accurate, allows for faster code that makes fewer unnecessary copies, and simplifies numpy's code internally. However, it may also break third-party libraries that make too-strong assumptions about the stride values of C- and F-contiguous arrays. (It is also currently known that this breaks Cython code using memoryviews, which will be fixed in Cython.) THIS WILL BECOME THE DEFAULT IN A FUTURE RELEASE, SO PLEASE TEST YOUR CODE NOW AGAINST NUMPY BUILT WITH:: NPY_RELAXED_STRIDES_CHECKING=1 python setup.py install You can check whether NPY_RELAXED_STRIDES_CHECKING is in effect by running:: np.ones((10, 1), order="C").flags.f_contiguous This will be ``True`` if relaxed strides checking is enabled, and ``False`` otherwise. The typical problem we've seen so far is C code that works with C-contiguous arrays, and assumes that the itemsize can be accessed by looking at the last element in the ``PyArray_STRIDES(arr)`` array. When relaxed strides are in effect, this is not true (and in fact, it never was true in some corner cases). Instead, use ``PyArray_ITEMSIZE(arr)``. For more information check the "Internal memory layout of an ndarray" section in the documentation. Binary operations with non-arrays as second argument ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Binary operations of the form `` * `` where ```` declares an ``__array_priority__`` higher than that of ```` will now unconditionally return *NotImplemented*, giving ```` a chance to handle the operation. Previously, `NotImplemented` would only be returned if ```` actually implemented the reversed operation, and after a (potentially expensive) array conversion of ```` had been attempted. (`bug `_, `pull request `_) Function `median` used with `overwrite_input` only partially sorts array ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ If `median` is used with `overwrite_input` option the input array will now only be partially sorted instead of fully sorted. Fix to financial.npv ~~~~~~~~~~~~~~~~~~~~ The npv function had a bug. Contrary to what the documentation stated, it summed from indexes ``1`` to ``M`` instead of from ``0`` to ``M - 1``. The fix changes the returned value. The mirr function called the npv function, but worked around the problem, so that was also fixed and the return value of the mirr function remains unchanged. Runtime warnings when comparing NaN numbers ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Comparing ``NaN`` floating point numbers now raises the ``invalid`` runtime warning. If a ``NaN`` is expected the warning can be ignored using np.errstate. E.g.:: with np.errstate(invalid='ignore'): operation() New Features ============ Support for linear algebra on stacked arrays ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ The gufunc machinery is now used for np.linalg, allowing operations on stacked arrays and vectors. For example:: >>> a array([[[ 1., 1.], [ 0., 1.]], [[ 1., 1.], [ 0., 1.]]]) >>> np.linalg.inv(a) array([[[ 1., -1.], [ 0., 1.]], [[ 1., -1.], [ 0., 1.]]]) In place fancy indexing for ufuncs ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ The function ``at`` has been added to ufunc objects to allow in place ufuncs with no buffering when fancy indexing is used. For example, the following will increment the first and second items in the array, and will increment the third item twice: ``numpy.add.at(arr, [0, 1, 2, 2], 1)`` This is what many have mistakenly thought ``arr[[0, 1, 2, 2]] += 1`` would do, but that does not work as the incremented value of ``arr[2]`` is simply copied into the third slot in ``arr`` twice, not incremented twice. New functions `partition` and `argpartition` ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ New functions to partially sort arrays via a selection algorithm. A ``partition`` by index ``k`` moves the ``k`` smallest element to the front of an array. All elements before ``k`` are then smaller or equal than the value in position ``k`` and all elements following ``k`` are then greater or equal than the value in position ``k``. The ordering of the values within these bounds is undefined. A sequence of indices can be provided to sort all of them into their sorted position at once iterative partitioning. This can be used to efficiently obtain order statistics like median or percentiles of samples. ``partition`` has a linear time complexity of ``O(n)`` while a full sort has ``O(n log(n))``. New functions `nanmean`, `nanvar` and `nanstd` ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ New nan aware statistical functions are added. In these functions the results are what would be obtained if nan values were ommited from all computations. New functions `full` and `full_like` ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ New convenience functions to create arrays filled with a specific value; complementary to the existing `zeros` and `zeros_like` functions. IO compatibility with large files ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Large NPZ files >2GB can be loaded on 64-bit systems. Building against OpenBLAS ~~~~~~~~~~~~~~~~~~~~~~~~~ It is now possible to build numpy against OpenBLAS by editing site.cfg. New constant ~~~~~~~~~~~~ Euler's constant is now exposed in numpy as euler_gamma. New modes for qr ~~~~~~~~~~~~~~~~ New modes 'complete', 'reduced', and 'raw' have been added to the qr factorization and the old 'full' and 'economic' modes are deprecated. The 'reduced' mode replaces the old 'full' mode and is the default as was the 'full' mode, so backward compatibility can be maintained by not specifying the mode. The 'complete' mode returns a full dimensional factorization, which can be useful for obtaining a basis for the orthogonal complement of the range space. The 'raw' mode returns arrays that contain the Householder reflectors and scaling factors that can be used in the future to apply q without needing to convert to a matrix. The 'economic' mode is simply deprecated, there isn't much use for it and it isn't any more efficient than the 'raw' mode. New `invert` argument to `in1d` ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ The function `in1d` now accepts a `invert` argument which, when `True`, causes the returned array to be inverted. Advanced indexing using `np.newaxis` ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ It is now possible to use `np.newaxis`/`None` together with index arrays instead of only in simple indices. This means that ``array[np.newaxis, [0, 1]]`` will now work as expected and select the first two rows while prepending a new axis to the array. C-API ~~~~~ New ufuncs can now be registered with builtin input types and a custom output type. Before this change, NumPy wouldn't be able to find the right ufunc loop function when the ufunc was called from Python, because the ufunc loop signature matching logic wasn't looking at the output operand type. Now the correct ufunc loop is found, as long as the user provides an output argument with the correct output type. runtests.py ~~~~~~~~~~~ A simple test runner script ``runtests.py`` was added. It also builds Numpy via ``setup.py build`` and can be used to run tests easily during development. Improvements ============ IO performance improvements ~~~~~~~~~~~~~~~~~~~~~~~~~~~ Performance in reading large files was improved by chunking (see also IO compatibility). Performance improvements to `pad` ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ The `pad` function has a new implementation, greatly improving performance for all inputs except `mode=` (retained for backwards compatibility). Scaling with dimensionality is dramatically improved for rank >= 4. Performance improvements to `isnan`, `isinf`, `isfinite` and `byteswap` ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ `isnan`, `isinf`, `isfinite` and `byteswap` have been improved to take advantage of compiler builtins to avoid expensive calls to libc. This improves performance of these operations by about a factor of two on gnu libc systems. Performance improvements via SSE2 vectorization ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Several functions have been optimized to make use of SSE2 CPU SIMD instructions. * Float32 and float64: * base math (`add`, `subtract`, `divide`, `multiply`) * `sqrt` * `minimum/maximum` * `absolute` * Bool: * `logical_or` * `logical_and` * `logical_not` This improves performance of these operations up to 4x/2x for float32/float64 and up to 10x for bool depending on the location of the data in the CPU caches. The performance gain is greatest for in-place operations. In order to use the improved functions the SSE2 instruction set must be enabled at compile time. It is enabled by default on x86_64 systems. On x86_32 with a capable CPU it must be enabled by passing the appropriate flag to the CFLAGS build variable (-msse2 with gcc). Performance improvements to `median` ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ `median` is now implemented in terms of `partition` instead of `sort` which reduces its time complexity from O(n log(n)) to O(n). If used with the `overwrite_input` option the array will now only be partially sorted instead of fully sorted. Overrideable operand flags in ufunc C-API ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ When creating a ufunc, the default ufunc operand flags can be overridden via the new op_flags attribute of the ufunc object. For example, to set the operand flag for the first input to read/write: PyObject \*ufunc = PyUFunc_FromFuncAndData(...); ufunc->op_flags[0] = NPY_ITER_READWRITE; This allows a ufunc to perform an operation in place. Also, global nditer flags can be overridden via the new iter_flags attribute of the ufunc object. For example, to set the reduce flag for a ufunc: ufunc->iter_flags = NPY_ITER_REDUCE_OK; Changes ======= General ~~~~~~~ The function np.take now allows 0-d arrays as indices. The separate compilation mode is now enabled by default. Several changes to np.insert and np.delete: * Previously, negative indices and indices that pointed past the end of the array were simply ignored. Now, this will raise a Future or Deprecation Warning. In the future they will be treated like normal indexing treats them -- negative indices will wrap around, and out-of-bound indices will generate an error. * Previously, boolean indices were treated as if they were integers (always referring to either the 0th or 1st item in the array). In the future, they will be treated as masks. In this release, they raise a FutureWarning warning of this coming change. * In Numpy 1.7. np.insert already allowed the syntax `np.insert(arr, 3, [1,2,3])` to insert multiple items at a single position. In Numpy 1.8. this is also possible for `np.insert(arr, [3], [1, 2, 3])`. Padded regions from np.pad are now correctly rounded, not truncated. C-API Array Additions ~~~~~~~~~~~~~~~~~~~~~ Four new functions have been added to the array C-API. * PyArray_Partition * PyArray_ArgPartition * PyArray_SelectkindConverter * PyDataMem_NEW_ZEROED C-API Ufunc Additions ~~~~~~~~~~~~~~~~~~~~~ One new function has been added to the ufunc C-API that allows to register an inner loop for user types using the descr. * PyUFunc_RegisterLoopForDescr Deprecations ============ The 'full' and 'economic' modes of qr factorization are deprecated. General ~~~~~~~ The use of non-integer for indices and most integer arguments has been deprecated. Previously float indices and function arguments such as axes or shapes were truncated to integers without warning. For example `arr.reshape(3., -1)` or `arr[0.]` will trigger a deprecation warning in NumPy 1.8., and in some future version of NumPy they will raise an error. Authors ======= This release contains work by the following people who contributed at least one patch to this release. The names are in alphabetical order by first name: * 87 * Adam Ginsburg + * Adam Griffiths + * Alexander Belopolsky + * Alex Barth + * Alex Ford + * Andreas Hilboll + * Andreas Kloeckner + * Andreas Schwab + * Andrew Horton + * argriffing + * Arink Verma + * Bago Amirbekian + * Bartosz Telenczuk + * bebert218 + * Benjamin Root + * Bill Spotz + * Bradley M. Froehle * Carwyn Pelley + * Charles Harris * Chris * Christian Brueffer + * Christoph Dann + * Christoph Gohlke * Dan Hipschman + * Daniel + * Dan Miller + * daveydave400 + * David Cournapeau * David Warde-Farley * Denis Laxalde * dmuellner + * Edward Catmur + * Egor Zindy + * endolith * Eric Firing * Eric Fode * Eric Moore + * Eric Price + * Fazlul Shahriar + * F?lix Hartmann + * Fernando Perez * Frank B + * Frank Breitling + * Frederic * Gabriel * GaelVaroquaux * Guillaume Gay + * Han Genuit * HaroldMills + * hklemm + * jamestwebber + * Jason Madden + * Jay Bourque * jeromekelleher + * Jes?s G?mez + * jmozmoz + * jnothman + * Johannes Sch?nberger + * John Benediktsson + * John Salvatier + * John Stechschulte + * Jonathan Waltman + * Joon Ro + * Jos de Kloe + * Joseph Martinot-Lagarde + * Josh Warner (Mac) + * Jostein B? Fl?ystad + * Juan Luis Cano Rodr?guez + * Julian Taylor + * Julien Phalip + * K.-Michael Aye + * Kumar Appaiah + * Lars Buitinck * Leon Weber + * Luis Pedro Coelho * Marcin Juszkiewicz * Mark Wiebe * Marten van Kerkwijk + * Martin Baeuml + * Martin Spacek * Martin Teichmann + * Matt Davis + * Matthew Brett * Maximilian Albert + * m-d-w + * Michael Droettboom * mwtoews + * Nathaniel J. Smith * Nicolas Scheffer + * Nils Werner + * ochoadavid + * Ond?ej ?ert?k * ovillellas + * Paul Ivanov * Pauli Virtanen * peterjc * Ralf Gommers * Raul Cota + * Richard Hattersley + * Robert Costa + * Robert Kern * Rob Ruana + * Ronan Lamy * Sandro Tosi * Sascha Peilicke + * Sebastian Berg * Skipper Seabold * Stefan van der Walt * Steve + * Takafumi Arakaki + * Thomas Robitaille + * Tomas Tomecek + * Travis E. Oliphant * Valentin Haenel * Vladimir Rutsky + * Warren Weckesser * Yaroslav Halchenko * Yury V. Zaytsev + A total of 119 people contributed to this release. People with a "+" by their names contributed a patch for the first time.