From timothy.crosley at gmail.com Thu Jan 2 01:48:39 2014 From: timothy.crosley at gmail.com (timothy.crosley at gmail.com) Date: Wed, 1 Jan 2014 16:48:39 -0800 (PST) Subject: isort - the automatic Python import sorter - version 3.0.0 released Message-ID: isort v 3.0.0 released with the following major features: - Built-in support for editorconfig config files (http://editorconfig.org/) - Support for consistent syntax when adding or removing imports - Improved handling of files that a user doesn't have permission to read - The ability to separate import sections with custom comments see more here: http://timothycrosley.github.io/isort/ From graffatcolmingov at gmail.com Sat Jan 4 22:58:05 2014 From: graffatcolmingov at gmail.com (Ian Cordasco) Date: Sat, 4 Jan 2014 15:58:05 -0600 Subject: github3.py 0.8.0 released! Message-ID: I am proud to announce the release of version 0.8.0 of github3.py, a wrapper for version 3 of GitHub's API. This version adds support for the recently finalized search functionality added to GitHub's API and support for the experimental releases API to allow users to create, edit, and delete Releases on GitHub. The library also now supports Two-Factor Authentication with GitHub's API. To download this new version simply `pip install github3.py`. For a full changelog and other documentation, please see: https://github3py.rtfd.org/ -- Ian Cordasco From limodou at gmail.com Sun Jan 5 06:06:10 2014 From: limodou at gmail.com (limodou) Date: Sun, 5 Jan 2014 13:06:10 +0800 Subject: [ANN]Uliweb 0.2.3 released! Message-ID: ## About Uliweb Uliweb is a full-stacked Python based web framework. It has three main design goals, they are: reusability, configurability, and replaceability. All the functionalities revolve around these goals. This project was created and lead by Limodou . ## License Uliweb is released under BSD license. ## Change Log * Update nginx support output, add proxy_set_header * Add `save_file()` function to orm, so you can save select result to a csv file * Add `save_file()` method to Result. * Fix missing `clear()` function of SortedDict. * Fix i18n process, for project and apps extraction, it'll create application first, so that user defined tag will be registered correctly. But user defined tag will be limited later. * Add `walk_dirs()` to utils/common.py. This function can ignore some files and file ext, and supports fnmatch pattern. ## Features * Project Organization * MVT(Model View Template) development model. * Distributed development but unified management. Uliweb organizes a project with small apps. Each app can have its own configuration file(settings.ini), template directory, and static directory. Existing apps can be easily reused, but are treated as a compound. web application project if configured as such. Developers can also reference static files and templates between apps, thus easing inter-application data exchange. All apps in a project are loaded by default if INSTALLED_APPS is not configured in the configuration file. All separate app configuration files are automatically processed at project startup. * URL Mapping * Flexiable and powerful URL mapping. Uliweb uses werkzeug's routing module. User can easily define a URL, which in turn can be easily bound with a view function. URLs can also be created reversely according to the view function name. It supports argument definitions in URLs and default URL mapping to a view function. * View and Template * View templates can be automatically applied. If you return a dict variable from view function, Uliweb will automatically try to match and apply a template according to the view function name. * Environment execution mode. Each view function will be run in an environment, which eliminates the need to write many import statements. Plus there are already many objects that can be used directly, for example: request, response, etc. This is DRY and saves a lot of coding * Developers can directly use Python code in a template, the Python code does not neede to be indented as long as a pass statement is added at the end of each code block. Uliweb also supports child template inclusion and inheritance. * ORM * Uliorm is the default ORM module but not configured by default. Developers are free to use any ORM module as preferred. * Uliorm supports model creation and automatic database migiration(table creation and table structure modification). * I18n * Can be used in python and template files. * Browser language and cookie settings are supported including automatic language switching. * Provides a command line tool that developers can use to extract .po files. This can happen either at the app level or project level process. It can automatically merge .pot files to existing .po files. * Extension * Dispatch extension. This is a dispatch processing mechanism that utilizes different types of dispatch points. So you can write procedures to carry out special processes and bind them to these dispatch points. For example, database initicalization, I18n process initialization, etc. * middleware extension. It's similar to Djangos. You can configure it in configuration files. Each middleware can process the request and response objets. * Special function calls in the views module initial process. If you write a special function named __begin__, it'll be processed before any view function can be processed, this allows developers to do some module level processing at that point, for example: check the user authentication, etc. * Command Line Tools * Creates project, creates apps, and include the basic essential directory structure, files and code. * Export static files, you can export all available apps' static files to a special directory. Also supports css and js combinition and compress process. * Startup a development web server thats supports debugging and autoreload. * Apps can also have its own command line tools. For example: orm, auth, etc. * Deployment * Supports mod_wsgi in Apache. * Supports uwsgi. * Development * Provide a development server, and can be automatically reload when some module files are modified. * Enhanced debugging, you can check the error traceback, template debugging is also supported. ## Commuity * Mailing List: http://groups.google.com/group/uliweb ## Links * **Uliweb** Project Homepage https://github.com/limodou/uliweb * **Uliweb-doc** Documentation Project http://github.com/limodou/uliweb-doc * **Uliweb-doc Online** Document http://limodou.github.com/uliweb-doc/ * **plugs** Uliweb Apps Collection Project https://github.com/limodou/plugs -- I like python! UliPad <>: http://code.google.com/p/ulipad/ UliWeb <>: https://github.com/limodou/uliweb My Blog: http://my.oschina.net/limodou From benjamin at python.org Sun Jan 5 02:08:18 2014 From: benjamin at python.org (Benjamin Peterson) Date: Sat, 04 Jan 2014 17:08:18 -0800 Subject: [RELEASED] six 1.5.0 Message-ID: <1388884098.1862.66664537.6EA46CF9@webmail.messagingengine.com> I'm happy to announce the immediate release of six 1.5.0. six is a Python 2/3 compatibility library designed to aid the same-source migration path. The new release can be downloaded on PyPI: https://pypi.python.org/pypi/six six.moves has been improved to act more like real modules. You should be able to import directly classes and functions from six.moves Python 2.4 support has been dropped as of this release. This is because py.test stopped supporting 2.4. I'd particularly like to thank Marc Abramowitz and Alexander Lukanin for contributing patches. Report bugs to https://bitbucket.org/gutworth/six Here is the complete changelog: - Removed support for Python 2.4. This is because py.test no longer supports 2.4. - Fix various import problems including issues #19 and #41. six.moves modules are now lazy wrappers over the underlying modules instead of the actual modules themselves. - Issue #49: Add six.moves mapping for tkinter.ttk. - Pull request #24: Add __dir__ special method to six.moves modules. - Issue #47: Fix add_metaclass on classes with a string for the __slots__ variable. - Issue #44: Fix interpretation of backslashes on Python 2 in the u() function. - Pull request #21: Add import mapping for urllib's proxy_bypass function. - Issue #43: Add import mapping for the Python 2 xmlrpclib module. - Issue #39: Add import mapping for the Python 2 thread module. - Issue #40: Add import mapping for the Python 2 gdbm module. - Issue #35: On Python versions less than 2.7, print_ now encodes unicode strings when outputing to standard streams. (Python 2.7 handles this automatically.) -- Regards, Benjamin From benjamin at python.org Sun Jan 5 06:20:24 2014 From: benjamin at python.org (Benjamin Peterson) Date: Sat, 04 Jan 2014 21:20:24 -0800 Subject: [Python-porting] [RELEASED] six 1.5.0 In-Reply-To: <1388884098.1862.66664537.6EA46CF9@webmail.messagingengine.com> References: <1388884098.1862.66664537.6EA46CF9@webmail.messagingengine.com> Message-ID: <1388899224.1714.66708221.567F05D1@webmail.messagingengine.com> Note I've just released six 1.5.1, which fixes a problem with the Django autoreloader. -- Regards, Benjamin On Sat, Jan 4, 2014, at 05:08 PM, Benjamin Peterson wrote: > I'm happy to announce the immediate release of six 1.5.0. six is a > Python 2/3 compatibility library designed to aid the same-source > migration path. The new release can be downloaded on PyPI: > > https://pypi.python.org/pypi/six > > six.moves has been improved to act more like real modules. You should be > able to import directly classes and functions from six.moves Python 2.4 > support has been dropped as of this release. This is because py.test > stopped supporting 2.4. > > I'd particularly like to thank Marc Abramowitz and Alexander Lukanin for > contributing patches. > > Report bugs to > > https://bitbucket.org/gutworth/six > > Here is the complete changelog: > > - Removed support for Python 2.4. This is because py.test no longer > supports > 2.4. > > - Fix various import problems including issues #19 and #41. six.moves > modules > are now lazy wrappers over the underlying modules instead of the > actual > modules themselves. > > - Issue #49: Add six.moves mapping for tkinter.ttk. > > - Pull request #24: Add __dir__ special method to six.moves modules. > > - Issue #47: Fix add_metaclass on classes with a string for the > __slots__ > variable. > > - Issue #44: Fix interpretation of backslashes on Python 2 in the u() > function. > > - Pull request #21: Add import mapping for urllib's proxy_bypass > function. > > - Issue #43: Add import mapping for the Python 2 xmlrpclib module. > > - Issue #39: Add import mapping for the Python 2 thread module. > > - Issue #40: Add import mapping for the Python 2 gdbm module. > > - Issue #35: On Python versions less than 2.7, print_ now encodes > unicode > strings when outputing to standard streams. (Python 2.7 handles this > automatically.) > > > -- > Regards, > Benjamin > _______________________________________________ > Python-porting mailing list > Python-porting at python.org > https://mail.python.org/mailman/listinfo/python-porting From larry at hastings.org Sun Jan 5 22:20:50 2014 From: larry at hastings.org (Larry Hastings) Date: Sun, 05 Jan 2014 13:20:50 -0800 Subject: [RELEASED] Python 3.4.0b2 Message-ID: <52C9CCB2.7080703@hastings.org> On behalf of the Python development team, I'm pleased to announce the second beta release of Python 3.4. This is a preview release, and its use is not recommended for production settings. Python 3.4 includes a range of improvements of the 3.x series, including hundreds of small improvements and bug fixes. Major new features and changes in the 3.4 release series include: * PEP 428, a "pathlib" module providing object-oriented filesystem paths * PEP 435, a standardized "enum" module * PEP 436, a build enhancement that will help generate introspection information for builtins * PEP 442, improved semantics for object finalization * PEP 443, adding single-dispatch generic functions to the standard library * PEP 445, a new C API for implementing custom memory allocators * PEP 446, changing file descriptors to not be inherited by default in subprocesses * PEP 450, a new "statistics" module * PEP 451, standardizing module metadata for Python's module import system * PEP 453, a bundled installer for the *pip* package manager * PEP 454, a new "tracemalloc" module for tracing Python memory allocations * PEP 456, a new hash algorithm for Python strings and binary data * PEP 3154, a new and improved protocol for pickled objects * PEP 3156, a new "asyncio" module, a new framework for asynchronous I/O Python 3.4 is now in "feature freeze", meaning that no new features will be added. The final release is projected for late February 2014. To download Python 3.4.0b2 visit: http://www.python.org/download/releases/3.4.0/ Please consider trying Python 3.4.0b2 with your code and reporting any new issues you notice to: http://bugs.python.org/ Enjoy! -- Larry Hastings, Release Manager larry at hastings.org (on behalf of the entire python-dev team and 3.4's contributors) From faassen at startifact.com Mon Jan 6 18:16:06 2014 From: faassen at startifact.com (Martijn Faassen) Date: Mon, 6 Jan 2014 18:16:06 +0100 Subject: Reg 0.3 released (generic function library) Message-ID: Hi there, I've just released Reg 0.3, a generic function library for Python. For more about the how and why of Reg, read: http://reg.readthedocs.org/en/latest/ Reg 0.3 supports Python 2.7 and PyPy, with experimental support for Python 3.3. https://pypi.python.org/pypi/reg To see Reg in action: Reg is foundational to the Morepath web framework, more documentation here: http://morepath.readthedocs.org Regards, Martijn From phil at riverbankcomputing.com Wed Jan 8 07:33:38 2014 From: phil at riverbankcomputing.com (Phil Thompson) Date: Wed, 08 Jan 2014 06:33:38 +0000 Subject: ANN: PyQt v5.2 Released Message-ID: <69bd17ff4486d1800198a172f30e1775@www.riverbankcomputing.com> PyQt5 v5.2 has been released and is available from http://www.riverbankcomputing.com/software/pyqt/download5. PyQt5 is a comprehensive set of bindings for v5 of Digia's Qt cross-platform application framework. It supports Python v3, v2.7 and v2.6. The highlights of this release include full support for Qt v5.2, and the QtBluetooth, QtPositioning, QtMacExtras, QtWinExtras and QtX11Extras modules. Windows installers are provided which contain everything needed for PyQt5 development (including Qt, Qt Designer, QScintilla, and MySQL, PostgreSQL, SQLite and ODBC drivers) except Python itself. Installers are provided for the 32 and 64 bit versions of Python v3.3. PyQt5 is implemented as a set of 27 extension modules including support for: - non-GUI infrastructure including event loops, threads, i18n, user and application settings, mapped files and shared memory - GUI infrastructure including window system integration, event handling, 2D graphics, basic imaging, fonts, OpenGL - a comprehensive set of desktop widgets - WebKit - full integration with Quick2 and QML allowing new Quick items to be implemented in Python and created in QML - event driven network programming - multimedia including cameras, audio and radios - Bluetooth - global positioning using satellite, Wi-Fi or text file sources - sensors including accelerometers, altimeters, compasses, gyroscopes, magnetometers, and light, pressure, proximity, rotation and temperature sensors - serial ports - SQL - printing - DBus - XPath, XQuery, XSLT and XML Schema validation - a help system for creating and viewing searchable documentation - unit testing of GUI applications. From bumens at dingens.org Fri Jan 10 11:35:03 2014 From: bumens at dingens.org (Volker Birk) Date: Fri, 10 Jan 2014 10:35:03 +0000 (UTC) Subject: pyPEG 2.15 released Message-ID: pyPEG now supports adding feeble things to the AST like automatically removed comments or whitespace. pyPEG is a quick and easy solution for creating a parser in Python programs. pyPEG uses a PEG like language in Python data structures to parse, so it can be used dynamically to parse nearly every context free language. The output is a plain Python data structure called pyAST, or, as an alternative, XML. pyPEG implements an intrinsic Packrat parser. Memoization is used for performance improvements. pyPEG is used by defining a data model with a grammar. Therefore it cannot only be used to parse text, but to compose text out of the language model, too. It can be used for code generation. You can find pyPEG2 in the PyPI repository. The homepage is here: . pyPEG is maintained in a Bitbucket repository at . Yours, VB. -- "Back when PHP had less than 100 functions and the function hashing mechanism was strlen(). In order to get a nice hash distribution of function names across the various function name lengths names were picked specifically to make them fit into a specific length bucket." (Rasmus Lerdorf) From limodou at gmail.com Mon Jan 13 10:33:42 2014 From: limodou at gmail.com (limodou) Date: Mon, 13 Jan 2014 17:33:42 +0800 Subject: [ANN]Uliweb 0.2.4 released! Message-ID: ## About Uliweb Uliweb is a full-stacked Python based web framework. It has three main design goals, they are: reusability, configurability, and replaceability. All the functionalities revolve around these goals. This project was created and lead by Limodou . ## License Uliweb is released under BSD license. ## Change Log * Fix ORM is not compatible with SQLAlchemy 0.9.1. Old style: ``` cond = None cond = (Blog.c.id==5) & None ``` will not right in 0.9.1, because None will not be skipped, so you can change above code `cond = None` to : ``` from sqlalchemy.sql import true cond = true() ``` or ``` from uliweb.orm import true cond = true() ``` * add `__contains__` to functions, so you can test if an API is already defined, just use: ``` 'flash' in functions ``` * Refact generic.py, remove `functions.flash` and `functions.get_fileserving` dependencies by default. * Fix `yield` support in view function, you can also used in gevent environment, for example: ``` @expose('/test') def test(): yield "
    " for i in range(10): yield "
  • %d
  • " % (i + 1) sleep(1) yield "
" ``` * Fix `rawsql()` bug for different database engine * Fix `jsonp()` dumps Chinese characters bug * Add `trim_path()` function to `utils/common.py`, it can trim a file path to limited length, for example: ``` >>> a = '/project/apps/default/settings.ini' >>> trim_path(a, 30) '.../apps/default/settings.ini' ``` Default limited length is 30. * Add ORM connection information output when given `-v` option in command line. And the password will be replace with `'*'`. For example: ``` $>uliweb syncdb -v Connection : mysql://blog:***@localhost/blog?charset=utf8 [default] Creating [1/1, blog] blog...EXISTED ``` * Add multiple apps support for `makeapp` command, so you can use : ``` uliweb makeapp a b c ``` to create `a`, `b`, `c` apps at once time. * Refactor `save_file()` process, add `headers` and `convertors` parameter. `headers` used to create csv header instead of using column name, but you can create alias name like this: ``` User.c.username.label(u"Name") ``` and `convertors` used to convert column value, for example: ``` def name(value, data): """ value is the column value data is the current record object """ return value + 'test' save_file(do_(select([User.c.name])), 'test.csv', convertors={'name':name}) ``` * Fix `call_view()` invoke `wrap_result` bug. Missing pass `handler` parameter to wrap_result. ## Features * Project Organization * MVT(Model View Template) development model. * Distributed development but unified management. Uliweb organizes a project with small apps. Each app can have its own configuration file(settings.ini), template directory, and static directory. Existing apps can be easily reused, but are treated as a compound. web application project if configured as such. Developers can also reference static files and templates between apps, thus easing inter-application data exchange. All apps in a project are loaded by default if INSTALLED_APPS is not configured in the configuration file. All separate app configuration files are automatically processed at project startup. * URL Mapping * Flexiable and powerful URL mapping. Uliweb uses werkzeug's routing module. User can easily define a URL, which in turn can be easily bound with a view function. URLs can also be created reversely according to the view function name. It supports argument definitions in URLs and default URL mapping to a view function. * View and Template * View templates can be automatically applied. If you return a dict variable from view function, Uliweb will automatically try to match and apply a template according to the view function name. * Environment execution mode. Each view function will be run in an environment, which eliminates the need to write many import statements. Plus there are already many objects that can be used directly, for example: request, response, etc. This is DRY and saves a lot of coding * Developers can directly use Python code in a template, the Python code does not neede to be indented as long as a pass statement is added at the end of each code block. Uliweb also supports child template inclusion and inheritance. * ORM * Uliorm is the default ORM module but not configured by default. Developers are free to use any ORM module as preferred. * Uliorm supports model creation and automatic database migiration(table creation and table structure modification). * I18n * Can be used in python and template files. * Browser language and cookie settings are supported including automatic language switching. * Provides a command line tool that developers can use to extract .po files. This can happen either at the app level or project level process. It can automatically merge .pot files to existing .po files. * Extension * Dispatch extension. This is a dispatch processing mechanism that utilizes different types of dispatch points. So you can write procedures to carry out special processes and bind them to these dispatch points. For example, database initicalization, I18n process initialization, etc. * middleware extension. It's similar to Djangos. You can configure it in configuration files. Each middleware can process the request and response objets. * Special function calls in the views module initial process. If you write a special function named __begin__, it'll be processed before any view function can be processed, this allows developers to do some module level processing at that point, for example: check the user authentication, etc. * Command Line Tools * Creates project, creates apps, and include the basic essential directory structure, files and code. * Export static files, you can export all available apps' static files to a special directory. Also supports css and js combinition and compress process. * Startup a development web server thats supports debugging and autoreload. * Apps can also have its own command line tools. For example: orm, auth, etc. * Deployment * Supports mod_wsgi in Apache. * Supports uwsgi. * Development * Provide a development server, and can be automatically reload when some module files are modified. * Enhanced debugging, you can check the error traceback, template debugging is also supported. ## Commuity * Mailing List: http://groups.google.com/group/uliweb ## Links * **Uliweb** Project Homepage https://github.com/limodou/uliweb * **Uliweb-doc** Documentation Project http://github.com/limodou/uliweb-doc * **Uliweb-doc Online** Document http://limodou.github.com/uliweb-doc/ * **plugs** Uliweb Apps Collection Project https://github.com/limodou/plugs -- I like python! UliPad <>: http://code.google.com/p/ulipad/ UliWeb <>: https://github.com/limodou/uliweb My Blog: http://my.oschina.net/limodou From s.feltman at gmail.com Tue Jan 14 04:02:51 2014 From: s.feltman at gmail.com (Simon Feltman) Date: Mon, 13 Jan 2014 19:02:51 -0800 Subject: PyGObject 3.11.4 Released Message-ID: I am pleased to announce version 3.11.4 of the Python bindings for GObject. This is the fourth alpha release of the 3.11.x series for GNOME 3.12. Notable additions in this release include demos showing off CSS with GTK+ thanks to Gian Mario Tagliaretti. While these demos are not currently included in the in the release tarball, they are available in our git repository: https://git.gnome.org/browse/pygobject/tree/demos/gtk-demo Python doc strings for introspected classes and functions have been updated. Classes now list available constructors with their function signatures and type annotations. Function doc strings now accurately present their signatures and no longer include implicit arguments like list lengths. Download ======== The new release is available from ftp.gnome.org: https://download.gnome.org/sources/pygobject/3.11/pygobject-3.11.4.tar.xz (497K) sha256sum: 073bc913bfafcbdad5578a976022d60c4f13707489e7fb83c492ca17327e9ab7 What?s new since PyGObject 3.11.4 ================================= - Add enum and flags member methods (Simon Feltman) (#693099) - overrides: Fix __repr__ for various Gdk structs (Simon Feltman) - python.m4: g/c JD_PYTHON_CHECK_VERSION (Patrick Welche) (#721662) - Support union creation with PyGIStruct (Simon Feltman) - docs: List constructors in object and struct doc strings (Simon Feltman) (#708060) - docs: Fix array length argument skipping with preceding out arguments - docs: Add return values and skip implicit out arguments in functions (Simon Feltman) (#697356) - docs: Skip implicit array length args when building function doc strings (Simon Feltman) (#697356) - gtk-demo: Add CSS demos (Gian Mario Tagliaretti) (#719722) - build: Avoid clash between gi/types.py and stdlib (Colin Watson) (#721025) 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. From mal at python.org Tue Jan 14 18:07:23 2014 From: mal at python.org (M.-A. Lemburg) Date: Tue, 14 Jan 2014 18:07:23 +0100 Subject: ANN: Python Events Calendar - Please submit your 2014 events Message-ID: <52D56ECB.8000501@python.org> [Please help spread the word by forwarding to other relevant mailing lists, user groups, etc. world-wide; thanks :-)] ________________________________________________________________________ ANNOUNCING Python Events Calendars - Please submit your 2014 events maintained by the Python Software Foundation (PSF) and a group of volunteers ________________________________________________________________________ INTRODUCTION As some of you may know, the PSF has put together a team of volunteers who are maintaining a central Python events calendar. We currently have two calendars in place: * Python Events Calendar - meant for conferences and larger gatherings focusing on Python or a related technology (in whole or in part) * Python User Group Calendar - meant for user group events and other smaller local events The calendars are displayed on http://pycon.org/ and in a smaller version in the sidebar of the http://python.org/ website. You can subscribe to the calendars using iCal and RSS feeds and also embed the calendar widgets on your sites. Please see our wiki page for details: https://wiki.python.org/moin/PythonEventsCalendar The calendars are open to the world-wide Python community, so you can have local user group events, as well as regional and international conference events added to the calendars. ________________________________________________________________________ NEWS Created in Oct 2012, the project has been proven to be a success as you can see in the past events listed in the calendars. We would like to encourage everyone to submit their 2014 events, so that the Python community can get a better overview over what's happening in Python land. ________________________________________________________________________ ADDING EVENTS If you want to have entries added to those calendars, please write to events at python.org and include the following information: * Name of the event * Type of the event (conference, bar camp, user group, etc) * Focus on Python and approximate size * URL * Location and country * Date and time (if relevant) For recurring events, please also include a description of the recurrence in a way that's compatible and supported by Google calendars. ________________________________________________________________________ MORE INFORMATION More information on the calendars, the URLs, feed links, IDs, embedding, etc. is available on the wiki: https://wiki.python.org/moin/PythonEventsCalendar Enjoy, -- Marc-Andre Lemburg Director Python Software Foundation http://www.python.org/psf/ From info at wingware.com Wed Jan 15 14:38:11 2014 From: info at wingware.com (Wingware) Date: Wed, 15 Jan 2014 08:38:11 -0500 Subject: Wing IDE 5.0.2 released Message-ID: <52D68F43.1030602@wingware.com> Hi, Wingware has released version 5.0.2 of Wing IDE, our integrated development environment designed specifically for the Python programming language. Wing IDE includes a professional quality code editor with vi, emacs, and other key bindings, auto-completion, call tips, refactoring, context-aware auto-editing, a powerful graphical debugger, version control, unit testing, search, and many other features. For details see http://wingware.com/ Changes in this minor release include: * Support for matplotlib with Anaconda * Support for Django 1.6 * Preference to auto-add EOL at end of files * Preference to disable mouse wheel font zoom * Fix code analysis in files containing \r EOLs * Fix typing in middle of toolbar search * Improve look of tabbed areas in dark color palettes * Fix problems with backspace at start of line * Fix VI mode : commands * Fix dragging tools back into main window * 30 other bug fixes For details see http://wingware.com/pub/wingide/5.0.2/CHANGELOG.txt New features in Wing 5 include: * Now runs native on OS X * Draggable tools and editors * Configurable toolbar and editor & project context menus * Optionally opens a different sets of files in each editor split * Lockable editor splits * Optional Python Turbo completion (context-appropriate completion on all non-symbol keys) * Sharable color palettes and syntax highlighting configurations * Auto-editing is on by default (except some operations that have a learning curve) * Named file sets * Sharable launch configurations * Asynchronous I/O in Debug Probe and Python Shell * Expanded and rewritten tutorial * Support for Python 3.4 and Django 1.6 For more information on what's new in Wing 5, see http://wingware.com/wingide/whatsnew Free trial: http://wingware.com/wingide/trial Downloads: http://wingware.com/downloads Feature matrix: http://wingware.com/wingide/features Sales: http://wingware.com/store/purchase Upgrades: https://wingware.com/store/upgrade Questions? Don't hesitate to email us at support at wingware.com. Thanks, -- Stephan Deibel Wingware | Python IDE Advancing Software Development www.wingware.com From mal at europython.eu Fri Jan 17 13:38:20 2014 From: mal at europython.eu (M.-A. Lemburg) Date: Fri, 17 Jan 2014 13:38:20 +0100 Subject: EuroPython has a new blog Message-ID: <52D9243C.704@europython.eu> The EuroPython Society has setup a new blog for EuroPython in its efforts to provide more conference facilities for the EuroPython organization and to enhance the EuroPython attendee experience. http://blog.europython.eu/ There?s an RSS feed in case you want to subscribe to it: http://blog.europython.eu/rss The blog itself is hosted on Tumblr, so you can also follow the blog using your Tumblr account: log in, visit the blog and click ?Follow" in the upper right corner: http://www.tumblr.com/follow/europython If you?re looking for older blog entries, please check the EuroPython 2013 blog, which lists the entries for 2011-2013: https://ep2013.europython.eu/blog/ Enjoy, -- Marc-Andre Lemburg Director EuroPython Society http://www.europython-society.org/ From mal at europython.eu Fri Jan 17 13:39:16 2014 From: mal at europython.eu (M.-A. Lemburg) Date: Fri, 17 Jan 2014 13:39:16 +0100 Subject: EuroPython Society website now live Message-ID: <52D92474.4060308@europython.eu> The EuroPython Society has created a new website to collect information on EuroPython, the society and its workings: http://www.europython-society.org/ For those who don?t know: the society is a Swedish non-profit organization which was formed in 2004 by the EuroPython organizers to put on EuroPython conferences. A new board was voted in at the EuroPython 2012 conference: https://ep2013.europython.eu/blog/2012/07/08/change-board-europython-society Given the size of EuroPython conferences, we?re working on formalizing the EuroPython selection process, providing resources and arranging with local teams to run EuroPython conferences: http://www.europython-society.org/cfp We consider the EuroPython Society the representation of the EuroPython attendees, so if you have questions, requests for improvements or other ideas on how to improve the series, please feel free to contact us: http://www.europython-society.org/contact You can also become members of the EuroPython Society at no charge and then vote at the general assembly of the society. Please visit our members page for more information: http://www.europython-society.org/members Enjoy, -- Marc-Andre Lemburg Director EuroPython Society http://www.europython-society.org/ From robertwb at gmail.com Sun Jan 19 00:16:27 2014 From: robertwb at gmail.com (Robert Bradshaw) Date: Sat, 18 Jan 2014 15:16:27 -0800 Subject: Cython 0.20 release Message-ID: I'm happy to announce the release of Cython 0.20. You can download it directly from the Cython site at http://cython.org/ or from PyPI at https://pypi.python.org/pypi/Cython/0.20 . There are a significant number of new features and bug fixes in this release, for a summary see https://github.com/cython/cython/blob/8d4d615c49e858fc61663bd3b335ffde593c2840/CHANGES.rst . Documentation is up at http://docs.cython.org/0.20/. Many thanks to all those who contributed. - Robert From timothy.crosley at gmail.com Sun Jan 19 16:29:04 2014 From: timothy.crosley at gmail.com (timothy.crosley at gmail.com) Date: Sun, 19 Jan 2014 07:29:04 -0800 (PST) Subject: Frosted - The fast and simple Python code checker - V 1.0.0 released Message-ID: <2b137e01-f752-4449-a343-725c5fe9ea4c@googlegroups.com> Pyflakes has been forked to create Frosted: a simple, fast, and well documented Python code checker. See more here: https://github.com/timothycrosley/frosted From georg at python.org Sun Jan 19 19:07:24 2014 From: georg at python.org (Georg Brandl) Date: Sun, 19 Jan 2014 19:07:24 +0100 Subject: Sphinx 1.2.1 released Message-ID: <52DC145C.5000205@python.org> -----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 Hi all, I'm very happy to announce the release of Sphinx 1.2.1, now available on the Python package index at . It includes about 42 bug fixes for the 1.2 release series. What's new in 1.2 (very short version)? ======================================= - - Dropped Python 2.4 support - - Added Python 3.3 support - - Improvement of internationalization - - Improvement of builders: html, texinfo, latex and gettext. - - Added builders: xml and pseudoxml - - Added sphinx.ext.linkcode extension - - Added more non-ASCII code point characters path support - - Added theme plugin mechanism - - Added and update 10 locales - - Added experimental support for parallel building with a new -j option - - Added docs: detailed "Installing Sphinx" and "Sphinx Developer's Guide" For the full changelog, go to . Thanks to all collaborators and contributors! What is it? =========== Sphinx is a tool that makes it easy to create intelligent and beautiful documentation for Python projects (or other documents consisting of multiple reStructuredText source files). Website: http://sphinx-doc.org/ IRC: #sphinx-doc on irc.freenode.net cheers, Georg -----BEGIN PGP SIGNATURE----- Version: GnuPG v2.0.22 (GNU/Linux) iEYEARECAAYFAlLcFFwACgkQN9GcIYhpnLCk+gCeNtGjxCL8KH+CU0SR5EvBmMy7 I6UAnjJi5HRcnKSAm7Q6pn/gZNYjRqgO =hMR6 -----END PGP SIGNATURE----- From ralf at systemexit.de Mon Jan 20 23:25:56 2014 From: ralf at systemexit.de (Ralf Schmitt) Date: Mon, 20 Jan 2014 23:25:56 +0100 Subject: [ANN] pypiserver 1.1.5 - minimal private pypi server Message-ID: <87ha8y70jv.fsf@myhost.lan> Hi, I've just uploaded pypiserver 1.1.5 to the python package index. pypiserver is a minimal PyPI compatible server. It can be used to serve a set of packages and eggs to easy_install or pip. pypiserver is easy to install (i.e. just 'pip install pypiserver'). It doesn't have any external dependencies. https://pypi.python.org/pypi/pypiserver/ should contain enough information to easily get you started running your own PyPI server in a few minutes. The code is available on github: https://github.com/schmir/pypiserver I didn't announce the previous version, so here's the changelog for the last two versions: 1.1.5 (2014-01-20) ------------------ - only list devpi-server and proxypypi as alternatives - fix wheel file handling for certain wheels - serve wheel files as application/octet-stream - make pypiserver executable from wheel file - build universal wheel - remove scripts subdirectory - add --index-url cli parameter 1.1.4 (2014-01-03) ------------------ - make pypiserver compatible with pip 1.5 (https://github.com/schmir/pypiserver/pull/42) -- Cheers Ralf From sumerc at gmail.com Tue Jan 21 14:55:26 2014 From: sumerc at gmail.com (=?UTF-8?Q?S=C3=BCmer_Cip?=) Date: Tue, 21 Jan 2014 15:55:26 +0200 Subject: ANN: Yappi 0.82 Message-ID: Hi all, Yet Another Python Profiler v0.82 is out: Lots of bugfixes/improvements over the existing API. Features: - Profiler results can be saved in callgrind and pstat formats. (*new in 0.82*) - Profiler results can be merged from different sessions on-the-fly. (*new in 0.82*) - Profiler results can be easily converted to pstats. (*new in 0.82*) - Profiling of multithreaded Python applications transparently. - Supports profiling per-thread CPU time (*new in 0.62*) - Profiler can be started from any thread at any time. - Ability to get statistics at any time without even stopping the profiler. - Various flags to arrange/sort profiler results. - Supports Python 2.6.x <= x <= Python 3.4 See: https://code.google.com/p/yappi/ -- S?mer Cip From josiah.carlson at gmail.com Tue Jan 21 16:44:00 2014 From: josiah.carlson at gmail.com (Josiah Carlson) Date: Tue, 21 Jan 2014 07:44:00 -0800 Subject: ANN: rom 0.25.0 - Redis object mapper for Python Message-ID: Hey everyone, Big change today: rom now supports fast prefix, suffix, and pattern match queries over your data. The method is based on the autocomplete process described in my book, Redis in Action 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/rom https://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.25.0 ----------------------------------- [changed] version numbers to account for bugfixes vs. feature updates. [added] columns can now be defined to allow for prefix and/or suffix queries. Enabling prefix queries also enables arbitrary pattern matching over your data. [fixed] in some cases, rom would allow the definition of multiple primary keys, of which only one would ever be used (inconsistently). This will now result in an error. [changed] defaulted to assume Lua is available on Redis, which has been released for over 15 months at this point. You can disable support via a call to rom._disable_lua_writes(). [added] the ability to cache and get the key that holds the result of a query, which can be used for pagination, etc. See: Query.cached_result() [warning] using rom versions of 0.23 with 0.25.0 when prefix and suffix indexes are enabled can result in improper results from prefix, suffix, and/or pattern queries, and can result in orphan data living in prefix or suffix indexes. Upgrade all of your clients! [changed] temporary keys for queries are now prefixed with the name of the model over which queries are being executed on. This should effect basically zero people, but can allow for query cleanup in the off chance of a failure during execution. #----------------------------- 0.23 (unreleased) ----------------------------- [changed] reduced number of round trips for single-filter queries by 1, thanks to https://github.com/MickeyKim for the report. #----------------------------------- 0.22 ------------------------------------ [fixed] size estimation for intersection ordering when filtering has now been fixed, thank you to https://github.com/MickeyKim for the report and the change (should improve performance). [fixed] an issue with some types when trying to update attributes has now been fixed, thank you to https://github.com/denisvolokh for the report. [changed] improved performance for simple numeric range queries of the form Model.get_by(attr=value) or Model.get_by(attr=(min, max)) by roughly a factor of 60x or better in some cases. Thank you to https://github.com/MickeyKim for the report on poor performance. #----------------------------------- 0.21 ------------------------------------ [fixed] upload for rom 0.20 was missing new columns.py, now fixed From stw at openerp.com Wed Jan 22 18:16:33 2014 From: stw at openerp.com (=?utf-8?q?St=C3=A9phane?= Wirtel) Date: Wed, 22 Jan 2014 18:16:33 +0100 Subject: [ANN] Python Dinner at FOSDEM 2014 Message-ID: <65CF49D4-F55D-49C6-95C5-6A63E475AA82@openerp.com> Dear Pythonista friends, write down in your agenda the date of the next AFPyro! The next Aperos Python Belgium will take place on saturday, February 1st in Brussels, during the FOSDEM conference that takes place at ULB from 1st to 2nd February. In addition to the regulars of AFPyro, we are also pleased to meet the attendees of FOSDEM using Python. As usual, you can come just for drinking and sharing one (or many) drinks or if you wish, you can also register for the meal that follows, in a near place, at ?Chez L?on? for 20:30, rue des Bouchers 18, B-1000 Brussels. Meeting from 18:45, on first floor of Delirium cafe, Impasse De La Fid?lit? 4, 1000 Brussels. If you are a FOSDEM attendee, you can meet us at the Python stand, 1st floor of K Building, from 18h to go to Delirium cafe together. Please sign up in order to book the place: http://doodle.com/mn3yck6n3xxidsim Further information about the next AFPyros in Belgium: Aperos Python Belgium Here is the official Announce: http://afpyro.afpy.org/dates/2014/2014_02_01.html Regards, St?phane Wirtel From francesc at continuum.io Sun Jan 26 08:52:19 2014 From: francesc at continuum.io (Francesc Alted) Date: Sun, 26 Jan 2014 08:52:19 +0100 Subject: ANN: BLZ 0.6.1 has been released Message-ID: <52E4BEB3.5070003@continuum.io> Announcing BLZ 0.6 series ========================= What it is ---------- BLZ is a chunked container for numerical data. Chunking allows for efficient enlarging/shrinking of data container. In addition, it can also be compressed for reducing memory/disk needs. The compression process is carried out internally by Blosc, a high-performance compressor that is optimized for binary data. The main objects in BLZ are `barray` and `btable`. `barray` is meant for storing multidimensional homogeneous datasets efficiently. `barray` objects provide the foundations for building `btable` objects, where each column is made of a single `barray`. Facilities are provided for iterating, filtering and querying `btables` in an efficient way. You can find more info about `barray` and `btable` in the tutorial: http://blz.pydata.org/blz-manual/tutorial.html BLZ can use numexpr internally so as to accelerate many vector and query operations (although it can use pure NumPy for doing so too) either from memory or from disk. In the future, it is planned to use Numba as the computational kernel and to provide better Blaze (http://blaze.pydata.org) integration. What's new ---------- BLZ has been branched off from the Blaze project (http://blaze.pydata.org). BLZ was meant as a persistent format and library for I/O in Blaze. BLZ in Blaze is based on previous carray 0.5 and this is why this new version is labeled 0.6. BLZ supports completely transparent storage on-disk in addition to memory. That means that *everything* that can be done with the in-memory container can be done using the disk as well. The advantages of a disk-based container is that the addressable space is much larger than just your available memory. Also, as BLZ is based on a chunked and compressed data layout based on the super-fast Blosc compression library, the data access speed is very good. The format chosen for the persistence layer is based on the 'bloscpack' library and described in the "Persistent format for BLZ" chapter of the user manual ('docs/source/persistence-format.rst'). More about Bloscpack here: https://github.com/esc/bloscpack You may want to know more about BLZ in this blog entry: http://continuum.io/blog/blz-format In this version, support for Blosc 1.3 has been added, that meaning that a new `cname` parameter has been added to the `bparams` class, so that you can select you preferred compressor from 'blosclz', 'lz4', 'lz4hc', 'snappy' and 'zlib'. Also, many bugs have been fixed, providing a much smoother experience. CAVEAT: The BLZ/bloscpack format is still evolving, so don't trust on forward compatibility of the format, at least until 1.0, where the internal format will be declared frozen. Resources --------- Visit the main BLZ site repository at: http://github.com/ContinuumIO/blz Read the online docs at: http://blz.pydata.org/blz-manual/index.html Home of Blosc compressor: http://www.blosc.org User's mail list: blaze-dev at continuum.io ---- Enjoy! Francesc Alted Continuum Analytics, Inc. From francesc at continuum.io Sun Jan 26 08:54:22 2014 From: francesc at continuum.io (Francesc Alted) Date: Sun, 26 Jan 2014 08:54:22 +0100 Subject: ANN: python-blosc 1.2.0 released Message-ID: <52E4BF2E.1090502@continuum.io> ============================= Announcing python-blosc 1.2.0 ============================= What is new? ============ This release adds support for the multiple compressors added in Blosc 1.3 series. The new compressors are: * lz4 (http://code.google.com/p/lz4/): A very fast compressor/decompressor. Could be thought as a replacement of the original BloscLZ, but it can behave better is some scenarios. * lz4hc (http://code.google.com/p/lz4/): This is a variation of LZ4 that achieves much better compression ratio at the cost of being much slower for compressing. Decompression speed is unaffected (and sometimes better than when using LZ4 itself!), so this is very good for read-only datasets. * snappy (http://code.google.com/p/snappy/): A very fast compressor/decompressor. Could be thought as a replacement of the original BloscLZ, but it can behave better is some scenarios. * zlib (http://www.zlib.net/): This is a classic. It achieves very good compression ratios, at the cost of speed. However, decompression speed is still pretty good, so it is a good candidate for read-only datasets. Selecting the compressor is just a matter of specifying the new `cname` parameter in compression functions. For example:: in = numpy.arange(N, dtype=numpy.int64) out = blosc.pack_array(in, cname="lz4") Just to have an overview of the differences between the different compressors in new Blosc, here it is the output of the included compress_ptr.py benchmark: https://github.com/ContinuumIO/python-blosc/blob/master/bench/compress_ptr.py that compresses/decompresses NumPy arrays with different data distributions:: Creating different NumPy arrays with 10**7 int64/float64 elements: *** np.copy() **** Time for memcpy(): 0.030 s *** the arange linear distribution *** *** blosclz *** Time for comp/decomp: 0.013/0.022 s. Compr ratio: 136.83 *** lz4 *** Time for comp/decomp: 0.009/0.031 s. Compr ratio: 137.19 *** lz4hc *** Time for comp/decomp: 0.103/0.021 s. Compr ratio: 165.12 *** snappy *** Time for comp/decomp: 0.012/0.045 s. Compr ratio: 20.38 *** zlib *** Time for comp/decomp: 0.243/0.056 s. Compr ratio: 407.60 *** the linspace linear distribution *** *** blosclz *** Time for comp/decomp: 0.031/0.036 s. Compr ratio: 14.27 *** lz4 *** Time for comp/decomp: 0.016/0.033 s. Compr ratio: 19.68 *** lz4hc *** Time for comp/decomp: 0.188/0.020 s. Compr ratio: 78.21 *** snappy *** Time for comp/decomp: 0.020/0.032 s. Compr ratio: 11.72 *** zlib *** Time for comp/decomp: 0.290/0.048 s. Compr ratio: 90.90 *** the random distribution *** *** blosclz *** Time for comp/decomp: 0.083/0.025 s. Compr ratio: 4.35 *** lz4 *** Time for comp/decomp: 0.022/0.034 s. Compr ratio: 4.65 *** lz4hc *** Time for comp/decomp: 1.803/0.039 s. Compr ratio: 5.61 *** snappy *** Time for comp/decomp: 0.028/0.023 s. Compr ratio: 4.48 *** zlib *** Time for comp/decomp: 3.146/0.073 s. Compr ratio: 6.17 That means that Blosc in combination with LZ4 can compress at speeds that can be up to 3x faster than a pure memcpy operation. Decompression is a bit slower (but still in the same order than memcpy()) probably because writing to memory is slower than reading. This was using an Intel Core i5-3380M CPU @ 2.90GHz, runnng Python 3.3 and Linux 3.7.10, but YMMV (and will vary!). For more info, you can have a look at the release notes in: https://github.com/ContinuumIO/python-blosc/wiki/Release-notes More docs and examples are available in the documentation site: http://blosc.pydata.org What is it? =========== python-blosc (http://blosc.pydata.org/) is a Python wrapper for the Blosc compression library. Blosc (http://blosc.org) is a high performance compressor optimized for binary data. It has been designed to transmit data to the processor cache faster than the traditional, non-compressed, direct memory fetch approach via a memcpy() OS call. Whether this is achieved or not depends of the data compressibility, the number of cores in the system, and other factors. See a series of benchmarks conducted for many different systems: http://blosc.org/trac/wiki/SyntheticBenchmarks. Blosc works well for compressing numerical arrays that contains data with relatively low entropy, like sparse data, time series, grids with regular-spaced values, etc. There is also a handy command line for Blosc called Bloscpack (https://github.com/esc/bloscpack) that allows you to compress large binary datafiles on-disk. Although the format for Bloscpack has not stabilized yet, it allows you to effectively use Blosc from your favorite shell. Installing ========== python-blosc is in PyPI repository, so installing it is easy: $ pip install -U blosc # yes, you should omit the python- prefix Download sources ================ The sources are managed through github services at: http://github.com/ContinuumIO/python-blosc Documentation ============= There is Sphinx-based documentation site at: http://blosc.pydata.org/ Mailing list ============ There is an official mailing list for Blosc at: blosc at googlegroups.com http://groups.google.es/group/blosc Licenses ======== Both Blosc and its Python wrapper are distributed using the MIT license. See: https://github.com/ContinuumIO/python-blosc/blob/master/LICENSES for more details. ---- **Enjoy data!** -- Francesc Alted Continuum Analytics, Inc. From francesc at continuum.io Sun Jan 26 08:56:03 2014 From: francesc at continuum.io (Francesc Alted) Date: Sun, 26 Jan 2014 08:56:03 +0100 Subject: ANN: numexpr 2.3 released Message-ID: <52E4BF93.4030108@continuum.io> ========================== Announcing Numexpr 2.3 ========================== 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 MKL (Math Kernel Library), 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. Look here for a some benchmarks of numexpr using MKL: https://github.com/pydata/numexpr/wiki/NumexprMKL Its only dependency is NumPy (MKL is optional), so it works well as an easy-to-deploy, easy-to-use, computational engine for projects that don't want to adopt other solutions requiring more heavy dependencies. What's new ========== The repository has been migrated to https://github.com/pydata/numexpr. All new tickets and PR should be directed there. Also, a `conj()` function for computing the conjugate of complex arrays has been added. Thanks to David Men?ndez. See PR #125. Finallly, we fixed a DeprecationWarning derived of using ``oa_ndim == 0`` and ``op_axes == NULL`` when using `NpyIter_AdvancedNew()` and NumPy 1.8. Thanks to Mark Wiebe for advise on how to fix this properly. Many thanks to Christoph Gohlke and Ilan Schnell for his help during the testing of this release in all kinds of possible combinations of platforms and MKL. In case you want to know more in detail what has changed in this version, see: https://github.com/pydata/numexpr/wiki/Release-Notes or have a look at RELEASE_NOTES.txt in the tarball. Where I can find Numexpr? ========================= The project is hosted at GitHub in: https://github.com/pydata/numexpr You can get the packages from PyPI as well (but not for RC releases): 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 From larry at hastings.org Mon Jan 27 07:21:51 2014 From: larry at hastings.org (Larry Hastings) Date: Sun, 26 Jan 2014 22:21:51 -0800 Subject: [RELEASED] Python 3.4.0b3 Message-ID: <52E5FAFF.1080901@hastings.org> On behalf of the Python development team, I'm quite pleased to announce the third beta release of Python 3.4. This is a preview release, and its use is not recommended for production settings. Python 3.4 includes a range of improvements of the 3.x series, including hundreds of small improvements and bug fixes. Major new features and changes in the 3.4 release series include: * PEP 428, a "pathlib" module providing object-oriented filesystem paths * PEP 435, a standardized "enum" module * PEP 436, a build enhancement that will help generate introspection information for builtins * PEP 442, improved semantics for object finalization * PEP 443, adding single-dispatch generic functions to the standard library * PEP 445, a new C API for implementing custom memory allocators * PEP 446, changing file descriptors to not be inherited by default in subprocesses * PEP 450, a new "statistics" module * PEP 451, standardizing module metadata for Python's module import system * PEP 453, a bundled installer for the *pip* package manager * PEP 454, a new "tracemalloc" module for tracing Python memory allocations * PEP 456, a new hash algorithm for Python strings and binary data * PEP 3154, a new and improved protocol for pickled objects * PEP 3156, a new "asyncio" module, a new framework for asynchronous I/O Python 3.4 is now in "feature freeze", meaning that no new features will be added. The final release is projected for mid-March 2014. To download Python 3.4.0b3 visit: http://www.python.org/download/releases/3.4.0/ Please consider trying Python 3.4.0b3 with your code and reporting any new issues you notice to: http://bugs.python.org/ Enjoy! -- Larry Hastings, Release Manager larry at hastings.org (on behalf of the entire python-dev team and 3.4's contributors) From georg at python.org Mon Jan 27 08:36:46 2014 From: georg at python.org (Georg Brandl) Date: Mon, 27 Jan 2014 08:36:46 +0100 Subject: [RELEASED] Python 3.3.4 release candidate 1 Message-ID: <52E60C8E.1050908@python.org> -----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 On behalf of the Python development team, I'm reasonably happy to announce the Python 3.3.4 release candidate 1. Python 3.3.4 includes several security fixes and over 120 bug fixes compared to the Python 3.3.3 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 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.4, see http://docs.python.org/3.3/whatsnew/changelog.html To download Python 3.3.4 rc1 visit: http://www.python.org/download/releases/3.3.4/ 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 February. 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) iEYEARECAAYFAlLmDI4ACgkQN9GcIYhpnLAr6wCePRbHF80k5goV4RUDBA5FfkwF rLUAnRg0RpL/b6apv+Dt2/sgnUd3hTPA =Z4Ss -----END PGP SIGNATURE----- From max at alcyone.com Tue Jan 28 10:19:20 2014 From: max at alcyone.com (Erik Max Francis) Date: Tue, 28 Jan 2014 01:19:20 -0800 Subject: ANN: EmPy 3.3.2 released (Python 3.x compatibility) Message-ID: Summary A powerful and robust templating system for Python. Overview EmPy is a system for embedding Python expressions and statements in template text; it takes an EmPy source file, processes it, and produces output. This is accomplished via expansions, which are special signals to the EmPy system and are set off by a special prefix (by default the at sign, '@'). EmPy can expand arbitrary Python expressions and statements in this way, as well as a variety of special forms. Textual data not explicitly delimited in this way is sent unaffected to the output, allowing Python to be used in effect as a markup language. Also supported are callbacks via hooks, recording and playback via diversions, and dynamic, chainable filters. The system is highly configurable via command line options and embedded commands. Expressions are embedded in text with the '@(...)' notation; variations include conditional expressions with '@(...?...!...)' and the ability to handle thrown exceptions with '@(...$...)'. As a shortcut, simple variables and expressions can be abbreviated as '@variable', '@object.attribute', '@function(arguments)', '@sequence' [index], and combinations. Full-fledged statements are embedded with '@{...}'. Control flow in terms of conditional or repeated expansion is available with '@[...]'. A '@' followed by a whitespace character (including a newline) expands to nothing, allowing string concatenations and line continuations. Comments are indicated with '@#' and consume the rest of the line, up to and including the trailing newline. '@%' indicate "significators," which are special forms of variable assignment intended to specify per-file identification information in a format which is easy to parse externally. Context name and line number changes can be done with '@?' and '@!' respectively. '@<...>' markups are customizeable by the user and can be used for any desired purpose. Escape sequences analogous to those in C can be specified with '@\...', and finally a '@@' sequence expands to a single literal at sign. Getting the software The current version of empy is 3.3.2. The latest version of the software is available in a tarball here: http://www.alcyone.com/software/empy/empy-latest.tar.gz. The official URL for this Web site is http://www.alcyone.com/software/empy/. Requirements EmPy should work with any version of Python from 2.4 onward, including 3.x. License This code is released under the LGPL. .... Release history [since 3.3] - 3.3.2; 2014 Jan 24. Additional fix for source compatibility between 2.x and 3.0. - 3.3.1; 2014 Jan 22. Source compatibility for 2.x and 3.0; 1.x and Jython compatibility dropped. -- Erik Max Francis && max at alcyone.com && http://www.alcyone.com/max/ San Jose, CA, USA && 37 18 N 121 57 W && AIM/Y!M/Jabber erikmaxfrancis Sitting in the den and / Looking at the phone as if it owed / Owed me a favor -- Blu Cantrell From info at egenix.com Tue Jan 28 17:47:44 2014 From: info at egenix.com (eGenix Team: M.-A. Lemburg) Date: Tue, 28 Jan 2014 17:47:44 +0100 Subject: ANN: eGenix pyOpenSSL Distribution 0.13.3.1.0.1.6 Message-ID: <52E7DF30.50206@egenix.com> ________________________________________________________________________ ANNOUNCING eGenix.com pyOpenSSL Distribution Version 0.13.3.1.0.1.6 An easy-to-install and easy-to-use distribution of the pyOpenSSL Python interface for OpenSSL - 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-pyOpenSSL-Distribution-0.13.3.1.0.1.6.html ________________________________________________________________________ INTRODUCTION The eGenix.com pyOpenSSL Distribution includes everything you need to get started with SSL in Python. It comes with an easy-to-use installer that includes the most recent OpenSSL library versions in pre-compiled form, making your application independent of OS provided OpenSSL libraries: http://www.egenix.com/products/python/pyOpenSSL/ pyOpenSSL is an open-source Python add-on that allows writing SSL/TLS- aware network applications as well as certificate management tools: https://launchpad.net/pyopenssl/ OpenSSL is an open-source implementation of the SSL/TLS protocol: http://www.openssl.org/ ________________________________________________________________________ NEWS This new release of the eGenix.com pyOpenSSL Distribution updates the included pyOpenSSL and OpenSSL versions: New in the eGenix pyOpenSSL Distribution ---------------------------------------- * Updated pyOpenSSL to the upstream trunk revision 171 (pyOpenSSL version 0.13.1+). * Added work-around for compiling pyOpenSSL trunk revision 171 on Windows with OpenSSL 1.0.0 and later. * Included support for TLS 1.1 and 1.2 in pyOpenSSL (rev 171). Please see the TLS support section in the documentation for details. http://www.egenix.com/products/python/pyOpenSSL/doc/#TLS_support * Added SSL.OP_NO_COMPRESSION and SSL.OP_SINGLE_ECDH_USE context options to be able to address the CRIME attack and allow for more secure elliptic curve Diffie-Hellman key exchange setups. * Added HTML Sphinx documentation from the pyOpenSSL trunk version to the package. An online version is available from our website: http://www.egenix.com/products/python/pyOpenSSL/doc/pyopenssl.html * Updated the included CA bundles to the latest Mozilla 2014-01-28 version. * Included ca-bundle*.crt files now have the same modification date as the Mozilla certdata.txt file from which they were generated. * Restored compatibility of the ca_bundle module with Python 2.4. * Enhanced the included https_client.py example to show case OpenSSL best practices: - server name parsing (RFC 2818 support will follow in one of the next releases) - SNI (support for TLS extension to support multiple SSL sites on a single host) - setup secure default SSL options - setup secure default SSL cipher suite - use TLS 1.0 - 1.2 only - disable SSL compression negotiation (prevent CRIME attack) New in OpenSSL -------------- * Updated included OpenSSL libraries from OpenSSL 1.0.1e to 1.0.1f. See http://www.openssl.org/news/news.html and http://www.openssl.org/news/vulnerabilities.html for a complete list of changes, most important: - CVE-2013-4353: A carefully crafted invalid TLS handshake could crash OpenSSL with a NULL pointer exception. A malicious server could use this flaw to crash a connecting client. - CVE-2013-6450: A flaw in DTLS handling can cause an application using OpenSSL and DTLS to crash. - CVE-2013-6449: A flaw in OpenSSL can cause an application using OpenSSL to crash when using TLS version 1.2. As always, we provide binaries that include both pyOpenSSL and the necessary OpenSSL libraries for all supported platforms: Windows x86 and x64, Linux x86 and x64, Mac OS X PPC, x86 and x64. We've also added egg-file distribution versions of our eGenix.com pyOpenSSL Distribution for Windows, Linux and Mac OS X to the available download options. These make setups using e.g. zc.buildout and other egg-file based installers a lot easier. ________________________________________________________________________ DOWNLOADS The download archives and instructions for installing the package can be found at: http://www.egenix.com/products/python/pyOpenSSL/ ________________________________________________________________________ UPGRADING Before installing this version of pyOpenSSL, please make sure that you uninstall any previously installed pyOpenSSL version. Otherwise, you could end up not using the included OpenSSL libs. _______________________________________________________________________ SUPPORT Commercial support for these packages 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 the eGenix pyOpenSSL Distribution, licensing and download instructions, please visit our web-site or write to sales at egenix.com. Enjoy, -- Marc-Andre Lemburg eGenix.com Professional Python Services directly from the Source (#1, Jan 28 2014) >>> 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/ ________________________________________________________________________ ::::: 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/ From fabiofz at gmail.com Tue Jan 28 21:05:17 2014 From: fabiofz at gmail.com (Fabio Zadrozny) Date: Tue, 28 Jan 2014 18:05:17 -0200 Subject: PyDev 3.3.3 Released Message-ID: Hi All, PyDev 3.3.3 has been released Details on PyDev: http://pydev.org Details on its development: http://pydev.blogspot.com LiClipse (PyDev standalone with goodies such as support for Django Templates, Kivy Language, Mako Templates, Html, Javascript, etc): http://brainwy.github.io/liclipse/ What is PyDev? --------------------------- PyDev is a plugin that enables users to use Eclipse for Python, Jython and IronPython development -- making Eclipse a first class Python IDE -- It comes with many goodies such as code completion, syntax highlighting, syntax analysis, code analysis, refactor, debug, etc. Release Highlights: ------------------------------- * **Important**: PyDev requires Eclipse 3.8 or 4.3 onwards and Java 7! For older versions, keep using PyDev 2.x (see LiClipse: http://brainwy.github.io/liclipse for a PyDev standalone with all requirements bundled). * **Code Completion**: - Compiled modules are now indexed and shown in the context-insensitive code-completion. - In an empty file, a code-completion request will show options related to creating modules (press Ctrl+Space twice to show only those templates). * **Performance**: - Building (indexing) of Python files is **much** faster. - Code completion does not get slown down by other analysis done in the background due to shell synchronization. * **Interactive Console**: - The interactive console now has tab-completion (so, tab can be used to show completions such as in IPython). * **Debugger**: - **Locals are now properly changed in the debugger** -- along with set next statement and auto-reloading this can make a debug session much more enjoyable! - Added a way to skip functions on a step-in on functions with **#@DontTrace** comments: - **Makes it possible to skip a lot of boilerplate code on a debug session!** - Can be enabled/disabled in the debugger preferences; - Ctrl+1 in a line with a method shows option to add **#@DontTrace** comment (if enabled in the preferences). - Debugging Stackless is much improved, especially for versions of Stackless released from 2014 onwards (special thanks to Anselm Kruis who improved stackless itself for this integration to work properly). - Reload during a debug session is improved and more stable: - Only updates what it can in-place or adds new attributes; - Shows what's being patched in the console output; - New hooks are provided for clients which may want to extend the reload; - See: Auto Reload in Debugger: http://pydev.org/manual_adv_debugger_auto_reload.html for more details. * **General**: - Compiled modules are now indexed, so, **fix import with Ctrl+1 now works with itertools, PyQt and other 'forced builtins'**. - When diffing a Python file, the PyDev comparison (with proper syntax highlighting) is now the default. - When finding a definition in a .pyd file, if there's a related .pyx in the same location, it's opened. - Running unit-tests will not try to import files that are in folders that don't have an __init__.py file. - Alt+Shift+O can be used to toggle mark occurrences. - Ctrl+3 not bound by default anymore on PyDev so that it does not conflict with the Eclipse Ctrl+3 (Ctrl+/ can be used instead). - Fixed recursion issue when finding file in pydev package explorer. - When configuring the interpreter, links are not followed when resolving entries for the PYTHONPATH. - It's possible to launch a directory containing a __main__.py file executable. - Fixed issues when creating django project without any existing project in the workspace. - Fixed deadlock on code-completion. - __pycache__ folders are hidden by default. * **Organize imports**: - When saving a file, if automatically organizing imports, don't remove unused imports even if that option is checked. - When saving a file, if automatically organizing imports, and nothing changes, don't change the buffer (so, no undo command is created). - @NoMove can be used in an import so that the import organizer doesn't mess with it. * **Refactoring**: - Fixed error when moving resource in PYTHONPATH to a dir out of the PYTHONPATH. - On a search make sure we search only python files, not dlls (which could give OutOfMemory errors and make the search considerably slower). - Multiple fixes on the rename module refactoring. Cheers, -- Fabio Zadrozny ------------------------------------------------------ Software Developer LiClipse http://brainwy.github.io/liclipse PyDev - Python Development Environment for Eclipse http://pydev.org http://pydev.blogspot.com From mal at python.org Wed Jan 29 11:20:35 2014 From: mal at python.org (M.-A. Lemburg) Date: Wed, 29 Jan 2014 11:20:35 +0100 Subject: ANN: Python Events Calendar - Now with Twitter feed Message-ID: <52E8D5F3.8050306@python.org> [Please help spread the word by forwarding to other relevant mailing lists, user groups, etc. world-wide; thanks :-)] ________________________________________________________________________ ANNOUNCING Python Events Calendars - Now with Twitter feed maintained by the Python Software Foundation (PSF) and a group of volunteers ________________________________________________________________________ INTRODUCTION As some of you may know, the PSF has put together a team of volunteers who are maintaining a central Python events calendar. We currently have two calendars in place: * Python Events Calendar - meant for conferences and larger gatherings focusing on Python or a related technology (in whole or in part) * Python User Group Calendar - meant for user group events and other smaller local events The calendars are displayed on http://pycon.org/ and in a smaller version in the sidebar of the http://python.org/ website. You can subscribe to the calendars using iCal and RSS feeds and also embed the calendar widgets on your sites. Please see our wiki page for details: https://wiki.python.org/moin/PythonEventsCalendar The calendars are open to the world-wide Python community, so you can have local user group events, as well as regional and international conference events added to the calendars. ________________________________________________________________________ NEWS We have now created a Twitter feed for the calendars, which you can follow to get updates on all newly added events: https://twitter.com/pythonevents The tweets come with links to the event listings, which you can add to your own Google calendars with a single click. ________________________________________________________________________ ADDING EVENTS If you want to have entries added to those calendars, please write to events at python.org and include the following information: * Name of the event * Type of the event (conference, bar camp, user group, etc) * Focus on Python and approximate size * URL * Location and country * Date and time (if relevant) For recurring events, please also include a description of the recurrence in a way that's compatible and supported by Google calendars. ________________________________________________________________________ MORE INFORMATION More information on the calendars, the URLs, feed links, IDs, embedding, etc. is available on the wiki: https://wiki.python.org/moin/PythonEventsCalendar Enjoy, -- Marc-Andre Lemburg Director Python Software Foundation http://www.python.org/psf/ From holger at merlinux.eu Wed Jan 29 14:11:34 2014 From: holger at merlinux.eu (holger krekel) Date: Wed, 29 Jan 2014 13:11:34 +0000 Subject: pytest-2.5.2: fixes, plugin index, contribution guide Message-ID: <20140129131134.GD13547@merlinux.eu> pytest-2.5.2: fixes, plugin page, contribution guide =========================================================================== pytest is a mature Python testing tool with more than a 1000 tests against itself, passing on many different interpreters and platforms. The 2.5.2 release fixes a few bugs with two maybe-bugs remaining and actively being worked on (and waiting for the bug reporter's input). We also have a new contribution guide thanks to Piotr Banaszkiewicz and an improved 3rd party plugin overview (including py2/py3 tests) page thanks to Bruno Oliveira. See docs at: http://pytest.org As usual, you can upgrade from pypi via:: pip install -U pytest Thanks to the following people who contributed to this release: Anatoly Bubenkov Ronny Pfannschmidt Floris Bruynooghe Bruno Oliveira Andreas Pelme Jurko Gospodneti? Piotr Banaszkiewicz Simon Liedtke lakka Lukasz Balcerzak Philippe Muller Daniel Hahler have fun, holger krekel 2.5.2 ----------------------------------- - fix issue409 -- better interoperate with cx_freeze by not trying to import from collections.abc which causes problems for py27/cx_freeze. Thanks Wolfgang L. for reporting and tracking it down. - fixed docs and code to use "pytest" instead of "py.test" almost everywhere. Thanks Jurko Gospodnetic for the complete PR. - fix issue425: mention at end of "py.test -h" that --markers and --fixtures work according to specified test path (or current dir) - fix issue413: exceptions with unicode attributes are now printed correctly also on python2 and with pytest-xdist runs. (the fix requires py-1.4.20) - copy, cleanup and integrate py.io capture from pylib 1.4.20.dev2 (rev 13d9af95547e) - address issue416: clarify docs as to conftest.py loading semantics - fix issue429: comparing byte strings with non-ascii chars in assert expressions now work better. Thanks Floris Bruynooghe. - make capfd/capsys.capture private, its unused and shouldnt be exposed From holger at merlinux.eu Wed Jan 29 14:15:42 2014 From: holger at merlinux.eu (holger krekel) Date: Wed, 29 Jan 2014 13:15:42 +0000 Subject: pytest-xdist-1.10 released (distributed testing plugin) Message-ID: <20140129131542.GE13547@merlinux.eu> Hi all, also released pytest-xdist-1.11 with some little improvements and speedups regarding overheads for distributing tests (maybe 10%, not too much). Install it with: pip install -U pytest-xdist and checkout the pypi page: https://pypi.python.org/pypi/pytest-xdist best, holger 1.10 ------------------------- - add glob support for rsyncignores, add command line option to pass additional rsyncignores. Thanks Anatoly Bubenkov. - fix pytest issue382 - produce "pytest_runtest_logstart" event again in master. Thanks Aron Curzon. - fix pytest issue419 by sending/receiving indices into the test collection instead of node ids (which are not neccessarily unique for functions parametrized with duplicate values) - send multiple "to test" indices in one network message to a slave and improve heuristics for sending chunks where the chunksize depends on the number of remaining tests rather than fixed numbers. This reduces the number of master -> node messages (but not the reverse direction) From holger at merlinux.eu Wed Jan 29 14:21:16 2014 From: holger at merlinux.eu (holger krekel) Date: Wed, 29 Jan 2014 13:21:16 +0000 Subject: execnet-1.2 released: gevent/eventlet support, many improvements Message-ID: <20140129132116.GF13547@merlinux.eu> Hi all, just released execnet-1.2, the tool for writing distributed zero-install python programs. The release contains lots of improvements and fixes. Most notably execnet now supports to use gevent/eventlet models on each of the initiating side and the remote side (configurable separately). See the changelog below for details. Install it via: pip install -U execnet Read the docs here: http://codespeak.net/execnet/ have fun playing, holger 1.2 -------------------------------- - fix issue22 -- during interpreter shutdown don't throw an exception when we can't send a termination sequence anymore as we are about to die anyway. - fix issue24 -- allow concurrent creation of gateways by guarding automatic id creation by a look. Thanks tlecomte. - majorly refactor internal thread and IO handling. execnet can now operate on different thread models, defaults to "thread" but allows for eventlet and gevent if it is installed. - gateway.remote_exec() will now execute in multiple threads on the other side by default. The previous neccessity of running "gateway.remote_init_threads()" to allow for such concurrency is gone. The latter method is now a no-op and will be removed in future versions of execnet. - fix issue20: prevent AttributError at interpreter shutdown by not trying to send close/last_message messages if the world around is half destroyed. - fix issue21: allow to create local gateways with sudo aka makegateway("popen//python=sudo python"). Thanks Alfredo Deza for the PR. - streamline gateway termination and simplify proxy implementation. add more internal tracing. - if execution hangs in computation, we now try to send a SIGINT to ourselves on Unix platforms instead of just calling thread.interrupt_main() - change license from GPL to MIT - introduce execnet.dump/load variants of dumps/loads serializing/unserializing mechanism. - improve channel.receive() communication latency on python2 by changing the default timeout of the underlying Queue.get to a regular None instead of the previous default -1 which caused an internal positive timeout value (a hack probably introduced to allow CTRL-C to pass through for Just released tox-1.7.0 (finally), the generic virtualenv-based test runner for Python. It contains a lot of fixes and improvements although there are some bugs remaining. While a lot of pull requests are thankfully offered i could use some more co-maintaining/reviewing to allow for some faster progress. Anyway, to install to 1.7.0 : pip install -U tox and to look at the docs: https://testrun.org/tox/latest/ have fun, holger 1.7.0 --------- - don't lookup "pip-script" anymore but rather just "pip" on windows as this is a pip implementation detail and changed with pip-1.5. It might mean that tox-1.7 is not able to install a different pip version into a virtualenv anymore. - drop Python2.5 compatibility because it became too hard due to the setuptools-2.0 dropping support. tox now has no support for creating python2.5 based environments anymore and all internal special-handling has been removed. - merged PR81: new option --force-dep which allows to override tox.ini specified dependencies in setuptools-style. For example "--force-dep 'django<1.6'" will make sure that any environment using "django" as a dependency will get the latest 1.5 release. Thanks Bruno Oliveria for the complete PR. - merged PR125: tox now sets "PYTHONHASHSEED" to a random value and offers a "--hashseed" option to repeat a test run with a specific seed. You can also use --hashsheed=notset to instruct tox to leave the value alone. Thanks Chris Jerdonek for all the work behind this. - fix issue132: removing zip_safe setting (so it defaults to false) to allow installation of tox via easy_install/eggs. Thanks Jenisys. - fix issue126: depend on virtualenv>=1.11.2 so that we can rely (hopefully) on a pip version which supports --pre. (tox by default uses to --pre). also merged in PR84 so that we now call "virtualenv" directly instead of looking up interpreters. Thanks Ionel Maries Cristian. This also fixes issue140. - fix issue130: you can now set install_command=easy_install {opts} {packages} and expect it to work for repeated tox runs (previously it only worked when always recreating). Thanks jenisys for precise reporting. - fix issue129: tox now uses Popen(..., universal_newlines=True) to force creation of unicode stdout/stderr streams. fixes a problem on specific platform configs when creating virtualenvs with Python3.3. Thanks Jorgen Sch?fer or investigation and solution sketch. - fix issue128: enable full substitution in install_command, thanks for the PR to Ronald Evers - rework and simplify "commands" parsing and in particular posargs substitutions to avoid various win32/posix related quoting issues. - make sure that the --installpkg option trumps any usedevelop settings in tox.ini or - introduce --no-network to tox's own test suite to skip tests requiring networks - introduce --sitepackages to force sitepackages=True in all environments. - fix issue105 -- don't depend on an existing HOME directory from tox tests. From real-not-anti-spam-address at apple-juice.co.uk Sun Jan 19 13:38:09 2014 From: real-not-anti-spam-address at apple-juice.co.uk (D.M. Procida) Date: Sun, 19 Jan 2014 12:38:09 +0000 Subject: A day of free Python & Django talks & tutorials, Cardiff (UK) Message-ID: <1lfq0dp.1xr55gjc8aw6uN%real-not-anti-spam-address@apple-juice.co.uk> Django Weekend Cardiff is completely sold out. Our open day remains open however, and you're invited to attend the numerous talks, tutorials and demonstrations in the programme. They'll all be held at Cardiff University. There are fifteen different sessions in the open day programme, on all kinds of subjects - from medicine to robotics - and at various levels of technical complexity. One of the key audiences for the open day is developers who want to learn more about Python and Django so if that's you, you're especially welcome. Another key audience is A-level science pupils and teachers, and we have a number of talks that have been devised with them in mind - so if you know any, please point them in our direction, as we'll be very pleased to see them. All the sessions are free, and refreshments will be provided. Registration is required so we know how many people to expect, and places in the tutorials will be limited. The sooner you register the better it is for us, because we have to plan catering, access and other practicalities - so please do it as soon as you can! Register: And finally, do pass on details of the open day to anyone else whom you think might be interested. Thanks, Daniele -- Django Weekend Cardiff, the first-ever Django conference in the UK Three days of Django/Python talks, tutorials and code sprints From mal at europython.eu Thu Jan 30 11:29:32 2014 From: mal at europython.eu (M.-A. Lemburg) Date: Thu, 30 Jan 2014 11:29:32 +0100 Subject: Work on Call for Participation for EuroPython 2015 has started Message-ID: <52EA298C.6060208@europython.eu> [Please help spread the word by forwarding to other relevant mailing lists, user groups, etc.; thanks :-)] The EuroPython Society (EPS) has started work on preparing the Call for Participation (CFP) for organizing the EuroPython 2015 conference: http://www.europython-society.org/ For 2015, we are setting up a new structure for the conference organization, which is focused on local and distributed work groups that are closely integrated with the EuroPython Society. We hope to greatly reduce the work load for the local teams, attract community members that want to get involved and to streamline the whole process of transitioning from one location to the next, making the conference organization a lot easier for everyone. If you are interested in potentially signing up as local team or participating in the work groups, please subscribe to one of our communication channels: * Tumblr http://www.tumblr.com/follow/europythonsociety * RSS http://www.europython-society.org/rss * Twitter https://twitter.com/europythons * EuroPython Mailing List https://mail.python.org/mailman/listinfo/europython We are aiming for end of February as announcement date for the CFP 2015. Enjoy, -- Marc-Andre Lemburg Director EuroPython Society http://www.europython-society.org/ From prabhu at enthought.com Thu Jan 30 19:05:49 2014 From: prabhu at enthought.com (Prabhu Ramachandran) Date: Thu, 30 Jan 2014 23:35:49 +0530 Subject: [ANN] Mayavi-4.3.1 released Message-ID: Hello, Enthought is pleased to announce Mayavi-4.3.1. This is a bugfix release. Mayavi is a general purpose, cross-platform tool for 2-D and 3-D scientific data visualization. Mayavi is now tested on travis-ci. Mayavi will now work with VTK-5.10.1, 5.8 and 5.6. Mayavi will not work with VTK-6.x yet. For more details on the enhancements and fixes please see here: http://docs.enthought.com/mayavi/mayavi/auto/changes.html#mayavi-4-3-1 We are thankful to the following folks for their contributions: Deepak Surti, Gabi Davar, Jens Nielsen, Martin Luessi, Ond?ej ?ert?k, Pratik Mallya, Prabhu Ramachandran and Senganal Thirunavukkarasu. cheers, Prabhu Ramachandran From michael at stroeder.com Fri Jan 31 18:23:22 2014 From: michael at stroeder.com (=?ISO-8859-1?Q?Michael_Str=F6der?=) Date: Fri, 31 Jan 2014 18:23:22 +0100 Subject: ANN: python-ldap 2.4.14 Message-ID: <52EBDC0A.2050600@stroeder.com> Find a new release of python-ldap: http://pypi.python.org/pypi/python-ldap/2.4.14 python-ldap provides an object-oriented API to access LDAP directory servers from Python programs. It mainly wraps the OpenLDAP 2.x libs for that purpose. Additionally it contains modules for other LDAP-related stuff (e.g. processing LDIF, LDAP URLs and LDAPv3 schema). Project's web site: http://www.python-ldap.org/ Ciao, Michael. ---------------------------------------------------------------- Released 2.4.14 2014-01-31 Changes since 2.4.13: Lib/ * Added ldap.controls.openldap.SearchNoOpControl * New method ldap.async.AsyncSearchHandler.afterFirstResult() for doing something right after successfully receiving but before processing first result * Better log data written when invoking ldap.LDAPLock.acquire() and ldap.LDAPLock.release() * LDAPObject and friends now pass `desc' to ldap.LDAPLock() which results in better logging * ldapobject.ReconnectLDAPObject now uses internal class-wide lock for serializing reconnects * Method signature of ReconnectLDAPObject.reconnect() changed to be able to call it with separate retry_max and retry_delay values Modules/ * Added support for retrieving negotiated TLS version/cipher with LDAPObject.get_option() with the help of upcoming OpenLDAP libs