==========================
Announcing Numexpr 2.2
==========================
Numexpr is a fast numerical expression evaluator for NumPy. With it,
expressions that operate on arrays (like "3*a+4*b") are accelerated
and use less memory than doing the same calculation in Python.
It wears multi-threaded capabilities, as well as support for Intel's
VML library (included in Intel MKL), which allows an extremely fast
evaluation of transcendental functions (sin, cos, tan, exp, log...)
while squeezing the last drop of performance out of your multi-core
processors.
Its only dependency is NumPy (MKL is optional), so it works well as an
easy-to-deploy, easy-to-use, computational kernel for projects that
don't want to adopt other solutions that require more heavy
dependencies.
What's new
==========
This release is mainly meant to fix a problem with the license the
numexpr/win32/pthread.{c,h} files emulating pthreads on Windows. After
persmission from the original authors is granted, these files adopt
the MIT license and can be redistributed without problems. See issue
#109 for details
(https://code.google.com/p/numexpr/issues/detail?id=110).
Another important improvement is the algorithm to decide the initial
number of threads to be used. This was necessary because by default,
numexpr was using a number of threads equal to the detected number of
cores, and this can be just too much for moder systems where this
number can be too high (and counterporductive for performance in many
cases). Now, the 'NUMEXPR_NUM_THREADS' environment variable is
honored, and in case this is not present, a maximum number of *8*
threads are setup initially. The new algorithm is fully described in
the Users Guide now in the note of 'General routines' section:
https://code.google.com/p/numexpr/wiki/UsersGuide#General_routines.
Closes #110.
In case you want to know more in detail what has changed in this
version, see:
http://code.google.com/p/numexpr/wiki/ReleaseNotes
or have a look at RELEASE_NOTES.txt in the tarball.
Where I can find Numexpr?
=========================
The project is hosted at Google code in:
http://code.google.com/p/numexpr/
You can get the packages from PyPI as well:
http://pypi.python.org/pypi/numexpr
Share your experience
=====================
Let us know of any bugs, suggestions, gripes, kudos, etc. you may
have.
Enjoy data!
--
Francesc Alted
A new version of the Python module which wraps GnuPG has been
released.
What Changed?
=============
This is a minor enhancement and bug-fix release. See the project
website ( http://code.google.com/p/python-gnupg/ ) for more
information. Summary:
Added improved shell quoting to guard against shell injection attacks.
Added search_keys() and send_keys() methods to interact with keyservers.
A symmetric cipher algorithm can now be specified when encrypting.
UTF-8 encoding is used as a fall back when no other encoding can be determined.
The key length now defaults to 2048 bits.
A default Name-Comment field is no longer provided during key generation.
What Does It Do?
================
The gnupg module allows Python programs to make use of the
functionality provided by the Gnu Privacy Guard (abbreviated GPG or
GnuPG). Using this module, Python programs can encrypt and decrypt
data, digitally sign documents and verify digital signatures, manage
(generate, list and delete) encryption keys, using proven Public Key
Infrastructure (PKI) encryption technology based on OpenPGP.
This module is expected to be used with Python versions >= 2.4, as it
makes use of the subprocess module which appeared in that version of
Python. This module is a newer version derived from earlier work by
Andrew Kuchling, Richard Jones and Steve Traugott.
A test suite using unittest is included with the source distribution.
Simple usage:
>>> import gnupg
>>> gpg = gnupg.GPG(gnupghome='/path/to/keyring/directory')
>>> gpg.list_keys()
[{
...
'fingerprint': 'F819EE7705497D73E3CCEE65197D5DAC68F1AAB2',
'keyid': '197D5DAC68F1AAB2',
'length': '1024',
'type': 'pub',
'uids': ['', 'Gary Gross (A test user) <gary.gr...(a)gamma.com>']},
{
...
'fingerprint': '37F24DD4B918CC264D4F31D60C5FEFA7A921FC4A',
'keyid': '0C5FEFA7A921FC4A',
'length': '1024',
...
'uids': ['', 'Danny Davis (A test user) <danny.da...(a)delta.com>']}]
>>> encrypted = gpg.encrypt("Hello, world!", ['0C5FEFA7A921FC4A'])
>>> str(encrypted)
'-----BEGIN PGP MESSAGE-----\nVersion: GnuPG v1.4.9 (GNU/Linux)\n
\nhQIOA/6NHMDTXUwcEAf
...
-----END PGP MESSAGE-----\n'
>>> decrypted = gpg.decrypt(str(encrypted), passphrase='secret')
>>> str(decrypted)
'Hello, world!'
>>> signed = gpg.sign("Goodbye, world!", passphrase='secret')
>>> verified = gpg.verify(str(signed))
>>> print "Verified" if verified else "Not verified"
'Verified'
For more information, visit http://code.google.com/p/python-gnupg/ -
as always, your feedback is most welcome (especially bug reports,
patches and suggestions for improvement). Enjoy!
Cheers
Vinay Sajip
Red Dove Consultants Ltd.
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/romhttps://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.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.
#----------------------------------- 0.17
------------------------------------
[added] LGPL 3 licensing option.
#----------------------------------- 0.16
------------------------------------
[added] Thanks to a feature request from https://github.com/jrsmith ,
Boolean
column support is now available.
[added] DateTime, Date, and Time column types because I was already adding
Boolean columns.
CodeInvestigator version 3.2.0 was released on August 21.
Release notes:
Bug fixes:
- Chrome browser: search by value
- less memory usage
Changes:
- nested iterations remain at selected iteration as much as possible
- block colours now follow a set pattern
- searches are now grouped in subgroups
- user can now use middle-click to open functions in a sepatate tab
- user can use <refresh> <back> <forward> and bookmarks
- more shortcut keys
- printout position retained over iterations
- iteration tabs can now be scrolled through
CodeInvestigator is a tracing tool for Python programs.
Running a program through CodeInvestigator creates a recording.
Program flow, function calls, variable values and conditions are all
stored for every line the program executes.
The recording is then viewed with an interface consisting of the
code. The code can be clicked: A clicked variable displays its
value,a clicked loop displays its iterations.
You read code, and have at your disposal all the run time details of
that code. A computerized desk check tool and another way to learn
about your program.
http://sourceforge.net/project/showfiles.php?group_id=183942
http://plumbum.readthedocs.org/en/latest/index.html
Ever wished the compactness of shell scripts be put into a real programming language? Say hello to Plumbum Shell Combinators. Plumbum (Latin for lead, which was used to create pipes back in the day) is a small yet feature-rich library for shell script-like programs in Python. The motto of the library is "Never write shell scripts again", and thus it attempts to mimic the shell syntax (shell combinators) where it makes sense, while keeping it all Pythonic and cross-platform.
Plumbum provides shell-combinators ("syntactic sugar") on top of Popen, local and remote process execution, local and remote path manipulation and a powerful optparse/argparse replacement for writing CLI application,
Changelog: http://plumbum.readthedocs.org/en/latest/changelog.html
CodeInvestigator 3.2.0 was released on August 21.
Bug fixes:
- Chrome browser: search by value
- less memory usage
Changes:
- nested iterations remain at selected iteration as much as possible
- block colors now follow a set pattern
- searches are now grouped in subgroups
- user can now use middle-click to open functions in a separate tab
- user can use <refresh> <back> <forward> and bookmarks
- more shortcut keys
- printout position retained over iterations
- iteration tabs can now be scrolled through
You need Python >= 2.7 and Firefox or Chrome for CodeInvestigator.
CodeInvestigator is a tracing tool for Python programs.
Running a program through CodeInvestigator creates a recording.
Program flow, function calls, variable values and conditions are all
stored for every line the program executes.
The recording is then viewed with an interface consisting of the
code. The code can be clicked: A clicked variable displays its
value, a clicked loop displays its iterations.
You read code, and have at your disposal all the run time details of
that code. A computerized desk check tool and another way to learn
about your program.
http://sourceforge.net/project/showfiles.php?group_id=183942
Hi all,
On the behalf of Spyder's development team (
http://code.google.com/p/spyderlib/people/list), I'm pleased to announce
that Spyder v2.2.3 has been released and is available for Windows
XP/Vista/7/8, GNU/Linux and MacOS X: http://code.google.com/p/spyderlib/.
This is a maintenance release of the v2.2 branch which is the last release
to support Python 2.5:
* Spyder 2.2 supports Python 2.5 to 2.7
* Spyder 2.3 will support Python 2.7 to 3.3
* (Spyder 2.3.0dev6 is also available as of today: this is an experimental
release but quite stable which already supports Python 3)
See also https://code.google.com/p/spyderlib/downloads/list.
Since v2.2.2:
* Several bug have been fixed (see changelog for further details:
https://code.google.com/p/spyderlib/wiki/ChangeLog)
* New features have been added like full support for a MATLAB-like cell
mode (see "Run" menu) and the Optional Dependencies dialog box (see menu
"?") which gives the user a status of Spyder's dependencies
Spyder is a free, open-source (MIT license) interactive development
environment for the Python language with advanced editing, interactive
testing, debugging and introspection features. Originally designed to
provide MATLAB-like features (integrated help, interactive console,
variable explorer with GUI-based editors for dictionaries, NumPy arrays,
...), it is strongly oriented towards scientific computing and software
development. Thanks to the `spyderlib` library, Spyder also provides
powerful ready-to-use widgets: embedded Python console (example:
http://packages.python.org/guiqwt/_images/sift3.png), NumPy array editor
(example: http://packages.python.org/guiqwt/_images/sift2.png), dictionary
editor, source code editor, etc.
Description of key features with tasty screenshots can be found at:
http://code.google.com/p/spyderlib/wiki/Features
Don't forget to follow Spyder updates/news:
* on the project website: http://code.google.com/p/spyderlib/
* and on our official blog: http://spyder-ide.blogspot.com/
Last, but not least, we welcome any contribution that helps making Spyder
an efficient scientific development/computing environment. Join us to help
creating your favourite environment!
(http://code.google.com/p/spyderlib/wiki/NoteForContributors)
Enjoy!
-Pierre
Hi,
I'm happy to announce a small project that saved my time days ago, a 100%
Python script to generate xml file for your Android application from a xlsx
file! The code is release under MIT License and available on GitHub:
https://github.com/astagi/xlsxi18n
Please follow the README for further information and see how it's simple to
manage all the translation work with this tool :) Hope you can find it
useful!
=.4S.=
--
Andrea Stagi (@4ndreaSt4gi) - Software Engineer
Job profile: http://linkedin.com/in/andreastagi
Website: http://4spills.blogspot.it/
Github: http://github.com/astagi
I am pleased to announce version 3.9.90 of the Python bindings for
GObject. This is the first beta release of the 3.9.x series which will
eventually result in the stable 3.10 release for GNOME 3.10.
Download
========
The new release is available from ftp.gnome.org:
http://download.gnome.org/sources/pygobject/3.9/pygobject-3.9.90.tar.xz
sha256sum: 0be592918257e8304fea0d27584766c9a4a5f142669d83313e2faffc840f683a
What’s new since PyGObject 3.9.5
================================
- Create GLib.Pid in the same way on python 2 and 3 (Benjamin Berg)
(#705451)
- Use PyLong_Type.tp_new for GLib.Pid (Benjamin Berg) (#705451)
- Add accumulator and accu_data arguments to GObject.Signal decorator
(Simon Feltman) (#705533)
- Pass return values through the GObject.Signal.emit wrapper
(Simon Feltman) (#705530)
About PyGObject
===============
GObject is a object system used by GTK+, GStreamer and other libraries.
PyGObject provides a convenient wrapper for use in Python programs when
accessing GObject libraries.
Like the GObject library itself PyGObject is licensed under the GNU
LGPL, so is suitable for use in both free software and proprietary
applications. It is already in use in many applications ranging from
small single purpose scripts up to large full featured applications.
PyGObject now dynamically accesses any GObject libraries that uses
GObject Introspection. It replaces the need for separate modules such as
PyGTK, GIO and python-gnome to build a full GNOME 3.0 application. Once
new functionality is added to gobject library it is instantly available
as a Python API without the need for intermediate Python glue.
Martin
--
Martin Pitt | http://www.piware.de
Ubuntu Developer (www.ubuntu.com) | Debian Developer (www.debian.org)
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/romhttps://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.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.
#----------------------------------- 0.17
------------------------------------
[added] LGPL 3 licensing option.
#----------------------------------- 0.16
------------------------------------
[added] Thanks to a feature request from https://github.com/jrsmith ,
Boolean
column support is now available.
[added] DateTime, Date, and Time column types because I was already adding
Boolean columns.
#----------------------------------- 0.15
------------------------------------
[fixed] Thanks to https://github.com/MickeyKim who fixed Json columns so
that
they round-trip after multiple saves.