IMAPClient 0.10
IMAPClient 0.10 has just been released. This is an important release because it's the first to support Python 3!
Here's the highlights:
- Python 3.2 and 3.3 are now officially supported. This release also means that Python versions older than 2.6 are no longer supported. Be sure to see the NEWS.rst file for more information on this change.
- The HIGHESTMODSEQ item in SELECT responses is now parsed correctly
- Fixed daylight saving handling in FixedOffset class
- Fixed --port command line bug in imapclient.interact when SSL connections are made.
- Michael Foord's excellent Mock library is now longer included with the IMAPClient package (it is listed as external test dependency)
- Live tests that aren't UID related are now only run once per run
- Live tests now perform far less logins to the server under test
- Unit tests can now be run for all supported Python versions using tox.
- python setup.py test now runs the unit tests
- Many documentation fixes and improvements.
A massive thank you to Mathieu Agopian for his massive contribution to getting the Python 3 support finished. His changes and ideas feature heavily in this release.
See the NEWS.rst file and manual for more details.
IMAPClient can be installed from PyPI (pip install imapclient) or downloaded from the IMAPClient site.
posted: Thu, 06 Jun 2013 00:15 | permalink | comments
Raspberry Pi: driving a VU meter using a digital-to-analog converter
As I've mentioned in previous blog articles, my wife and I have been working on driving an analog VU meter based on the sound going out the Raspberry Pi's audio outputs. This now works!
Here's a video demonstrating the result:
The music [1] is playing from a Raspberry Pi, with software running on the Pi digitally sampling the peak output audio level and writing that out to an 8-bit digital-to-analog converter (DAC). The DAC output is then used to drive the analog meter. If you're interesting in knowing how all this hangs together, keep reading.
Read more...posted: Mon, 06 May 2013 23:40 | permalink | comments
IMAPClient 0.9.2
IMAPClient 0.9.2 was released yesterday. In this release:
- The IMAP THREAD command is now supported. Thanks to Lukasz Mierzwa for the patches.
- Enhanced CAPABILITY querying
- Better documentation for contributors (see HACKING file)
- Copyright date update for 2013.
See the NEWS file and manual for more details.
IMAPClient can be installed from PyPI (pip install imapclient) or downloaded from the IMAPClient site.
Note that the official project source repository is now on Bitbucket. http://imapclient.freshfoo.com/ is still the offical home page and is still used for project tracking. It is only the source respository that has moved.
posted: Thu, 28 Mar 2013 23:35 | permalink | comments
Monitoring Audio Levels with PulseAudio
I'm working on driving an analog VU meter from my Raspberry Pi using whatever audio is going out the Pi's sound outputs. The de facto Linux sound system, PulseAudio, allows any sound output (or "sink" in PulseAudio's nonclementure) to be monitored. In PulseAudio land, each sink has a corresponding "source" called the monitor source which can be read just like any other other PulseAudio input such as a microphone. In fact, to help with volume meter style applications, PulseAudio even allows you to ask for peak level measurements, which means you can sample the monitor sink at a low frequency, with low CPU utilisation, but still produce a useful volume display. When this feature is used, each sample read indicates the peak level since the last sample.
Read more...posted: Sun, 10 Feb 2013 22:05 | permalink | comments
IMAPClient 0.9.1
IMAPClient 0.9.1 is out! In this release:
- OAUTH2 support: OAUTH v1 is still supported by Gmail but is now deprecated. Thanks to Zac Witte for the patch for version 2 support.
- Stream support: It is now possible to have IMAPClient run an external command to establish a connection to an IMAP server. This is useful for exotic connection or authentication setups. Thanks to Dave Eckhardt for the original patch.
- livetest updates to deal with the way Gmail now handles with new messages.
See the NEWS file and manual for more details.
As always, IMAPClient can be installed from PyPI (pip install imapclient) or downloaded from the IMAPClient site.
posted: Mon, 12 Nov 2012 22:52 | permalink | comments
Tiling addiction
So I have this problem ... Well it's not really a problem - I can stop whenever I want, really I can. My problem is that I have a thing for tiling window managers (WMs) [1]. I love the efficient window management, keyboard focussed operation, extensive customisability and lightweight feel that most tiling WMs offer. For the X Window System [2] there's an awful lot to choose from, and I've been obsessed for some time now with finding a great tiling WM that works for me and then configuring it to perfection.
Read more...posted: Sun, 30 Sep 2012 21:15 | permalink | comments
Somewhat over-engineered blinking LEDs
My Raspberry Pi arrived a couple of weeks ago and I've been working on turning it into a mini-audio server to connect to the home stereo in the living room.
As part of the project I'd like to drive an analog VU meter from the sound signal.
This week my (enthusiastic!) wife and I played around with attaching some basic electronics to the GPIO ports so that we could get more comfortable the Raspberry Pi. Our electronics knowledge is more than a little rusty but surprisingly everything we tried worked first go.
Read more...posted: Fri, 20 Jul 2012 13:52 | permalink | comments
IMAPClient 0.9 released
I'm pleased to announce version 0.9 of IMAPClient, the easy-to-use and Pythonic IMAP client library.
Highlights for this release:
- Support for Gmail's label API. Thanks to Brian Neal for the patches for this.
- Significant cleanup and refactoring in preparation for Python 3 compatibility.
- The "livetest" module can now be safely used against IMAP accounts with real data. Previously it could only be used with dummy accounts due to the destructive nature of the tests.
- Fixed handling of IMAP servers that return all-digit folder name without quotes. Thanks to Rhett Garber for the bug report.
- Much improved test coverage (again, in preparation for Python 3 support)
- Fixed rename live test so that it uses folder namespaces
- Parse STATUS responses robustly - fixes folder_status() with MS Exchange.
- Numerous livetest fixes to work around oddities with the MS Exchange IMAP implementation.
The NEWS file and manual have more details on all of the above.
As always, IMAPClient can be installed from PyPI (pip install imapclient) or downloaded from the IMAPClient site.
The main focus of the next release (0.10) will be Python 3 support as this is easily the most requested feature. Watch this space for more news on this.
posted: Wed, 16 May 2012 16:02 | permalink | comments
Introducing elemental
The first release of my first Elisp project is out. The project is called "elemental" and the intro from the README goes:
elemental is a set of Emacs Lisp functions for intelligently jumping between and transposing list/tuple/dictionary/function-parameter elements. These functions are primarily useful when editing software source code.
It's probably easier to get an understanding what it does by demonstration so I've uploaded a quick screencast to Youtube.
The project is hosted on Bitbucket: https://bitbucket.org/mjs0/elemental
Feedback and patches welcome!
posted: Sat, 07 Apr 2012 23:04 | permalink | comments
IMAPClient 0.8.1 released
Version 0.8.1 of IMAPClient has just been released. This version works around a subtle bug in distutils which was preventing installation on Windows from working. Thanks to Bob Yexley for the bug report.
This release also contains a few small documentation updates and packaging fixes. The NEWS file has more details.
As always, IMAPClient can be installed from PyPI (pip install imapclient) or downloaded from the IMAPClient site.
posted: Wed, 11 Jan 2012 23:20 | permalink | comments