From huvalo at microsoft.com Tue Sep 1 18:22:11 2015 From: huvalo at microsoft.com (Hugues Valois) Date: Tue, 1 Sep 2015 16:22:11 +0000 Subject: azure 1.0.0 released Message-ID: I am glad to announce the release of the Azure SDK for Python v1.0.0. This package is available on the Python package index at http://pypi.python.org/pypi/azure. Some of the things you can do with the Microsoft Azure SDK are: - Create and deploy Linux or Windows VMs - Manage various Azure resources such as storage accounts - Transfer data on many storage offerings As part of the 1.0.0 release, we've made the Azure libraries more modular. You can now choose to install the azure bundle package, which installs all Azure packages, or install the packages you need individually. We've also moved the Azure Storage runtime library to its own repository at https://github.com/Azure/azure-storage-python. You'll still get the runtime library when installing azure, but now you have the option of only installing the azure-storage package (http://pypi.python.org/pypi/azure-storage). Upgrade notice: If you are upgrading from v0.11.x or earlier, make sure to uninstall that version before installing any of the new azure packages. Major new features: * Preliminary Azure Resource Manager (ARM) support. Manage your Azure compute, network and storage resources. This is a preview and is subject to changes in future releases. https://azure-sdk-for-python.readthedocs.org/en/latest/resourcemanagement.html * Azure Storage File support. http://azure-storage.readthedocs.org/en/latest/file.html I want to thank GitHub users Sabbasth, schaefi, feoff3, JamieCressey for their contributions. Full Release Notes: https://github.com/Azure/azure-sdk-for-python/releases/tag/v1.0.0 From stagi.andrea at gmail.com Wed Sep 2 08:15:49 2015 From: stagi.andrea at gmail.com (Andrea Stagi) Date: Wed, 2 Sep 2015 08:15:49 +0200 Subject: ANN python-taiga 0.5.1 Message-ID: Python-taiga 0.5.1 released! python-taiga is a python module for communicating with Taiga.io, a new project management platform! For more info https://taiga.io/ This release includes some minfixes. You can find python-taiga code on Github https://github.com/nephila/python- taiga Any kind of contribution is appreciated! :) -- Andrea Stagi (@4stagi) - Develover @Nephila Job profile: http://linkedin.com/in/andreastagi Website: http://4spills.blogspot.it/ Github: http://github.com/astagi From stagi.andrea at gmail.com Wed Sep 2 08:30:25 2015 From: stagi.andrea at gmail.com (Andrea Stagi) Date: Wed, 2 Sep 2015 08:30:25 +0200 Subject: ANN Python jQuery Plugin Boilerplate generator Message-ID: Hi, I've finally released the jQuery Plugin Boilerplate generator used internally at Nephila, a python script to generate boilerplate code to crete a jQuery plugin. You can find the source code on Github https://github.com/nephila/jquerypluginbp To install it just type pip install jquerypluginbp Run jquerypluginbp with the path your plugin.json manifest file $ jquerypluginbp yourmanifest.plugin.json You can also specify the destination path $ jquerypluginbp yourmanifest.plugin.json -d destination_path A real life example of manifest file: { "name": "vimeoplaylist", "title": "jQuery Vimeo Playlist Plugin", "description": "jQuery plugin for creating your playlists with Vimeo.", "keywords": [ "vimeo", "playlist", "video" ], "version": "0.2.0", "author": { "name": "Nephila" }, "maintainers": [ { "name": "Andrea Stagi", "email": "stagi.andrea at gmail.com", "url": "http://github.com/astagi" } ], "licenses": [ { "type": "MIT", "url": " https://github.com/nephila/jquery-vimeoplaylist/blob/master/LICENSE" } ], "bugs": "https://github.com/nephila/jquery-vimeoplaylist/issues", "homepage": "https://github.com/nephila/jquery-vimeoplaylist", "download": "https://github.com/nephila/jquery-vimeoplaylist", "dependencies": { "jquery": ">=1.7" } } -- Andrea Stagi (@4stagi) - Develover @Nephila Job profile: http://linkedin.com/in/andreastagi Website: http://4spills.blogspot.it/ Github: http://github.com/astagi From g.rodola at gmail.com Wed Sep 2 18:56:57 2015 From: g.rodola at gmail.com (Giampaolo Rodola') Date: Wed, 2 Sep 2015 18:56:57 +0200 Subject: ANN: psutil 3.2.0 released Message-ID: Hello all, I'm glad to announce the release of psutil 3.2.0: https://github.com/giampaolo/psutil/ About ===== psutil (python system and process utilities) is a cross-platform library for retrieving information on running processes and system utilization (CPU, memory, disks, network) in Python. It is useful mainly for system monitoring, profiling and limiting process resources and management of running processes. It implements many functionalities offered by command line tools such as: ps, top, lsof, netstat, ifconfig, who, df, kill, free, nice, ionice, iostat, iotop, uptime, pidof, tty, taskset, pmap. It currently supports Linux, Windows, OSX, FreeBSD and Sun Solaris, both 32-bit and 64-bit architectures, with Python versions from 2.6 to 3.5 (users of Python 2.4 and 2.5 may use 2.1.3 version). PyPy is also known to work. Main features / fixes =============== - [Windows] added support for CTRL_C_EVENT and CTRL_BREAK_EVENT signals to use with Process.send_signal(). - net_if_addrs() now returns point-to-point (VPNs) addresses. - continuous tests integration for OSX - different issues regarding unicode handling have been fixed Links ==== - Home page: https://github.com/giampaolo/psutil - Downloads: https://pypi.python.org/pypi?:action=display&name=psutil#downloads - Documentation: http://pythonhosted.org/psutil/ -- Giampaolo - http://grodola.blogspot.com From grant.jenks at gmail.com Thu Sep 3 00:27:46 2015 From: grant.jenks at gmail.com (Grant Jenks) Date: Wed, 2 Sep 2015 15:27:46 -0700 Subject: ANN: WordSegment 0.5.2 Released Message-ID: Announcing the Release of WordSegment Version 0.5.2 What is WordSegment? ------------------------- WordSegment is an Apache2 licensed module for English word segmentation, written in pure-Python, and based on a trillion-word corpus. Based on code from the chapter ?Natural Language Corpus Data? by Peter Norvig from the book ?Beautiful Data? (Segaran and Hammerbacher, 2009). Data files are derived from the Google Web Trillion Word Corpus. It's implemented in pure-Python with 100% code coverage and complete documentation. What's new in 0.5.2? -------------------- - Updated documentation with tutorial and API reference. - Removed unigrams longer than 24 characters. - Bug Fix: Converted all bigrams to lowercase. - Bug Fix: Sanitize input text by lowercasing and removing non-alphanumerics. - Replaced "memoize" decorator with local memo-dict for server use. Links ----- - Documentation: http://www.grantjenks.com/docs/wordsegment/ - Download: https://pypi.python.org/pypi/wordsegment - Source: https://github.com/grantjenks/wordsegment - Issues: https://github.com/grantjenks/wordsegment/issues This release is backwards-compatible. Please upgrade. From ralsina at kde.org Thu Sep 3 18:14:58 2015 From: ralsina at kde.org (Roberto Alsina) Date: Thu, 03 Sep 2015 16:14:58 +0000 Subject: Nikola v7.7.0 is out! Message-ID: On behalf of the Nikola team, I am pleased to announce the immediate availability of Nikola v7.7.0. It fixes some bugs and adds new features. What is Nikola? =============== Nikola is a static site and blog generator, written in Python. It can use Mako and Jinja2 templates, and input in many popular markup formats, such as reStructuredText and Markdown ? and can even turn Jupyter (IPython) Notebooks into blog posts! It also supports image galleries, and is multilingual. Nikola is flexible, and page builds are extremely fast, courtesy of doit (which is rebuilding only what has been changed). Find out more at the website: https://getnikola.com/ Key Changes since v7.6.4 ======================== * [Sections](https://getnikola.com/blog/new-feature-in-nikola-sections.html) by Daniel Aleksandersen * Author pages by Juanjo Conti Downloads ========= Install using `pip install Nikola` or download tarballs on [GitHub][] and [PyPI][]. [GitHub]: https://github.com/getnikola/nikola/releases/tag/v7.7.0 [PyPI]: https://pypi.python.org/pypi/Nikola/7.7.0 Changes ======= Features -------- * New support for online CSS and JS minifying services (Issue #1999) * Make tag optional with USE_BASE_TAG flag (Issue #1985) * Render author pages (Issue #1972) * Atom feeds for tag lists (Issue #1686) * New ``THEME_COLOR`` option for customizing themes from a primary color (Issue #1980) * New ``color_hsl_adjust_hex`` and ``colorize_str_from_base_color`` functions available in themes (Issue #1980) * New ``POSTS`` output subfolders now generate sections by deault (Issue #1980) * New ``POSTS_SECTIONS`` and ``POSTS_SECTION_*`` options for configuring the section pages (Issue #1980) * For themers: Each ``post`` are now asssociated with section_color, section_link, and section_name (Issue #1980) * Each new section page has a auto-assigned color based on shifting the hue of ``THEME_COLOR`` based on a hash of the section name, can be overwritten with ``POSTS_SECTION_COLORS`` option (Issue #1980) * New ``TAG_PAGES_TITLES`` and ``CATEGORY_PAGES_TITLES`` options (Issue #1962) * Add Bosnian and Serbian (Latin) languages, by Sa?a Savi? [bs, sr_latin] * Add Portuguese (Portugal) language, by jamatos [pt] Bugfixes -------- * Make nikola tabcompletion work outside sites (Issue #1983) * Fix display of categories list in bootstrap theme (Issue #2002) * If webassets is not installed, use unbundled assets (Issue #1992) * Check links in Atom and sitemap files (Issue #1993) * Link checker should check all absolute URLs to self (Issue #1991) * Check ``img|source[@srcset]`` as part of ``check -l`` (Issue #1989) * Clean up translations for third party components * ``pagekind["main_index"]`` set on the main indexes to differentiate them from all the other indexes. * Add dependency on metadata file for 2-file posts (Issue #1968) * Set UTF-8 charset in Content-Type or text/* and *+xml (Issue #1966) From hawkowl at atleastfornow.net Fri Sep 4 10:04:09 2015 From: hawkowl at atleastfornow.net (Amber "Hawkie" Brown) Date: Fri, 4 Sep 2015 16:04:09 +0800 Subject: Twisted 15.4.0 Release Announcement Message-ID: <536D8798-44E2-4C75-AB8F-C6F422ADD32D@atleastfornow.net> On behalf of Twisted Matrix Laboratories, I am honoured to announce the release of Twisted 15.4, codenamed "Trial By Fire". Twisted is continuing to forge ahead, with the highlights of this release being: - twisted.positioning, the rest of twisted.internet.endpoints, KQueueReactor (for real this time), and twisted.web.proxy/guard have all been ported to Python 3. - Trial has been ported to Python 3! This was made possible by a Python Software Foundation grant. - Twisted officially supports several more platforms: Py3.4 on FreeBSD, Py2.7/Py3.4 on Fedora 21/22, and Py2.7 on RHEL7. - Python 2.6 is no longer supported, and support for Debian 6, and RHEL6 has been removed because of this. - Support for the EOL'd platforms of Fedora 17/18/19 has been removed. - Twisted has moved to requiring setuptools for installation. - twisted.python.failure.Failure's __repr__ now includes the exception message. - 19 tickets in total closed! You can find the downloads at https://pypi.python.org/pypi/Twisted (or alternatively http://twistedmatrix.com/trac/wiki/Downloads). The NEWS file can be found at https://github.com/twisted/twisted/blob/trunk/NEWS . Many thanks to everyone who had a part in this release - the supporters of the Twisted Software Foundation, the developers who contributed code as well as documentation, and all the people building great things with Twisted! Amber "Hawkie" Brown GPG: https://keybase.io/hawkowl hawkowl at atleastfornow.net -------------- next part -------------- A non-text attachment was scrubbed... Name: signature.asc Type: application/pgp-signature Size: 455 bytes Desc: Message signed with OpenPGP using GPGMail URL: From glyph at twistedmatrix.com Sat Sep 5 07:58:17 2015 From: glyph at twistedmatrix.com (Glyph) Date: Fri, 4 Sep 2015 22:58:17 -0700 Subject: [Twisted-web] Twisted 15.4.0 Release Announcement In-Reply-To: <536D8798-44E2-4C75-AB8F-C6F422ADD32D@atleastfornow.net> References: <536D8798-44E2-4C75-AB8F-C6F422ADD32D@atleastfornow.net> Message-ID: <41C4C5A6-AF3B-41BC-9D02-9F11DB1CBB4C@twistedmatrix.com> > On Sep 4, 2015, at 01:04, Amber Hawkie Brown wrote: > > On behalf of Twisted Matrix Laboratories, I am honoured to announce the release of Twisted 15.4, codenamed "Trial By Fire". Hooray Twisted! Hooray Amber! This release is a particularly big deal, because: > - Trial has been ported to Python 3! This was made possible by a Python Software Foundation grant. If you've been wanting to port portions of Twisted over to Python 3 but have been stymied by primitive tooling and weird special cases, the fact that the full test runner is now available is a big deal. It should be a lot easier to onboard new contributors to help with porting tickets now, and I expect the rate of porting of Python 3 modules to accelerate considerably as a result. Thanks to everyone who made this happen. -glyph From paul.l.kehrer at gmail.com Sun Sep 6 04:05:44 2015 From: paul.l.kehrer at gmail.com (Paul Kehrer) Date: Sat, 5 Sep 2015 21:05:44 -0500 Subject: PyCA cryptography 1.0.1 released Message-ID: PyCA cryptography (https://github.com/pyca/cryptography)?1.0.1 has been released! cryptography is a package which provides cryptographic recipes and primitives to Python developers. Our goal is for it to be your "cryptographic standard library". We support Python 2.6-2.7, Python 3.3+, and PyPy 2.6+. Changelog (https://cryptography.io/en/latest/changelog/) * We now ship OS X wheels that statically link OpenSSL by default. When installing a wheel on OS X 10.10+ (and using a Python compiled against the 10.10 SDK) users will no longer need to compile. * Set the default string mask to UTF-8 in the OpenSSL backend to resolve character encoding issues with older versions of OpenSSL. * Several new OpenSSL bindings have been added to support a future pyOpenSSL release. * Raise an error during install on PyPy < 2.6. 1.0+ requires PyPy 2.6+. Thanks to all the contributors who helped on this release, especially around infrastructure to support the new wheels. -Paul Kehrer (reaperhulk) From stagi.andrea at gmail.com Sun Sep 6 11:51:19 2015 From: stagi.andrea at gmail.com (Andrea Stagi) Date: Sun, 6 Sep 2015 11:51:19 +0200 Subject: ANN Nanpy 0.9.5 - Use your Arduino with Python Message-ID: Hi, I'm happy to announce Nanpy 0.9.5 release. https://pypi.python.org/pypi/nanpy/0.9.5 This release includes some bug fixing and Adafruit TLC5947 24-Channel PWM Driver support. I don't think to continue developing Nanpy and adding modules to the core by myself, so if you want to extend Nanpy please read this guide: http://nanpy.github.io/#how-to-extend-nanpy If you want to know how to start using Nanpy read this http://nanpy .github.io/ With Nanpy you can easily use your Arduino board writing Python code from any device and you can build awesome things like an old RC car now powered by Raspberry Pi and Arduino and controlled via Android ( https://www.youtube.com/watch?v=iepyMyFNtjk https://github.com/chickenfootcar), Smart Gardening ( https://www.youtube.com/watch?v=n6hN1xkelKA), Minecraft Altimeter (*https://www.youtube.com/watch?v=51Ei9n_2sLY * https://github.com/DjangoBeer/minecraftpi-hack/tree/master/altimeter). Our "Hello World": a = ArduinoApi() a.pinMode(13, a.OUTPUT) a.digitalWrite(13, a.HIGH) We support OneWire, Lcd, Stepper, Servo, DallasTemperature and many more libraries? Let?s try to connect our 16x2 lcd screen on pins 7, 8, 9, 10, 11, 12 and show your first ?Hello world?! from nanpy import Lcd lcd = Lcd([7, 8, 9, 10, 11, 12], [16, 2]) lcd.printString('Hello World!') Nanpy is an open source project, you can follow our work on Github https://github.com/nanpy? -- Andrea Stagi (@4stagi) - Develover @Nephila Job profile: http://linkedin.com/in/andreastagi Website: http://4spills.blogspot.it/ Github: http://github.com/astagi From larry at hastings.org Tue Sep 8 03:35:03 2015 From: larry at hastings.org (Larry Hastings) Date: Mon, 7 Sep 2015 18:35:03 -0700 Subject: [RELEASED] Python 3.5.0rc3 is now available Message-ID: <55EE3B47.7030305@hastings.org> On behalf of the Python development community and the Python 3.5 release team, I'm relieved to announce the availability of Python 3.5.0rc3, also known as Python 3.5.0 Release Candidate 3. The next release of Python 3.5 will be Python 3.5.0 final. There should be few (or no) changes to Python 3.5 between rc3 and final. This is a preview release, and its use is not recommended for production settings. You can find Python 3.5.0rc3 here: https://www.python.org/downloads/release/python-350rc3/ Windows and Mac users: please read the important platform-specific "Notes on this release" section near the end of that page. Happy hacking, //arry/ From larry at hastings.org Wed Sep 9 15:42:02 2015 From: larry at hastings.org (Larry Hastings) Date: Wed, 9 Sep 2015 06:42:02 -0700 Subject: [RELEASED] Python 3.5.0rc4 is now available! Message-ID: <55F0372A.3050007@hastings.org> On behalf of the Python development community and the Python 3.5 release team, I'm surprised to announce the availability of Python 3.5.0rc4, also known as Python 3.5.0 Release Candidate 4. Python 3.5.0 Release Candidate 3 was only released about a day ago. However: during testing, a major regression was discovered, reported on the issue tracker as #25027: http://bugs.python.org/issue25027 Python 3.5 includes some big changes on how Python is built on Windows. One of those changes resulted in Python processes on Windows exceeding the maximum number of loadable shared libraries. As a result Windows builds of Python could no longer run major Python software stacks like Pandas and Jupyter. Fixing this required non-trivial last-minute changes to the Windows build--and those changes need testing. We therefore elected to insert an extra release candidate before the final release, to get these changes into your hands as soon as possible, so that Windows users could test these changes. As with all other Python 3.5 releases to date, this is a preview release, and its use is not recommended for production settings. However, users are encouraged to test with Python 3.5.0rc4, /especially/ Windows users who build or make use of numerous external packages. (Non-Windows users will find little difference between Python 3.5.0rc3 and Python 3.5.0rc4.) You can find Python 3.5.0rc4 here: https://www.python.org/downloads/release/python-350rc4/ Windows and Mac users: please read the important platform-specific "Notes on this release" section near the end of that page. Please kick the tires, //arry/ p.s. Special thanks from the Python 3.5 release team to Christoph Gohlke for the bug report! From faltet at gmail.com Wed Sep 9 18:45:59 2015 From: faltet at gmail.com (Francesc Alted) Date: Wed, 9 Sep 2015 18:45:59 +0200 Subject: bcolz 0.11.0 released! Message-ID: ======================= Announcing bcolz 0.11.0 ======================= What's new ========== Although this is mostly a maintenance release that fixes some bugs, the setup.py is enterily based now in setuptools and has been greatly modernized to use a new versioning system. Just this deserves a bump in the minor version. Thanks to Gabi Davar (@mindw) for such a nice improvement. Also, many improvements in the Continuous Integration part (and hence not directly visible to users) have been made by Francesc Elies (@FrancescElies). Thanks for his quiet but effective work. And last but not least, I would like to announce that Valentin Haenel (@esc) just stepped down as release manager. Thanks Valentin for all the hard work that you put in making bcolz a better piece of software! What it is ========== *bcolz* provides columnar and compressed data containers that can live either on-disk or in-memory. Column storage allows for efficiently querying tables with a large number of columns. It also allows for cheap addition and removal of column. In addition, bcolz objects are compressed by default for reducing memory/disk I/O needs. The compression process is carried out internally by Blosc, an extremely fast meta-compressor that is optimized for binary data. Lastly, high-performance iterators (like ``iter()``, ``where()``) for querying the objects are provided. bcolz can use numexpr internally so as to accelerate many vector and query operations (although it can use pure NumPy for doing so too). numexpr optimizes the memory usage and use several cores for doing the computations, so it is blazing fast. Moreover, since the carray/ctable containers can be disk-based, and it is possible to use them for seamlessly performing out-of-memory computations. bcolz has minimal dependencies (NumPy), comes with an exhaustive test suite and fully supports both 32-bit and 64-bit platforms. Also, it is typically tested on both UNIX and Windows operating systems. Together, bcolz and the Blosc compressor, are finally fulfilling the promise of accelerating memory I/O, at least for some real scenarios: http://nbviewer.ipython.org/github/Blosc/movielens-bench/blob/master/querying-ep14.ipynb#Plots Other users of bcolz are Visualfabriq (http://www.visualfabriq.com/) the Blaze project (http://blaze.pydata.org/), Quantopian (https://www.quantopian.com/) and Scikit-Allel (https://github.com/cggh/scikit-allel) which you can read more about by pointing your browser at the links below. * Visualfabriq: * *bquery*, A query and aggregation framework for Bcolz: * https://github.com/visualfabriq/bquery * Blaze: * Notebooks showing Blaze + Pandas + BColz interaction: * http://nbviewer.ipython.org/url/blaze.pydata.org/notebooks/timings-csv.ipynb * http://nbviewer.ipython.org/url/blaze.pydata.org/notebooks/timings-bcolz.ipynb * Quantopian: * Using compressed data containers for faster backtesting at scale: * https://quantopian.github.io/talks/NeedForSpeed/slides.html * Scikit-Allel * Provides an alternative backend to work with compressed arrays * https://scikit-allel.readthedocs.org/en/latest/bcolz.html Installing ========== bcolz is in the PyPI repository, so installing it is easy:: $ pip install -U bcolz Resources ========= Visit the main bcolz site repository at: http://github.com/Blosc/bcolz Manual: http://bcolz.blosc.org Home of Blosc compressor: http://blosc.org User's mail list: bcolz at googlegroups.com http://groups.google.com/group/bcolz License is the new BSD: https://github.com/Blosc/bcolz/blob/master/LICENSES/BCOLZ.txt Release notes can be found in the Git repository: https://github.com/Blosc/bcolz/blob/master/RELEASE_NOTES.rst ---- **Enjoy data!** -- Francesc Alted From holger at merlinux.eu Thu Sep 10 13:11:57 2015 From: holger at merlinux.eu (holger krekel) Date: Thu, 10 Sep 2015 11:11:57 +0000 Subject: devpi-server-2.3.0: changed pypi caching, semantic versioning Message-ID: <20150910111157.GM26059@merlinux.eu> devpi-server-2.3: more resilient pypi caching, semantic versioning ============================================================================ The devpi-server-2.3 release brings two important changes: - We don't use the XMLRPC "changelog" interface of pypi.python.org anymore. Instead devpi-server now re-checks with pypi every 30 minutes and will serve cached contents in between. If pypi is not reachable and we still have cached contents we continue serving the cached content so that we can survive pypi outages. - we switched to semantic versioning so that only major version number increases signal the need for an export/import cycle. If you have a devpi-server-2.2.X installation you are not required to export/import. However, there has been a regression with the execnet-1.4.0 release which was fixed with the now current execnet-1.4.1 release. If you have freshly setup devpi-server and used execnet-1.4.0 at that time you will need to do an export with execnet-1.4.0 and then import with execnet-1.4.1 installed. Note also that we released new micro releases of devpi-client and devpi-web which are pure bugfixing releases. For many more changes and fixes, please see the respective CHANGELOG of the respective packages. For docs and quickstart tutorials see http://doc.devpi.net many thanks to Florian Schulze who any of the new features. And special thanks go to the two still unnamed companies who funded major parts of the above work. have fun, holger krekel, merlinux GmbH 2.3.0 (2015-09-10) ------------------ - switched to semantic versioning. Only major revisions will ever require an export/import cycle. - fix issue260: Log identical upload message on level "info" - Log upload trigger message on level "warn" - The PyPI changelog isn't watched for changes anymore. Instead we cache release data for 30 minutes, this can be adjusted with the ``--mirror-cache-expiry`` option. - fix issue251: Require and validate the "X-DEVPI-SERIAL" from master in replica thread - fix issue258: fix FileReplicationError representation for proper logging - fix issue256: if a project removes all releases from pypi or the project is deleted on pypi, we get a 404 back. In that case we now return an empty list of releases instead of returning an UpstreamError. - Change nginx template to serve HEAD in addition to GET requests of files directly instead of proxying to devpi-server - make keyfs cache size configurable via "--keyfs-cache-size" option and increase the default size to improve performance for installations with many writes From jurgen.erhard at gmail.com Fri Sep 11 06:17:41 2015 From: jurgen.erhard at gmail.com (=?utf-8?q?J=C3=BCrgen_A=2E_Erhard?=) Date: Fri, 11 Sep 2015 06:17:41 +0200 (CEST) Subject: Karlsruhe (Germany) Python User Group, September 18th 2015, 7pm Message-ID: <3nC3hj4Yq2zPLL@mail.python.org> The Karlsruhe Python User Group (KaPy) meets again. Friday, 2015-09-18 (September 18th) at 19:00 (7pm) in the rooms of Entropia eV (the local affiliate of the CCC). See http://entropia.de/wiki/Anfahrt on how to get there. For your calendars: meetings are held monthly, on the 3rd Friday. There's also a mailing list at https://lists.bl0rg.net/cgi-bin/mailman/listinfo/kapy. From stefan_ml at behnel.de Thu Sep 10 19:06:33 2015 From: stefan_ml at behnel.de (Stefan Behnel) Date: Thu, 10 Sep 2015 19:06:33 +0200 Subject: quicktions 1.0 - fast Fractions data type for rational numbers Message-ID: <55F1B899.1000709@behnel.de> quicktions 1.0 has been released, the cythonized version of 'fractions.Fraction'. It works with CPython 2.6 - 3.5. Get it from PyPI: https://pypi.python.org/pypi/quicktions Python?s Fraction data type is an excellent way to do exact fractional and money calculations and largely beats Decimal in terms of simplicity, accuracy and safety. Clearly not in terms of speed, though, given the cdecimal accelerator in Py3.3+. "quicktions" is an adaptation of the original fractions module (as included in CPython 3.5) that is compiled and optimised with Cython into a fast, native extension module. Compared to the standard library ?fractions? module in Py2.7 and Py3.4, "quicktions" is currently about 10x faster, and still about 6x faster than the current version in Python 3.5. It?s also about 15x faster than the (Python implemented) decimal module in Py2.7. For documentation, see the Python standard library?s fraction module: https://docs.python.org/3.5/library/fractions.html Have fun! Stefan From stagi.andrea at gmail.com Fri Sep 11 09:53:32 2015 From: stagi.andrea at gmail.com (Andrea Stagi) Date: Fri, 11 Sep 2015 09:53:32 +0200 Subject: ANN python-taiga 0.6.0 Message-ID: Python-taiga 0.6.0 released! python-taiga is a python module for communicating with Taiga.io, a new project management platform! For more info https://taiga.io/ This release includes: - Allow client to use application tokens - Add list attachments to user stories, tasks, issues - Support new like/unlike methods - New add_comment method for user stories, tasks, issues - Fix "version" attribute problem (now automagically managed) - Minor fixes You can find python-taiga code on Github https://github.com/nephila/python-taiga Any kind of contribution is appreciated! :) -- Andrea Stagi (@4stagi) - Develover @Nephila Job profile: http://linkedin.com/in/andreastagi Website: http://4spills.blogspot.it/ Github: http://github.com/astagi From rjollos at gmail.com Fri Sep 11 23:09:53 2015 From: rjollos at gmail.com (Ryan Ollos) Date: Fri, 11 Sep 2015 17:09:53 -0400 Subject: Trac 1.0.9 released Message-ID: Trac 1.0.9 Released =================== Trac 1.0.9, the latest maintenance release for the current stable branch, is available. You will find this release at the usual places: http://trac.edgewall.org/wiki/TracDownload#LatestStableRelease https://pypi.python.org/pypi/Trac/1.0.9 Trac 1.0.9 provides more than a dozen minor fixes and enhancements, including significantly reduced memory usage by the Git repository connector. You can find the detailed release notes for 1.0.9 on the following pages: http://trac.edgewall.org/wiki/TracDev/ReleaseNotes/1.0#MaintenanceReleases Now to the packages themselves: URLs: http://download.edgewall.org/trac/Trac-1.0.9.tar.gz http://download.edgewall.org/trac/Trac-1.0.9.win32.exe http://download.edgewall.org/trac/Trac-1.0.9.win-amd64.exe http://download.edgewall.org/trac/Trac-1.0.9.zip MD5 sums: 429d9aa79e3d939add7963ca9a7deb57 Trac-1.0.9.tar.gz 9801dbb0b93d22294d82ad7cc2d33829 Trac-1.0.9.win32.exe db1c35aa95fda539e6b7365fb5af4780 Trac-1.0.9.win-amd64.exe 0bb8ceffe7dbe6211a3887e42a1be972 Trac-1.0.9.zip SHA1 sums: a22c4f648c2f0adf7ca166aa5c01b0142bccbef0 Trac-1.0.9.tar.gz caa4d0c96a456c8a9427c9bd0db8d665b911d50a Trac-1.0.9.win32.exe 3a82ccc0fdf3dc8ca9077cb3432464a3ff2547e6 Trac-1.0.9.win-amd64.exe ac338b2fde74df9ab19948d1caf6d25cc0e37622 Trac-1.0.9.zip Acknowledgements ================ Many thanks to the growing number of people who have, and continue to, support the project. Also our thanks to all people providing feedback and bug reports that helps us make Trac better, easier to use and more effective. Without your invaluable help, Trac would not evolve. Thank you all. Finally, we offer hope that Trac will prove itself useful to like-minded programmers around the world, and that this release will be an improvement over the last version. Please let us know. /The Trac Team http://trac.edgewall.org/ From larry at hastings.org Sun Sep 13 16:28:34 2015 From: larry at hastings.org (Larry Hastings) Date: Sun, 13 Sep 2015 15:28:34 +0100 Subject: [RELEASED] Python 3.5.0 is now available Message-ID: <55F58812.1030001@hastings.org> On behalf of the Python development community and the Python 3.5 release team, I'm proud to announce the availability of Python 3.5.0. Python 3.5.0 is the newest version of the Python language, and it contains many exciting new features and optimizations. You can read all about what's new in Python 3.5.0 here: https://docs.python.org/3.5/whatsnew/3.5.html And you can download Python 3.5.0 here: https://www.python.org/downloads/release/python-350/ Windows and Mac users: please read the important platform-specific "Notes on this release" section near the end of that page. We hope you enjoy Python 3.5.0! //arry/ From fzumstein at gmail.com Sun Sep 13 18:13:34 2015 From: fzumstein at gmail.com (Felix Zumstein) Date: Sun, 13 Sep 2015 09:13:34 -0700 (PDT) Subject: xlwings v0.4.0 adds reliable support for multiple instances on Windows Message-ID: I am pleased to announce the release of xlwings v0.4.0: The most important update with this release was made on Windows: The methodology used to make a connection to Workbooks has been completely replaced. This finally allows xlwings to reliably connect to multiple instances of Excel even if the Workbooks are opened from untrusted locations (network drives or files downloaded from the internet). This gets rid of the dreaded "Filename is already open..." error message that was sometimes shown in this context. It also allows the VBA hooks ("RunPython") to work correctly if the very same file is opened in various instances of Excel. Check the Release Notes for full details: http://docs.xlwings.org/whatsnew.html About xlwings: xlwings is a BSD-licensed python library that makes it easy to call python from Excel and vice versa: Interact with Excel from python using a syntax that is close to VBA yet pythonic. Replace your VBA macros with python code and still pass around your workbooks as easily as before. xlwings fully supports NumPy arrays and Pandas DataFrames. It works with Microsoft Excel on Windows and Mac. http://xlwings.org From info at egenix.com Mon Sep 14 10:24:34 2015 From: info at egenix.com (eGenix Team: M.-A. Lemburg) Date: Mon, 14 Sep 2015 10:24:34 +0200 Subject: ANN: eGenix mxODBC Plone/Zope Database Adapter 2.2.3 Message-ID: <55F68442.5060709@egenix.com> ________________________________________________________________________ ANNOUNCING mxODBC Plone/Zope Database Adapter Version 2.2.3 for the Plone CMS and Zope server platform Available for Plone 4.0-4.3 and Plone 5.0, Zope 2.12 and 2.13, on Windows, Linux, Mac OS X, FreeBSD and other platforms This announcement is also available on our web-site for online reading: http://www.egenix.com/company/news/eGenix-mxODBC-Zope-DA-2.2.3-GA.html ________________________________________________________________________ INTRODUCTION The eGenix mxODBC Zope DA allows you to easily connect your Zope or Plone CMS installation to just about any database backend on the market today, giving you the reliability of the commercially supported eGenix product mxODBC and the flexibility of the ODBC standard as middle-tier architecture. The mxODBC Zope Database Adapter is highly portable, just like Zope itself, and provides a high performance interface to all your ODBC data sources, using a single well-supported interface on Windows, Linux, Mac OS X, FreeBSD and other platforms. This makes it ideal for deployment in ZEO Clusters and Zope hosting environments where stability and high performance are a top priority, establishing an excellent basis and scalable solution for your Plone CMS. Product page: http://www.egenix.com/products/zope/mxODBCZopeDA/ ________________________________________________________________________ NEWS The 2.2.3 release of our mxODBC Zope/Plone Database Adapter product is a patch level release of the popular ODBC database interface for Plone and Zope. It includes these enhancements and fixes: Feature Updates --------------- * We have integrated a new option to force serialized connects on a per Zope connection object basis. This can be used to work around bugs in ODBC drivers which are not fully thread-safe in the connect phase. The option is disabled per default. Driver Compatibility Enhancements --------------------------------- * ODBC driver compatibility updated. Upgraded to the latest mxODBC 3.3.5 release, adding compatibility enhancements for MS SQL Server. See the mxODBC 3.3.5 release announcements for full details. Installation Enhancements ------------------------- * Added pip install compatibility to mxODBC Zope DA by creating prebuilt archives and uploading a web installer to PyPI. This can be useful if you are installing Zope or Plone using a requirements.txt type approach, e.g. using pip install ThreadLock Products.ZSQLMethods egenix-mxodbc-zopeda * Enabled creating wheels from the prebuilt archives, which helps when running pip with the wheels package installed. pip then tries to build wheels during installation and caches them for future reuse. The complete list of changes is available on the mxODBC Zope DA changelog page. http://www.egenix.com/products/zope/mxODBCZopeDA/changelog.html mxODBC Zope DA 2.2.0 was released on 2014-12-11. Please see the mxODBC Zope DA 2.2.0 release announcement for all the new features we have added. http://www.egenix.com/company/news/eGenix-mxODBC-Zope-DA-2.2.0-GA.html For the full list of features, please see the mxODBC Zope DA feature list: http://www.egenix.com/products/zope/mxODBCZopeDA/#Features The complete list of changes is available on the mxODBC Zope DA changelog page. ________________________________________________________________________ UPGRADING Users are encouraged to upgrade to this latest mxODBC Plone/Zope Database Adapter release to benefit from the new features and updated ODBC driver support. We have taken special care not to introduce backwards incompatible changes, making the upgrade experience as smooth as possible. For major and minor upgrade purchases, we will give out 20% discount coupons going from mxODBC Zope DA 1.x to 2.2 and 50% coupons for upgrades from mxODBC 2.x to 2.2. After upgrade, use of the original license from which you upgraded is no longer permitted. Patch level upgrades (e.g. 2.2.0 to 2.2.3) are always free of charge. Please contact the eGenix.com Sales Team with your existing license serials for details for an upgrade discount coupon. If you want to try the new release before purchase, you can request 30-day evaluation licenses by visiting our web-site or writing to sales at egenix.com, stating your name (or the name of the company) and the number of eval licenses that you need. http://www.egenix.com/products/python/mxODBCZopeDA/#Evaluation ________________________________________________________________________ DOWNLOADS Please visit the eGenix mxODBC Zope DA product page for downloads, instructions on installation and documentation of the packages: http://www.egenix.com/company/products/zope/mxODBCZopeDA/ If you want to try the package, please jump straight to the download instructions: http://www.egenix.com/products/zope/mxODBCZopeDA/#Download Fully functional evaluation licenses for the mxODBC Zope DA are available free of charge: http://www.egenix.com/products/zope/mxODBCZopeDA/#Evaluation ________________________________________________________________________ SUPPORT Commercial support for this product is available directly from eGenix.com. Please see the support section of our website for details: http://www.egenix.com/services/support/ ________________________________________________________________________ MORE INFORMATION For more information on eGenix mxODBC Zope DA, licensing and download instructions, please write to sales at egenix.com. About eGenix (http://www.egenix.com/): eGenix is a software project, consulting and product company focusing on expert project services and professional quality products for companies, Python users and developers. Enjoy, -- Marc-Andre Lemburg eGenix.com Professional Python Services directly from the Source (#1, Sep 14 2015) >>> Python Projects, Coaching and Consulting ... http://www.egenix.com/ >>> mxODBC Plone/Zope Database Adapter ... http://zope.egenix.com/ >>> mxODBC, mxDateTime, mxTextTools ... http://python.egenix.com/ ________________________________________________________________________ 2015-09-18: PyCon UK 2015 ... 4 days to go 2015-10-21: Python Meeting Duesseldorf ... 37 days to go ::::: 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 faltet at gmail.com Mon Sep 14 18:14:52 2015 From: faltet at gmail.com (Francesc Alted) Date: Mon, 14 Sep 2015 18:14:52 +0200 Subject: numexpr 2.4.4 released Message-ID: ========================= Announcing Numexpr 2.4.4 ========================= 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 ========== This is a maintenance release which contains several bug fixes, like better testing on Python3 platform and some harmless data race. Among the enhancements, AppVeyor support is here and OMP_NUM_THREADS is honored as a fallback in case NUMEXPR_NUM_THREADS is not set. In case you want to know more in detail what has changed in this version, see: https://github.com/pydata/numexpr/blob/master/RELEASE_NOTES.rst 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 stagi.andrea at gmail.com Mon Sep 14 18:50:00 2015 From: stagi.andrea at gmail.com (Andrea Stagi) Date: Mon, 14 Sep 2015 18:50:00 +0200 Subject: ANN nanpy-firmware 0.9.5.1 In-Reply-To: References: Message-ID: Hi everyone, Just two words to announce a little release for Nanpy firmware in case you got some errors during configuration. Nanpy is a framework to use your Arduino with Python, please check it out there: https://pypi.python.org/pypi/nanpy#downloads and github.com for source code: https://github.com/nanpy/ From grant.jenks at gmail.com Mon Sep 14 21:18:25 2015 From: grant.jenks at gmail.com (Grant Jenks) Date: Mon, 14 Sep 2015 12:18:25 -0700 Subject: ANN: Tribool 0.6.2 Released Message-ID: Announcing the Release of Tribool Version 0.6.2 What is Tribool? ---------------- Tribool is an Apache2 licensed module for three-valued logic. More commonly found in SQL, three-valued logic defines truth tables over the values True, False, and Indeterminate. The third value is considered a state being one of True or False. Tribool implements logical operators on these values as immutable singletons. The implementation is pure-Python with 100% code coverage and complete documentation. What's new in 0.6.2? -------------------- - Implemented __copy__ and __deepcopy__ methods as part of `copy` module protocol. - Implemented __reduce__ as part of `pickle` module protocol. - Changed subclassing from `object` to `tuple` to prevent mutation of internal state. Links ----- - Documentation: http://www.grantjenks.com/docs/tribool/ - Download: https://pypi.python.org/pypi/tribool - Source: https://github.com/grantjenks/python_tribool - Issues: https://github.com/grantjenks/python_tribool/issues This release is backwards-compatible. Please upgrade. From holger at merlinux.eu Tue Sep 15 13:57:02 2015 From: holger at merlinux.eu (holger krekel) Date: Tue, 15 Sep 2015 11:57:02 +0000 Subject: pytest-2.7.3: fixes and py35 compat Message-ID: <20150915115702.GY26059@merlinux.eu> Hi all, I just pushed pytest-2.7.3 to pypi which contains bugfixes including compatibility to python3.5 which was released yesterday. In case you wonder, pytest is a widely used mature test runner both for unit and functional test purposes in python. See http://pytest.org for documentation and examples. Thanks to contributors for this release, among them: Bruno Oliveira, Florian Bruhin, Floris Bruynooghe, Ronny Pfannschmidt, Eric Hunsberg, Barney Gale, Guido van Rossum, Matthias Matthias Bussonier, Stefan Zimmermann, Thomas Kluyver, Pieter Mulder, Raphael Pierzina. best, holger krekel P.S.: we are also preparing a pytest-2.8 which has a much longer list of changes/features. 2.7.3 (compared to 2.7.2) ----------------------------- - Allow 'dev', 'rc', or other non-integer version strings in `importorskip`. Thanks to Eric Hunsberger for the PR. - fix issue856: consider --color parameter in all outputs (for example --fixtures). Thanks Barney Gale for the report and Bruno Oliveira for the PR. - fix issue855: passing str objects as `plugins` argument to pytest.main is now interpreted as a module name to be imported and registered as a plugin, instead of silently having no effect. Thanks xmo-odoo for the report and Bruno Oliveira for the PR. - fix issue744: fix for ast.Call changes in Python 3.5+. Thanks Guido van Rossum, Matthias Bussonnier, Stefan Zimmermann and Thomas Kluyver. - fix issue842: applying markers in classes no longer propagate this markers to superclasses which also have markers. Thanks xmo-odoo for the report and Bruno Oliveira for the PR. - preserve warning functions after call to pytest.deprecated_call. Thanks Pieter Mulder for PR. - fix issue854: autouse yield_fixtures defined as class members of unittest.TestCase subclasses now work as expected. Thannks xmo-odoo for the report and Bruno Oliveira for the PR. - fix issue833: --fixtures now shows all fixtures of collected test files, instead of just the fixtures declared on the first one. Thanks Florian Bruhin for reporting and Bruno Oliveira for the PR. - fix issue863: skipped tests now report the correct reason when a skip/xfail condition is met when using multiple markers. Thanks Raphael Pierzina for reporting and Bruno Oliveira for the PR. - optimized tmpdir fixture initialization, which should make test sessions faster (specially when using pytest-xdist). The only visible effect is that now pytest uses a subdirectory in the $TEMP directory for all directories created by this fixture (defaults to $TEMP/pytest-$USER). Thanks Bruno Oliveira for the PR. From fwierzbicki at gmail.com Tue Sep 15 19:29:39 2015 From: fwierzbicki at gmail.com (fwierzbicki at gmail.com) Date: Tue, 15 Sep 2015 10:29:39 -0700 Subject: Jython 2.7.1 beta1 released! Message-ID: On behalf of the Jython development team, I'm pleased to announce that Jython 2.7.1 beta1 is released! Thanks to Amobee for sponsoring my work on Jython, and thanks to the many contributors to Jython! Details are here: http://fwierzbicki.blogspot.com/2015/09/on-behalf-of-jython-development-team-im.html -Frank From grant.jenks at gmail.com Tue Sep 15 19:04:28 2015 From: grant.jenks at gmail.com (Grant Jenks) Date: Tue, 15 Sep 2015 10:04:28 -0700 Subject: ANN: WordSegment 0.6.1 Released Message-ID: Announcing the Release of WordSegment Version 0.6.1 What is WordSegment? -------------------- WordSegment is an Apache2 licensed module for English word segmentation, written in pure-Python, and based on a trillion-word corpus. Based on code from the chapter ?Natural Language Corpus Data? by Peter Norvig from the book ?Beautiful Data? (Segaran and Hammerbacher, 2009). Data files are derived from the Google Web Trillion Word Corpus. It's implemented in pure-Python with 100% code coverage and complete documentation. What's new in 0.6.1? -------------------- - Exposed TOTAL constant representing the count of all unigrams in the corpus. Defaults to 1,024,908,267,229. - Added documentation on how to use a different corpus: http://www.grantjenks.com/docs/wordsegment/using-a-different-corpus.html Links ----- - Documentation: http://www.grantjenks.com/docs/wordsegment/ - Download: https://pypi.python.org/pypi/wordsegment - Source: https://github.com/grantjenks/wordsegment - Issues: https://github.com/grantjenks/wordsegment/issues This release is backwards-compatible. Please upgrade. From ralsina at kde.org Tue Sep 15 20:57:46 2015 From: ralsina at kde.org (Roberto Alsina) Date: Tue, 15 Sep 2015 18:57:46 +0000 Subject: Nikola version 7.7.1 available! Message-ID: On behalf of the Nikola team, I am pleased to announce the immediate availability of Nikola v7.7.1. It fixes some bugs and adds new features. What is Nikola? =============== Nikola is a static site and blog generator, written in Python. It can use Mako and Jinja2 templates, and input in many popular markup formats, such as reStructuredText and Markdown ? and can even turn Jupyter (IPython) Notebooks into blog posts! It also supports image galleries, and is multilingual. Nikola is flexible, and page builds are extremely fast, courtesy of doit (which is rebuilding only what has been changed). Find out more at the website: https://getnikola.com/ About This Release ================== This release focused in fixing bugs. We fixed so many, we have now **fewer than 10 bugs open!** Also, we added a new tutorial to the website, about [creating heavily customized pages]( https://getnikola.com/creating-a-custom-page.html) check it out, the [end result](https://getnikola.com/dr-nikola-final.html>) is pretty cool! Downloads ========= Install using `pip install Nikola` or download tarballs on [GitHub][] and [PyPI][]. [GitHub]: https://github.com/getnikola/nikola/releases/tag/vX.Y.Z [PyPI]: https://pypi.python.org/pypi/Nikola/X.Y.Z Changes ======= Features -------- * Better Template / JS / CSS demo in sample site. * New normalize_html filter * Support UTF-8 paths and encoded links when the ``USE_SLUGIFY`` option is disabled. (Issue #2037) * Per-document hyphenation using "hyphenate" metadata flag. * New option USE_KATEX to switch from MathJax to KaTeX (Experimental). * Support SVG in galleries (Issue #1605) * Made TAG_PATH translatable (Issue #1914) * Made CATEGORY_PATH translatable (Issue #1914) * Display post counts for archive links (Issue #2011) * Document link/path handlers (Issue #2008) * Made DATE_FORMAT and JS_DATE_FORMAT translatable (Issue #2032) Bugfixes -------- * Generate language-specific section links (Issue #2069) * Rebuild pages when user changes POST_SECTION_COLORS (Issue #2066) * Look for bundle assets also in output/, allowing bundling of files created by plugins (Issue #1370) * In listings, if lexer is not specified, use literal (Issue #2078) * Remove bogus ambiguity on listing links (Issue #2080) * Unix-slash caused conflict in Windows (Issue #2079) * Locale is now threadsafe, avoid races in threaded builds (Issue #2071) * Make typogrify filter work when applied from metadata (Issue #2064) * Handle metadata in post files that start with a BOM (Issue #2059) * Handle error downloading bootswatches (Issue #2054) * Monitor plugins/ in ``nikola auto`` (Issue #2044) * Multi-lingual and multi-level directories confused section slug detection (Issue #2023) * Use Unicode strings for WordPress comment headers (Issue #2019) * Don't add stories to author pages (Issue #2007) From info at egenix.com Wed Sep 16 10:25:31 2015 From: info at egenix.com (eGenix Team: M.-A. Lemburg) Date: Wed, 16 Sep 2015 10:25:31 +0200 Subject: ANN: PyDDF Python Sprint 2015 Message-ID: <55F9277B.9070203@egenix.com> [This announcement is in German since it targets a Python sprint in D?sseldorf, Germany] ________________________________________________________________________ ANK?NDIGUNG PyDDF Python Sprint 2015 in D?sseldorf Samstag, 26.09.2015, 10:00-18:00 Uhr Sonntag, 27.09.2015, 10:00-18:00 Uhr trivago GmbH, Karl-Arnold-Platz 1A, 40474 D?sseldorf 4. Stock, Raum 25 "Madrid" Python Meeting D?sseldorf http://pyddf.de/sprint2015/ ________________________________________________________________________ INFORMATION Das Python Meeting D?sseldorf (PyDDF) veranstaltet mit freundlicher Unterst?tzung der *trivago GmbH* ein Python Sprint Wochenende im September. Der Sprint findet am Wochenende 26/27.09.2015 im 4. Stock der trivago Niederlassung am Karl-Arnold-Platz 1A statt (nicht am Bennigsen-Platz 1). Bitte beim Pf?rtner melden. Google Maps: https://www.google.de/maps/dir/51.2452741,6.7711581//@51.2450432,6.7714612,18.17z?hl=de Folgende Themengebiete haben wir als Anregung angedacht: * Openpyxl Openpyxl ist eine Python Bibliothek, mit der man Excel 2010 Dateien lesen und schreiben kann. Charlie ist Co-Maintainer des Pakets. * Python 3 Portierung von mxDateTime mxDateTime ist ein Python Bibliothek f?r Datums- und Zeitgr??en, die fr?her der Standard f?r solche Datentypen war, bevor das datetime Modul zu Python hinzukam. Die Bibliothek wird von einer ganzen Reihe Projekten verwendet und soll auf Python 3 portiert werden. Marc-Andre hat mxDateTime geschrieben. F?r die Portierung sind Kenntnisse in Python 2.7, 3.4 und ANSI C von Vorteil. Fehlende Kenntnisse k?nnen aber nat?rlich schnell erlernt werden. Nat?rlich kann jeder Teilnehmer weitere Themen vorschlagen, z.B. * Kivy * Raspberry Pi * FritzConnection * OpenCV * u.a. Alles weitere und die Anmeldung findet Ihr auf der Sprint Seite: http://pyddf.de/sprint2015/ Teilnehmer sollten sich zudem auf der PyDDF Liste anmelden, da wir uns dort koordinieren: https://www.egenix.com/mailman/listinfo/pyddf ________________________________________________________________________ ?BER UNS Das Python Meeting D?sseldorf (PyDDF) ist eine regelm??ige Veranstaltung in D?sseldorf, die sich an Python Begeisterte aus der Region wendet: * http://pyddf.de/ Einen guten ?berblick ?ber die Vortr?ge bietet unser YouTube-Kanal, auf dem wir die Vortr?ge nach den Meetings ver?ffentlichen: * http://www.youtube.com/pyddf/ Veranstaltet wird das Meeting von der eGenix.com GmbH, Langenfeld, in Zusammenarbeit mit Clark Consulting & Research, D?sseldorf: * http://www.egenix.com/ * http://www.clark-consulting.eu/ Mit freundlichen Gr??en, -- Marc-Andre Lemburg eGenix.com Professional Python Services directly from the Experts (#1, Sep 16 2015) >>> Python Projects, Coaching and Consulting ... http://www.egenix.com/ >>> Python Database Interfaces ... http://products.egenix.com/ >>> Plone/Zope Database Interfaces ... http://zope.egenix.com/ ________________________________________________________________________ 2015-09-14: Released mxODBC Plone/Zope DA 2.2.3 http://egenix.com/go84 2015-09-18: PyCon UK 2015 ... 2 days to go 2015-09-26: Python Meeting Duesseldorf Sprint 2015 10 days to go 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 stagi.andrea at gmail.com Wed Sep 16 12:19:53 2015 From: stagi.andrea at gmail.com (Andrea Stagi) Date: Wed, 16 Sep 2015 12:19:53 +0200 Subject: ANN lauda 1.1.0 Message-ID: I've created lauda, a little python module to measure time. Thanks a lot to Jes?s Espino (@jespinog) for the new context manager feature You can install it with pip install lauda you can find the source code on Github: https://github.com/astagi/lauda You can use lauda StopWatch to measure a portion of code from lauda import StopWatch watch = StopWatch() watch.start() for i in range(10000000): pass watch.stop() print ('Time spent in range {0}'.format(watch.elapsed_time)) If you want to measure an entire function execution, you can decorate it using the stopwatch decorator from lauda import stopwatch @stopwatch def awesome_mul(a, b): return a * b By default stopwatch decorator will print the time spent inside the decorated function, if you want more control you can pass to your decorator a callback that will receive a StopWatch instance and the decorated function. from lauda import stopwatch def stopwatch_sum_cb(watch, function): print ('Time spent {0}'.format(watch.elapsed_time)) @stopwatch(callback=stopwatch_sum_cb) def awesome_sum(a, b): return a + b If you want to measure a block of code, you can use the `stopwatchcm` context manager from lauda import stopwatchcm with stopwatchcm(): c = a * b By default `stopwatchcm` context manager will print the time spent inside the context manager body, if you want more control you can pass to your context manager a callback that will receive a `StopWatch` instance. from lauda import stopwatchcm def stopwatch_sum_cb(watch): print ('Time spent {0}'.format(watch.elapsed_time)) with stopwatchcm(callback=stopwatch_sum_cb): c = a + b -- Andrea Stagi (@4stagi) - Develover @Nephila Job profile: http://linkedin.com/in/andreastagi Website: http://4spills.blogspot.it/ Github: http://github.com/astagi From faltet at gmail.com Wed Sep 16 13:12:58 2015 From: faltet at gmail.com (Francesc Alted) Date: Wed, 16 Sep 2015 13:12:58 +0200 Subject: ANN: python-blosc 1.2.8 released Message-ID: ============================= Announcing python-blosc 1.2.8 ============================= What is new? ============ This is a maintenance release. Internal C-Blosc has been upgraded to 1.7.0 (although new bitshuffle support has not been made public, as it seems not ready for production yet). Also, there is support for bytes-like objects that support the buffer interface as input to ``compress`` and ``decompress``. On Python 2.x this includes unicode, on Python 3.x it doesn't. Thanks to Valentin Haenel. Finally, a memory leak in ``decompress```has been hunted and fixed. And new tests have been added to catch possible leaks in the future. Thanks to Santi Villalba. For more info, you can have a look at the release notes in: https://github.com/Blosc/python-blosc/blob/master/RELEASE_NOTES.rst More docs and examples are available in the documentation site: http://python-blosc.blosc.org What is it? =========== Blosc (http://www.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. Blosc is the first compressor that is meant not only to reduce the size of large datasets on-disk or in-memory, but also to accelerate object manipulations that are memory-bound (http://www.blosc.org/docs/StarvingCPUs.pdf). See http://www.blosc.org/synthetic-benchmarks.html for some benchmarks on how much speed it can achieve in some datasets. 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. python-blosc (http://python-blosc.blosc.org/) is the Python wrapper for the Blosc compression library. There is also a handy tool built on Blosc called Bloscpack (https://github.com/Blosc/bloscpack). It features a commmand line interface that allows you to compress large binary datafiles on-disk. It also comes with a Python API that has built-in support for serializing and deserializing Numpy arrays both on-disk and in-memory at speeds that are competitive with regular Pickle/cPickle machinery. Installing ========== python-blosc is in PyPI repository, so installing it is easy: $ pip install -U blosc # yes, you must omit the 'python-' prefix Download sources ================ The sources are managed through github services at: http://github.com/Blosc/python-blosc Documentation ============= There is Sphinx-based documentation site at: http://python-blosc.blosc.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/Blosc/python-blosc/blob/master/LICENSES for more details. ---- **Enjoy data!** -- Francesc Alted From nicoddemus at gmail.com Sat Sep 19 00:09:15 2015 From: nicoddemus at gmail.com (Bruno Oliveira) Date: Fri, 18 Sep 2015 22:09:15 +0000 Subject: pytest 2.8 Message-ID: Hi all, pytest 2.8 has been released to pypi, with significant bug-fixes and features. In case you wonder, pytest is a widely used mature test runner both for unit and functional test purposes in python. See http://pytest.org for documentation and examples. Here's the changelog for this version: - new ``--lf`` and ``-ff`` options to run only the last failing tests or "failing tests first" from the last run. This functionality is provided through porting the formerly external pytest-cache plugin into pytest core. BACKWARD INCOMPAT: if you used pytest-cache's functionality to persist data between test runs be aware that we don't serialize sets anymore. Thanks Ronny Pfannschmidt for most of the merging work. - "-r" option now accepts "a" to include all possible reports, similar to passing "fEsxXw" explicitly (isse960). Thanks Abhijeet Kasurde for the PR. - avoid python3.5 deprecation warnings by introducing version specific inspection helpers, thanks Michael Droettboom. - fix issue562: @nose.tools.istest now fully respected. - fix issue934: when string comparison fails and a diff is too large to display without passing -vv, still show a few lines of the diff. Thanks Florian Bruhin for the report and Bruno Oliveira for the PR. - fix issue736: Fix a bug where fixture params would be discarded when combined with parametrization markers. Thanks to Markus Unterwaditzer for the PR. - fix issue710: introduce ALLOW_UNICODE doctest option: when enabled, the ``u`` prefix is stripped from unicode strings in expected doctest output. This allows doctests which use unicode to run in Python 2 and 3 unchanged. Thanks Jason R. Coombs for the report and Bruno Oliveira for the PR. - parametrize now also generates meaningful test IDs for enum, regex and class objects (as opposed to class instances). Thanks to Florian Bruhin for the PR. - Add 'warns' to assert that warnings are thrown (like 'raises'). Thanks to Eric Hunsberger for the PR. - Fix issue683: Do not apply an already applied mark. Thanks ojake for the PR. - Deal with capturing failures better so fewer exceptions get lost to /dev/null. Thanks David Szotten for the PR. - fix issue730: deprecate and warn about the --genscript option. Thanks Ronny Pfannschmidt for the report and Christian Pommranz for the PR. - fix issue751: multiple parametrize with ids bug if it parametrizes class with two or more test methods. Thanks Sergey Chipiga for reporting and Jan Bednarik for PR. - fix issue82: avoid loading conftest files from setup.cfg/pytest.ini/tox.ini files and upwards by default (--confcutdir can still be set to override this). Thanks Bruno Oliveira for the PR. - fix issue768: docstrings found in python modules were not setting up session fixtures. Thanks Jason R. Coombs for reporting and Bruno Oliveira for the PR. - added `tmpdir_factory`, a session-scoped fixture that can be used to create directories under the base temporary directory. Previously this object was installed as a `_tmpdirhandler` attribute of the `config` object, but now it is part of the official API and using `config._tmpdirhandler` is deprecated. Thanks Bruno Oliveira for the PR. - fix issue808: pytest's internal assertion rewrite hook now implements the optional PEP302 get_data API so tests can access data files next to them. Thanks xmo-odoo for request and example and Bruno Oliveira for the PR. - rootdir and inifile are now displayed during usage errors to help users diagnose problems such as unexpected ini files which add unknown options being picked up by pytest. Thanks to Pavel Savchenko for bringing the problem to attention in #821 and Bruno Oliveira for the PR. - Summary bar now is colored yellow for warning situations such as: all tests either were skipped or xpass/xfailed, or no tests were run at all (this is a partial fix for issue500). - fix issue812: pytest now exits with status code 5 in situations where no tests were run at all, such as the directory given in the command line does not contain any tests or as result of a command line option filters all out all tests (-k for example). Thanks Eric Siegerman (issue812) and Bruno Oliveira for the PR. - Summary bar now is colored yellow for warning situations such as: all tests either were skipped or xpass/xfailed, or no tests were run at all (related to issue500). Thanks Eric Siegerman. - New `testpaths` ini option: list of directories to search for tests when executing pytest from the root directory. This can be used to speed up test collection when a project has well specified directories for tests, being usually more practical than configuring norecursedirs for all directories that do not contain tests. Thanks to Adrian for idea (#694) and Bruno Oliveira for the PR. - fix issue713: JUnit XML reports for doctest failures. Thanks Punyashloka Biswal. - fix issue970: internal pytest warnings now appear as "pytest-warnings" in the terminal instead of "warnings", so it is clear for users that those warnings are from pytest and not from the builtin "warnings" module. Thanks Bruno Oliveira. - Include setup and teardown in junitxml test durations. Thanks Janne Vanhala. - fix issue735: assertion failures on debug versions of Python 3.4+ - new option ``--import-mode`` to allow to change test module importing behaviour to append to sys.path instead of prepending. This better allows to run test modules against installated versions of a package even if the package under test has the same import root. In this example:: testing/__init__.py testing/test_pkg_under_test.py pkg_under_test/ the tests will run against the installed version of pkg_under_test when ``--import-mode=append`` is used whereas by default they would always pick up the local version. Thanks Holger Krekel. - pytester: add method ``TmpTestdir.delete_loaded_modules()``, and call it from ``inline_run()`` to allow temporary modules to be reloaded. Thanks Eduardo Schettino. - internally refactor pluginmanager API and code so that there is a clear distinction between a pytest-agnostic rather simple pluginmanager and the PytestPluginManager which adds a lot of behaviour, among it handling of the local conftest files. In terms of documented methods this is a backward compatible change but it might still break 3rd party plugins which relied on details like especially the pluginmanager.add_shutdown() API. Thanks Holger Krekel. - pluginmanagement: introduce ``pytest.hookimpl`` and ``pytest.hookspec`` decorators for setting impl/spec specific parameters. This substitutes the previous now deprecated use of ``pytest.mark`` which is meant to contain markers for test functions only. - write/refine docs for "writing plugins" which now have their own page and are separate from the "using/installing plugins`` page. - fix issue732: properly unregister plugins from any hook calling sites allowing to have temporary plugins during test execution. - deprecate and warn about ``__multicall__`` argument in hook implementations. Use the ``hookwrapper`` mechanism instead already introduced with pytest-2.7. - speed up pytest's own test suite considerably by using inprocess tests by default (testrun can be modified with --runpytest=subprocess to create subprocesses in many places instead). The main APIs to run pytest in a test is "runpytest()" or "runpytest_subprocess" and "runpytest_inprocess" if you need a particular way of running the test. In all cases you get back a RunResult but the inprocess one will also have a "reprec" attribute with the recorded events/reports. - fix monkeypatch.setattr("x.y", raising=False) to actually not raise if "y" is not a pre-existing attribute. Thanks Florian Bruhin. - fix issue741: make running output from testdir.run copy/pasteable Thanks Bruno Oliveira. - add a new ``--noconftest`` argument which ignores all ``conftest.py`` files. - add ``file`` and ``line`` attributes to JUnit-XML output. - fix issue890: changed extension of all documentation files from ``txt`` to ``rst``. Thanks to Abhijeet for the PR. - fix issue714: add ability to apply indirect=True parameter on particular argnames. Thanks Elizaveta239. - fix issue714: add ability to apply indirect=True parameter on particular argnames. - fix issue890: changed extension of all documentation files from ``txt`` to ``rst``. Thanks to Abhijeet for the PR. - fix issue957: "# doctest: SKIP" option will now register doctests as SKIPPED rather than PASSED. Thanks Thomas Grainger for the report and Bruno Oliveira for the PR. - issue951: add new record_xml_property fixture, that supports logging additional information on xml output. Thanks David Diaz for the PR. - issue949: paths after normal options (for example `-s`, `-v`, etc) are now properly used to discover `rootdir` and `ini` files. Thanks Peter Lauri for the report and Bruno Oliveira for the PR. From cedric.krier at b2ck.com Sat Sep 19 15:11:15 2015 From: cedric.krier at b2ck.com (=?ISO-8859-1?Q?C=E9dric_Krier?=) Date: Sat, 19 Sep 2015 06:11:15 -0700 (PDT) Subject: relatorio 0.6.2 released Message-ID: Hi, I'm glade to announce the new release of relatorio. Relatorio is a templating library which provides a way to easily output all kind of different files (odt, ods, png, svg, ...) from python objects. It is a minor release that fixes some issues and adds two improvements: * New Genshi directives: attrs, content, replace and strip * Add name argument for "image:" in ODF relatorio is available on PyPI: https://pypi.python.org/pypi/relatorio/0.6.2 The documentation is hosted on Read the Docs: https://relatorio.readthedocs.org/en/0.6.2/ From cedric.krier at b2ck.com Sat Sep 19 15:33:24 2015 From: cedric.krier at b2ck.com (=?ISO-8859-1?Q?C=E9dric_Krier?=) Date: Sat, 19 Sep 2015 06:33:24 -0700 (PDT) Subject: python-sql 0.8 released Message-ID: <8bee64ea-ef4a-40a4-86c9-186e468a2053@googlegroups.com> Hi, I'm glade to announce the new release of python-sql. python-sql is a library to write SQL queries in a pythonic way. In addition to bugfixes, this release contains those improvements: * Add no_as Flavor for server that doesn't support 'AS' keyword * Add rownum limit style * Add converter format2numeric to support library that supports only numeric parmstyle * Add no_boolean Flavor to replace boolean Literal by an equivalent expression * Add CURRENT_DATE function * Use UPPER to simulate missing ILIKE * Add NULL ordering * Allow to order on select queries * Add DISTINCT qualifier to aggregate expressions python-sql is available on PyPI: https://pypi.python.org/pypi/python-sql/0.8 From laurent.pointal at laposte.net Mon Sep 21 12:56:23 2015 From: laurent.pointal at laposte.net (Laurent Pointal) Date: Mon, 21 Sep 2015 12:56:23 +0200 Subject: [ANN] bbrecorder - a black box handler for logs Message-ID: <1752637.PGWMpnCV1S@soupir> Hello, I'm please to annouce the availability of bbrecorder module and its BlackBoxHandler logging handler for Python 3 (tested on 3.4). This logging handler manage caching of last N log records in memory until they are needed ? and then generate them using standard common Python logging handlers. It allows to enable a log level generating many log records, and only get last records when a crisis situation occur (typically in an exception handler). Note: in case of hard Python crash (core dump), cached logs are lost ! ? see important note in doc. PyPI: https://pypi.python.org/pypi/bbrecorder/ Docs: http://bbrecorder.readthedocs.org/ Project: https://perso.limsi.fr/pointal/dev:bbrecorder A+ L.Pointal. From laurent.pointal at limsi.fr Mon Sep 21 13:00:37 2015 From: laurent.pointal at limsi.fr (Laurent Pointal) Date: Mon, 21 Sep 2015 13:00:37 +0200 Subject: [ANN] osc4py3 - Open Sound Control package for Python 3 Message-ID: <2223492.P15aG6cnQf@soupir> Hello, I'm please to annouce the availability of osc4py3 package, yet another implementation of the OSC protocol (packets manipulations, transport, messages routing). * encoding/decoding of OSC message packets (including bundles) * routing of incoming messages based on selector regexps or globbing * timed messages with possible delay period * named client/server for sending/subscribing * different scheduling models (single process, totally multithread, only multithread for communications) * extra processing of packets (hack points to encrypt/decrypt, sign/verify?) PyPI: https://pypi.python.org/pypi/osc4py3 Doc: http://osc4py3.readthedocs.org/ Project: https://perso.limsi.fr/pointal/dev:osc4py3 About OSC: opensoundcontrol.org A+ Laurent Pointal From laurent.pointal at limsi.fr Mon Sep 21 13:15:38 2015 From: laurent.pointal at limsi.fr (Laurent Pointal) Date: Mon, 21 Sep 2015 13:15:38 +0200 Subject: [ANN] floatrange - a range() for floats Message-ID: <1495821.KiLcEpmzCW@soupir> Hello, I'm please to publish a small utility module allowing to produce float based range sequences, with I hope a complete range-like interface. Because of floating point arithmetic, floatrange allows to specify a precision for "equality" when working with operators like 'in'. It is Python2 and Python3 compatible. PyPI: https://pypi.python.org/pypi/floatrange/ Doc: http://floatrange.readthedocs.org/ Project: https://perso.limsi.fr/pointal/python:floatrange Float arithmetic: https://docs.python.org/3/tutorial/floatingpoint.html A+ Laurent Pointal. From laurent.pointal at laposte.net Mon Sep 21 13:07:19 2015 From: laurent.pointal at laposte.net (Laurent Pointal) Date: Mon, 21 Sep 2015 13:07:19 +0200 Subject: [ANN] treetaggerwrapper V2 - Wrapper for TreeTagger Message-ID: <1561884.eZkM2Z5xtL@soupir> Hello, I'm please to annouce the update of Python treetaggerwrapper module. It wraps the language independent part-of-speech tagger TreeTagger of Helmut Schmid in an easy to use tool, efficient to process large data corpus. It is now Python2 and Python3 compatible, has defaults to utf-8 encoding, tries to autodetect treetagger installation directory, provides multiprocessing support, is pip installable? Note: this V2 need adaptation in code based on previous version, see docs. PyPI: https://pypi.python.org/pypi/treetaggerwrapper/2.0.6 (bug with https://pypi.python.org/pypi/treetaggerwrapper/ ? ?) Doc: http://treetaggerwrapper.readthedocs.org/ Project: https://perso.limsi.fr/pointal/dev:treetaggerwrapper About TreeTagger: http://www.cis.uni-muenchen.de/~schmid/tools/TreeTagger/ A+ Laurent Pointal From laurent.pointal at limsi.fr Tue Sep 22 08:49:02 2015 From: laurent.pointal at limsi.fr (Laurent Pointal) Date: Tue, 22 Sep 2015 08:49:02 +0200 Subject: [ANN] treetaggerwrapper V2 - Wrapper for TreeTagger Message-ID: <21539637.CZWHvqH0Mj@soupir> Hello, I'm please to annouce the update of Python treetaggerwrapper module. It wraps the language independent part-of-speech tagger TreeTagger of Helmut Schmid in an easy to use tool, efficient to process large data corpus. It is now Python2 and Python3 compatible, has defaults to utf-8 encoding, tries to autodetect treetagger installation directory, provides multiprocessing support, is pip installable? Note: this V2 need adaptation in code based on previous version, see docs. PyPI: https://pypi.python.org/pypi/treetaggerwrapper/2.0.6 (bug with https://pypi.python.org/pypi/treetaggerwrapper/ ? ?) Doc: http://treetaggerwrapper.readthedocs.org/ Project: https://perso.limsi.fr/pointal/dev:treetaggerwrapper About TreeTagger: http://www.cis.uni-muenchen.de/~schmid/tools/TreeTagger/ A+ Laurent Pointal From laurent.pointal at limsi.fr Tue Sep 22 08:50:56 2015 From: laurent.pointal at limsi.fr (Laurent Pointal) Date: Tue, 22 Sep 2015 08:50:56 +0200 Subject: [ANN] treetaggerwrapper V2 - Wrapper for TreeTagger Message-ID: <1476100.7coOdb80a7@soupir> Hello, I'm please to annouce the update of Python treetaggerwrapper module. It wraps the language independent part-of-speech tagger TreeTagger of Helmut Schmid in an easy to use tool, efficient to process large data corpus. It is now Python2 and Python3 compatible, has defaults to utf-8 encoding, tries to autodetect treetagger installation directory, provides multiprocessing support, is pip installable? Note: this V2 need adaptation in code based on previous version, see docs. PyPI: https://pypi.python.org/pypi/treetaggerwrapper/2.0.6 (bug with https://pypi.python.org/pypi/treetaggerwrapper/ ? ?) Doc: http://treetaggerwrapper.readthedocs.org/ Project: https://perso.limsi.fr/pointal/dev:treetaggerwrapper About TreeTagger: http://www.cis.uni-muenchen.de/~schmid/tools/TreeTagger/ A+ Laurent Pointal From cliechti at gmx.net Wed Sep 23 01:00:36 2015 From: cliechti at gmx.net (Chris Liechti) Date: Wed, 23 Sep 2015 01:00:36 +0200 Subject: ANN: pySerial 3.0a0 Message-ID: <5601DD94.9090907@gmx.net> A new prerelease of pySerial is available. There have been a lot of changes so that the major version was bumped up to 3. Changes include: - Python 2.7 and Python 3.2+ from the same sources (lib2to3 is no longer used) - More properties, the set functions are deprecated. - Updated miniterm (uses Unicode for console output, supports encodings on serial port, nicer port selection and more). - IPv6 support for rfc2217:// and socket:// - New spy:// handler to log traffic and control calls. - URL parameters have changed. - Experimental asyncio support (posix) - A number of other bugfixes. - And more... See https://github.com/pyserial/pyserial/blob/master/CHANGES.rst for more details. Changes in development: - SVN -> GIT - moved (from SF) to github: https://github.com/pyserial/pyserial Currently unsupported is the Jython platform (lack of testing). Download at: https://github.com/pyserial/pyserial/releases Docs: https://pyserial.readthedocs.org/en/latest/ chris From info at egenix.com Wed Sep 23 10:12:16 2015 From: info at egenix.com (eGenix Team: M.-A. Lemburg) Date: Wed, 23 Sep 2015 10:12:16 +0200 Subject: ANN: eGenix mxODBC Connect 2.1.4 - Remote Python Database Interface Message-ID: <56025EE0.5000008@egenix.com> ________________________________________________________________________ ANNOUNCING eGenix.com mxODBC Connect Remote Python Database Interface Version 2.1.4 mxODBC Connect is our commercially supported client-server product for connecting Python applications to relational databases in a truly platform independent way. This announcement is also available on our website for online reading: http://www.egenix.com/company/news/eGenix-mxODBC-Connect-2.1.4-GA.html ________________________________________________________________________ INTRODUCTION The mxODBC Connect Database Interface for Python allows users to easily connect Python applications to all major databases on the market today in a highly portable, convenient and secure way. Python Database Connectivity the Easy Way ----------------------------------------- Building on our mxODBC database interface for Python, mxODBC Connect is designed as client-server application, so you no longer need to find production quality database drivers for all platforms you target with your Python application. Instead, you use an easy to install royalty-free Python client library which connects directly to the mxODBC Connect database server over the network. This makes mxODBC Connect a great basis for writing cross-platform multi-tier database applications and utilities in Python, especially if you run applications that need to communicate with databases such as MS SQL Server and MS Access, Oracle Database, IBM DB2 and Informix, Sybase ASE and Sybase Anywhere, MySQL, PostgreSQL, SAP MaxDB and many more, that run on Windows or Linux machines. Ideal for Database Driven Client Applications --------------------------------------------- By removing the need to install and configure ODBC drivers on the client side and dealing with complicated network setups for each set of drivers, mxODBC Connect greatly simplifies deployment of database driven client applications, while at the same time making the network communication between client and database server more efficient and more secure. For more information, please have a look at the mxODBC Connect product page, in particular, the full list of available features. For more information, please see the product page: http://www.egenix.com/products/python/mxODBCConnect/ ________________________________________________________________________ NEWS mxODBC Connect 2.1.4 is a patch level release of our successful mxODBC Connect database product. It includes these enhancements and fixes: Security Enhancements --------------------- * Updated included OpenSSL libraries to 1.0.1p. Please see the egenix-pyopenssl change log for a complete list of changes. Among other security fixes, this addresses the Logjam attack. http://www.egenix.com/products/python/pyOpenSSL/changelog.html mxODBC Connect Enhancements --------------------------- * Added support for the BinaryNull work-around added to mxODBC 3.3.5 in order to better support VARBINARY columns in MS SQL Server. Both mxODBC Connect Client and Server will need to upgraded to version 2.1.4 in order to be able to use the new singleton. * The mxODBC Connect Client can now be compiled to a wheel file to simplify deployment. Simply point the pip at the prebuilt archive. mxODBC API Enhancements ----------------------- * Upgraded the mxODBC Connect Server to mxODBC 3.3.5: http://www.egenix.com/company/news/eGenix-mxODBC-3.3.5-GA.html MS SQL Server ------------- * Documented and recommended use of SET NOCOUNT ON for running multiple statements or stored procedures. This can not only resolve issues with error reporting, it also results in better performance. * Added a work-around for MS SQL Server Native Client to be able to support VARCHAR/VARBINARY(MAX) columns when using the Native Client with direct execution mode or Python type binding mode. Thanks to ZeOmega for reporting this. * Added new helper singleton BinaryNull to allow binding a NULL to a VARBINARY column with SQL Server in direct execution mode or Python type binding mode (as used for FreeTDS). Using the usual None doesn't work in those cases, since SQL Server does not accept a VARCHAR data type as input for VARBINARY, except by using an explicit "CAST(? AS VARBINARY)". mxODBC binds None as VARCHAR for best compatibility, when not getting any type hints from the ODBC driver. * Added a fix for the MS SQL Server Native Client error "[Microsoft][ODBC Driver 11 for SQL Server][SQL Server]The data types varchar and text are incompatible in the equal to operator." when trying to bind a string of more than 256 bytes to a VARCHAR column while using cursor.executedirect(). cursor.execute() was unaffected by this. Thanks to Paul Perez for reporting this. * Added a note to avoid using "execute " when calling stored procedures with MS SQL Server. This can result in '[Microsoft][SQL Native Client]Invalid Descriptor Index' errors. Simply dropping the "execute " will have the error go away. * Added a work-around to address the FreeTDS driver error '[FreeTDS][SQL Server]The data types varbinary and image are incompatible in the equal to operator.' when trying to bind binary strings longer than 256 bytes to a VARBINARY column. This problem does not occur with the MS SQL Server Native Client. * Reenabled returning cursor.rowcount for FreeTDS >= 0.91. In previous versions, FreeTDS could return wrong data for .rowcount when using SELECTs.This should make SQLAlchemy users happy again. * Add work-around to have FreeTDS ODBC driver accept binary data in strings as input for VARBINARY columns. A side effect of this is that FreeTDS will now also accept binary data in VARCHAR columns. SAP Sybase ASE -------------- * Added work-arounds and improvements for Sybase ASE ODBC drivers to enable working with BINARY and VARBINARY columns. * Added a work-around for a cursor.rowcount problem with Sybase ASE's ODBC driver on 64-bit platforms. It sometimes returns 4294967295 instead of -1. * Added note about random segfault problems with the Sybase ASE 15.7 ODBC driver on Windows. Unfortunately, there's nothing much we can do about this, other than recommend using the Sybase ASE 15.5 ODBC driver version which does not have these stability problems. Fixes --------------------- * Added improved documentation on the direct execution model available in mxODBC. This can help in more complex parameter binding situations and also provides performance boosts for a few databases, including e.g. MS SQL Server. For the full set of changes, including those of the 2.1 series of mxODBC Connect, please check the mxODBC Connect change log: http://www.egenix.com/products/python/mxODBCConnect/changelog.html ________________________________________________________________________ UPGRADING You are encouraged to upgrade to this latest mxODBC Connect release. When upgrading, please always upgrade both the server and the client installations to the same version - even for patch level releases. We will give out 20% discount coupons for upgrade purchases going from mxODBC Connect Server 1.x to 2.1 and 50% coupons for upgrades from mxODBC Connect Server 2.x to 2.1. Please contact the eGenix.com Sales Team (sales at egenix.com) with your existing license serials for details. Users of our stand-alone mxODBC product will have to purchase new licenses from our online shop in order to use mxODBC Connect. You can request free 30-day evaluation licenses by visiting our web-site or writing to sales at egenix.com, stating your name (or the name of the company) and the number of eval licenses that you need. http://www.egenix.com/products/python/mxODBCConnect/#Evaluation ________________________________________________________________________ DOWNLOADS The download archives as well as instructions for installation and configuration of the product can be found on the product page: http://www.egenix.com/products/python/mxODBCConnect/ If you want to try the package, jump straight to the download instructions: http://www.egenix.com/products/python/mxODBCConnect/#Download Fully functional evaluation licenses for the mxODBC Connect Server are available free of charge: http://www.egenix.com/products/python/mxODBCConnect/#Evaluation The mxODBC Connect Client is always free of charge. _______________________________________________________________________ SUPPORT Commercial support for this product is available from eGenix.com. Please see http://www.egenix.com/services/support/ for details about our support offerings. _______________________________________________________________________ INFORMATION About eGenix (http://www.egenix.com/): eGenix is a Python software project, consulting and product company delivering expert services and professional quality products for companies, Python users and developers. We specialize in database driven applications, large scale software designs and integration. Enjoy, -- Marc-Andre Lemburg eGenix.com Professional Python Services directly from the Experts (#1, Sep 23 2015) >>> Python Projects, Coaching and Consulting ... http://www.egenix.com/ >>> Python Database Interfaces ... http://products.egenix.com/ >>> Plone/Zope Database Interfaces ... http://zope.egenix.com/ ________________________________________________________________________ 2015-09-14: Released mxODBC Plone/Zope DA 2.2.3 http://egenix.com/go84 2015-09-26: Python Meeting Duesseldorf Sprint 2015 3 days to go 2015-10-21: Python Meeting Duesseldorf ... 28 days to go 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 cimrman3 at ntc.zcu.cz Wed Sep 23 13:10:52 2015 From: cimrman3 at ntc.zcu.cz (Robert Cimrman) Date: Wed, 23 Sep 2015 13:10:52 +0200 Subject: ANN: SfePy 2015.3 Message-ID: <560288BC.6080105@ntc.zcu.cz> I am pleased to announce release 2015.3 of SfePy. Description ----------- SfePy (simple finite elements in Python) is a software for solving systems of coupled partial differential equations by the finite element method or by the isogeometric analysis (preliminary support). It is distributed under the new BSD license. Home page: http://sfepy.org Mailing list: http://groups.google.com/group/sfepy-devel Git (source) repository, issue tracker, wiki: http://github.com/sfepy Highlights of this release -------------------------- - preliminary support for parallel computing - unified evaluation of basis functions (= isogeometric analysis fields can be evaluated in arbitrary points) - (mostly) fixed finding of reference element coordinates of physical points - several new or improved examples For full release notes see http://docs.sfepy.org/doc/release_notes.html#id1 (rather long and technical). Best regards, Robert Cimrman on behalf of the SfePy development team --- Contributors to this release in alphabetical order: Robert Cimrman Vladimir Lukes From lutz at rmi.net Fri Sep 25 02:18:04 2015 From: lutz at rmi.net (Mark Lutz) Date: Fri, 25 Sep 2015 00:18:04 -0000 Subject: mergeall 2.2, with os.scandir() speed optimization Message-ID: <3nMXQQ0wHGzQWN@mail.python.org> There's a new version of the mergeall folder tree synchronization tool, which uses Python 3.5's os.scandir(), if available, to radically speed up its trees comparison phase. In testing on Windows 7 and 10, the new call speeds mergeall comparisons by a factor of 5 to 10, depending on devices. This is due entirely to the elimination of system calls that os.scandir() affords. The savings is especially significant for large archives. For a 78G target use case of 50k files in 3k folders, comparison runtime fell from 40 to 7 seconds on a fast USB stick (6x); from 112 to 16 seconds on a slower stick (7x); and from 600 to 60 seconds on an ancient single-core machine (10x). Also note that the scandir() call is standard in the os module in 3.5, but can also be had for older Python releases, including 2.7 and older 3.X, via a PyPI package. mergeall uses either form if present, and falls back on the original os.listdir() scheme as a last resort to continue supporting older Pythons (though a scandir() is now strongly recommended, for obvious reasons!). All of which seems proof that language improvement and backward compatibility are not necessarily mutually exclusive. The details: 2.2 changes: http://learning-python.com/mergeall/docs/Usage-Overview.html#optimizations Main README: http://learning-python.com/mergeall/Readme.html Usage guide: http://learning-python.com/mergeall/docs/Usage-Overview.html GUI screenshot: http://learning-python.com/mergeall/examples/Screenshots/main-quit-help.png Download the package: http://learning-python.com/downloads/mergeall.zip Cheers, --M. Lutz (http://www.rmi.net/~lutz | http://learning-python.com) From michael at stroeder.com Fri Sep 25 18:29:25 2015 From: michael at stroeder.com (=?UTF-8?Q?Michael_Str=c3=b6der?=) Date: Fri, 25 Sep 2015 18:29:25 +0200 Subject: ANN: python-ldap 2.4.21 Message-ID: <56057665.703@stroeder.com> Find a new release of python-ldap: http://pypi.python.org/pypi/python-ldap/2.4.21 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/ Checksums: $ md5sum python-ldap-2.4.21.tar.gz 1ce26617e066f412fd5ba95bfba4ba5a $ sha1sum python-ldap-2.4.21.tar.gz 35ed5913d804f14e952bec414c569e140feb889d $ sha256sum python-ldap-2.4.21.tar.gz 2a3ce606465d2d5fbd0a620516b6648ffd85c343d9305d49a2a1f7d338b8bbd4 Ciao, Michael. ---------------------------------------------------------------- Released 2.4.21 2015-09-25 Changes since 2.4.20: Lib/ * LDAPObject.read_s() now returns None instead of raising ldap.NO_SUCH_OBJECT in case the search operation returned emtpy result. * ldap.resiter.ResultProcessor.allresults() now takes new key-word argument add_ctrls which is internally passed to LDAPObject.result4() and lets the method also return response control along with the search results. * Added ldap.controls.deref implementing support for dereference control Tests/ * Unit tests for module ldif (thanks to Petr Viktorin) -- Michael Str?der E-Mail: michael at stroeder.com http://www.stroeder.com From vinay_sajip at yahoo.co.uk Sat Sep 26 12:25:06 2015 From: vinay_sajip at yahoo.co.uk (Vinay Sajip) Date: Sat, 26 Sep 2015 10:25:06 +0000 (UTC) Subject: ANN: A new version (0.3.8) of python-gnupg has been released. In-Reply-To: <241091267.841934.1443133560070.JavaMail.yahoo@mail.yahoo.com> References: <241091267.841934.1443133560070.JavaMail.yahoo@mail.yahoo.com> Message-ID: <1378832746.1638414.1443263106461.JavaMail.yahoo@mail.yahoo.com> A new version of the Python module which wraps GnuPG has been released. What Changed? ============= This is an enhancement and bug-fix release, and all users are encouraged to upgrade. See the project website [1] for more information. Brief summary: * Fixed #22: handled PROGRESS messages during verification and signing. * Fixed #26: handled PINENTRY_LAUNCHED messages during verification, decryption and key generation. * Fixed #28: Allowed a default Name-Email to be computed even when neither of LOGNAME and USERNAME are in the environment. * Fixed #29: Included test files missing from the tarball in previous versions. * Fixed #39: On Python 3.x, passing a text instead of a binary stream caused file decryption to hang due to a UnicodeDecodeError. This has now been correctly handled: The decryption fails with a "no data" status. * Fixed #41: Handled Unicode filenames correctly by encoding them on 2.x using the file system encoding. * Fixed #43: handled PINENTRY_LAUNCHED messages during key export. Thanks to Ian Denhardt for looking into this. * Hide the console window which appears on Windows when gpg is spawned. Thanks to K?vin Bernard-Allies for the patch. * Subkey fingerprints are now captured. * The returned value from the list_keys method now has a new attribute, key_map, which is a dictionary mapping key and subkey fingerprints to the corresponding key's dictionary. With this change, you don't need to iterate over the (potentially large) returned list to search for a key with a given fingerprint - the key_map dict will take you straight to the key info, whether the fingerprint you have is for a key or a subkey. Thanks to Nick Daly for the initial suggestion. This release [2] has been signed with my code signing key: Vinay Sajip (CODE SIGNING KEY) Fingerprint: CA74 9061 914E AC13 8E66 EADB 9147 B477 339A 9B86 However, due to some error the signature for the source distribution (.tar.gz) didn't get uploaded. To rectify this, I have pasted it into the PyPI page for the release [2]. What Does It Do? ================ The gnupg module allows Python programs to make use of the functionality provided by the Gnu Privacy Guard (abbreviated GPG or GnuPG). Using this module, Python programs can encrypt and decrypt data, digitally sign documents and verify digital signatures, manage (generate, list and delete) encryption keys, using proven Public Key Infrastructure (PKI) encryption technology based on OpenPGP. This module is expected to be used with Python versions >= 2.4, as it makes use of the subprocess module which appeared in that version of Python. This module is a newer version derived from earlier work by Andrew Kuchling, Richard Jones and Steve Traugott. A test suite using unittest is included with the source distribution. Simple usage: >>> import gnupg >>> gpg = gnupg.GPG(gnupghome='/path/to/keyring/directory') >>> gpg.list_keys() [{ ... 'fingerprint': 'F819EE7705497D73E3CCEE65197D5DAC68F1AAB2', 'keyid': '197D5DAC68F1AAB2', 'length': '1024', 'type': 'pub', 'uids': ['', 'Gary Gross (A test user) ']}, { ... 'fingerprint': '37F24DD4B918CC264D4F31D60C5FEFA7A921FC4A', 'keyid': '0C5FEFA7A921FC4A', 'length': '1024', ... 'uids': ['', 'Danny Davis (A test user) ']}] >>> encrypted = gpg.encrypt("Hello, world!", ['0C5FEFA7A921FC4A']) >>> str(encrypted) '-----BEGIN PGP MESSAGE-----\nVersion: GnuPG v1.4.9 (GNU/Linux)\n \nhQIOA/6NHMDTXUwcEAf . -----END PGP MESSAGE-----\n' >>> decrypted = gpg.decrypt(str(encrypted), passphrase='secret') >>> str(decrypted) 'Hello, world!' >>> signed = gpg.sign("Goodbye, world!", passphrase='secret') >>> verified = gpg.verify(str(signed)) >>> print "Verified" if verified else "Not verified" 'Verified' As always, your feedback is most welcome (especially bug reports [3], patches and suggestions for improvement, or any other points via the mailing list/discussion group [4]). Enjoy! Cheers Vinay Sajip Red Dove Consultants Ltd. [1] https://bitbucket.org/vinay.sajip/python-gnupg [2] https://pypi.python.org/pypi/python-gnupg/0.3.8 [3] https://bitbucket.org/vinay.sajip/python-gnupg/issues [4] https://groups.google.com/forum/#!forum/python-gnupg From jendrikseipp at web.de Sat Sep 26 22:05:48 2015 From: jendrikseipp at web.de (Jendrik Seipp) Date: Sat, 26 Sep 2015 22:05:48 +0200 Subject: Vulture 0.7 released Message-ID: <5606FA9C.9070908@web.de> vulture - Find dead code ======================== Vulture finds unused classes, functions and variables in your code. This helps you cleanup and find errors in your programs. If you run it on both your library and test suite you can find untested code. Due to Python's dynamic nature, static code analyzers like vulture are likely to miss some dead code. Also, code that is only called implicitly may be reported as unused. Nonetheless, vulture can be a very helpful tool for achieving high code quality. Download -------- http://pypi.python.org/pypi/vulture Features -------- * fast: uses static code analysis * lightweight: only one module * tested: tests itself and has 100% test coverage * complements *pyflakes* and has the same output syntax * supports Python 2.6, 2.7 and 3.x Changes ------- * Exit with exitcode 1 if path on commandline can't be found. * Test vulture with vulture. * Add tests that run vulture as a script. * Add "python setup.py test" command for running tests. * Add support for tox. * Raise test coverage to 100%. * Remove ez_setup.py. Cheers, Jendrik From anthon at mnt.org Sun Sep 27 21:41:03 2015 From: anthon at mnt.org (Anthon van der Neut) Date: Sun, 27 Sep 2015 21:41:03 +0200 Subject: [ANN] winpysetup 1.2 Message-ID: <5608464F.5070801@mnt.org> I am happy to announce the availability of a new version of winpysetup changes in this version: - added 3.5 and VisualStudio 2015 Community edition. Both are for post XP windows versions only. Be forewarned that VisualStudio can take a long time downloading updates it needs on a clean Windows 7, all the more reason to use winpysetup. version 1.2 dd 2015-09-27 Winpysetup ( https://bitbucket.org/ruamel/winpysetup/ ) allows setting up a clean testing environment on Windows for multiple python versions without downloading and installing MSI installers, prerequisites, yourself, all the time waiting for the last to finish in order to click a few options to start the next install. Winpysetup makes it trivial to install both 64- and 32-bit versions of the same Python version. Because tox-globinterpreter is installed as well, all these versions can be found and used on one machine. - install Windows (or clone your clean Windows Virtual Machine) - Download winpysetup.exe and start it. ( https://bitbucket.org/ruamel/winpysetup/downloads/winpysetup.exe ) - Once the program is done (now is a good time to make another snapshot if you run Windows in a VM), open a new Command Prompt (to get the change in PATH) and change to a directory without spaces in the path (e.g. C:\src). - Run: hg clone --insecure https://hg at bitbucket.org/ruamel/minimal - Change to the directory "minimal" and run tox. - Watch how tox invokes py.test succesfully against Python 2.7/3.5/3.4/3.3/2.6 and pypy (you can of course run tox immediately on your own, more interesting, code as well). Installed items include: pip (latest version even if older version is included in the installed python version), easy_install, mercurial, tox, detox, py.test and the Visual C compiler for Python 2.7 (e.g. needed for mercurial) and the other Pythons versions. Special hooks can change the behaviour of the installer. In particular: - the list of python versions to install can be easily extended/reduced - the list of default packages to install can be extended/reduced - already downloaded packages (Python, VisualStudio) can be cached. To both cache downloads, and install 32 bit versions on a 64 bit system, create a file pre_winpysetup.py next to your winpysetup.exe file before starting the latter: ---------- import sys import os import urllib2 def _download_url(self, url, path=None, base_name=None): """download a url if it is not yet in the cache """ cache = '/full/path/to/some/peristent/cache/directory/on/a/host/network drive' print 'url', url if cache and not os.path.exists(cache): cache = None if path is None: path = self._msi_dir if base_name is None: base_name = os.path.basename(url) if cache: full_name = os.path.join(cache, base_name) else: full_name = os.path.join(path, base_name) if not os.path.exists(full_name): print 'retrieving', base_name, '...' data = urllib2.urlopen(url).read() fp = open(full_name, 'wb') fp.write(data) fp.close() return full_name def pre_versions(self): self.versions = self.versions[:-1] + [ '3.5-32', '3.4-32', '3.3-32', '2.6-32', '2.7-32', ] + [self.versions[-1]] def main(verbose, installer): print 'loading winpysetup_pre' installer._download_url = _download_url installer.pre_versions = pre_versions ---------- Winpysetup has been used to setup the 2.3 environment to create the winpysetup.exe (so it will run on a clean Windows XP install). Winpysetup is used to generate the wheel files for ruamel.ordereddict and ruamel.yaml. It has been tested on: WinXP with Service Pack 2 (32 and 64 bit) Windows 7 (32 and 64 bit) Feedback (avdn at europython.eu or via bitbucket) is welcome, in particular if tested on other Windows environments to which I currently don't have access. From kq1quick at gmail.com Mon Sep 28 08:22:13 2015 From: kq1quick at gmail.com (kq1quick at gmail.com) Date: Sun, 27 Sep 2015 23:22:13 -0700 (PDT) Subject: ANN: Thespian v2.2.0 released Message-ID: Thespian version 2.2.0 has been released. This version contains initialization updates with better control of logging and the ability to specify a transientUnique ActorSystem startup. In addition, better control over logging output and multiple registrations for convention notifications are now supported. Release notes are available at http://godaddy.github.io/Thespian/doc/releases.html. Happy Actoring, -Kevin From damian.avila at continuum.io Mon Sep 28 18:55:30 2015 From: damian.avila at continuum.io (Damian Avila) Date: Mon, 28 Sep 2015 13:55:30 -0300 Subject: ANN: Bokeh 0.10.0 released! Message-ID: Hi all, On behalf of the *Bokeh team*, I am excited to announce the release of version *0.10.0* of *Bokeh*, an interactive web plotting library for Python... and other languages! This release was focused into provide several new features such as webgl support, a new refactored and more powerful chart interface and responsive plots. But we are also shipping a lot of bug-fixes and enhancements in our documentation, testing and build machineries and examples. Some of the highlights from this release are: * Initial webgl support (check our new examples: maps city, iris blend, scatter 10K, clustering.py) * New charts interface supporting aggregation (see our new Bars, BoxPlot, Histogram and Scatter examples) * Responsive plots * Lower-level jsresources & cssresources (allow more subtle uses of resources) * Several test machinery fixes * Several build machinery enhancements * More pytest-related fixes and enhancements * More docs fixes and enhancements * Now the glyph methods return the glyph renderer (not the plot) * Gmap points moves consistently * Added alpha control for imageurl objects * Removed python33 testing and packaging * Removed multiuserblazeserver See the CHANGELOG for full details. If you are using Anaconda/miniconda, you can install it with conda: *conda install bokeh* or directly from our Anaconda Cloud main channel with: *conda install -c bokeh bokeh* Alternatively, you can also install it with pip: *pip install bokeh* If you want to use *Bokeh* in standalone Javascript applications, *BokehJS* is available by CDN at: * http://cdn.pydata.org/bokeh/release/bokeh-0.10.0.min.js * http://cdn.pydata.org/bokeh/release/bokeh-0.10.0.min.css Additionally, *BokehJS* is also installable with the Node Package Manager at https://www.npmjs.com/package/bokehjs Issues, enhancement requests, and pull requests can be made on the *Bokeh* Github page: https://github.com/bokeh/bokeh Documentation is available at http://bokeh.pydata.org/en/0.10.0 Questions can be directed to the *Bokeh* mailing list: bokeh at continuum.io We also have a new "*general*" channel available at Slack: https://bokehplots.slack.com/ *Note*: This is an *unsupported* place where users can congregate and self-support or share experiences. The *supported* place by default is the Bokeh mailing list. Cheers. -- *Dami?n Avila* *Software Developer* *@damian_avila* *davila at continuum.io * *+5492215345134 | cell (ARG)* From michel.casabianca at gmail.com Tue Sep 29 15:14:44 2015 From: michel.casabianca at gmail.com (michel.casabianca at gmail.com) Date: Tue, 29 Sep 2015 06:14:44 -0700 (PDT) Subject: [ANN] pythenv Message-ID: <38be4fa0-ca14-48aa-9411-1c3a7facba82@googlegroups.com> Pythenv runs a Python script creating a virtualenv on the fly. Requirements may be passed as a requirements file or embedded in the Python script in a dedicated comment: # requirements: foo==1.2.3, bar This project is on Github: https://github.com/c4s4/pythenv Enjoy! From holger at merlinux.eu Tue Sep 29 15:41:35 2015 From: holger at merlinux.eu (holger krekel) Date: Tue, 29 Sep 2015 13:41:35 +0000 Subject: pytest-2.8.1: fixes and more fixes Message-ID: <20150929134135.GB29865@merlinux.eu> Just 11 days after 2.8 hit PyPI we published pytest-2.8.1 which fixes a host of regressions and bugs, see the changelog excerpt below. Docs are also freshly generated at http://pytest.org including a streamlined PDF. Note that the pytest team now follows more SEMVER style versioning which currently means that you can expect bugfixes with 2.8.X and new features with 2.9.0 and planned incompatibilities with 3.0. Many thanks to the PR contributors and mergers of 2.8.1: Bruno Oliveira Ronny Pfannschmidt Florian Bruhin Floris Bruynooghe Eric Hunsberger Tim Staley Simon Gomizelj Russel Winder Oleg Alexandrov Michael Howitz Michael Birtwell Ben Webb Andy Freeland Abhijeet Kasurde cheers, holger krekel 2.8.1 ----- - fix #1034: Add missing nodeid on pytest_logwarning call in addhook. Thanks Simon Gomizelj for the PR. - 'deprecated_call' is now only satisfied with a DeprecationWarning or PendingDeprecationWarning. Before 2.8.0, it accepted any warning, and 2.8.0 made it accept only DeprecationWarning (but not PendingDeprecationWarning). Thanks Alex Gaynor for the issue and Eric Hunsberger for the PR. - fix issue #1073: avoid calling __getattr__ on potential plugin objects. This fixes an incompatibility with pytest-django. Thanks Andreas Pelme, Bruno Oliveira and Ronny Pfannschmidt for contributing and Holger Krekel for the fix. - Fix issue #704: handle versionconflict during plugin loading more gracefully. Thanks Bruno Oliveira for the PR. - Fix issue #1064: ""--junitxml" regression when used with the "pytest-xdist" plugin, with test reports being assigned to the wrong tests. Thanks Daniel Grunwald for the report and Bruno Oliveira for the PR. - (experimental) adapt more SEMVER style versioning and change meaning of master branch in git repo: "master" branch now keeps the bugfixes, changes aimed for micro releases. "features" branch will only be be released with minor or major pytest releases. - Fix issue #766 by removing documentation references to distutils. Thanks Russel Winder. - Fix issue #1030: now byte-strings are escaped to produce item node ids to make them always serializable. Thanks Andy Freeland for the report and Bruno Oliveira for the PR. - Python 2: if unicode parametrized values are convertible to ascii, their ascii representation is used for the node id. - Fix issue #411: Add __eq__ method to assertion comparison example. Thanks Ben Webb. - fix issue 877: properly handle assertion explanations with non-ascii repr Thanks Mathieu Agopian for the report and Ronny Pfannschmidt for the PR. - fix issue 1029: transform errors when writing cache values into pytest-warnings From moritz.beber at gmail.com Tue Sep 29 21:37:21 2015 From: moritz.beber at gmail.com (Moritz Beber) Date: Tue, 29 Sep 2015 21:37:21 +0200 Subject: searchstringparser 0.2.3 released Message-ID: Dear all, It is my pleasure to announce the first version of the *searchstringparser* package (0.2.3) on pypi. It currently contains a PLY (Python Lex-Yacc) based implementation of a general lexer and PostgreSQL specific parser. The parser translates general search queries that users might expect to be able to enter in a search form into strings that implement the correct logic for the PostgreSQL full text search functions tsquery and to_tsquery. The package is BSD licensed and you can get a full overview of the package at https://searchstringparser.readthedocs.org/ It is hosted on github and is fully integrated with Travis, AppVeyor, and Coveralls using py.test and tox. Feedback, bug reports, parser suggestions, and forks of the project are welcome! Best, Moritz Beber moritz.beber at gmail.com

searchstringparser 0.2.3 - Parse a more general search syntax to conform with a particular SQL dialect. (29-Sep-15)