I'm happy to announce that Cython 0.19 has been released. This is a feature
release of the Cython compiler that adds some major usability improvements
especially for code that needs to run in both Py2 and Py3, as well as
better Python compatibility and optimisations.
http://cython.org/
You can get it from here:
http://cython.org/release/Cython-0.19.tar.gzhttp://cython.org/release/Cython-0.19.zip
Release notes:
https://github.com/cython/cython/blob/29bf3493fdc80cb3261a9dfb9f73e3ccd46fe…
Documentation: http://docs.cython.org/
Major new features in this release:
===========================
* New directives ``c_string_type`` and ``c_string_encoding`` to
automatically convert between C strings and the different Python
string types.
* Keyword arguments are supported for cdef functions, including external
C/C++ library functions.
* New freelist decorator for extension types.
* Fast extension type instantiation using the ``Type.__new__(Type)`` idiom
has gained support for passing arguments.
* Slicing was optimised for several builtin types and otherwise conforms
better with Python semantics for user defined types.
* The mapping of dict view/item methods in Python 3 was improved.
What is Cython?
===============
Cython is an optimising static compiler for both the Python programming
language and the extended Cython programming language (based on Pyrex). It
makes writing C extensions for Python as easy as Python itself.
The Cython language is a superset of the Python language that additionally
supports calling C functions and declaring C types on variables and class
attributes. This allows the compiler to generate very efficient C code from
Cython code. The C code is generated once and then compiles with all major
C/C++ compilers in CPython 2.4 and later, including Python 3.x.
All of this makes Cython the ideal language for wrapping external C
libraries, embedding CPython into existing applications, and for fast C
modules that speed up the execution of Python code.
See the project home page for further information:
http://cython.org/
Have fun,
Stefan
devpi-server: lightning-fast pypi.python.org proxy (0.7 initial)
=================================================================
This is the initial release of devpi-server, an easy-to-use caching
proxy server for pypi.python.org, providing fast and reliable installs
when used by pip or easy_install. devpi-server offers features not
found in other PyPI proxy servers:
- transparent caching of pypi.python.org index and release files
on first access, including indexes and files from 3rd party sites.
- pip/easy_install/buildout are shielded from the typical
client-side crawling, thus providing lightning-fast and
reliable installation (on second access of a package).
- ``devpi-server`` moreover automatically updates its main index
cache using pypi's changelog protocol, making sure you'll always
see an up-to-date view of what's available.
devpi-server is designed to satisfy all needs arising from
pip/easy_install installation operations and can thus act
as the sole entry point for all package installation interactions.
It will manage all outbound traffic for installing packages.
Getting started
----------------------------
Simply install ``devpi-server`` via for example::
pip install devpi-server # or
easy_install devpi-server
Make sure you have the ``redis-server`` binary available and issue::
devpi-server
after which a http server is running on ``localhost:3141`` and you
can use the following index url with pip or easy_install::
pip install -i http://localhost:3141/ext/pypi/simple/ ...
easy_install -i http://localhost:3141/ext/pypi/simple/ ...
To avoid having to re-type the URL, you can configure pip by either
setting the environment variable ``PIP_INDEX_URL`` to
``http://localhost:3141/ext/pypi/simple/`` or by putting an
according entry in your ``$HOME/.pip/pip.conf`` (posix) or
``$HOME/pip/pip.conf`` (windows)::
[global]
index-url == http://localhost:3141/ext/pypi/simple/
Example timing
----------------
Here is a little screen session when using a fresh ``devpi-server``
instance, installing itself in a fresh virtualenv::
hpk@teta:~/p/devpi-server$ virtualenv devpi >/dev/null
hpk@teta:~/p/devpi-server$ source devpi/bin/activate
(devpi) hpk@teta:~/p/devpi-server$ time pip install -q \
-i http://localhost:3141/ext/pypi/simple/ devpi-server
real 21.971s
user 1.564s
system 0.420s
So that took 21 seconds. Now lets remove the virtualenv, recreate
it and install a second time::
(devpi) hpk@teta:~/p/devpi-server$ rm -rf devpi
(devpi) hpk@teta:~/p/devpi-server$ virtualenv devpi >/dev/null
(devpi)hpk@teta:~/p/devpi-server$ time pip install -q -i http://localhost:3141/ext/pypi/simple/ devpi-server
real 1.716s
user 1.152s
system 0.472s
Ok, that was more than 10 times faster. The install of ``devpi-server``
(0.7) involves five packages btw: ``beautifulsoup4, bottle, py, redis,
requests``.
Compatibility
--------------------
``devpi-server`` works with python2.6 and python2.7 on both
Linux and Windows environments. Windows support is somewhat
experimental -- better don't run a company wide server with it.
OSX is untested as of now but no issues are expected -- please
report back how things work in reality.
``devpi-server`` requires ``redis-server`` with versions
2.4 or later. Earlier versions may or may not work (untested).
Deployment notes
----------------------------
By default, devpi-server configures and starts its own redis instance.
For this it needs to find a ``redis-server`` executable. On windows it
will, in addition to the PATH variable, also check for
``c:\\program files\redis\redis-server.exe`` which is the default
install location for the `windows redis fork installer <https://github.com/rgl/redis/downloads>`_.
In a consolidated setting you might want to use the ``--redismode=manual``
and ``--redisport NUM`` options to rather control the setup of redis
yourself. You might also want to use the ``--datadir`` option to
specify where release files will be cached.
Lastly, if you run ``devpi-server`` in a company network, you can for example
proxy-serve the application through an nginx site configuration like this::
# sample nginx conf
server {
server_name your.server.name;
listen 80;
root /home/devpi/.devpi/httpfiles/; # arbitrary for now
location / {
proxy_pass http://localhost:3141;
proxy_set_header X-Real-IP $remote_addr;
}
}
command line options
---------------------
A list of all devpi-server options::
$ devpi-server -h
Usage: devpi-server [options]
Options:
-h, --help show this help message and exit
main options:
--version show devpi_version (0.7)
--datadir=DIR data directory for devpi-server [~/.devpi/serverdata]
--port=PORT port to listen for http requests [3141]
--redisport=PORT redis server port number [3142]
--redismode=auto|manual
whether to start redis as a sub process [auto]
--bottleserver=TYPE
bottle server class, you may try eventlet or others
[wsgiref]
--debug run wsgi application with debug logging
pypi upstream options:
--pypiurl=url base url of remote pypi server
[https://pypi.python.org/]
--refresh=SECS periodically pull changes from pypi.python.org [60]
Project status and next steps
-----------------------------
``devpi-server`` is considered beta because it's just an initial release.
It is is tested through tox and has all of its automated pytest suite
passing for python2.7 and python2.6 on Ubuntu 12.04 and Windows 7.
``devpi-server`` is actively developed and is bound to see more releases
in 2013, in particular for supporting private indexes and a new development
and testing workflow system. You are very welcome to join, discuss
and contribute:
* mailing list: https://groups.google.com/d/forum/devpi-dev
* repository: http://bitbucket.org/hpk42/devpi-server
* issues: http://bitbucket.org/hpk42/devpi-server/issues
* irc: for now on #pylib on irc.freenode.net.
* pypi home page: https://pypi.python.org/pypi/devpi-server
The TkinterDnD Project has permanently moved to sourceforge and is now available at http://tkinterdnd.sourceforge.net/ .
TkinterDnD is a python wrapper for George Petasis' tkDnD Tk extension.
tkDnD adds native drag and drop support for windows and (yet partially) unix and Mac OSX to Tk. TkinterDnD makes this functionality available for Python/Tkinter.
The Python wrapper modules for both the current tkdnd-2 series and the now outdated tkdnd-1 version can be downloaded at https://sourceforge.net/projects/tkinterdnd/files/ .
pytest-2.3.5: bug fixes and little improvements
===========================================================================
pytest-2.3.5 is a maintenance release with many bug fixes and little
improvements. See the changelog below for details. No backward
compatibility issues are foreseen and all plugins which worked with the
prior version are expected to work unmodified. Speaking of which, a
few interesting new plugins saw the light last month:
- pytest-instafail: show failure information while tests are running
- pytest-qt: testing of GUI applications written with QT/Pyside
- pytest-xprocess: managing external processes across test runs
- pytest-random: randomize test ordering
And several others like pytest-django saw maintenance releases.
For a more complete list, check out
https://pypi.python.org/pypi?%3Aaction=search&term=pytest&submit=search.
For general information see:
http://pytest.org/
To install or upgrade pytest:
pip install -U pytest # or
easy_install -U pytest
Particular thanks to Floris, Ronny, Benjamin and the many bug reporters
and fix providers.
may the fixtures be with you,
holger krekel
Changes between 2.3.4 and 2.3.5
-----------------------------------
- never consider a fixture function for test function collection
- allow re-running of test items / helps to fix pytest-reruntests plugin
and also help to keep less fixture/resource references alive
- put captured stdout/stderr into junitxml output even for passing tests
(thanks Adam Goucher)
- Issue 265 - integrate nose setup/teardown with setupstate
so it doesnt try to teardown if it did not setup
- issue 271 - dont write junitxml on slave nodes
- Issue 274 - dont try to show full doctest example
when doctest does not know the example location
- issue 280 - disable assertion rewriting on buggy CPython 2.6.0
- inject "getfixture()" helper to retrieve fixtures from doctests,
thanks Andreas Zeidler
- issue 259 - when assertion rewriting, be consistent with the default
source encoding of ASCII on Python 2
- issue 251 - report a skip instead of ignoring classes with init
- issue250 unicode/str mixes in parametrization names and values now works
- issue257, assertion-triggered compilation of source ending in a
comment line doesn't blow up in python2.5 (fixed through py>=1.4.13.dev6)
- fix --genscript option to generate standalone scripts that also
work with python3.3 (importer ordering)
- issue171 - in assertion rewriting, show the repr of some
global variables
- fix option help for "-k"
- move long description of distribution into README.rst
- improve docstring for metafunc.parametrize()
- fix bug where using capsys with pytest.set_trace() in a test
function would break when looking at capsys.readouterr()
- allow to specify prefixes starting with "_" when
customizing python_functions test discovery. (thanks Graham Horler)
- improve PYTEST_DEBUG tracing output by puting
extra data on a new lines with additional indent
- ensure OutcomeExceptions like skip/fail have initialized exception attributes
- issue 260 - don't use nose special setup on plain unittest cases
- fix issue134 - print the collect errors that prevent running specified test items
- fix issue266 - accept unicode in MarkEvaluator expressions
________________________________________________________________________
ANNOUNCING
eGenix PyRun - One file Python Runtime
Version 1.2.0
An easy-to-use single file relocatable Python run-time -
available for Windows, Mac OS X and Unix platforms
This announcement is also available on our web-site for online reading:
http://www.egenix.com/company/news/eGenix-PyRun-1.2.0.html
________________________________________________________________________
INTRODUCTION
Our new eGenix PyRun combines a Python interpreter with an almost
complete Python standard library into a single easy-to-use executable,
that does not require a system wide installation and is fully
relocatable.
eGenix PyRun's executable only needs 11MB, but still supports most
Python application and scripts - and it can be further compressed to
just 3-4MB using upx.
Compared to a regular Python installation of typically 100MB on disk,
this makes eGenix PyRun ideal for applications and scripts that need
to be distributed to many target machines, client installations or
customers.
It makes "installing" Python on a Unix based system as simple as
copying a single file.
We have been using the product internally in our mxODBC Connect Server
since 2008 with great success and have now extracted it into a
stand-alone open-source product.
We provide both the source archive to build your own eGenix PyRun, as
well as pre-compiled binaries for Linux, FreeBSD and Mac OS X, as 32-
and 64-bit versions.
Please see the product page for more details:
http://www.egenix.com/products/python/PyRun/
________________________________________________________________________
NEWS
This is a new minor release of eGenix PyRun, which contains a few
important fixes and enhancement based on the user feedback in recent
months.
New Features
------------
* Upgraded eGenix PyRun to work with and use Python 2.7.4 per
default.
* Changed the pyrun default to run in non-optimized mode and added
the -O command line option to reenable it.
Previous versions of eGenix PyRun used to default to optimized
mode, which prevented running tests using e.g. assert with it. The
stdlib itself is still frozen in optimized mode.
* Added support for directly running Python directories and ZIP files
with __main__ module. Only works with the Python 2.7 variant.
* eGenix PyRun now honors symlinks, so symlinked copies of PyRun can
be used to save disk space. The installations will still work as
expected, i.e. independent of each other.
* Added new pyrun_release config variable to the pyrun_config
module. This allows checking the pyrun release version.
* Added PyRun release version to the banner and -V output.
* Added support for the Python -d command line option to pyrun.
* Added a fix to allow PyRun to compile the sqlite module on Mac OS X
10.4. See http://bugs.python.org/issue17857 for details.
* Much enhanced documentation, which now also explains the internals
and highlights Python modules/packages that are not included in
eGenix PyRun.
Other Changes
-------------
* Removed the compiler package from being compiled into PyRun. If
needed, it can be installed separately. Note that the compiler
package needs the parser module which is not compiled into PyRun
either, but is still available as extension module.
* Removed the Tkinter Python module from being compiled into
PyRun. If needed, it can be installed separately. Note that the
Tkinter module needs the _tkinter C module, which is not compiled
into PyRun either, but is still available as extension module.
* Fixed sys.argv when using interactive mode to default to [''].
* All eGenix PyRun distribution packages are now GPG signed with our
release key and come with MD5 and SHA1 hashes to check for download
corruption.
install-pyrun Quick Installation Enhancements
---------------------------------------------
Since version 1.1.0, eGenix PyRun includes a shell script called
install-pyrun, which greatly simplifies installation of eGenix
PyRun. It works much like the virtualenv shell script used for
creating new virtual environments (except that there's nothing virtual
about PyRun environments).
https://downloads.egenix.com/python/install-pyrun
With the script, an eGenix PyRun installation is as simple as running:
./install-pyrun targetdir
We have enhanced this script somewhat since the last release and also
added it to the source code distribution of eGenix PyRun:
* Added new options --distribute-distribution and --pip-distribution
to be able to use local distribution files for distribute and pip.
* Added --debug option to enable debug output.
* install-pyrun will now try uname -m in case uname -p doesn't return
useful information about the platform.
* install-pyrun will now use HTTPS connections for all tools (pyrun,
distribute and pip). SSL certificate checking is enabled per
default, but can be turned off using the new
--disable-certificate-checks option.
* Added automatic support for wget to install-pyrun. It is being used
if curl is not found on the system.
* Added new option --platform-list to print a list of available
platform strings.
Presentation at EuroPython 2012
-------------------------------
Marc-André Lemburg, CEO of eGenix, gave a presentation about eGenix
PyRun at EuroPython 2012 last year. The talk video as well as the
slides are available on our website:
http://www.egenix.com/library/presentations/EuroPython2012-eGenix-PyRun/
________________________________________________________________________
LICENSE
eGenix PyRun is distributed under the eGenix.com Public License 1.1.0
which is an Open Source license similar to the Python license. You can
use eGenix PyRun in both commercial and non-commercial settings
without fee or charge.
Please see our license page for more details:
http://www.egenix.com/products/python/PyRun/license.html
The package comes with full source code.
________________________________________________________________________
DOWNLOADS
The download archives and instructions for installing eGenix PyRun can
be found at:
http://www.egenix.com/products/python/PyRun/
As always, we are providing pre-built binaries for all common
platforms: Windows 32/64-bit, Linux 32/64-bit, FreeBSD 32/64-bit, Mac
OS X 32/64-bit. Source code archives are available for installation on
other platforms, such as Solaris, AIX, HP-UX, etc.
_______________________________________________________________________
SUPPORT
Commercial support for this product is available from eGenix.com.
Please see
http://www.egenix.com/services/support/
for details about our support offerings.
________________________________________________________________________
MORE INFORMATION
For more information about eGenix PyRun, licensing and download
instructions, please visit our web-site:
http://www.egenix.com/products/python/PyRun/
About Python (http://www.python.org/):
Python is an object-oriented Open Source programming language
which runs on all modern platforms. By integrating ease-of-use,
clarity in coding, enterprise application connectivity and rapid
application design, Python establishes an ideal programming
platform for today's IT challenges.
About eGenix (http://www.egenix.com/):
eGenix is a software project, consulting and product company
specializing in expert project services and professional quality
products for companies, Python users and developers.
Enjoy,
--
Marc-Andre Lemburg
eGenix.com
Professional Python Services directly from the Source (#1, Apr 30 2013)
>>> Python Projects, Consulting and Support ... http://www.egenix.com/
>>> mxODBC.Zope/Plone.Database.Adapter ... http://zope.egenix.com/
>>> mxODBC, mxDateTime, mxTextTools ... http://python.egenix.com/
________________________________________________________________________
2013-04-17: Released eGenix mx Base 3.2.6 ... http://egenix.com/go43
::::: Try our mxODBC.Connect Python Database Interface for free ! ::::::
eGenix.com Software, Skills and Services GmbH Pastor-Loeh-Str.48
D-40764 Langenfeld, Germany. CEO Dipl.-Math. Marc-Andre Lemburg
Registered at Amtsgericht Duesseldorf: HRB 46611
http://www.egenix.com/company/contact/
Hi,
I'm very happy to announce the release of PyMQI 1.3.
*INTRODUCTION*
PyMQI allows users to connect Python applications to WebSphere MQ queue
managers.
It can be used to develop test harnesses for WebSphere MQ based systems,
for rapid prototyping of WebSphere MQ applications, for development of
administrative GUIs or for mainstream MQ application development.
PyMQI has been used in production environments for 10+ years on Linux,
Windows, Solaris and AIX with queue managers running on Linux, Windows,
Solarix, AIX, HP-UX and z/OS mainframe. Supported WebSphere MQ versions
are 5.0 onwards, including 7.5.
*What's new*
* Support for MQ 7.5
* The development effort has moved to GitHub https://github.com/dsuch/pymqi
Special thanks to Alexander Fomichev and Umapathy Subburam for their
support and patches!
*Hello world with PyMQI*
Here's an example showing how easy it is to connect to WebSphere MQ and
put a message on a queue.
import pymqi
qmgr = pymqi.connect('QM01', 'SVRCONN.1', '192.168.1.121(1434)')
q = pymqi.Queue(qmgr, 'TEST.QUEUE.1')
q.put('Hello from Python')
*Links*
Project's homepage: https://github.com/dsuch/pymqi
Documentation: https://pythonhosted.org/pymqi/
Download URL: https://pypi.python.org/pypi/pymqi
Usage examples: https://pythonhosted.org/pymqi/examples.html
Twitter: https://twitter.com/fourthrealm
Blog: http://www.gefira.pl/blog
LinkedIn: http://www.linkedin.com/groups?gid=3726448
IRC: #pymqi channel on Freenode network
cheers,
--
Dariusz Suchojad
I am happy to announce Guppy-PE 0.1.10
Guppy-PE is a library and programming environment for Python,
currently providing in particular the Heapy subsystem, which supports
object and heap memory sizing, profiling and debugging. It also
includes a prototypical specification language, the Guppy
Specification Language (GSL), which can be used to formally specify
aspects of Python programs and generate tests and documentation from a
common source.
The main news in this release:
o Support for Python 2.7
However, there are still some problems with the tests
that I haven't been able to sort out.
o Some minor bug fixes
License: MIT
Guppy-PE 0.1.10 is available in source tarball format on the Python
Package Index (a.k.a. Cheeseshop):
http://pypi.python.org/pypi/guppy/0.1.10
The project homepage is on Sourceforge:
http://guppy-pe.sourceforge.net
Enjoy,
Sverker Nilsson
Registration is open for three upcoming PyCamps produced by the Triangle
Python Users Group:
- A five-day PyOhio PyCamp hosted by the Ohio State University Open
Source Club, July 22-26, 2013 the week prior to the PyOhio regional
Python conference weekend. PyCamp is a sponsor and training program of
PyOhio:
http://trizpug.org/boot-camp/pyohio13/
- A five-day Toronto PyCamp hosted by the University of Toronto
Department of Physics, August 12-16, 2013 the week after the PyCon
Canada national Python conference weekend. PyCamp is a Diversity Sponsor
of PyCon CA:
http://trizpug.org/boot-camp/torpy13/
- A three-day Wisconsin Mini-PyCamp hosted at the University of
Wisconsin Oshkosh, June 2-4, 2013 as part of the Plone Symposium Midwest
training days:
http://trizpug.org/boot-camp/wiscpy13/
PyCamp is the original, ultra-low-cost Python Boot Camp created by a
user group for user groups. For beginners, PyCamp makes you productive
so you can get your work done quickly. PyCamp emphasizes the features
which make Python a simpler and more efficient language. Following along
with example Python PushUps speeds your learning process. Become a
self-sufficient Python developer at PyCamp. PyCamps are conducted in
state of the art high technology classrooms on university campuses.
Registration will open soon also for two additional Triangle Python User
Group boot camp events. An additional announcement will follow when
registration opens for these events, but mark your calendars now:
- A five-day Seattle PyCamp hosted by the University of Washington
Department of Computer Science and Engineering and UW Marketing,
September 9-13, 2013. PyCamp is a sponsor of the Seattle Plone Users Group.
- A five-day special Python Web Programming boot camp in Chapel Hill
hosted by the University of North Carolina Department of Marine
Sciences, August 5-9, 2013.
--
Sincerely,
Chris Calloway http://nccoos.org/Members/cbc
office: 3313 Venable Hall phone: (919) 599-3530
mail: Campus Box #3300, UNC-CH, Chapel Hill, NC 27599