eGenix.com mx Base Distribution
Version 3.2.0 for Python 2.4 - 2.7
Open Source Python extensions providing
important and useful services
for Python programmers.
This announcement is also available on our web-site for online reading:
The eGenix.com mx Base Distribution for Python is a collection of
professional quality software tools which enhance Python's usability
in many important areas such as fast text searching, date/time
processing and high speed data types.
The tools have a proven record of being portable across many Unix and
Windows platforms. You can write applications which use the tools on
Windows and then run them on Unix platforms without change due to the
consistent platform independent interfaces.
Contents of the distribution:
* mxDateTime - Easy to use Date/Time Library for Python
* mxTextTools - Fast Text Parsing and Processing Tools for Python
* mxProxy - Object Access Control for Python
* mxBeeBase - On-disk B+Tree Based Database Kit for Python
* mxURL - Flexible URL Data-Type for Python
* mxUID - Fast Universal Identifiers for Python
* mxStack - Fast and Memory-Efficient Stack Type for Python
* mxQueue - Fast and Memory-Efficient Queue Type for Python
* mxTools - Fast Everyday Helpers for Python
All available packages have proven their stability and usefulness in
many mission critical applications and various commercial settings all
around the world.
For more information, please see the distribution page:
The 3.1.3 release of the eGenix mx Base Distribution is the latest
release of our open-source Python extensions.
The new version provides major enhancements of the included
packages. To highlight a few:
* Added support for Python 2.7 on all supported platforms.
* Added native Window x64 support.
* Included many news features in mxDateTime to enhance
interoperability with Python's datetime module and to increase
o Mixed type support to allow operations between mxDateTime objects
and Python's datetime module
o New constructor methods on the objects to easily switch from
mxDateTime objects to datetime module objects.
o New constructor support to easily switch back from datetime
module objects to mxDateTime objects
* Added new mx.Misc.Daemon module which provides abstractions to
implement Unix daemon processes.
* Added code cleanups and switched to Python's own memory allocator,
which results in performance enhancements across all subpackages.
* Added back easy_install support and included pip support.
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
all other Python platforms, such as Solaris, AIX, HP-UX, etc.
To simplify installation in Zope/Plone and other egg-based systems, we
have also precompiled egg distributions for all platforms. These are
available on our own PyPI-style index server for easy and automatic
Whether you are using a pre-built package or the source distribution,
installation is a simple "python setup.py install" command in all
cases. The only difference is that the pre-built packages do not
require a compiler or the Python development packages to be installed.
For a list of changes, please refer to the eGenix mx Base Distribution
change log at
and the change logs of the various included Python packages.
The download archives and instructions for installing the packages can
be found on the eGenix mx Base Distribution page:
The eGenix mx Base package 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 the packages in both commercial and non-commercial
settings without fee or charge.
The package comes with full source code
Commercial support for this product is available from eGenix.com.
for details about our support offerings.
Professional Python Services directly from the Source (#1, May 23 2011)
>>> Python/Zope Consulting and Support ... http://www.egenix.com/
>>> mxODBC.Zope.Database.Adapter ... http://zope.egenix.com/
>>> mxODBC, mxDateTime, mxTextTools ... http://python.egenix.com/
2011-06-20: EuroPython 2011, Florence, Italy 28 days to go
::: Try our new 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
Enjuewemela is yet another similar game to the popular "Bejeweled" or
"Diamond Mine". The game basics is to make alignment of 3 or more
gems, both vertically or horizontally by swapping adjacent gems. It's
is (of course) written in Python, using the cocos2d game framework.
Enjuewemela 0.3 is released, with a lot of new features and bugs
fixed. You can download it from:
However note that it's still a pre-alpha release, it still has a lot
of rough edges, and need a lot of "art love".
Some of the biggest changes are:
- Classic and Rush game modes! Check both, they will bring you a lot of fun, :)
- Explosives and magic gems are fully implemented.
- Full internationalization support ! Do you want it in your language?
- Scores are saved per game type, and there is a high scores display.
- No more limit to the game levels!
- Pieces are selectables, or moved using drag and drop.
- Scores are indicated when done near the selected gem.
- General flow game is done, including a full 'options' menu, and a
- Now you can quit the game with ESC, pause it with "p" or the pause key,
For more information, check the project's page:
new version of lfm. Note that it requires python v2.5+ now, and it's
incompatible with v3.x.
Last File Manager is a powerful file manager for the UNIX console. It
has a curses interface and it's written in Python.
Licensed under GNU Public License version 3.
Some of the features you could find in lfm:
- console-based file manager for UNIX platforms
- 1-pane or 2-pane view
- vfs for compressed files
- dialogs with entry completion
- PowerCLI, a command line interface with advanced features
- fast access to the shell
- direct integration of find/grep, df and other tools
- color files by extension
- fast file viewer with text and binary modes
- ...and many others
Download it from:
http://inigo.katxi.org/devel/lfm (home server)
or from http://www.terra.es/personal7/inigoserna/lfm when crap ISP
updates its cache.
Changes since last version:
+ About the code
- lfm needs python version 2.5 or upper now
+ New features
- PowerCLI, an advanced command line interface with completion, persistent
history, variable substitution and many other useful features.
As this is a very powerful tool, read the documentation for examples
. use different types of history lists: path, file, glob, grep, exec, cli
for the different forms and actions
. persistent history between sessions => ~/.lfm_history
. controlled by a flag in configuration
. configuration options for ignorecase and regex
. sort results
. show results as FILE:lineno
. much faster
- show diff between xxx.orig and xxx files
- tar files compress/uncompress
- messages.EntryLine has been rewritten, with many new key shorcuts. This is
the core behind most of the forms lfm shows when asking for anything.
Consult the documentation
+ Minor changes
- reorganize "un/compress file" and "compress directory xxx" in file_menu
- config: sort entries when saving
- improve load/save handling of new options not present in ~/.lfmrc
- added new extensions
- messages.error rewritten to offer better messages
- added some new key shortcuts messages.SelectItem
+ Documentation - added a note about python v2.5+ is needed from now on
- 'lfm' shell function: change "$*" to "$@" to properly handle paths
- FAQ: added information about fuse to mount ssh, ftp, smb and webdav
- reorganized and fixed key bindings section
- documented .lfmrc contents
- added link to public BitBucket repository
+ lots of bugs fixed:
. last char is not shown if file size is small
. last line and wrap: cursor_down or page_next
. when number of lines == window height
- ncurses v5.8 doesn't accept 0 as width or height
- UI crashes:
. time string could contain non-ascii characters (reported by
. when filenane length is large in full pane mode
. MenuWin, SelectItem: ellipsize entries if bigger than screen width
- find or find&grep:
. pass "-type f" to find as ".#filename" are temporary emacs files/links
that break search
. show wrong matches if results contain directories or files with spaces
. file->goto_file: move to correct page
- copy/move "/file" to "/anydir/anyplace" fails, trying to copy/move to "/"
- executing non-ascii programname or args
- convoluted issue with link to directory in corner cases (reported
by Xin Wang)
- rename/backup ".." crashes
- we should not compress ".."
- create_link, edit_link: don't show error if canceled
- only store one copy of the same entry in history
- tree: "disable" colors of active panel, "enable" at end
- Config.save: work with unicode, only convert to encoding when saving
Of course, all comments, suggestions, etc. are welcome.
This is the call for papers for the first PyCon DE in October
2011 in Leipzig. Please have a look at the website http://de.pycon.org
for more information about the conference.
Since the conference language will be German, the call is in German
Vortragsvorschläge für die PyCon DE 2011 in Leipzig
Ab sofort kann jeder, der sich für Python interessiert, einen
Vortragsvorschlag für die PyCon DE 2011 einreichen. Es gibt nur zwei
Bedingungen: das Thema sollte interessant sein und etwas mit Python
zu tun haben. Für die erste deutsche Python-Konferenz sind wir an
einer breiten Themenpalette interessiert, die das ganze Spektrum der
Entwicklung, Nutzung und Wirkung von Python zeigt.
Mögliche Themen sind zum Beispiel:
* Webanwendungen mit Python
* Contentmanagement mit Python
* Datenbankanwendungen mit Python
* Testen mit Python
* Systemintegration mit Python
* Python für große Systeme
* Python im Unternehmensumfeld
* Pythonimplementierungen (Jython, IronPython, PyPy, Unladen
Swallow und andere)
* Python als erste Programmiersprache
* Grafische Nutzerschnittstellen (GUIs)
* Parallele Programmierung mit Python
* Python im wissenschaftlichen Bereich (Bioinformatik, Numerik,
Visualisierung und anderes)
* Embedded Python
* Marketing für Python
* Python, Open Source und Entwickler-Gemeinschaft
* Zukünftige Entwicklungen
* mehr ...
Ihr Themenbereich ist nicht aufgelistet, wäre aber aus Ihrer Sicht
für die PyCon DE interessant? Kein Problem. Reichen Sie Ihren
Vortragsvorschlag einfach ein. Auch wir können nicht alle
Anwendungsbereiche von Python überschauen.
Vortragstage sind vom 5. bis 7. Oktober 2011. Es gibt zwei
* Standard-Vortrag -- 20 Minuten Vortrag + 5 Minuten Diskussion
* Lang-Vortrag -- 45 Minuten Vortrag + 10 Minuten Diskussion
Die Vortragszeit wird strikt eingehalten. Bitte testen Sie die Länge
Ihres Vortrags. Lassen Sie gegebenenfalls ein paar Folien weg.
Die Vortragsprache ist Deutsch. In begründeten Ausnahmefällen können
Vorträge auch auf Englisch gehalten werden. Bitte fragen Sie uns
Bitte reichen Sie Ihren Vortrag auf der Konferenz-Webseite
http://de.pycon.org bis zum 30.06.2011 ein.
Wir entscheiden bis zum 15. Juli 2011 über die Annahme des Vortrags.
Python Course in Golden, CO, USA
**There is only one day left to take advantage of the early bird rate.**
Introduction to Python and Python for Scientists and Engineers
June 3 - 4, 2011 Introduction to Python
June 5, 2011 Python for Scientists and Engineers
Both courses can be booked individually or together.
Venue: Colorado School of Mines, Golden, CO (20 minutes west of Denver)
Trainer: Mike Müller
The introductory course is designed for people with basic programming
background. Since it is a general introduction to Python it is suitable
for everybody interested in Python.
The scientist's course assumes a working knowledge of Python. You will be fine
if you take the two-day introduction before hand. The topics are of general
interest for scientists and engineers. Even though some examples come from the
groundwater modeling domain, they are easy to understand for people without
prior knowledge in this field.
About the Trainer
Mike Müller, has been teaching Python since 2004. He is the
founder of Python Academy and regularly gives open and in-house
Python courses as well as tutorials at PyCon US, OSCON, EuroSciPy
and PyCon Asia-Pacific.
More Information and Course Registration
On behalf of the Python development team, I am pleased to announce the
first release candidate of Python 3.2.1.
Python 3.2.1 will the first bugfix release for Python 3.2, fixing over 120
bugs and regressions in Python 3.2.
For an extensive list of changes and features in the 3.2 line, see
To download Python 3.2.1 visit:
This is a testing release: Please consider trying Python 3.2.1 with your code
and reporting any bugs you may notice to:
Georg Brandl, Release Manager
georg at python.org
(on behalf of the entire python-dev team and 3.2's contributors)
Camelot 11.05.13 has been released, and available from
PyPi or http://www.python-camelot.com/
** What is Camelot **
Camelot is an open source framework that leverages Python, SQLAlchemy
to build rich desktop applications. Many built in features make
applications built with
Camelot user and developer friendly.
** Selected changes **
* Workspace maximizes when double clicking on tab bar
* Fix tab behavior of some editors
* Support for editing columns in the frozen part of a table view
* New DateTime Editor
* More intuitive navigation pane
* progress dialog when records are deleted
* FileEditor supports removing files after copying them
* EntityAdmin supports objects mapped with plain SQLAlchemy
* confirm_delete reworked to delete_mode
* expanded_list_search option to tune which fields show up
* ApplicationAdmin has actions_changed_signal
* application actions show up in home screen
* postgres support for backup / restore
* new actions : DocxApplicationAction, PixmapFormAction
* Most editors now support background_color, editable and tooltip
as dynamic attributes
* add legend function to chart container
And of course the usual bug fixes, speed and usability improvements.
I am pleased to announce the release of NumPy 1.6.0. This release is the
result of 9 months of work, and includes many new features, performance
improvements and bug fixes. Some highlights are:
- Re-introduction of datetime dtype support to deal with dates in arrays.
- A new 16-bit floating point type.
- A new iterator, which improves performance of many functions.
Sources and binaries can be found at
For release notes see below.
Thank you to everyone who contributed to this release.
The NumPy developers
NumPy 1.6.0 Release Notes
This release includes several new features as well as numerous bug fixes and
improved documentation. It is backward compatible with the 1.5.0 release,
supports Python 2.4 - 2.7 and 3.1 - 3.2.
* Re-introduction of datetime dtype support to deal with dates in arrays.
* A new 16-bit floating point type.
* A new iterator, which improves performance of many functions.
New 16-bit floating point type
This release adds support for the IEEE 754-2008 binary16 format, available
the data type ``numpy.half``. Within Python, the type behaves similarly to
`float` or `double`, and C extensions can add support for it with the
A new iterator has been added, replacing the functionality of the
existing iterator and multi-iterator with a single object and API.
This iterator works well with general memory layouts different from
C or Fortran contiguous, and handles both standard NumPy and
customized broadcasting. The buffering, automatic data type
conversion, and optional output parameters, offered by
ufuncs but difficult to replicate elsewhere, are now exposed by this
Legendre, Laguerre, Hermite, HermiteE polynomials in ``numpy.polynomial``
Extend the number of polynomials available in the polynomial package. In
addition, a new ``window`` attribute has been added to the classes in
order to specify the range the ``domain`` maps to. This is mostly useful
for the Laguerre, Hermite, and HermiteE polynomials whose natural domains
are infinite and provides a more intuitive way to get the correct mapping
of values without playing unnatural tricks with the domain.
Fortran assumed shape array and size function support in ``numpy.f2py``
F2py now supports wrapping Fortran 90 routines that use assumed shape
arrays. Before such routines could be called from Python but the
corresponding Fortran routines received assumed shape arrays as zero
length arrays which caused unpredicted results. Thanks to Lorenz
Hüdepohl for pointing out the correct way to interface routines with
assumed shape arrays.
In addition, f2py supports now automatic wrapping of Fortran routines
that use two argument ``size`` function in dimension specifications.
Other new functions
``numpy.ravel_multi_index`` : Converts a multi-index tuple into
an array of flat indices, applying boundary modes to the indices.
``numpy.einsum`` : Evaluate the Einstein summation convention. Using the
Einstein summation convention, many common multi-dimensional array
can be represented in a simple fashion. This function provides a way
``numpy.count_nonzero`` : Counts the number of non-zero elements in an
``numpy.result_type`` and ``numpy.min_scalar_type`` : These functions expose
the underlying type promotion used by the ufuncs and other operations to
determine the types of outputs. These improve upon the ``numpy.common_type``
and ``numpy.mintypecode`` which provide similar functionality but do
not match the ufunc implementation.
``default error handling``
The default error handling has been change from ``print`` to ``warn`` for
all except for ``underflow``, which remains as ``ignore``.
Several new compilers are supported for building Numpy: the Portland Group
Fortran compiler on OS X, the PathScale compiler suite and the 64-bit Intel
compiler on Linux.
The testing framework gained ``numpy.testing.assert_allclose``, which
a more convenient way to compare floating point arrays than
`assert_almost_equal`, `assert_approx_equal` and
In addition to the APIs for the new iterator and half data type, a number
of other additions have been made to the C API. The type promotion
mechanism used by ufuncs is exposed via ``PyArray_PromoteTypes``,
``PyArray_ResultType``, and ``PyArray_MinScalarType``. A new enumeration
``NPY_CASTING`` has been added which controls what types of casts are
permitted. This is used by the new functions ``PyArray_CanCastArrayTo``
and ``PyArray_CanCastTypeTo``. A more flexible way to handle
conversion of arbitrary python objects into arrays is exposed by
The "normed" keyword in ``numpy.histogram`` is deprecated. Its functionality
will be replaced by the new "density" keyword.
The functions `refft`, `refft2`, `refftn`, `irefft`, `irefft2`, `irefftn`,
which were aliases for the same functions without the 'e' in the name, were
The `sync()` and `close()` methods of memmap were removed. Use `flush()`
"del memmap" instead.
The deprecated functions ``numpy.unique1d``, ``numpy.setmember1d``,
``numpy.intersect1d_nu`` and ``numpy.lib.ufunclike.log2`` were removed.
Several deprecated items were removed from the ``numpy.ma`` module::
* ``numpy.ma.MaskedArray`` "raw_data" method
* ``numpy.ma.MaskedArray`` constructor "flag" keyword
* ``numpy.ma.make_mask`` "flag" keyword
* ``numpy.ma.allclose`` "fill_value" keyword
The ``numpy.get_numpy_include`` function was removed, use
I'm proud to release version 1.4.17 of Roundup which introduces some
minor features and, as usual, fixes some bugs:
- Allow declaration of default_values for properties in schema.
- Add explicit "Search" permissions, see Security Fix below.
- Add "lookup" method to xmlrpc interface (Ralf Schlatterbeck)
- Multilinks can be filtered by combining elements with AND, OR and NOT
Developed by Sascha Teichmann; funded by Intevation. (Bernhard Reiter)
- Factor MailGW message parsing into a separate class, thanks to John
Kristensen who did the major work in issue2550576 -- I wouldn't
have attempted it without this. Fixes issue2550576. (Ralf)
- Now if the -C option to roundup-mailgw specifies "issue" this refers
to an issue-like class. The real class is determined from the
configured default class, or the -c option to the mailgw, or the class
resulting from mail subject parsing. We also accept multiple -S
options for the same class now. (Ralf)
- Optimisation: Late evaluation of Multilinks (only in rdbms backends):
previously we materialized each multilink in a Node -- this creates an
SQL query for each multilink (e.g. 'files' and 'messages' for each
line in the issue index display) -- even if the multilinks aren't
displayed. Now we compute multilinks only if they're accessed (and
keep them cached).
- Add a filter_iter similar to the existing filter call. This feature is
considered experimental. This is currently not used in the
web-interface but passes all tests for the filter call except sorting
by Multilinks (which isn't supported by SQL and isn't a sane concept
anyway). When using filter_iter instead of filter this saves a *lot*
of SQL queries: Filter returns only the IDs of Nodes in the database,
the additional content of a Node has to be fetched in a separate SQL
call. The new filter_iter also returns the IDs of Nodes (one by one,
it's an iterator) but pre-seeds the cache with the content of the
Node. The information needed for seeding the cache is retrieved in the
same SQL query as the ids.
- Security Fix: Add a check for search-permissions: now we allow
searching for properties only if the property is readable without a
check method or if an explicit search permission (see above unter
"Features) is given for the property. This fixes cases where a user
doesn't have access to a property but can deduce the content by
crafting a clever search, group or sort query.
see doc/upgrading.txt for how to fix your trackers! (Ralf Schlatterbeck).
- Range support in roundup-server so large files can be served,
e.g. media files on iOS/iPads; issue2550694. (Bernhard Reiter;
Thanks to Jon C. Thomason for the patch.)
- Fix search for xapian 1.2 issue2550676
(Bernhard Reiter; Thanks to Olly Betts for providing the patch.)
- Some minor typos fixed in doc/customizing.txt (Thanks Ralf Hemmecke).
- XML-RPC documentation now linked from the docs/index (Bernhard Reiter).
- Fix setting of sys.path when importing schema.py, fixes issue2550675,
thanks to Bryce L Nordgren for reporting. (Ralf Schlatterbeck)
- clear the cache on commit for rdbms backends: Don't carry over cached
values from one transaction to the next (there may be other changes
from other transactions) see new ConcurrentDBTest for a
read-modify-update cycle that fails with the old caching behavior.
- Fix incorrect setting of template in customizing.txt example action,
patch via issue2550682 (thanks John Kristensen)
- Configuration issue: On some postgresql 8.4 installations (notably on
debian squeeze) the default template database used for database
creation doesn't match the needed character encoding UTF8 -- a new
config option 'template' in the rdbms section now allows specification
of the template. You know you need this option if you get the error
psycopg2.DataError: new encoding (UTF8) is incompatible with the
encoding of the template database (SQL_ASCII)
HINT: Use the same encoding as in the template database, or use
template0 as template.
- Fixed bug in mailgw refactoring, patch issue2550697 (thanks Hubert
- Fix Password handling security issue2550688 (thanks Joseph Myers for
reporting and Eli Collins for fixing) -- this fixes all observations
by Joseph Myers except for auto-migration of existing passwords.
- Add new config-option 'migrate_passwords' in section 'web' to
auto-migrate passwords at web-login time. Default for the new option
is "yes" so if you don't want that passwords are auto-migrated to a
more secure password scheme on user login, set this to "no" before
running your tracker(s) after the upgrade.
- Add new config-option 'password_pbkdf2_default_rounds' in 'main'
section to configure the default parameter for new password
generation. Set this to a higher value on faster systems which want
more security. Thanks to Eli Collins for implementing this (see
- Fix documentation for roundup-server about the 'host' parameter as
suggested in issue2550693, fixes the first part of this issue. Make
'localhost' the new default for this parameter, note the upgrading
documentation of changed behaviour. We also deprecate the empty host
parameter for binding to all interfaces now (still left in for
compatibility). Thanks to Toni Mueller for providing the first version
of this patch and discussing implementations.
- Fixed bug in filter_iter refactoring (lazy multilinks), in rare cases
this would result in duplicate multilinks to the same node. We're now
going the safe route and doing lazy evaluation only for read-only
access, whenever updates are done we fetch everything.
If you're upgrading from an older version of Roundup you *must* follow
the "Software Upgrade" guidelines given in the maintenance documentation.
Roundup requires python 2.4 or later (but not 3+) for correct operation.
To give Roundup a try, just download (see below), unpack and run::
Release info and download page:
Source and documentation is available at the website:
Mailing lists - the place to ask questions:
Roundup is a simple-to-use and -install issue-tracking system with
command-line, web and e-mail interfaces. It is based on the winning design
from Ka-Ping Yee in the Software Carpentry "Track" design competition.
Note: Ping is not responsible for this project. The contact for this
project is richard(a)users.sourceforge.net.
Roundup manages a number of issues (with flexible properties such as
"description", "priority", and so on) and provides the ability to:
(a) submit new issues,
(b) find and edit existing issues, and
(c) discuss issues with other participants.
The system will facilitate communication among the participants by managing
discussions and notifying interested parties when issues are edited. One of
the major design goals for Roundup that it be simple to get going. Roundup
is therefore usable "out of the box" with any python 2.4+ (but not 3+)
installation. It doesn't even need to be "installed" to be operational,
though an install script is provided.
It comes with two issue tracker templates (a classic bug/feature tracker and
a minimal skeleton) and four database back-ends (anydbm, sqlite, mysql
Dr. Ralf Schlatterbeck Tel: +43/2243/26465-16
Open Source Consulting www: http://www.runtux.com
Reichergasse 131, A-3411 Weidling email: office(a)runtux.com
osAlliance member email: rsc(a)osalliance.com
When a user reports that your program crashes or hangs, sometimes you
can only help to try and collect more information and outline a scenario
to reproduce the situation. Even with a reliable user scenario, as a
developer you are often unable to reproduce the situation due to
environment differences, e.g., operating system and compiler. If you are
lucky, the user will be able to install debug tools, but most of time
you will have to wait until another person is able to obtain more
information from the same situation.
This mail is adapted from the article posted on the Python Insider to
announce the introduction of the faulthandler module into Python 3.3:
The faulthandler module should help this problem:
faulthandler provides the ability to dump the Python traceback on a
fatal error such as a segmentation fault, division by zero, abort, or
bus error. You can enable it inside your application using
faulthandler.enable(). Output example:
Fatal Python error: Segmentation fault
Current thread 0x00007f7babc6b700:
File "Lib/test/crashers/gc_inspection.py", line 29 in g
File "Lib/test/crashers/gc_inspection.py", line 32 in <module>
faulthandler can also dump the traceback after a timeout using
faulthandler.dump_tracebacks_later(timeout). Call it again to restart
the timer or call faulthandler.cancel_dump_tracebacks_later() to stop
the timer. Output example:
Current thread 0x00007f987d459700:
File "Lib/test/crashers/infinite_loop_re.py", line 20 in <module>
Use the repeat=True option to dump the traceback each timeout seconds,
or exit=True to immediatly exit the program in an unsafe fashion, e.g.
don't flush files.
If you have access to the host on which the program is running, you can
use faulthandler.register(signal) to install a signal handler to dump
the traceback when signal is received. On UNIX, for example, you can use
the SIGUSR1 signal: kill -USR1 <pid> will dump the current traceback.
This feature is not available on Windows. Output example:
Current thread 0x00007fdc3da74700:
File "Lib/test/crashers/infinite_loop_re.py", line 19 in <module>
Another possibility is to explicitly call faulthandler.dump_traceback()
in your program.
Integrated in Python 3.3
faulthandler is now part of Python 3.3 and has a nice documentation:
The new faulthandler module has already helped with tracking down race
conditions in Python buildbots. I hope that it will also help you in
Victor Stinner aka haypo