PyAWS 0.3.0 released
Development, Web May 6th, 2008
After 6 months, PyAWS 0.3.0 is eventually released. You can check out the tar ball here.
I almost abandoned this project as I found the XSLT approach is more appealing: ideal for AJAX application and easy to integrate via simplejson in the server side. Furthermore, I joined Microsoft, moved to Canada, and had less spare time to work on less interested hobby work. The last straw is the unexpected complicity of the the BIG FAT refactory.
Until recently, I got the email from one PyAWS user, he reported a bug on unexpected result of ListLookup operation. It is so good to hear from some users that this library still benefits somebody in the world. So I picked it up, completed the refactory and released it today. The library still in active development, the code style stinks, the document sucks and most of all, testing is lacking — I would explain it for a little bit here.
I am a big fan of TDD personally, and we have respected testing troops to help building our products in MSFT as well. However, the complexity of PyAWS is far beyond my capacity: there are tens of operations and twenties of response groups, and response groups may combine, that make it extremely difficult to cover all the paths. To make it worse, the AWS is dynamic, there is no guarantee that the consecutive queries would return the same result. I may consider automation to facilitate the unit tests. If you have better ideas, please leave a comment here.
I just started using pyAWS a week ago. It’s really great and saved hours trying to learn and parse Amazon web service stuff. Keep up the good work. I’ll email you with a link to my project when it’s released in a month or so.
Is PyAWS still in development? Is anyone else using it? I’m getting errors whenever I perform an ItemSearch, and I can’t seem to find anything on it.
>>> books = ecs.ItemSearch(’math’, SearchIndex=’Books’, ResponseGroup=’Medium’)
>>> len(books)
0
Version 0.2 returned *too* many results.
If anyone knows why this happens, please shoot me an e-mail at mtrythall [at] gmail.com
There is a looong period between 0.2 and 0.3 because the refactory is too big.
Maybe try 0.3 release? In 0.3 ItemSearch returns a generator, that is suppose to resolve this problem, if you still have the problem, just drop me a message.
After some more poking around, it seems that ItemSearch by itself is indeed broken, but added .cache() to the end of the line works:
ecs.ItemSearch(’python’, SearchIndex=’Books’).cache()
This returns 10 results. I’m still investing the bug, but it’s a small priority for me now that I have some sort of solution for the time being.
Well, the behavior of PyAWS 0.3 has been changed, — ItemSearch would return an enumerator/generator. So you may not check the length, this is due to the bug of AWS, the returned items are not strictly paged by 10 which incurs incorrect random access.
A typical usage for ItemSearch would be like:
# manipulate item