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 ``<array-or-subclass> * <non-array-subclass>``
where ``<non-array-subclass>`` declares an ``__array_priority__`` higher
than
that of ``<array-or-subclass>`` will now unconditionally return
*NotImplemented*, giving ``<non-array-subclass>`` a chance to handle the
operation. Previously, `NotImplemented` would only be returned if
``<non-array-subclass>`` actually implemented the reversed operation, and
after
a (potentially expensive) array conversion of ``<non-array-subclass>`` had
been
attempted. (`bug <https://github.com/numpy/numpy/issues/3375>`_, `pull
request
<https://github.com/numpy/numpy/pull/3501>`_)
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=<function>` (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.
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
-----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-----
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
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!
======================
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
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
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