(Cross-posted to comp.lang.python)
PDFBuilder, which is a part of my xtopdf toolkit, can now handle an unlimited (*1) number of input files.
PDFBuilder enables the creation of composite PDFs consisting of the content of multiple CSV and TDV/TSV files (*2). Support for other formats can be added easily.
(*2) TDV = Tab Delimited Values, TSV = Tab Separated Values
Blog post about the latest version of PDFBuilder:
PDFBuilder can now handle unlimited input files:
(*1) See the above post for the meaning of "unlimited".
PDFBuilder is available here as part of the xtopdf toolkit:
xtopdf (and hence PDFBuilder) is released as open source software under the BSD License.
Dancing Bison Enterprises
Software consulting and training
(Python, C, Linux, databases, open source, ...)
http://www.dancingbison.com (site currently down for maintenance)
In my releasing of Pyparsing 1.5.7/2.0.0 last November, I started to split supported Python versions: 2.x to the Pyparsing 1.5.x track, and 3.x to the Pyparsing 2.x track. Unfortunately, this caused a fair bit of pain for many current users of Python 2.6 and 2.7 (especially those using libs dependent on pyparsing), as the default installed pyparsing version using easy_install or pip would be the incompatible-to-them pyparsing 2.0.0.
I hope I have rectified (or at least improved) this situation with the latest release of pyparsing 2.0.1. Version 2.0.1 takes advantage of the cross-major-version compatibility that was planned into Python, wherein many of the new features of Python 3.x were made available in Python 2.6 and 2.7. By avoiding the one usage of ‘nonlocal’ (a Python 3.x feature not available in any Python 2.x release), I’ve been able to release pyparsing 2.0.1 in a form that will work for all those using Python 2.6 and later. (If you are stuck on version 2.5 or earlier of Python, then you still have to explicitly download the 1.5.7 version of pyparsing.)
This release also includes a bugfix to the new ‘<<=’ operator, so that ‘<<’ for attachment of parser definitions to Forward instances can be deprecated in favor of ‘<<=’.
Hopefully, most current users using pip and easy_install can now just install pyparsing 2.0.1, and it will be sufficiently version-aware to function under all Pythons 2.6 and later.
Thanks for your continued support and interest in pyparsing!
-- Paul McGuire
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
The changelog for recent releases can be seen below my signature.
You can find the package at:
Please CC me on any replies if you have any questions or comments.
[added] Thanks to a feature request from https://github.com/jrsmith ,
column support is now available.
[added] DateTime, Date, and Time column types because I was already adding
[fixed] Thanks to https://github.com/MickeyKim who fixed Json columns so
they round-trip after multiple saves.
[fixed] Thanks to https://github.com/mayfield the manifest is fixed for the
[fixed] updating a model will no longer unindex the model on attributes that
weren't updated. Thanks to https://github.com/mayfield for the bug
analysis, and initial pull request that ultimately resulted in the fix.
[fixed] pip requires, versioning, etc., thanks to fixes from
[changed] Model.get_by() will now work on any type of indexed columns.
columns work as before, and other columns get pass-through to the
[changed] Model.get_by() and Model.query.filter() will both accept single
numbers as the value to match on (you don't need to specify a range if
are querying by equality).
[changed] all changes will be documented in this changelog.txt file to keep
list of everything that is going on with the project.
I've just released bbfreeze 1.1.2. The code is available from pypi
or from github
bbfreeze creates stand-alone executables from python scripts. It's
similar in purpose to the well known py2exe for windows, py2app for OS
X, PyInstaller and cx_Freeze (in fact ancient versions were based on
cx_Freeze. And it uses the modulegraph package, which is also used by
It has the following features:
bbfreeze can be installed with setuptools' easy_install command.
zip/egg file import tracking
bbfreeze tracks imports from zip files and includes whole egg files
if some module is used from an eggfile. Packages using setuputils'
pkg_resources module will now work (new in 0.95.0)
binary dependency tracking
bbfreeze will track binary dependencies and will include DLLs and
shared libraries needed by a frozen program.
multiple script freezing
bbfreeze can freeze multiple scripts at once.
python interpreter included
bbfreeze will create an extra executable named 'py', which might be
used like the python executable itself.
automatic pathname rewriting
pathnames in tracebacks are replaced with relative pathnames
(i.e. if you import package foo.bar from /home/jdoe/pylib/
tracebacks generated from functions in foo.bar will not show your
local path /home/jdoe/pylib/foo/bar.py. They will instead show
distutils command 'bdist_bbfreeze'
A new distutils/setuptools command bdist_bbfreeze integrates
bbfreeze into your setup.py.
bbfreeze works on windows and UNIX-like operating systems. bbfreeze
has been tested with python 2.4, 2.5, 2.6 and 2.7 bbfreeze will not
work with python 3 or higher.
eGenix EuroPython 2013 Talks & Videos
This announcement is also available on our web-site for online reading:
We have just published the talks slides and videos of our EuroPython
The EuroPython Conference is the one of the premier conferences for
Python users and developers. This year it was held from July 1-7 in
EGENIX TALKS AT EUROPYTHON
At this year's EuroPython, Marc-André Lemburg, CEO of eGenix, gave the
following two talks at the conference, providing some insights into
our experience with running Python projects. The presentations are
available for viewing and download from our Presentations and Talks
Designing Large-Scale Applications in Python
Concepts for designing large and scalable Python applications that
work in practice.
Python is often referred to as a scripting language. While Python is
an ideal platform for scripting, integration or plugin tasks, it does
in fact cover all the concepts needed for truly large-scale object
oriented application development. However, complex applications bring
The talk will draw on the speaker’s experience with large-scale
application design using Python as central implementation language and
provide a cookbook approach to many of the problems you face when
designing and organizing complex application frameworks.
The approach has been proven in many real-life projects, ranging from
web application servers in varying fields of application to complete
finance trading systems. Python has always proven to be a truly good
choice with an outstanding time-to-market advantage over other
implementation languages such as Java or C++. It allows small software
development companies to successfully compete against multi-million
Talk video and slides:
Efficient Python development with small teams
As we all know, Python is a very efficient implementation language -
so efficient, that you sometimes face new challenges in projects. Very
often, you can completely skip the prototype phase and go directly to
the main development phase. Customers love this, of course, but this
approach tends to come with its own unique set of requirements and
Team size, communication, application design, work distribution,
milestone and customer expectation management are important factors
for the success of such a project.
The talk will discuss a few strategies that have worked in many larger
projects and also touch upon some things that did not work out well.
Talk video and slides:
About Python (http://www.python.org/):
Python is an object-oriented Open Source programming language
which runs on all modern platforms. By integrating ease-of-use,
clarity in coding, enterprise application connectivity and rapid
application design, Python establishes an ideal programming
platform for today's IT challenges.
About eGenix (http://www.egenix.com/):
eGenix is a software project, consulting and product company
focusing on expert project services and professional quality
products for companies, Python users and developers.
Professional Python Services directly from the Source (#1, Jul 16 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-07-16: Python Meeting Duesseldorf ... today
::::: 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
I was trying to process a large file containing a number of distinct JSON
object as a stream, but I couldn't find anything readily available to
that. (maybe I didn't search hard enough)
So I came up with this:
I hope you find it useful too.
PyPy 2.1 beta 1
We're pleased to announce the first beta of the upcoming 2.1 release of PyPy.
This beta contains many bugfixes and improvements, numerous improvements to the
numpy in PyPy effort. The main feature being that the ARM processor support is
not longer considered alpha level.
We would like to thank the Raspberry PiFoundation (http://www.raspberrypi.org)
for supporting the work to finish PyPy's ARM support.
You can download the PyPy 2.1 beta 1 release here:
* Bugfixes to the ARM JIT backend, so that ARM is now an officially
supported processor architecture
* Stacklet support on ARM
* Interpreter improvements
* Various numpy improvements
* Bugfixes to cffi and ctypes
* Bugfixes to the stacklet support
* Improved logging performance
* Faster sets for objects
What is PyPy?
PyPy is a very compliant Python interpreter, almost a drop-in replacement for
CPython 2.7.3. It's fast due to its integrated tracing JIT compiler.
This release supports x86 machines running Linux 32/64, Mac OS X 64 or Windows
32. Also this release supports ARM machines running Linux 32bit - anything with
``ARMv6`` (like the Raspberry Pi) or ``ARMv7`` that supports ``VFPv3`` should work.
the PyPy team
Hi there folks,
I'm pleased to announce the 1.0.0 release of psutil:
=== 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.
It currently supports Linux, Windows, OSX, FreeBSD and Sun Solaris,
both 32-bit and 64-bit, with Python versions from 2.4 to 3.3 by using
a single code base.
=== New features ===
This new release finally includes support for Sun Solaris systems!
I wish to thank Justin Venus who first wrote a prototype in Cython
which I then converted in C (full story here:
Complete list of bugfixes and enhancements is here:
=== Compatitility notes ===
There's a couple of things you may want to know in terms of backward
* Process.get_connections() 'status' field is no longer a string but
a constant object (psutil.CONN_*)
* Process.get_connections() 'local_address' and 'remote_address'
fields have been renamed to 'laddr' and 'raddr'
* psutil.network_io_counters() has been renamed to psutil.net_io_counters()
There are still aliases for the old names. They will issue a
=== Links ===
* Home page: http://code.google.com/p/psutil
* Source tarball: http://psutil.googlecode.com/files/psutil-1.0.0.tar.gz
* 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.
Thanks in advance and hooray for the new Solaris support! ;-)
All the best,
--- Giampaolo Rodola'
I'm happy to announce that PySide and Shiboken version 1.2 have been
released. PySide is a community supported LGPL wrapper for the Qt
libraries and Shiboken is a C++ wrapping tool used by PySide. Version
1.2 contains numerous stability fixes, improved Windows installation via
easy_install, and the shiboken module is now correctly installed.
The pypi page for PySide is at http://pypi.python.org/pypi/PySide It
can be installed via easy_install, pip and windows installer.
The source tarballs can be found at:
Questions / feedback may be sent to the pyside mailing list at
Hugo Parente Lima