Hi all,
finally i got around to do 1.2.2 releases of the devpi pypi server tools
with a few fixes and improvements. See http://doc.devpi.net for docs
and instructions and below for the changelog.
cheers,
holger krekel
1.2.2
----------------------------
devpi-server:
- fix issue78: create less directories for pypi package files by
splitting the md5 part into two. Avoids TooManyLinks errors in
large installations.
- fix --stop on windows. Thanks to Christian Ullrich for the PR.
- fix issue79: interoperate with pip-1.5 by interpreting accept
header as "*/*" as html_preferred. Thanks Richard Jones.
- use latest virtualenv-1.11.2 when bootstrapping on jenkins
- fix issue89: adapt for bottle changes in 0.12.1. Thanks
Alexey Sveshnikov.
devpi-client:
- depend on pkginfo>1.2b1 for wheel metadata reading support,
remove twine dependency. Thanks Tres Seaver.
- new: also write buildout configuration file with --set-cfg.
Thanks Christian Ullrich for the PR.
stevedore 0.15
What is stevedore?
Python makes loading code dynamically easy, allowing you to configure
and extend your application by discovering and loading extensions
(plugins) at runtime. Many applications implement their own library for
doing this, using __import__ or importlib. [1]stevedore avoids creating
yet another extension mechanism by building on top of [2]setuptools
entry points. The code for managing entry points tends to be
repetitive, though, so stevedore provides manager classes for
implementing common patterns for using dynamically loaded extensions.
What's New?
* Only log errors from loading plugins if no error handler callback
is provided.
Installing
Visit the [3]stevedore project page for download links and installation
instructions.
References
1. http://stevedore.readthedocs.org/
2. http://packages.python.org/distribute/pkg_resources.html#convenience-api
3. http://stevedore.readthedocs.org/
Find a new release of python-ldap:
http://pypi.python.org/pypi/python-ldap/2.4.15
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.15 2014-03-24
Changes since 2.4.14:
Lib/
* Added missing modules ldap.controls.openldap and
ldap.controls.pwdpolicy to setup.py
* Added missing imports to ldap.controls.pwdpolicy
* Fixed ldap.controls.pwdpolicy.decodeControlValue() to decode
string of digits
* Support for X-SUBST in schema element class LDAPSyntax
* Support for X-ORDERED and X-ORIGIN in schema element class AttributeType
* ldapurl: New scope 'subordinates' defined in
draft-sermersheim-ldap-subordinate-scope
Modules/
* New constant ldap.SCOPE_SUBORDINATE derived from ldap.h for
draft-sermersheim-ldap-subordinate-scope
* Fixed constant ldap.sasl.CB_GETREALM (thanks to Martin Pfeifer)
Hi,
Wingware has released version 5.0.4 of Wing IDE, our cross-platform
integrated
development environment for the Python programming language.
Wing IDE includes a professional quality code editor with vi, emacs,
visual studio,
and other key bindings, auto-completion, call tips, goto-definition,
find uses, 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 Python 3.4 final release
* Improved Source Assistant renders PEP 287 docstrings and displays
return value type
* Optional New Project dialog
* Improved integrated documentation display
* Improved PDF formatted documentation
* Support for recent git versions
* Fix environment used with named entry points and launch configurations
* Fix Debug Probe for Django templates
* Fix inline renaming of files in the Project tool
* Several optimizations
* About 40 other bug fixes
For details see http://wingware.com/pub/wingide/5.0.4/CHANGELOG.txt
A summary of new features in Wing 5:
* Redesigned GUI based on Qt and PySide
* Native GUI on OS X (and better overall OS-native look and feel)
* Tools and editors can be dragged around
* Toolbar and editor and Project context menus are configurable
* Optional mode that opens different sets of files in each editor split
* 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
* Named entry points
* More control over unit testing environment
* Lockable editor splits
* Initial preferences dialog for new users
* Support for Python 3.4
* Support for Django 1.6
* Support for matplotlib on Anaconda and with MacOSX backend
* Improved Source Assistant with PEP 287 docstring rendering and return
types
* Improved integrated and PDF documentation
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 list: 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(a)wingware.com.
Thanks,
--
Stephan Deibel
Wingware | Python IDE
The Intelligent Development Environment for Python Programmers
wingware.com
This is the 5th edition of the PyCon Italia, the largest annual
gathering for the Italian Python community. As usual the conference will
be held in Florence, from May 23 till 25, 2014.
The conference is addressed to organizations and companies, software
developers, system administrator who use or want to use Python for
automation, other IT-specialists and project managers interested in
learning about python, and also hobby enthusiasts who find a great
platform in Python.
Who Should Submit a Proposal?
=============================
You. Your friends. Your friends' friends. Anyone with any level of
Python knowledge is a candidate for a good topic at this conference. As
we get attendees of all kinds, we need speakers of all kinds. In all
ways and manners, we try to assemble the most diverse conference we can,
and we do that with your help.
Whether you got started with Python last month or you've been around for
20 years, we think you've got something to share. The Python community
is stronger than ever and we're still reaching new areas, new
industries, and new users. Be a part of the growing Python community and
help shape its future. You don't need to be a well traveled professional
speaker to get on stage at PyCon Italia. What matters is the topics, the
materials, and the drive to present things to this community. Even if
you have never give a talk, do not worry, we will help you.
Deadline : March 23rd.
Opportunities
=============
PyCon Italia gives you opportunities to see a variety of presentations,
panels, and impromptu discussions,
learn about significant advances in the Python development community and
meet fellow developers.
Furthermore there is the possibility to organize recruiting sessions, in
order to give to both companies and developers, the opportunity to start
new collaborations.
Events
======
PyCon Italia days don't finish with the last talk but keep on rocking
during the night! We have organized some wonderful event that you may
want to join!
Website: www.pycon.it
--
Marco Buttu
What is PyDev?
---------------------------
PyDev is an open-source Python IDE on top of Eclipse for Python, Jython and
IronPython development.
It comes with goodies such as code completion, syntax highlighting, syntax
analysis, code analysis, refactor, debug, interactive console, etc.
Details on PyDev: http://pydev.org
Details on its development: http://pydev.blogspot.com
What is LiClipse?
---------------------------
LiClipse is a PyDev standalone with goodies such as support for Multiple
cursors, theming and a number of other languages such as Django Templates,
Kivy Language, Mako Templates, Html, Javascript, etc.
It's also a commercial counterpart which helps supporting the development
of PyDev.
Details on LiClipse: http://brainwy.github.io/liclipse/
Release Highlights:
-------------------------------
- **Important**: PyDev requires Eclipse 3.8 or 4.3 onwards and Java 7! For
older versions, keep using PyDev 2.x (or LiClipse for a PyDev standalone
with all requirements bundled).
- **Interactive Console**:
* **Send a single line to the interactive console with F2** (akin to
Ctrl+Alt+Enter but only for the current line).
- **Debugger**:
* **Added support for debugging spawned subprocesses.**
* New Django launches no longer have -noreload to take advantage of
that (but existing launches have to be manually edited -- or removed and
recreated).
* When terminating a process its subprocesses are also killed (avoiding
django zombie processes).
* In the debugger, locals are now also properly saved on PyPy (requires
a newer version of PyPy too).
* Remote Debugger: when specifying items in
PATHS_FROM_ECLIPSE_TO_PYTHON pathnames are normalized.
* Fixes to work with Jython 2.1 and Jython 2.2.1
* Always setting PYTHONUNBUFFERED environment variable to 1.
* The python default encoding is no longer changed (only
PYTHONIOENCODING is used now and not sys.setdefaultencoding).
* Minor improvements on get referrers.
- **General**:
* **Cython: .pxd and .pxi files are properly supported.**
* Interpreter configuration: It's possible to reorder PYTHONPATH
entries with drag and drop.
* Fixed django interactive shell to work with newer versions of Django.
* Rename working properly for files without extensions.
* Fixed issue where specifying the type of a variable with a comment
was not detected in the code-completion.
* Fixed issue where we'd open a file as if it was an external file when
it was actually a file in the workspace or inside a source folder.
* PyDev Package Explorer: fixed issue where some errors would remain
showing when they didn't exist anymore.
* PyDev Package Explorer: fixed issue where items could change its
order depending on decorations.
* On a double-click on spaces, all the spaces are selected.
- **Test Runner**:
* **Improved py.test integration**: it's now possible to select which
tests to run with Ctrl+F9 (even if not under a class).
* No longer breaks if a file which was in a launch config is removed
(still runs other tests in the launch).
* After a test run finishes, if there are non-daemon threads running
they're printed to the output.
* Fixed UnicodeDecodeError when running unit-tests under python 2.x
* Fixed issue on test discovery on Linux.
- **Sorting Imports**:
* Sort of imports no longer adds spaces at end of imports.
* Sort of imports no longer passes the number of available columns
specified.
* It's now also possible to keep the names of 'from' imports sorted.
Cheers,
--
Fabio Zadrozny
------------------------------------------------------
Software Developer
LiClipse
http://brainwy.github.io/liclipse
PyDev - Python Development Environment for Eclipse
http://pydev.orghttp://pydev.blogspot.com
I've released version 0.1.8 of distlib on PyPI [1]. For newcomers,
distlib is a library of packaging functionality which is intended
to be usable as the basis for third-party packaging tools.
The main changes in this release are as follows:
* Fixed issue #45: Improved thread-safety in SimpleScrapingLocator.
* Fixed issue #42: Handling of pre-release legacy version numbers
now mirrors setuptools logic.
* Added exists, verify, update, is_compatible and is_mountable methods
to the Wheel class (the update method fixed issue #41).
* Added a search method to the PackageIndex class.
* Fixed a bug in the Metadata.add_requirements method.
* Allowed versions with a single numeric component and a local version
component (tracking changes to PEP 440).* Corrected spelling of environment variable used for the stub launcher
on OS X.
* Avoided using pydist.json in 1.0 wheels (bdist_wheel writes a non-
conforming pydist.json).
* Improved computation of ABI tags on Python versions where SOABI is not
available, and improved computation of compatibility tags on OS X to
allow for multiple architectures and older OS X versions.
A more detailed change log is available at [2]. Please try it out, and
if you find any problems or have any suggestions for improvements, please
give some feedback using the issue tracker! [3]
Regards,
Vinay Sajip
[1] https://pypi.python.org/pypi/distlib/0.1.8
[2] http://pythonhosted.org/distlib/overview.html#change-log-for-distlib
[3] https://bitbucket.org/pypa/distlib/issues/new
Hello!
mimedecode.py
WHAT IS IT
Mail users, especially in non-English countries, often find that mail
messages arrived in different formats, with different content types, in
different encodings and charsets. Usually this is good because it allows us to
use appropriate format/encoding/whatever. Sometimes, though, some unification
is desirable. For example, one may want to put mail messages into an archive,
make HTML indices, run search indexer, etc. In such situations converting
messages to text in one character set and skipping some binary attachments is
much desirable.
Here is the solution - mimedecode.py.
This is a program to decode MIME messages. The program expects one input
file (either on command line or on stdin) which is treated as an RFC822
message, and decodes to stdout or an output file. If the file is not an RFC822
message it is just copied to the output one-to-one. If the file is a simple
RFC822 message it is decoded as one part. If it is a MIME message with multiple
parts ("attachments") all parts are decoded. Decoding can be controlled by
command-line options.
WHAT'S NEW in version 2.5.0 (2014-03-18)
Add option --set-header=header:value to set header's value (only at the top
level).
Add option --set-param=header:param=value to set header parameter's value
(only at the top level). The header must exist.
Add option -B to skip content-transfer-decoding binary attachments.
Add options --save-headers, --save-body and --save-message to save decoded
headers/bodies/messages to files.
Add option -O to set the destination directory for output files.
Fix a minor bug: if a multipart message (or a subpart) lacks any textual
content - avoid putting an excessive newline.
WHERE TO GET
Home page: http://phdru.name/Software/Python/#mimedecode
git clone http://git.phdru.name/mimedecode.git
git clone git://git.phdru.name/mimedecode.git
Requires: Python 2.2.2+, m_lib 2.0+.
Recommends: configured mailcap database.
Documentation: http://phdru.name/Software/Python/mimedecode.html
(also included in the package in html, man and txt formats).
AUTHOR
Oleg Broytman <phd(a)phdru.name>
COPYRIGHT
Copyright (C) 2001-2014 PhiloSoft Design.
LICENSE
GPL
Oleg.
--
Oleg Broytman http://phdru.name/ phd(a)phdru.name
Programmers don't die, they just GOSUB without RETURN.
On behalf of the Python development team, I'm thrilled to announce
the official release of Python 3.4.
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
To download Python 3.4.0 visit:
http://www.python.org/download/releases/3.4.0/
This is a production release. Please report any 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)
Crochet is an MIT-licensed library that makes it easier for blocking or
threaded applications like Flask or Django to use the Twisted networking
framework. Crochet provides the following features:
* Runs Twisted's reactor in a thread it manages.
* The reactor shuts down automatically when the process' main thread
finishes.
* Hooks up Twisted's log system to the Python standard library logging
framework. Unlike Twisted's built-in logging bridge, this includes
support for blocking Handler instances.
* A blocking API to eventual results (i.e. Deferred instances). This
last feature can be used separately, so Crochet is also useful for
normal Twisted applications that use threads.
Downloads: https://pypi.python.org/pypi/crochet
Documentation: https://crochet.readthedocs.org/en/latest/
*Trivial Example
*
"""
Download a web page in a blocking manner.
"""
from __future__ import print_function
import sys
from twisted.web.client import getPage
from crochet import setup, wait_for_reactor
setup()
@wait_for_reactor
def download_page(url):
return getPage(url)
# download_page() now behaves like a normal blocking function:
print(download_page(sys.argv[1]))
*What's New in 1.1.0*
Bug fixes:
* EventualResult.wait() can now be used safely from multiple threads,
thanks to Gavin Panella for reporting the bug.
* Fixed reentrancy deadlock in the logging code caused by
http://bugs.python.org/issue14976, thanks to Rod Morehead for
reporting the bug.
* Crochet now installs on Python 3.3 again, thanks to Ben Cordero.
* Crochet should now work on Windows, thanks to Konstantinos Koukopoulos.
* Crochet tests can now run without adding its absolute path to
PYTHONPATH or installing it first.
Documentation:
* EventualResult.original_failure is now documented.
**