tiffany 0.5 released
Tiffany - Read/Write Multipage-Tiff with PIL without PIL Tiffany stands for any tiff. The tiny module solves a large set of problems, has no dependencies and just works wherever Python works. Tiffany was developed in the course of the *DiDoCa* project and will always appear on PyPi. Version 0.5 --- This is a compatibility update for Python 3.2. Tiffany now works on Python 2.6, 2.7 and 3.2. This version also reduces the needed PIL files to four * 2. The final reduction to a single source is almost ready and will be 0.6 . Please let me know if this stuff works for you, and send requests to or use the links in the bitbucket website: https://bitbucket.org/didoca/tiffany cheers -- Chris -- Christian Tismer :^)<mailto:tis...@stackless.com> tismerysoft GmbH : Have a break! Take a ride on Python's Karl-Liebknecht-Str. 121 :*Starship* http://starship.python.net/ 14482 Potsdam: PGP key -> http://pgp.uni-mainz.de work +49 173 24 18 776 mobile +49 173 24 18 776 fax n.a. PGP 0x57F3BF04 9064 F4E1 D754 C2FF 1619 305B C09C 5A3B 57F3 BF04 whom do you want to sponsor today? http://www.stackless.com/ -- http://mail.python.org/mailman/listinfo/python-list
tiffany 0.5 released
Tiffany - Read/Write Multipage-Tiff with PIL without PIL Tiffany stands for any tiff. The tiny module solves a large set of problems, has no dependencies and just works wherever Python works. Tiffany was developed in the course of the *DiDoCa* project and will always appear on PyPi. Version 0.6 --- This is a compatibility update for Python 3.2. Tiffany now works on Python 2.6, 2.7 and 3.2. This version also reduces the needed PIL files to only four. The same files work for python2 and python3. You can help me by sending some tiff files with different encoding and larger file size for testing. I'm also thinking of - an interface to Qt (without adding a dependency) - a command line interface, to make tiffany into a new tiff tool, - support for other toolkits that need to handle tiff files. Ideas about this are most welcome. Please let me know if this stuff works for you, and send requests to or use the links in the bitbucket website: https://bitbucket.org/didoca/tiffany cheers -- Chris -- Christian Tismer :^)<mailto:tis...@stackless.com> tismerysoft GmbH : Have a break! Take a ride on Python's Karl-Liebknecht-Str. 121 :*Starship* http://starship.python.net/ 14482 Potsdam: PGP key -> http://pgp.uni-mainz.de work +49 173 24 18 776 mobile +49 173 24 18 776 fax n.a. PGP 0x57F3BF04 9064 F4E1 D754 C2FF 1619 305B C09C 5A3B 57F3 BF04 whom do you want to sponsor today? http://www.stackless.com/ -- http://mail.python.org/mailman/listinfo/python-list -- http://mail.python.org/mailman/listinfo/python-list
tiffany 0.6 released
Tiffany - Read/Write Multipage-Tiff with PIL without PIL Tiffany stands for any tiff. The tiny module solves a large set of problems, has no dependencies and just works wherever Python works. Tiffany was developed in the course of the *DiDoCa* project and will always appear on PyPi. Version 0.6 --- This is a compatibility update for Python 3.2. Tiffany now works on Python 2.6, 2.7 and 3.2. This version also reduces the needed PIL files to only four. The same files work for python2 and python3. You can help me by sending some tiff files with different encoding and larger file size for testing. I'm also thinking of - an interface to Qt (without adding a dependency) - a command line interface, to make tiffany into a new tiff tool, - support for other toolkits that need to handle tiff files. Ideas about this are most welcome. Please let me know if this stuff works for you, and send requests to or use the links in the bitbucket website: https://bitbucket.org/didoca/tiffany cheers -- Chris -- Christian Tismer :^)<mailto:tis...@stackless.com> tismerysoft GmbH : Have a break! Take a ride on Python's Karl-Liebknecht-Str. 121 :*Starship* http://starship.python.net/ 14482 Potsdam: PGP key -> http://pgp.uni-mainz.de work +49 173 24 18 776 mobile +49 173 24 18 776 fax n.a. PGP 0x57F3BF04 9064 F4E1 D754 C2FF 1619 305B C09C 5A3B 57F3 BF04 whom do you want to sponsor today? http://www.stackless.com/ -- http://mail.python.org/mailman/listinfo/python-list -- http://mail.python.org/mailman/listinfo/python-list
Re: tiffany 0.6 released
Abour tiffany... On 6/25/12 3:46 AM, Christian Tismer wrote: Tiffany - Read/Write Multipage-Tiff with PIL without PIL Tiffany stands for any tiff. The tiny module solves a large set of problems, has no dependencies and just works wherever Python works. Tiffany was developed in the course of the *DiDoCa* project and will always appear on PyPi. Version 0.6 --- This is a compatibility update for Python 3.2. Tiffany now works on Python 2.6, 2.7 and 3.2. This version also reduces the needed PIL files to only four. The same files work for python2 and python3. You can help me by sending some tiff files with different encoding and larger file size for testing. I'm also thinking of - an interface to Qt (without adding a dependency) - a command line interface, to make tiffany into a new tiff tool, - support for other toolkits that need to handle tiff files. Ideas about this are most welcome. Please let me know if this stuff works for you, and send requests to or use the links in the bitbucket website: https://bitbucket.org/didoca/tiffany cheers -- Chris Howdy. I saw quite a lot of downloads of this package now, but not a single reaction or any feedback. How can I get more than just down-loaders? I would like to know, if - this module is of use for you - if there are wishes to get more functionality - if it makes sense at all - if there are feature requests. I could stop right now, freeze development as the stuff does what is supposed to do in the relevant Python versions, name it 1.0 and forget about it. But I don't want to. Can somebody please give me some feedback? Criticism? Helpful, useless, boring, whatsoever? thanks -- cheers - Chris -- Christian Tismer :^)<mailto:tis...@stackless.com> tismerysoft GmbH : Have a break! Take a ride on Python's Karl-Liebknecht-Str. 121 :*Starship*http://starship.python.net/ 14482 Potsdam: PGP key -> http://pgp.uni-mainz.de work +49 173 24 18 776 mobile +49 173 24 18 776 fax n.a. PGP 0x57F3BF04 9064 F4E1 D754 C2FF 1619 305B C09C 5A3B 57F3 BF04 whom do you want to sponsor today?http://www.stackless.com/ -- http://mail.python.org/mailman/listinfo/python-list
Re: tiffany 0.6 released
Hi Steven, On 26.06.12 04:18, Steven D'Aprano wrote: On Mon, 25 Jun 2012 23:36:59 +0200, Christian Tismer wrote: I saw quite a lot of downloads of this package now, but not a single reaction or any feedback. Feel fortunate that you are getting any downloads at all :) In my experience, if you are really lucky, perhaps one in a hundred people who download a package will comment about it. Ok, good to know. This is my first little package (funny, eh? Did much larger things), and this is new to me. How can I get more than just down-loaders? I would like to know, if - this module is of use for you - if there are wishes to get more functionality - if it makes sense at all - if there are feature requests. You can't force people to comment. Do you have a blog where you can report new functionality or bug fixes? That might help drive interest. Good input. I was trying to blog several times, but somehow lost it, again. Thanks a lot, I will force myself to blog. (but I'm more into email conversations, maybe doing stuff for too long ? ) ... If you are writing software for fame and attention, you're in the wrong industry :) I assume not, at least I think. I want to do things right, and to see if they are right or if I'm on the wrong track, that's why I want the feedback. And I got quite some feedback on Stackless Python, but tiffany is a small niche project for probably orders of magnitude less people. BTW, I have no need for your software, but that doesn't mean it isn't a good and valuable piece of work. Thank you for sharing it with the community, even if only a few people find it useful. Thanks for the adjustment. Now I'm feeling fine and will move on to other targets ;-) cheers -- Chris -- Christian Tismer :^) <mailto:tis...@stackless.com> tismerysoft GmbH : Have a break! Take a ride on Python's Karl-Liebknecht-Str. 121 :*Starship* http://starship.python.net/ 14482 Potsdam: PGP key -> http://pgp.uni-mainz.de work +49 173 24 18 776 mobile +49 173 24 18 776 fax n.a. PGP 0x57F3BF04 9064 F4E1 D754 C2FF 1619 305B C09C 5A3B 57F3 BF04 whom do you want to sponsor today? http://www.stackless.com/ -- http://mail.python.org/mailman/listinfo/python-list
Re: Why has python3 been created as a seperate language where there is still python2.7 ?
On 26.06.12 08:34, Stefan Behnel wrote: Devin Jeanpierre, 26.06.2012 08:15: On Mon, Jun 25, 2012 at 11:35 PM, Steven D'Aprano Making print a statement in the first place was a mistake, but fortunately it was a simple enough mistake to rectify once the need for backward compatibility was relaxed. Hmmm, why is the function so much better than the statement? You like using it in expressions? Or is it that you like passing it in as a callback? First of all, the statement has a rather special syntax that is not obvious and practically non-extensible. It also has hidden semantics that are hard to explain and mixes formatting with output - soft-space, anyone? The function is straight forward, configurable, does one thing, works with help() and doesn't get in the way. And something as rarely[1] used as a print simply doesn't deserve special syntax. Oh, and, yes, you can even pass it into some code as callback, although I rarely had a need for that. I agree, and I don't want to revive an old discussion of the print statement. I just still don't see the point why the transition is made so uni-directional? With python2.7, it is great that "from __future__ import print_function" exists. But porting old code (PIL for instance) imposes a lot of changes which don't make sense, but produce overhead. Some are simple things like the print statement, which is used only in the debugging code. Enforcing the syntax change enforces changing many modules, which could otherwise work just fine as they are. I think, for the small importance of the print statement in code, it would have made the transition easier, if python 3 was as flexible as python 2.7, with a symmetric "from __past__ import print_statement" construct. That would have at least my acceptance much quicker, because the necessity of modifying stuff would reduce to the few changes which are important in a few modules. So right now, I try to use python 3, but the flexibility is right now in python2.7 . cheers - Chris -- Christian Tismer :^) <mailto:tis...@stackless.com> tismerysoft GmbH : Have a break! Take a ride on Python's Karl-Liebknecht-Str. 121 :*Starship* http://starship.python.net/ 14482 Potsdam: PGP key -> http://pgp.uni-mainz.de work +49 173 24 18 776 mobile +49 173 24 18 776 fax n.a. PGP 0x57F3BF04 9064 F4E1 D754 C2FF 1619 305B C09C 5A3B 57F3 BF04 whom do you want to sponsor today? http://www.stackless.com/ -- http://mail.python.org/mailman/listinfo/python-list
Re: Why has python3 been created as a seperate language where there is still python2.7 ?
On 27.06.12 13:02, Chris Angelico wrote: On Wed, Jun 27, 2012 at 8:25 PM, Christian Tismer wrote: I think, for the small importance of the print statement in code, it would have made the transition easier, if python 3 was as flexible as python 2.7, with a symmetric "from __past__ import print_statement" construct. For how long? Will Python require, in perpetuity, the code to support this? Must the print statement be enhanced when the print function is? What about bug fixes? How much dev time is required to enable backward compatibility past a boundary across which backward compatibility was not promised? And if there's a limit to the duration of this __past__ directive, when should it be and what should happen after that point? Much easier to simply say no. Just as a note: It is not that I'm lazy or against python3 or anything. The opposite is true, as I'm a long-term developer and python evangelist. My argument simply addresses to get as much acceptance of python3 as quickly as possible, and some hard work put into a backward feature would IMHO have been better for python3. I would even like much more drastic changes that python3 actually does, to make the move really worth moving. What happened was a bit the opposite: huge effort for making a really useful python 2.7. My strategy would have put less effort into that, and more to make python3 clearly the thing that people want and need. Right now I think python 2.7 is simply too good. - And especially for the print statement: It is a bad idea that the print statement _must_ create a syntax error. It is IMHO not important to support it really and could just work more or less, with no new features, because as said: print, function or not, is not important enough to enforce a rewrite everywhere because of syntax error. That hides the real semantic changes which _are_ important. So what I would have done is to let it work in an imperfect way. People then have the chance to rewrite with the print function, where it makes sense. But old packages which need to be changed, only because they have lots of if DEBUG: print xxx, yyy, ... could just stay unchanged or migrated later after the real meat has been properly tested etc. Well, I missed the right time to discuss that, so this is just a useless note about history. cheers -- Chris -- Christian Tismer :^) <mailto:tis...@stackless.com> tismerysoft GmbH : Have a break! Take a ride on Python's Karl-Liebknecht-Str. 121 :*Starship* http://starship.python.net/ 14482 Potsdam: PGP key -> http://pgp.uni-mainz.de work +49 173 24 18 776 mobile +49 173 24 18 776 fax n.a. PGP 0x57F3BF04 9064 F4E1 D754 C2FF 1619 305B C09C 5A3B 57F3 BF04 whom do you want to sponsor today? http://www.stackless.com/ -- http://mail.python.org/mailman/listinfo/python-list
Re: tiffany 0.6 released
... Thanks for the adjustment. Now I'm feeling fine and will move on to other targets ;-) By the way: Our conversation seems to have a real effect on downloads. :-) It has been quite a boost since 20 hours from some 25-40 to now over 200. cheers -- chris -- Christian Tismer :^) <mailto:tis...@stackless.com> tismerysoft GmbH : Have a break! Take a ride on Python's Karl-Liebknecht-Str. 121 :*Starship* http://starship.python.net/ 14482 Potsdam: PGP key -> http://pgp.uni-mainz.de work +49 173 24 18 776 mobile +49 173 24 18 776 fax n.a. PGP 0x57F3BF04 9064 F4E1 D754 C2FF 1619 305B C09C 5A3B 57F3 BF04 whom do you want to sponsor today? http://www.stackless.com/ -- http://mail.python.org/mailman/listinfo/python-list
Re: tiffany 0.6 released
On 27.06.12 15:24, Christian Tismer wrote: ... Thanks for the adjustment. Now I'm feeling fine and will move on to other targets ;-) By the way: Our conversation seems to have a real effect on downloads. :-) It has been quite a boost since 20 hours from some 25-40 to now over 200. but it _may_ be that this is also an effect of supporting python 3.2, which probably made quite much sense, after all. -- Christian Tismer :^) <mailto:tis...@stackless.com> tismerysoft GmbH : Have a break! Take a ride on Python's Karl-Liebknecht-Str. 121 :*Starship* http://starship.python.net/ 14482 Potsdam: PGP key -> http://pgp.uni-mainz.de work +49 173 24 18 776 mobile +49 173 24 18 776 fax n.a. PGP 0x57F3BF04 9064 F4E1 D754 C2FF 1619 305B C09C 5A3B 57F3 BF04 whom do you want to sponsor today? http://www.stackless.com/ -- http://mail.python.org/mailman/listinfo/python-list
Re: Why has python3 been created as a seperate language where there is still python2.7 ?
On 27.06.12 15:44, Stefan Behnel wrote: Christian Tismer, 27.06.2012 15:15: print, function or not, is not important enough to enforce a rewrite everywhere because of syntax error. That hides the real semantic changes which _are_ important. So what I would have done is to let it work in an imperfect way. People then have the chance to rewrite with the print function, where it makes sense. But old packages which need to be changed, only because they have lots of if DEBUG: print xxx, yyy, ... could just stay unchanged or migrated later after the real meat has been properly tested etc. Well, at least a SyntaxError makes it easy to find. And even if you don't intend to use 2to3, you can still run it once to generate a patch for you that only fixes up "print". In many cases, that will also make it work in Py2 in such an "imperfect" way, either by doing the right thing already or by printing out a tuple instead of a space separated string. If it's only for debug output (which, as I said, would better be served by the logging module), I can't see why that would be all that unacceptable. Ok, here comes the real story: I extracted a few files from the old PIL package and made the stuff that was needed for my own little utility with a couple of monkey-patches, import hooks etc. After quite some trouble, this worked unter python 2.6 and 2.7, with the unchanged original PIL files. And I was after that: abuse PIL without maintaining it! Then I got real problems when trying to make it run under python 3.2, and from then on I needed two sets of source files, mostly because of the print mess. Most other things were adjustable by monkey-patches, moving to the io module etc. etc. In the end, the only thing that required a real change of source code that I could not circumvent was the indexing of bytes, which is giving chars under python 2.x, but integers under 3.x. At this point my hope to keep the unmodified PIL files died, although without print, this would have been an isolated single 20 lines block in the TiffImagePlugin only, instead of much more changes criss-cross over several sources. Anyway, I ended up with a port of the relevant PIL files to python 3 with some backward-compatible additions (for heaven's sake, at least python 3 accepts the __future__ imports), so now I'm down to single source files, but unfortunately changed files, and I have to track changes in the future. That battle was lost: I wanted the PIL files simply to be drop-ins, without going to work on PIL, because then I would do a complete rewrite after some discussion with the author. That's why I was unhappy with py3's missing flexibility. ciao -- Chris -- Christian Tismer :^) <mailto:tis...@stackless.com> tismerysoft GmbH : Have a break! Take a ride on Python's Karl-Liebknecht-Str. 121 :*Starship* http://starship.python.net/ 14482 Potsdam: PGP key -> http://pgp.uni-mainz.de work +49 173 24 18 776 mobile +49 173 24 18 776 fax n.a. PGP 0x57F3BF04 9064 F4E1 D754 C2FF 1619 305B C09C 5A3B 57F3 BF04 whom do you want to sponsor today? http://www.stackless.com/ -- http://mail.python.org/mailman/listinfo/python-list
Re: Why has python3 been created as a seperate language where there is still python2.7 ?
On 6/27/12 8:58 PM, Serhiy Storchaka wrote: On 27.06.12 17:34, Christian Tismer wrote: That's why I was unhappy with py3's missing flexibility. Excessive flexibility is amorphism. Random notes without context and reasoning are no better than spam. My answer as well, of course, so let's stop here. -- Christian Tismer :^) <mailto:tis...@stackless.com> tismerysoft GmbH : Have a break! Take a ride on Python's Karl-Liebknecht-Str. 121 :*Starship* http://starship.python.net/ 14482 Potsdam: PGP key -> http://pgp.uni-mainz.de work +49 173 24 18 776 mobile +49 173 24 18 776 fax n.a. PGP 0x57F3BF04 9064 F4E1 D754 C2FF 1619 305B C09C 5A3B 57F3 BF04 whom do you want to sponsor today? http://www.stackless.com/ -- http://mail.python.org/mailman/listinfo/python-list
tiffany 0.6.1 released
Tiffany - Read/Write Multipage-Tiff with PIL without PIL Tiffany stands for any tiff. The tiny module solves a large set of problems, has no dependencies and just works wherever Python works. Tiffany was developed in the course of the *DiDoCa* project and will always appear on PyPi. Version 0.6.1 - This version uses the new int.from_bytes/to_bytes methods from python3.2 and emulates them on python2.6/2.7 . This migration was tested using pytest. Tiffany is quite unlikely to change anymore until user requests come, or I get better test data: Testing with larger tiff files -- The implementation right now copies data in one big chunk. I would like to make that better/not limited by memory. For that, I need a tiff file that is a few megabytes big. Can somebody please send me one? Extending Tiffany? -- I'm also thinking of - an interface to Qt (without adding a dependency) - a command line interface, to make tiffany into a new tiff tool, - support for other toolkits that need to handle tiff files. Ideas about this are most welcome. Please let me know if this stuff works for you, and send requests to or use the links in the bitbucket website: https://bitbucket.org/didoca/tiffany cheers -- Chris -- Christian Tismer :^)<mailto:tis...@stackless.com> tismerysoft GmbH : Have a break! Take a ride on Python's Karl-Liebknecht-Str. 121 :*Starship* http://starship.python.net/ 14482 Potsdam: PGP key -> http://pgp.uni-mainz.de work +49 173 24 18 776 mobile +49 173 24 18 776 fax n.a. PGP 0x57F3BF04 9064 F4E1 D754 C2FF 1619 305B C09C 5A3B 57F3 BF04 whom do you want to sponsor today? http://www.stackless.com/ -- http://mail.python.org/mailman/listinfo/python-list -- http://mail.python.org/mailman/listinfo/python-list -- http://mail.python.org/mailman/listinfo/python-list
Re: tiffany 0.6.1 released
On 30.06.12 18:25, Paul Rubin wrote: Christian Tismer writes: Tiffany stands for any tiff. The tiny module solves a large set of problems, has no dependencies and just works wherever Python works. Tiffany was developed in the course of the *DiDoCa* project and will always appear on PyPi. This sounds pretty neat. I didn't comment on it earlier because I haven't tried it out, since I haven't had occasion to deal with tiff files anytime recently. But I've had to process them for some projects in the past, and tiffany would have been useful then. It's good to know that it's out there. Meanwhile I got some feedback and test data. (Thanks to Christian and Anthon) It turns out to be a problem with multiple strips in a tiff file. PIL does not support that. Maybe I can find an easy solution, maybe I'm better off using smc.freeimage as suggested by Christian Heimes, we will see. Right now I'm pretty exhaused after EuroPython... cheers - chris -- Christian Tismer :^) <mailto:tis...@stackless.com> tismerysoft GmbH : Have a break! Take a ride on Python's Karl-Liebknecht-Str. 121 :*Starship* http://starship.python.net/ 14482 Potsdam: PGP key -> http://pgp.uni-mainz.de work +49 173 24 18 776 mobile +49 173 24 18 776 fax n.a. PGP 0x57F3BF04 9064 F4E1 D754 C2FF 1619 305B C09C 5A3B 57F3 BF04 whom do you want to sponsor today? http://www.stackless.com/ -- http://mail.python.org/mailman/listinfo/python-list
tiffany 0.3 released
# coding=utf-8 Tiffany - Read/Write Multipage-Tiff with PIL without PIL Tiffany stands for any tiff. The tiny module solves a large set of problems, has no dependencies and just works wherever Python works. Tiffany was developed in the course of the *DiDoCa* project and will now appear on PyPi. Abstract During the development of *DiDoCa* (Distributed Document Capture) we were confronted with the problem to read multipage Tiff scans. The GUI toolkit *PySide (Qt)* does support Tiff, but only shows the first page. We also had to support Fax compression (CCITT G3/G4), but *Qt* supports this. As a first approach we copied single pages out of multi-page tiff files using *tiffcp* or *tiffutil* (OS X) as a temp file for display. A sub-optimum solution, especially for data security reasons. The second approach replaced this by a tiny modification of the linkage of the tiff directories (IFD). This way, a tiff file could be patched in memory with the wanted page offset and then be shown without any files involved. Unfortunately also this solution was not satisfactory: - out tiff files have anomalies in their tiff tags like too many null-bytes and wrong tag order, - Qt's implementation of tiff is over-pedantic and ignores all tags after the smalles error. Being a good friend of *Fredrik Lundh* and his *PIL* since years, I tried to attach the problem using this. Sadly Fredrik hasn't worked much on this since 2006, and the situation is slightly messed up: *PIL* has a clean-up of tiff tags, but cannot cope with fax compression by default. There exists a patch since many years, but this complicates the build process and pulls with *libtiff* a lot of dependencies in. Furthermore, *PIL* is unable to write fax compressed files, but blows the data up to the full size, making this approach only a half solution as well. After a longer odyssey I saw then the light of a Tiffany lamp: I use only a hand-full of *PIL*s files, without any modification, pretend to unpack a tiff file, but actually cheating. Only the tiff tags are nicely processed and streamlined, but the compressed data is taken unmodified as-is. When writing a tiff page out, the existing data is just assembled in the correct order. For many projects like *didoca* that are processing tiff files without editing their contents, this is a complete solution of their tiff problem. The dependencies of the project stay minimal, there are no binaries required, and Tiffany is with less than 300 lines remarkably small. Because just 5 files from *PIL* are used and the _imaging module is not compiled at all, I'm talking about "PIL without PIL" ;-) Tiffany is a stand-alone module and has no interference with *PIL*. You can see this by looking at ``import_mapper.py``. This module modifies ``__import__`` so that the *PIL* modules appear as top-level internally, but become sub-modules of tiffany in ``sys.modules``. Please let me know if this stuff works for you, and send requests to or use the links in the bitbucket website: https://bitbucket.org/didoca/tiffany cheers -- Chris -- Christian Tismer :^)<mailto:tis...@stackless.com> tismerysoft GmbH : Have a break! Take a ride on Python's Karl-Liebknecht-Str. 121 :*Starship* http://starship.python.net/ 14482 Potsdam: PGP key -> http://pgp.uni-mainz.de work +49 173 24 18 776 mobile +49 173 24 18 776 fax n.a. PGP 0x57F3BF04 9064 F4E1 D754 C2FF 1619 305B C09C 5A3B 57F3 BF04 whom do you want to sponsor today? http://www.stackless.com/ -- http://mail.python.org/mailman/listinfo/python-list
Re: what gui designer is everyone using
I used wx and Boa years before and Was quite pleased. In these days I switched to Qt with PySide. Qt designer works quite well. If you have the choice, then my recommendation is this. Cheers - chris Sent from my Ei4Steve On Jun 8, 2012, at 8:11, Alister wrote: > On Thu, 07 Jun 2012 20:58:09 -0700, CM wrote: > >> On Jun 5, 10:10 am, Mark R Rivet wrote: >>> I want a gui designer that writes the gui code for me. I don't want to >>> write gui code. what is the gui designer that is most popular? >>> I tried boa-constructor, and it works, but I am concerned about how >>> dated it seems to be with no updates in over six years. >> >> Boa Constructor. Very happy with it. Mostly use it for the IDE these >> days, as it already served to help build the GUI. > > I am using glade at present but I am still in the process of learning > -- > http://mail.python.org/mailman/listinfo/python-list -- http://mail.python.org/mailman/listinfo/python-list
Re: what gui designer is everyone using
Hi Miki, Yes, and this works very well. As a side effect it also serves as a template when you need to change certain things dynamically. You can pick snippets for your Gui dynamication. But as a strong recommendation: never ever change the generated code. Import the generated classes and derive your own on top of it. I even prefer not to derive, but to delegate, to keep my name space tidy. Cheers - chris Sent from my Ei4Steve On Jun 7, 2012, at 21:05, Miki Tebeka wrote: >> what is the gui designer that is most popular? > IIRC Qt designer can output Python code. > -- > http://mail.python.org/mailman/listinfo/python-list -- http://mail.python.org/mailman/listinfo/python-list
Ann: New Stackless Website
I'm very happy to announce == Stackless Python has a New Website == Due to a great effort of the Nagare people: http://www.nagare.org/ and namely by the tremendous work of Alain Pourier, Stackless Python has now a new website! This is no longer Plone based, but a nicely configured Trac site. The switch to it has happened right now, the old website will be around for a few days under http://zope.stackless.com while the new site is accessible as http://www.stackless.com stackless.com now allows the source to be browsed (an hourly updated clone from hg.python.org) and includes a new issue tracker. Please let me know if you encounter any problems. cheers -- Chris -- Christian Tismer :^)<mailto:tis...@stackless.com> tismerysoft GmbH : Have a break! Take a ride on Python's Karl-Liebknecht-Str. 121 :*Starship* http://starship.python.net/ 14482 Potsdam: PGP key -> http://pgp.uni-mainz.de work +49 173 24 18 776 mobile +49 173 24 18 776 fax n.a. PGP 0x57F3BF04 9064 F4E1 D754 C2FF 1619 305B C09C 5A3B 57F3 BF04 whom do you want to sponsor today? http://www.stackless.com/ -- http://mail.python.org/mailman/listinfo/python-list
tiffany 0.4 released
Tiffany - Read/Write Multipage-Tiff with PIL without PIL Tiffany stands for any tiff. The tiny module solves a large set of problems, has no dependencies and just works wherever Python works. Tiffany was developed in the course of the *DiDoCa* project and will now appear on PyPi. Version 0.4 --- This is a compatibility update for Python 2.6. I hope to submit Python 3.2 compatibility with version 0.5. Please let me know if this stuff works for you, and send requests to or use the links in the bitbucket website: https://bitbucket.org/didoca/tiffany cheers -- Chris -- Christian Tismer :^)<mailto:tis...@stackless.com> tismerysoft GmbH : Have a break! Take a ride on Python's Karl-Liebknecht-Str. 121 :*Starship* http://starship.python.net/ 14482 Potsdam: PGP key -> http://pgp.uni-mainz.de work +49 173 24 18 776 mobile +49 173 24 18 776 fax n.a. PGP 0x57F3BF04 9064 F4E1 D754 C2FF 1619 305B C09C 5A3B 57F3 BF04 whom do you want to sponsor today? http://www.stackless.com/ -- http://mail.python.org/mailman/listinfo/python-list
ANN: dedent 0.5 released
Dedent 0.5 == What is it? --- Dedent is a very simple tool for those people who like to indent their inline code nicely. For those who got already what it is, stop reading. :-) All the others: What is it, really? --- Ok, think of some inline Python code, something like $ python -c """some code""" For very simple scripts, there is nothing wrong with it. But for inline code over several lines, things become ugly: $ python -c """ "The problem is that you have to start your" "script very much on the left, although you" "would probably like to indent it somehow." One very ugly solution are constructs like """if True: "now I may indent the code" """ This becomes even more ugly if you have to use the __future__ statement, which always must come first! Now, here is what dedent does for you, simply that, not less and not more: $ python -m dedent """ from __future__ import print_function "now I can really indent my code, because" "the dedent module takes care of the indent," "and that was my intent. :-)" """ Installation $ pip install dedent That's all, folks! Have fun. p.s.: Why is that not build in by default? -- Christian Tismer :^) tis...@stackless.com Software Consulting : http://www.stackless.com/ Karl-Liebknecht-Str. 121 : https://github.com/PySide 14482 Potsdam: GPG key -> 0xFB7BEE0E phone +49 173 24 18 776 fax +49 (30) 700143-0023 -- https://mail.python.org/mailman/listinfo/python-list
Re: ANN: dedent 0.5 released
On 29/09/16 22:14, Lele Gaifax wrote: Christian Tismer writes: Dedent 0.5 == What is it? --- Dedent is a very simple tool for those people who like to indent their inline code nicely. p.s.: Why is that not build in by default? Isn't it roughly the same as https://docs.python.org/3.6/library/textwrap.html#textwrap.dedent ? Yes, it actually uses the dedent function. They just failed to expose it. Cheers - Chris -- Christian Tismer :^) tis...@stackless.com Software Consulting : http://www.stackless.com/ Karl-Liebknecht-Str. 121 : https://github.com/PySide 14482 Potsdam: GPG key -> 0xFB7BEE0E phone +49 173 24 18 776 fax +49 (30) 700143-0023 -- https://mail.python.org/mailman/listinfo/python-list
Re: Alternatives to Stackless Python?
Peter Hansen wrote: > [EMAIL PROTECTED] wrote: > >>>I found LGT http://lgt.berlios.de/ but it didn't seem as if the >>>NanoThreads module had the same capabilites as stackless. >> >>What specific capabilities of Stackless are you looking for, that are >>missing from NanoThreads? > > > While I can't speak for the OP, isn't it the case that the threadlets in > Stackless (sorry, don't know what they are really called) are true > threads in the sense of being able to switch contexts no matter how far > down in a set of nested calls they might be? And that NanoThreads are > simply generators, which means you can switch contexts only at the top > level, with a yield statement? > > I don't know what the OP wants, but I could imagine that would be a > pretty fundamental difference (if I'm right about Stackless). You are. -- Christian Tismer :^) <mailto:[EMAIL PROTECTED]> tismerysoft GmbH : Have a break! Take a ride on Python's Johannes-Niemeyer-Weg 9A :*Starship* http://starship.python.net/ 14109 Berlin : PGP key -> http://wwwkeys.pgp.net/ work +49 30 802 86 56 mobile +49 173 24 18 776 fax +49 30 80 90 57 05 PGP 0x57F3BF04 9064 F4E1 D754 C2FF 1619 305B C09C 5A3B 57F3 BF04 whom do you want to sponsor today? http://www.stackless.com/ -- http://mail.python.org/mailman/listinfo/python-list
Re: Alternatives to Stackless Python?
Christophe wrote: ... > Not sure if greenlets support pickling yet. There are no info on that > point and my tests weren't succesful. Greenlets refine a concept of Stackless 2.0 which was orthogonal to the Python implementation in a sense that they did not conflict at all. This is less efficient than collaborative task switching, but allows greenlets to exist without any maintenance. A Stackless subset based upon Greenlets is in discussion. Platform independent Pickling support of running tasklets is almost impossible without support from the Python implementation. I see this as an entry point for people to try these ideas. The switching speed is several times slower by principle. ciao - chris -- Christian Tismer :^) <mailto:[EMAIL PROTECTED]> tismerysoft GmbH : Have a break! Take a ride on Python's Johannes-Niemeyer-Weg 9A :*Starship* http://starship.python.net/ 14109 Berlin : PGP key -> http://wwwkeys.pgp.net/ work +49 30 802 86 56 mobile +49 173 24 18 776 fax +49 30 80 90 57 05 PGP 0x57F3BF04 9064 F4E1 D754 C2FF 1619 305B C09C 5A3B 57F3 BF04 whom do you want to sponsor today? http://www.stackless.com/ -- http://mail.python.org/mailman/listinfo/python-list
Re: pickle - recursion - stack size limit - MS windows
Andy Leszczynski wrote: > I need to pickle quite complex objects and first limitation was default > 200 for the recursion. sys.setrecursionlimit helped, but still bigger > objects fail to be pickled because of XP stack size limitation. > > Any idea how to get around the problem ... If you can live with Python 2.3 at the moment (2.4.2 support is expected after PyCon 2006 the latest), you can just use Stackless Python. It is not limited by stack size and also includes a version of cPickle that is unlimited. cheers -- chris -- Christian Tismer :^) <mailto:[EMAIL PROTECTED]> tismerysoft GmbH : Have a break! Take a ride on Python's Johannes-Niemeyer-Weg 9A :*Starship* http://starship.python.net/ 14109 Berlin : PGP key -> http://wwwkeys.pgp.net/ work +49 30 802 86 56 mobile +49 173 24 18 776 fax +49 30 80 90 57 05 PGP 0x57F3BF04 9064 F4E1 D754 C2FF 1619 305B C09C 5A3B 57F3 BF04 whom do you want to sponsor today? http://www.stackless.com/ -- http://mail.python.org/mailman/listinfo/python-list
Ann: PyPy Sprint before PYCON 2005 in Washington
PyPy Sprint before PYCON 2005 in Washington --- In the four days from 19th March till 22th March (inclusive) the PyPy team will host a sprint on their new Python-in-Python implementation. The PyPy project was granted funding by the European Union as part of its Sixth Framework Program, and is now on track to produce a stackless Python-in-Python Just-in-Time Compiler by December 2006. Our Python implementation, released under the MIT/BSD license, already provides new levels of flexibility and extensibility at the core interpreter and object implementation level. Armin Rigo and Holger Krekel will also give talks about PyPy and the separate py.test tool (used to perform various kinds of testing in PyPy) during the conference. Naturally, we are eager to see how the other re-implementation of Python, namely IronPython, is doing and to explore collaboration possibilities. Of course, that will depend on the degree of openness that Microsoft wants to employ. The Pycon2005 sprint is going to focus on reaching compatibility with CPython (currently we target version 2.3.4) for our PyPy version running on top of CPython. One goal of the sprint is to pass 60% or more of the unmodified regression tests of mainline CPython. It will thus be a great way to get to know CPython and PyPy better at the same time! Other possible work areas include: - translation to C to get a first working lower-level representation of the interpreter "specified in Python" - integrating and implementing a full parser/compiler chain written in Python maybe already targetting the new AST-branch of mainline CPython - fixing various remaining issues that will come up while trying to reach the compatibility goal - integrate or code pure python implementations of some Python modules currently written in C. - whatever issues you come up with! (please tell us before hand so we can better plan introductions etc.pp.) Besides core developers, Bea Düring will be present to help improving and document our sprint and agile development process. We are going to give tutorials about PyPy's basic concepts and provide help to newcomers usually by pairing them with experienced pypythonistas. However, we kindly ask newcomers to be present on the first day's morning (19th of March) of the sprint to be able to get everyone a smooth start into the sprint. So far most newcomers had few problems in getting a good start into our codebase. However, it is good to have the following preparational points in mind: - some experience with programming in the Python language and interest to dive deeper - subscription to pypy-dev and pypy-sprint at http://codespeak.net/pypy/index.cgi?lists - have a subversion-client, Pygame and graphviz installed on the machine you bring to the sprint. - have a look at our current documentation, especially the architecture and getting-started documents under http://codespeak.net/pypy/index.cgi?doc The pypy-dev and pypy-sprint lists are also the contact points for raising questions and suggesting and discussing sprint topics beforehand. We are on #pypy on irc.freenode.net most of the time. Please don't hesitate to contact us or introduce yourself and your interests! Logistics - Organizational details will be posted to pypy-sprint and are or will be available in the Pycon2005-Sprint wiki here: http://www.python.org/moin/PyConDC2005/Sprints Registration send mail to [EMAIL PROTECTED], stating the days you can be present and any specific interests if applicable. Registered Participants --- all days: Jacob Hallén Armin Rigo Holger Krekel Samuele Pedroni Anders Chrigström Bea Düring Christian Tismer Richard Emslie -- Christian Tismer :^) <mailto:[EMAIL PROTECTED]> tismerysoft GmbH : Have a break! Take a ride on Python's Johannes-Niemeyer-Weg 9A :*Starship* http://starship.python.net/ 14109 Berlin : PGP key -> http://wwwkeys.pgp.net/ work +49 30 802 86 56 mobile +49 173 24 18 776 fax +49 30 80 90 57 05 PGP 0x57F3BF04 9064 F4E1 D754 C2FF 1619 305B C09C 5A3B 57F3 BF04 whom do you want to sponsor today? http://www.stackless.com/ -- http://mail.python.org/mailman/listinfo/python-list
Re: Read word tables
Rameshwari wrote: Hi, I would like to read a ms-word document using python. Basically the word document contains number of tables and the rows in each table do not have same number of columns. If you have Office Professional Edition 2003, you can save your Word files in XML format. Then, you can use an XML parser to easily get at any structure. It might be simpler to use than using all the COM objects directly. (Well, the structures aren't that easy, of course). ciao - chris -- Christian Tismer :^) <mailto:[EMAIL PROTECTED]> tismerysoft GmbH : Have a break! Take a ride on Python's Johannes-Niemeyer-Weg 9A :*Starship* http://starship.python.net/ 14109 Berlin : PGP key -> http://wwwkeys.pgp.net/ work +49 30 802 86 56 mobile +49 173 24 18 776 fax +49 30 80 90 57 05 PGP 0x57F3BF04 9064 F4E1 D754 C2FF 1619 305B C09C 5A3B 57F3 BF04 whom do you want to sponsor today? http://www.stackless.com/ -- http://mail.python.org/mailman/listinfo/python-list
Re: Please enlighten me about PyPy
Carl Friedrich Bolz wrote: > Luis M. González wrote: ... >> So we will have two choices: >> 1) running normal python programs on Pypy. >> 2) translating rpython programs to C and compiling them to stand-alone >> executables. >> >> Is that correct? > > Indeed. Another possibility is to write a PyPy extension module in > RPython, have that translated to C and then use this in your pure python > code. Actually, one of our current rather wild ideas (which might not be > followed) is to be able to even use RPython to write extension modules > for CPython. Actually, this wild idea is mine, but PyPy may share. :-) And there is no need for this to be followed, since I'm going to do this anyway, because I have good personal reasons: There is a lot of demand to get Stackless ported more easily, and the current way of manually fighting the ever growing number of C modules by hand just sucks. Waiting for PyPy to get mature enough to replace Stackless is one way, which takes too long. Waiting for "readyness" of PyPy to produce something ahead of explorational and toy interpreters is also no option, although these are very nice and great for education. My alternative is to use translation of RPython to produce extension modules for CPython. Although this is considered an "implementation detail" by most of the PyPy core people, companies which are considering to write extensions in C are just finger-licking for such a detail to use, instead. I will use it for Stackless Python as a show-case. As an example, I want to revert itertools and dequeues to almost their Python equivalent and then translate them into C using PyPy's translator. While this is of no visible worth for the normal Python user, it gives me the advantage that these modules will gain support for the Stackless features automatically, because the base support is built into PyPy. This is not trying to split apart from PyPy, or to short-cut its goals. I'm completely with PyPy's goals, and it will do much more than RPython translation ever will, this is out of question. One problem is that we cannot produce a competitive Python implementation by now. There is a lot more work involved to gain the necessary speed to be considered. On the other hand, the produced low-level code for builtin objects is already almost as efficient as hand-written code in many cases. As a proof of concept, I have used this to turn an application program into compiled RPython, which became over 10 times faster and outperformed its highly optimized Java counterpart. I just believe that RPython is a piece of gold, a gem created aside while trying to build the huge thing, and we should not leave its potential unused. Sure, it needs some processing and finishing to make it easier to use and have better support for interfacing to existing CPython objects. After three years, the PyPy project can really take the chance to produce a small, useful tool for the ambitioned developer. Not making his task trivial, as PyPy will, but considerably simpler than writing C. merry christmas -- chris -- Christian Tismer :^) <mailto:[EMAIL PROTECTED]> tismerysoft GmbH : Have a break! Take a ride on Python's Johannes-Niemeyer-Weg 9A :*Starship* http://starship.python.net/ 14109 Berlin : PGP key -> http://wwwkeys.pgp.net/ work +49 30 802 86 56 mobile +49 173 24 18 776 fax +49 30 80 90 57 05 PGP 0x57F3BF04 9064 F4E1 D754 C2FF 1619 305B C09C 5A3B 57F3 BF04 whom do you want to sponsor today? http://www.stackless.com/ -- http://mail.python.org/mailman/listinfo/python-list
Re: Please enlighten me about PyPy
Christian Tismer wrote: > This is not trying to split apart from PyPy, or to short-cut its > goals. I'm completely with PyPy's goals, and it will do much > more than RPython translation ever will, this is out of question. Of course I meant "this is beyond question" :-) -- Christian Tismer :^) <mailto:[EMAIL PROTECTED]> tismerysoft GmbH : Have a break! Take a ride on Python's Johannes-Niemeyer-Weg 9A :*Starship* http://starship.python.net/ 14109 Berlin : PGP key -> http://wwwkeys.pgp.net/ work +49 30 802 86 56 mobile +49 173 24 18 776 fax +49 30 80 90 57 05 PGP 0x57F3BF04 9064 F4E1 D754 C2FF 1619 305B C09C 5A3B 57F3 BF04 whom do you want to sponsor today? http://www.stackless.com/ -- http://mail.python.org/mailman/listinfo/python-list
Re: How to avoid "f.close" (no parens) bug?
o wrote: > plez send me This is actually no bug but a feature. :-) Well, I know what you mean. The problem is created by the fact that in Python, functions are first-class object which can be assigned, passed around, inspected and whatever, as every other object can. The drawback is that you have to write the parens to invoke a call. There is not a lot to do about it but forgetting about VB and thinking about a function as an object that you have to call() to do its action. You may get more used to it by using functions as first-class objects by yourself. As an example, consider to build a tiny calculator, fill a string-keyed dict with operations and then use it: def add(n1, n2): return n1 + n2 def mul(n1, n2): return n1 * n2 # and so on.Of course you also can use the operator module... BINARY_OPS = { '+' : add, '*' : mul, # add more at your taste } def cal_bin(op, n1, n2): func = BINARY_OPS[op] return func(n1, n2) # can you see the advantage? There are exceptions, like using properties to avoid method calls. This is a nice features to expose light-weight methods which seem to be naturally modelled as object attributes, but over-using this feature is clearly an abuse to avoid. For instance: class SomeObj(object): @property def nitems(self): pass # some cheap code to compute number of items def squaresum(self): pass # some more heavy computation and then using x = SomeObj() # add a number of items x.nitems # used as a property is a valid example, because the fact that nitems is not an attribute but a cheaply computed property might be an implementation detail that is fine to hide from the user. On the other hand, doing lots of computation should be made clear to the user by sticking with parentheses(). Caling the suqresum() method should not be turned into a property, since such a thing isn't cheap in most cases. Not to speak of functions which have side-effects. merry christmas - chris -- Christian Tismer :^) <mailto:[EMAIL PROTECTED]> tismerysoft GmbH : Have a break! Take a ride on Python's Johannes-Niemeyer-Weg 9A :*Starship* http://starship.python.net/ 14109 Berlin : PGP key -> http://wwwkeys.pgp.net/ work +49 30 802 86 56 mobile +49 173 24 18 776 fax +49 30 80 90 57 05 PGP 0x57F3BF04 9064 F4E1 D754 C2FF 1619 305B C09C 5A3B 57F3 BF04 whom do you want to sponsor today? http://www.stackless.com/ -- http://mail.python.org/mailman/listinfo/python-list
Re: python coding contest
Simon Hengel wrote: > Hello, > we are hosting a python coding contest an we even managed to provide a > price for the winner... > > http://pycontest.net/ Nice idea to have a contest, of course! What I dislike a bit is the winning criterion: Shortest possible Python module? I'm envisioning lots of convoluted one-liners which are more suitable to a different P-language... :-) How about """best compromize between shortness and readibility plus elegance of design"""? Well, this slightly raises the skill level of the reviewers, but will clearly make the results more enjoyable... cheers - chris -- Christian Tismer :^) <mailto:[EMAIL PROTECTED]> tismerysoft GmbH : Have a break! Take a ride on Python's Johannes-Niemeyer-Weg 9A :*Starship* http://starship.python.net/ 14109 Berlin : PGP key -> http://wwwkeys.pgp.net/ work +49 30 802 86 56 mobile +49 173 24 18 776 fax +49 30 80 90 57 05 PGP 0x57F3BF04 9064 F4E1 D754 C2FF 1619 305B C09C 5A3B 57F3 BF04 whom do you want to sponsor today? http://www.stackless.com/ -- http://mail.python.org/mailman/listinfo/python-list
Re: python coding contest
Simon Hengel wrote: > -BEGIN PGP SIGNED MESSAGE- > Hash: SHA1 > >> I'm envisioning lots of convoluted one-liners which >> are more suitable to a different P-language... :-) > I feel that python is more beautiful and readable, even if you write > short programs. > >> How about """best compromize between shortness and readibility >> plus elegance of design"""? > I would love to choose those criteria for future events. But I'm not > aware of any algorithm that is capable of creating a ranking upon them. > Maybe we can come up with a solution. Any ideas? Me neither :-) Maybe a compromize proposal could be like this: - Squeezing many lines into one using semicola does not help, the program will be expanded to use one statement per line - blank lines are allowed and not counted if they are not needed as part of the code - the length of names does not count, unless the code depends on it. Some harmonization procedure might be applied to every solution before counting lines, in order to avoid spectacular cryptic stuff. I have no idea whether I'm serious about this. Having this said, I'm trashing my one-liner :-)) if-it-doesn't-look-like-Python-it-is-not-Python - ly y'rs -- chris -- Christian Tismer :^) <mailto:[EMAIL PROTECTED]> tismerysoft GmbH : Have a break! Take a ride on Python's Johannes-Niemeyer-Weg 9A :*Starship* http://starship.python.net/ 14109 Berlin : PGP key -> http://wwwkeys.pgp.net/ work +49 30 802 86 56 mobile +49 173 24 18 776 fax +49 30 80 90 57 05 PGP 0x57F3BF04 9064 F4E1 D754 C2FF 1619 305B C09C 5A3B 57F3 BF04 whom do you want to sponsor today? http://www.stackless.com/ -- http://mail.python.org/mailman/listinfo/python-list
Re: Please enlighten me about PyPy
Luis M. González wrote: > I'd like to know, in your opinion, how far is the goal of making pypy > complete and fast? Me too :-) PyPy is doing a great job, that's for sure. I'm hesitant with making estimates, after I learned what a bad job I'm doing at extrapolation. First I thought that we would reach our first self-contained PyPy much earlier, gaining CPython speed. When I had lost my faith a little, we suddenly made it. Then we made very much progress in speeding it up, but still we are 7 to 10 times slower than CPython, and it gets harder and harder. Now we are aiming at JIT technology, which is able to accelerate Python quite much in many cases, even if we should fail to improve the basic translation reasonably. Of course it would be nice to reach both aims, and I expect that the things we will learn from writing the JIT will also improve the static translation. Completenes? In some aspects, like CPython compatibility, we are very complete, maybe more than the original, even. :-) Concerning the promises we made to the EU, we will have a hard time to make it all happen on schedule, but we have a chance, given that the support by external helpers keeps growing. Concerning all what we ever said about PyPy? This is a never- ending story and unlimited, as I don't expect PyPy to stop growing and extending in any near future, like Python doesn't... > Regarding the current state of the project, are you confident that the > goals will be met, or you still have doubts? I no longer have doubts about success. I never really had, but my time estimates are less pessimistic as they sometimes were. I don't really believe that we will outperform CPython with a translated RPython interpreter by the end of next year. We will probably, in conjunction with a JIT compiler. For gaining a maximum of performance, my guess is another two years would make very much sense. > (The same questions go for the RPython translator project as > stand-alone tool)... This is a matter of viewpoint. As a developer, I'm able to create extenson modules on demand without any explicit tools. Enabling/supporting the most needed features might be doable in a couple of weeks and months, depending on the expectations. A simple-to-use, stand-alone tool for making extensions will maybe not happen at all, unless we get a lot of extra-resources. I'm expecting something to happen in the first quarter of the year. It depends on how much we can extend activities without missing the promised goals which we have to fulfill, and how much sponsoring we can create. I believe that by providing just enough support to make some companies productive in using PyPy, we will create enough funding for the time after 2006 to make PyPy survive for a long time, and creating tools like this will become a self-running motor for PyPy. A matter of good balancing :-) merry christmas -- chris -- Christian Tismer :^) <mailto:[EMAIL PROTECTED]> tismerysoft GmbH : Have a break! Take a ride on Python's Johannes-Niemeyer-Weg 9A :*Starship* http://starship.python.net/ 14109 Berlin : PGP key -> http://wwwkeys.pgp.net/ work +49 30 802 86 56 mobile +49 173 24 18 776 fax +49 30 80 90 57 05 PGP 0x57F3BF04 9064 F4E1 D754 C2FF 1619 305B C09C 5A3B 57F3 BF04 whom do you want to sponsor today? http://www.stackless.com/ -- http://mail.python.org/mailman/listinfo/python-list
Re: python coding contest
Tim Hochberg wrote: > Christian Tismer wrote: ... >> - Squeezing many lines into one using semicola does not help, >>the program will be expanded to use one statement per line >> >> - blank lines are allowed and not counted if they are not >>needed as part of the code > > These two would be easy to acomplish using something like: > > def countchars(text): > n = 0 > for line in text.split('\n'): > n += len(line.strip()) > return n > > This would ignore leading and trailing white space as well as blank lines. > > Also makes > > a=5; b=10 > > measure as one character longer than > > a = 5 > b = 10 > > which can only be good. Good point! >> - the length of names does not count, unless the code depends on it. > > Probably too hard. I don't want to reward people for using ultra-short, unreadable variable names, but also not to enable them to code algorithms by them :-) My idea was to rename all variables by a simple transformation of the code objects, with the side rule that the program still works. This can be automated rather easily. > I thought the metric was characters, not lines. At least that's what the > 'about' page says. You still get hit by leading whitespace on multiple > line programs though. So why not simply count length of code objects? :-) Plus count every changeable name as one, others by length. Same for constants, so we don't get tricked by encoding the whole program by a tuple engine :-) ciao - chris -- Christian Tismer :^) <mailto:[EMAIL PROTECTED]> tismerysoft GmbH : Have a break! Take a ride on Python's Johannes-Niemeyer-Weg 9A :*Starship* http://starship.python.net/ 14109 Berlin : PGP key -> http://wwwkeys.pgp.net/ work +49 30 802 86 56 mobile +49 173 24 18 776 fax +49 30 80 90 57 05 PGP 0x57F3BF04 9064 F4E1 D754 C2FF 1619 305B C09C 5A3B 57F3 BF04 whom do you want to sponsor today? http://www.stackless.com/ -- http://mail.python.org/mailman/listinfo/python-list
Re: python coding contest
Simon Hengel wrote: >> I would suggest that all whitespace (except within string literals) >> should be ignored, as well. > Good point, but i assume that is not possible with regular expressions. No, but a trivial task using the compiler. they should have taken this as a second challenge :-) -- chris -- Christian Tismer :^) <mailto:[EMAIL PROTECTED]> tismerysoft GmbH : Have a break! Take a ride on Python's Johannes-Niemeyer-Weg 9A :*Starship* http://starship.python.net/ 14109 Berlin : PGP key -> http://wwwkeys.pgp.net/ work +49 30 802 86 56 mobile +49 173 24 18 776 fax +49 30 80 90 57 05 PGP 0x57F3BF04 9064 F4E1 D754 C2FF 1619 305B C09C 5A3B 57F3 BF04 whom do you want to sponsor today? http://www.stackless.com/ -- http://mail.python.org/mailman/listinfo/python-list
Re: python coding contest
Steven D'Aprano wrote: > On Mon, 26 Dec 2005 13:33:42 -0700, Tim Hochberg wrote: > >> Claudio Grondi wrote: > >>> I am currently at 39 bytes following the requirements and the principle >>> given above (my module passes the test). Anyone able to beat that? >> Wow! It'll be interesting to see how to do that. The obvious way gives >> 53 bytes. Hmmm, I'll have to see what can be done... > > OBVIOUS??? The obvious way seems to be to import the test_vectors.py file, which gives me import test_vectors as x;seven_seg=x.test_vectors.get as one possible "obvious" solution with 53 chars. But from test_vectors import*;seven_seg=test_vectors.get has only 52. And if you observe that their "test.py" file already does all the imports we want, you can get to from test import*;seven_seg=test_vectors.get with 44 chars. But I simply cant see how to get below that. And I think this is not the wanted solution at all, which is why I have no problem posting it here :-) ciao - chris -- Christian Tismer :^) <mailto:[EMAIL PROTECTED]> tismerysoft GmbH : Have a break! Take a ride on Python's Johannes-Niemeyer-Weg 9A :*Starship* http://starship.python.net/ 14109 Berlin : PGP key -> http://wwwkeys.pgp.net/ work +49 30 802 86 56 mobile +49 173 24 18 776 fax +49 30 80 90 57 05 PGP 0x57F3BF04 9064 F4E1 D754 C2FF 1619 305B C09C 5A3B 57F3 BF04 whom do you want to sponsor today? http://www.stackless.com/ -- http://mail.python.org/mailman/listinfo/python-list
Re: python coding contest
Tim Hochberg wrote: > import test;seven_seg=test.test_vectors.get Oupps, good (being blinded after all the other from imports and __import__(...) ) -- Christian Tismer :^) <mailto:[EMAIL PROTECTED]> tismerysoft GmbH : Have a break! Take a ride on Python's Johannes-Niemeyer-Weg 9A :*Starship* http://starship.python.net/ 14109 Berlin : PGP key -> http://wwwkeys.pgp.net/ work +49 30 802 86 56 mobile +49 173 24 18 776 fax +49 30 80 90 57 05 PGP 0x57F3BF04 9064 F4E1 D754 C2FF 1619 305B C09C 5A3B 57F3 BF04 whom do you want to sponsor today? http://www.stackless.com/ -- http://mail.python.org/mailman/listinfo/python-list
Re: python coding contest
Remi Villatel wrote: > 39 bytes... 53 bytes... It gives me the impression to follow a jet plane > with a bike with my 179 bytes! > > There isn't a single superfluous byte. My code is so compressed that the > syntactic colorizer can't cope any more. > > I definitively need a new algorythm. You need a more careful reading algorithm. We were talking about cheating by imports :-) -- Christian Tismer :^) <mailto:[EMAIL PROTECTED]> tismerysoft GmbH : Have a break! Take a ride on Python's Johannes-Niemeyer-Weg 9A :*Starship* http://starship.python.net/ 14109 Berlin : PGP key -> http://wwwkeys.pgp.net/ work +49 30 802 86 56 mobile +49 173 24 18 776 fax +49 30 80 90 57 05 PGP 0x57F3BF04 9064 F4E1 D754 C2FF 1619 305B C09C 5A3B 57F3 BF04 whom do you want to sponsor today? http://www.stackless.com/ -- http://mail.python.org/mailman/listinfo/python-list
Re: python coding contest
James Tanis wrote: > On 12/25/05, Simon Hengel <[EMAIL PROTECTED]> wrote: >> -BEGIN PGP SIGNED MESSAGE- >> Hash: SHA1 >> >>> I'm envisioning lots of convoluted one-liners which >>> are more suitable to a different P-language... :-) >> I feel that python is more beautiful and readable, even if you write >> short programs. Looking at what I produced the last days, I'm not convinced... > .. yes but there's a difference, some users of that "other" P-language > seem to actually take some sort of ritualistic pride in their ability > to condense code down to one convoluted line. The language is also a > little more apt at it since it has a great deal of shorthand built in > to the core language. Shorter is not necessarily better and I do > support his opinion that reinforcing short as good isn't really what > most programmers (who care about readability and quality) want to > support. And that's what puzzled me a bit about the approach and the intent of this contest: Should this evolute into a language war about goals (shortness, conciseness, brevity, whatnot) that Python doesn't have as its main targets? Sure, I see myself hacking this unfortunate little 7-seg code until it becomes unreadable for me, the trap worked for me, but why do I do this??? ... > I think code efficiency would be a better choice. A "longer" program > is only worse if its wasting cycles on badly implemented algorithms. And we are of course implementing algorithms with a twisted goal-set in mind: How to express this the shortest way, not elegantly, just how to shave off one or even two bytes, re-iterating the possible algorithms again and again, just to find a version that is lexically shorter? To what a silly, autistic crowd of insane people do I belong? But it caught me, again! > Code size is a really bad gauge, If your actually comparing size as in > byte-to-byte comparison, you'll be getting a ton of implementations > with absolutely no documentation and plenty of one letter variable > names. I haven't checked the web site either, are you allowing third > party modules to be used? If so, that causes even more problems in the > comparison. How are you going to compare those who use a module vs > implement it themselves in pure python? I think it is legal to use any standard pre-installed package you like, if it belongs to the set of default batteries included. In a sense, using these tools in a good manner, gives you some measure about how much the programmer knows about these batteries, and using them is ok. Actually, I don't see so much applications for the given problem, but in general, I like the idea to try many very different approaches to get to a maybe surprizing result. After all, I'd really love to set up another contest with different measures and criteria. One reason btw. might be that I'm not able to win this one, due to personal blocking. I can't really force myself to go all the ridiculous paths to save one byte. My keyboard blocks as well. Maybe I don't consider myself a hacker so much any longer :-) ciao - chris -- Christian Tismer :^) <mailto:[EMAIL PROTECTED]> tismerysoft GmbH : Have a break! Take a ride on Python's Johannes-Niemeyer-Weg 9A :*Starship* http://starship.python.net/ 14109 Berlin : PGP key -> http://wwwkeys.pgp.net/ work +49 30 802 86 56 mobile +49 173 24 18 776 fax +49 30 80 90 57 05 PGP 0x57F3BF04 9064 F4E1 D754 C2FF 1619 305B C09C 5A3B 57F3 BF04 whom do you want to sponsor today? http://www.stackless.com/ -- http://mail.python.org/mailman/listinfo/python-list
Re: python coding contest
Remi Villatel wrote: > Scott David Daniels wrote: > > [--CUT---] >>> 39 bytes... 53 bytes... It gives me the impression to follow a jet >>> plane with a bike with my 179 bytes! > [--CUT--] > >> And I am sadly stuck at 169. Not even spitting distance from 149 (which >> sounds like a non-cheat version). > > Try harder! ;-) I thought I was stuck at 179 but with a strict diet, I > managed to loose some bones :-D and get down to a one-liner of 153 bytes. > > No cheating with import but it's so ugly that I'm not sure I will > understand my own code next month. And this time I'm sure at 99% that > I'm really stuck... Don't try harder! Sit back and think of what you're doing, and what you'd like to do, instead. And then help me to setup a different contest about content -- chris -- Christian Tismer :^) <mailto:[EMAIL PROTECTED]> tismerysoft GmbH : Have a break! Take a ride on Python's Johannes-Niemeyer-Weg 9A :*Starship* http://starship.python.net/ 14109 Berlin : PGP key -> http://wwwkeys.pgp.net/ work +49 30 802 86 56 mobile +49 173 24 18 776 fax +49 30 80 90 57 05 PGP 0x57F3BF04 9064 F4E1 D754 C2FF 1619 305B C09C 5A3B 57F3 BF04 whom do you want to sponsor today? http://www.stackless.com/ -- http://mail.python.org/mailman/listinfo/python-list
Re: python coding contest
Duncan Booth wrote: > Christian Tismer wrote: > >> And then help me to setup a different contest about content -- chris >> > Count me in. Great! Let's find a problem small enough to solve in reasonably time and large enough to exploit Python qualities. sincerely -- chris (below 130) -- Christian Tismer :^) <mailto:[EMAIL PROTECTED]> tismerysoft GmbH : Have a break! Take a ride on Python's Johannes-Niemeyer-Weg 9A :*Starship* http://starship.python.net/ 14109 Berlin : PGP key -> http://wwwkeys.pgp.net/ work +49 30 802 86 56 mobile +49 173 24 18 776 fax +49 30 80 90 57 05 PGP 0x57F3BF04 9064 F4E1 D754 C2FF 1619 305B C09C 5A3B 57F3 BF04 whom do you want to sponsor today? http://www.stackless.com/ -- http://mail.python.org/mailman/listinfo/python-list
Re: python coding contest
André wrote: > For the few that might be interested, I will be posting the details of > a 117 character long solution to the challenge on my blog > http://aroberge.blogspot.com/. Congratulations! I'm very impressed by this elegant solution. It seems to be very hard to improve. No idea if this is possible: One might try to re-order the character string a bit to change moduli, trying to get one more number in (3,14,10) to be one-digit. Haven't tried, yet, and chances are small. congrats again and a happy new year - chris -- Christian Tismer :^) <mailto:[EMAIL PROTECTED]> tismerysoft GmbH : Have a break! Take a ride on Python's Johannes-Niemeyer-Weg 9A :*Starship* http://starship.python.net/ 14109 Berlin : PGP key -> http://wwwkeys.pgp.net/ work +49 30 802 86 56 mobile +49 173 24 18 776 fax +49 30 80 90 57 05 PGP 0x57F3BF04 9064 F4E1 D754 C2FF 1619 305B C09C 5A3B 57F3 BF04 whom do you want to sponsor today? http://www.stackless.com/ -- http://mail.python.org/mailman/listinfo/python-list
Re: python coding contest
Hans Nowak wrote: >... for u in(3,14,10)) > > can be written as: > >... for u in 3,14,10) > > which would shave off a character. Tuples don't always need parentheses... This would work with a list comprehension. Doesn't work with a generator expression (thought of it, too, and the list comprehension eats one char) cheers - chris -- Christian Tismer :^) <mailto:[EMAIL PROTECTED]> tismerysoft GmbH : Have a break! Take a ride on Python's Johannes-Niemeyer-Weg 9A :*Starship* http://starship.python.net/ 14109 Berlin : PGP key -> http://wwwkeys.pgp.net/ work +49 30 802 86 56 mobile +49 173 24 18 776 fax +49 30 80 90 57 05 PGP 0x57F3BF04 9064 F4E1 D754 C2FF 1619 305B C09C 5A3B 57F3 BF04 whom do you want to sponsor today? http://www.stackless.com/ -- http://mail.python.org/mailman/listinfo/python-list
Re: Compressing folders in Windows using Python.
sri2097 wrote: > Hi, > I'm trying to zip a particular fiolder and place the zipped folder into > a target folder using python. I have used the following command in > 'ubuntu'. > > zip_command = 'zip -qr %s %s' % (target, ' '.join(source)) > > I execute this using os.command(zip_command). It works fine... > > But when I run this script in Windows XP, I get an error while > executing the above zip command. What command is there to zip files in > Windows? Or is there any other problem ? zip is not a built-in command for windows. You might use winzip or something else, there is a bunch of different compression tools available. ciao - chris -- Christian Tismer :^) <mailto:[EMAIL PROTECTED]> tismerysoft GmbH : Have a break! Take a ride on Python's Johannes-Niemeyer-Weg 9A :*Starship* http://starship.python.net/ 14109 Berlin : PGP key -> http://wwwkeys.pgp.net/ work +49 30 802 86 56 mobile +49 173 24 18 776 fax +49 30 80 90 57 05 PGP 0x57F3BF04 9064 F4E1 D754 C2FF 1619 305B C09C 5A3B 57F3 BF04 whom do you want to sponsor today? http://www.stackless.com/ -- http://mail.python.org/mailman/listinfo/python-list
Re: Is 'everything' a refrence or isn't it?
KraftDiner wrote: > I was under the assumption that everything in python was a refrence... This is true. > so if I code this: > lst = [1,2,3] lst is a reference to a list that holds references to 1, 2, and 3 > for i in lst: i is a reference to every element in the list, one ofter the other. But this is not a ref to lst any longer, the list gets dereferenced before getting at its contents, and only references to that are returned. >if i==2: > i = 4 You now have i as a reference to 4, during this cycle. ciao - chris -- Christian Tismer :^) <mailto:[EMAIL PROTECTED]> tismerysoft GmbH : Have a break! Take a ride on Python's Johannes-Niemeyer-Weg 9A :*Starship* http://starship.python.net/ 14109 Berlin : PGP key -> http://wwwkeys.pgp.net/ work +49 30 802 86 56 mobile +49 173 24 18 776 fax +49 30 80 90 57 05 PGP 0x57F3BF04 9064 F4E1 D754 C2FF 1619 305B C09C 5A3B 57F3 BF04 whom do you want to sponsor today? http://www.stackless.com/ -- http://mail.python.org/mailman/listinfo/python-list
Re: Python function with **kwargs Question
Khoa Nguyen wrote: > I would like to pass some keyword with special character to a > foo(**kwargs) function, but it doesn't work > > def foo(**kwargs): > print kwargs > > > This doesn't work: > > foo(a-special-keyword=5) > > How do I tell Python to treat '-' as a normal character but not part of > an expression? By changing the parser :-) Keywords are limited to obey Python syntax. ciao - chris -- Christian Tismer :^) <mailto:[EMAIL PROTECTED]> tismerysoft GmbH : Have a break! Take a ride on Python's Johannes-Niemeyer-Weg 9A :*Starship* http://starship.python.net/ 14109 Berlin : PGP key -> http://wwwkeys.pgp.net/ work +49 30 802 86 56 mobile +49 173 24 18 776 fax +49 30 80 90 57 05 PGP 0x57F3BF04 9064 F4E1 D754 C2FF 1619 305B C09C 5A3B 57F3 BF04 whom do you want to sponsor today? http://www.stackless.com/ -- http://mail.python.org/mailman/listinfo/python-list
Re: Python function with **kwargs Question
Hi Fletch, ... >>> How do I tell Python to treat '-' as a normal character but not part >>> of an expression? >>> >> >> By changing the parser :-) >> >> > Oh, you py-py guys, always thinking you have to re-implement Python ;) Well, in the given context, assuming keywords are supposed to be used like keyword-arguments, I was trying to suggest that "this is not Python". >> Keywords are limited to obey Python syntax. >> >> > Sure, but you can do something like this: > > >>> def x( **named ): > ... print named > ... Indeed, a nice idea for another hacker contest. :-) I had no reason to assume that one would go this way to break one's fingers just to abuse keyword arguments. Anyway, I agree that this is possible. While it reminds me on the "Is 'everything' a refrence or isn't it?" thread, which has turned into anything else but help for the original poster. ciao - chris -- Christian Tismer :^) <mailto:[EMAIL PROTECTED]> tismerysoft GmbH : Have a break! Take a ride on Python's Johannes-Niemeyer-Weg 9A :*Starship* http://starship.python.net/ 14109 Berlin : PGP key -> http://wwwkeys.pgp.net/ work +49 30 802 86 56 mobile +49 173 24 18 776 fax +49 30 80 90 57 05 PGP 0x57F3BF04 9064 F4E1 D754 C2FF 1619 305B C09C 5A3B 57F3 BF04 whom do you want to sponsor today? http://www.stackless.com/ -- http://mail.python.org/mailman/listinfo/python-list
Re: Stackless Python
Xavier Morel wrote: > Would anyone have more informations about that? It doesn't seem to be an > issue on my side (since I tried to access the Stackless site from two > different connections and 3 computers) but I can't rule it out. Thanks to Carl Friedrich, I restarted the Zope process. I have no idea why it broke, the site was running since 38 days without problems. The Zope/Plone process was still there, blocking the port. Maybe I should go for something simpler than Plone... Don't hesitate to ask on the mailing list for all the things you will not find on the site. The list works :-) ciao - chris -- Christian Tismer :^) <mailto:[EMAIL PROTECTED]> tismerysoft GmbH : Have a break! Take a ride on Python's Johannes-Niemeyer-Weg 9A :*Starship* http://starship.python.net/ 14109 Berlin : PGP key -> http://wwwkeys.pgp.net/ work +49 30 802 86 56 mobile +49 173 24 18 776 fax +49 30 80 90 57 05 PGP 0x57F3BF04 9064 F4E1 D754 C2FF 1619 305B C09C 5A3B 57F3 BF04 whom do you want to sponsor today? http://www.stackless.com/ -- http://mail.python.org/mailman/listinfo/python-list
Re: How can I make a dictionary that marks itself when it's modified?
Steve Holden wrote: > [EMAIL PROTECTED] wrote: >> [EMAIL PROTECTED] wrote: >> >>> It's important that I can read the contents of the dict without >>> flagging it as modified, but I want it to set the flag the moment I add >>> a new element or alter an existing one (the values in the dict are >>> mutable), this is what makes it difficult. Because the values are >>> mutable I don't think you can tell the difference between a read and a >>> write without making some sort of wrapper around them. >>> >>> Still, I'd love to hear how you guys would do it. >> >> if the dictionary is small and speed not important, you can wrap it >> in a class catching __getitem__ and __setitem__ and testing >> if repr(self) changes. IMHO, that's too much. > d = {1: [a, b], > 2: [b, c]} > > d[1][0] = 3 > > How would this work? __getitem__() will be called once, to get a > reference to the list, and so there's no opportunity to compare the > 'before' and 'after' repr() values. I think tracking whether a dict gets modified should in fact only trace changes to the dict, not to elements contained in the dict. So __repr__ is probably too much, and also not the intent. I'd just overwrite __setitem__ for write access to the dict. Enforcing tracking of all contents is hard (as you showed above) and probably not really needed. If further tracking is reasonable, then one would continue and patch contained lists as well. my 0.2 € - chris -- Christian Tismer :^) <mailto:[EMAIL PROTECTED]> tismerysoft GmbH : Have a break! Take a ride on Python's Johannes-Niemeyer-Weg 9A :*Starship* http://starship.python.net/ 14109 Berlin : PGP key -> http://wwwkeys.pgp.net/ work +49 30 802 86 56 mobile +49 173 24 18 776 fax +49 30 80 90 57 05 PGP 0x57F3BF04 9064 F4E1 D754 C2FF 1619 305B C09C 5A3B 57F3 BF04 whom do you want to sponsor today? http://www.stackless.com/ -- http://mail.python.org/mailman/listinfo/python-list
Re: How can I make a dictionary that marks itself when it's modified?
Just to add a word that I forgot: Adhering to the subject line, the intent is to track modifications of a dict. By definition, modification of a member of a dict without replacing the value is not considered a dict change. I'd stick with the shallow approach. Asking to track mutation of an element in the general case is causing much trouble. Support for element tracking can probably provided by overriding the dict's getattr and recording the element in some extra candidate list. If the element itself is modified, it then could be looked up as a member of that dict, given that the element's setattr is traced, too. ciao - chris -- Christian Tismer :^) <mailto:[EMAIL PROTECTED]> tismerysoft GmbH : Have a break! Take a ride on Python's Johannes-Niemeyer-Weg 9A :*Starship* http://starship.python.net/ 14109 Berlin : PGP key -> http://wwwkeys.pgp.net/ work +49 30 802 86 56 mobile +49 173 24 18 776 fax +49 30 80 90 57 05 PGP 0x57F3BF04 9064 F4E1 D754 C2FF 1619 305B C09C 5A3B 57F3 BF04 whom do you want to sponsor today? http://www.stackless.com/ -- http://mail.python.org/mailman/listinfo/python-list
Re: How can I make a dictionary that marks itself when it's modified?
Steve Holden wrote: > Christian Tismer wrote: >> Just to add a word that I forgot: >> >> Adhering to the subject line, the intent is to track modifications >> of a dict. >> By definition, modification of a member of a dict without replacing >> the value is not considered a dict change. >> > Well, I agree. But I suppose much depends on exactly what the OP meant > by "... add a new element or alter an existing one". The post did follow > that with "(the values in the dict are mutable)", which is presumably > why garabik-2500 proposed catching __getitem__ as well as __setitem__. Yes, I understood this after reading more. Probably easier to solve if the problem is spelled more specifically. > I merely wanted to point out (not to you!) that there was no effective > way to capture a change to a mutable item without, as you say, modifying > the element classes. You are completely right. This is asking for too much, unless one is prepared to heavily modify the interpreter for debugging purposes, which actually might be a way to solve the specific problem, once. cheers - chris -- Christian Tismer :^) <mailto:[EMAIL PROTECTED]> tismerysoft GmbH : Have a break! Take a ride on Python's Johannes-Niemeyer-Weg 9A :*Starship* http://starship.python.net/ 14109 Berlin : PGP key -> http://wwwkeys.pgp.net/ work +49 30 802 86 56 mobile +49 173 24 18 776 fax +49 30 80 90 57 05 PGP 0x57F3BF04 9064 F4E1 D754 C2FF 1619 305B C09C 5A3B 57F3 BF04 whom do you want to sponsor today? http://www.stackless.com/ -- http://mail.python.org/mailman/listinfo/python-list
Re: Newbie to XML-RPC: looking for advice
David Hirschfield wrote: > All the above works fine...but I'm finding the following: while the > actual creation and pickling of the objects only takes a millisecond or > so, the actual time before the client call completes is a third of a > second or more. > > So where's the slowdown? It doesn't appear to be in the > pickling/unpickling or object creation, so it has to be in xmlrpc > itself...but what can I do to improve that? It looks like xmlrpclib uses > xml.parsers.expat if it's available, but are there faster xml libs? > Looking at the xmlrpclib code itself, it seems to want to find either: > _xmlrpclib from the code in xmlrpclib.py: > > try: > # optional xmlrpclib accelerator. for more information on this > # component, contact [EMAIL PROTECTED] > import _xmlrpclib > FastParser = _xmlrpclib.Parser > FastUnmarshaller = _xmlrpclib.Unmarshaller > except (AttributeError, ImportError): > FastParser = FastUnmarshaller = None Can you check wether it is actually using expat? (it can be checked by examining sys.modules, or intercepting __import__) I cannot think of a faster parser than expat at the moment. ... > On the other hand, maybe the slowdown is in twisted.web.xmlrpc? What > does that module use to do its work? Is it using xmlrpclib underneath? > Other xmlrpc libraries that are significantly faster that I should be > using instead? Sorry that this is just a partial answer. I should have more knowledge about twisted than I actually have. Hinting to check the imported stuff. cheers - chris -- Christian Tismer :^) <mailto:[EMAIL PROTECTED]> tismerysoft GmbH : Have a break! Take a ride on Python's Johannes-Niemeyer-Weg 9A :*Starship* http://starship.python.net/ 14109 Berlin : PGP key -> http://wwwkeys.pgp.net/ work +49 30 802 86 56 mobile +49 173 24 18 776 fax +49 30 80 90 57 05 PGP 0x57F3BF04 9064 F4E1 D754 C2FF 1619 305B C09C 5A3B 57F3 BF04 whom do you want to sponsor today? http://www.stackless.com/ -- http://mail.python.org/mailman/listinfo/python-list
Re: first release of PyPy
[EMAIL PROTECTED] wrote: > Kay Schluehr wrote: > >>holger krekel wrote: >> >>>Welcome to PyPy 0.6 >>> >>> >>>*The PyPy Development Team is happy to announce the first >>>public release of PyPy after two years of spare-time and >>>half a year of EU funded development. The 0.6 release >>>is eminently a preview release.* >> >>Congratulation to You and Your team! >> >>PyPy is really awesome and if it succeeds in speed demands after the >>translation phase I believe that the project will shift the power >>within the Python community on the long run. > > > Could you please explain this statement? Who will gain power, and who > will lose it? The Python community will gain power, and nobody will loose some. The big win is that we gain a new flexibility that did not exist before, even if PyPy should completely miss its speed promises. Having an extremely flexible implementation in a very high-level language (which happens to be Python) enables possibilities which have not been seen, before. There is of course a chance for some community of C programmers to loose interest, if PyPy really gets as efficient as we hope for. But this is a) still a long, uncertain path and b) not a real danger, but more likely an advantage for the involved people. > Are you suggesting that CPython and PyPy developers are > competing? No idea how we could get onto this track. If there is a competition, then only if PyPy gets into a position where it is comparable with CPython. This is not the case, at least not in a well-ordered manner. It is not really faster, but it is definately much more flexible. Comparisons are not suitable at all, bcause there are too many qualities to compare about. And I see no point for any competition in any future. We all love Python. It is a language, and languages are communities. If a particular implementation gets more interest for some reasons, then because it ibetter s more efficient or more interesting, whatever reasoning gives it popularity. But we are all with Python! Surely we are comparing our performance with CPython's. This is not the real point. Note also, that many of the PyPy team members belong to CPython core developers, as well. This is not a competition, but a huge new branch, exploring what is doable and what not. You might also give our website a try which is quite informative and gives you an insight into what we are aiming for. http://codespeak.net/pypy PyPy is just a completely new approach to interpreted languages, almost based upon known compiler technology, but applying this in a consequent manner, that has no comparable prior example. I wish to repeat the congratulations to the team for the first release! --- ciao -- chris -- Christian Tismer :^) <mailto:[EMAIL PROTECTED]> tismerysoft GmbH : Have a break! Take a ride on Python's Johannes-Niemeyer-Weg 9A :*Starship* http://starship.python.net/ 14109 Berlin : PGP key -> http://wwwkeys.pgp.net/ work +49 30 802 86 56 mobile +49 173 24 18 776 fax +49 30 80 90 57 05 PGP 0x57F3BF04 9064 F4E1 D754 C2FF 1619 305B C09C 5A3B 57F3 BF04 whom do you want to sponsor today? http://www.stackless.com/ -- http://mail.python.org/mailman/listinfo/python-list
Re: first release of PyPy
Torsten Bronger wrote: ... > I've been told by so many books and on-line material that Python > cannot be compiled (unless you cheat). So how is this possible? Have a look at Psyco, that will be folded into and improved by PyPy. -- Christian Tismer :^) <mailto:[EMAIL PROTECTED]> tismerysoft GmbH : Have a break! Take a ride on Python's Johannes-Niemeyer-Weg 9A :*Starship* http://starship.python.net/ 14109 Berlin : PGP key -> http://wwwkeys.pgp.net/ work +49 30 802 86 56 mobile +49 173 24 18 776 fax +49 30 80 90 57 05 PGP 0x57F3BF04 9064 F4E1 D754 C2FF 1619 305B C09C 5A3B 57F3 BF04 whom do you want to sponsor today? http://www.stackless.com/ -- http://mail.python.org/mailman/listinfo/python-list
Re: first release of PyPy
Ville Vainio wrote: >>>>>>"Torsten" == Torsten Bronger <[EMAIL PROTECTED]> writes: > > > Torsten> What's supposed to be compiled? Only PyPy itself or also > Torsten> the programs it's "interpreting"? > > PyPy is written in python, if it can be compiled then the programs can > be as well. Well, this is not really true. PyPy is written in RPython, a sub-language of Python that is implicitly defined by "simple and static enough to be compilable". We have not yet started to work on the dynamic nature of Python, that needs different technology (Psyco). > Torsten> I've been told by so many books and on-line material that > Torsten> Python cannot be compiled (unless you cheat). So how is > Torsten> this possible? > > These guys are exploring a new territory. OTOH, Lisp is a dynamic > language like python and it can be compiled to native code. Pyrex > demonstrates the "trivial" way to compile python to native code, the > real problem is making the resulting code fast. Typically this > requires type inference (i.e. figuring out the type of an object from > the context because there are no type declarations) to avoid dict > lookups in method dispatch. Type inference works fine for our implementation of Python, but it is in fact very limited for full-blown Python programs. Yoou cannot do much more than to try to generate effective code for the current situation that you see. But that's most often quite fine. -- Christian Tismer :^) <mailto:[EMAIL PROTECTED]> tismerysoft GmbH : Have a break! Take a ride on Python's Johannes-Niemeyer-Weg 9A :*Starship* http://starship.python.net/ 14109 Berlin : PGP key -> http://wwwkeys.pgp.net/ work +49 30 802 86 56 mobile +49 173 24 18 776 fax +49 30 80 90 57 05 PGP 0x57F3BF04 9064 F4E1 D754 C2FF 1619 305B C09C 5A3B 57F3 BF04 whom do you want to sponsor today? http://www.stackless.com/ -- http://mail.python.org/mailman/listinfo/python-list
Re: first release of PyPy
Ville Vainio wrote: >>>>>>"Christian" == Christian Tismer <[EMAIL PROTECTED]> writes: > > > >> PyPy is written in python, if it can be compiled then the programs > >> can > >> be as well. > > Christian> Well, this is not really true. PyPy is written in > Christian> RPython, a sub-language of Python that is implicitly > Christian> defined by "simple and static enough to be compilable". > > Could it be possible to tag some modules in application code as > RPython-compatible, making it possible to implement the speed critical > parts in RPython? Interesting idea. Especially since we have automatic translation from RPythonic application code to interpreter level. Maybe not for now, but I'm cc-ing pypy-dev. @rpythonic:-) -- Christian Tismer :^) <mailto:[EMAIL PROTECTED]> tismerysoft GmbH : Have a break! Take a ride on Python's Johannes-Niemeyer-Weg 9A :*Starship* http://starship.python.net/ 14109 Berlin : PGP key -> http://wwwkeys.pgp.net/ work +49 30 802 86 56 mobile +49 173 24 18 776 fax +49 30 80 90 57 05 PGP 0x57F3BF04 9064 F4E1 D754 C2FF 1619 305B C09C 5A3B 57F3 BF04 whom do you want to sponsor today? http://www.stackless.com/ -- http://mail.python.org/mailman/listinfo/python-list
Re: Is there a way to program a robot with python (ex, an electric motor, control it's speed, etc)
Hi there, i hope someone here can help me. basically, me and my friend have a summer project. in this project, we need something that would basically function as a blender. we know we'll need to buy a motor that spins, but what we're having trouble with is figuring out how to program it. we want to be able to control the speed of the motor. how would we accomplish this? i'm new to all of this, so i'm having a hard time wrapping my mind around how it'd be possible to program one of those things :\ ex: what if i want the motor to turn for 10 seconds. stop for 5. then turn the other direction. would you program it the same way you would on a personal computer (via c, python, etc)? I did something comparable to that some time ago. This was a car simulation, for testing an electronic trip recorder. This simulation had a model for the whole car, its devices, driver who inserts his card, starter who makes the voltage break in, the gear shift, motion sensor and lots of other stuff. This system was written using Stackless Python, which allows you to use a quite intuitive and efficient programming model for this. I would like to come back to this after EuroPython and the sprints are over. cheers - chris -- Christian Tismer :^) <mailto:[EMAIL PROTECTED]> tismerysoft GmbH : Have a break! Take a ride on Python's Johannes-Niemeyer-Weg 9A :*Starship* http://starship.python.net/ 14109 Berlin : PGP key -> http://wwwkeys.pgp.net/ work +49 30 802 86 56 mobile +49 173 24 18 776 fax +49 30 80 90 57 05 PGP 0x57F3BF04 9064 F4E1 D754 C2FF 1619 305B C09C 5A3B 57F3 BF04 whom do you want to sponsor today? http://www.stackless.com/ -- http://mail.python.org/mailman/listinfo/python-list
Re: 2**2**2**2**2 wrong? Bug?
On 10.07.2007, at 07:21, Jim Langston wrote: In Python 2.5 on intel, the statement 2**2**2**2**2 evaluates to 2**2**2**2**2 2003529930406846464979072351560255750447825475569751419265016973710894 0595563114 ... 533753975582208506072339445587895905719156736L Yes, also on 2.4.4 What's wrong about it? ciao - chris -- Christian Tismer :^) <mailto:[EMAIL PROTECTED]> tismerysoft GmbH : Have a break! Take a ride on Python's Johannes-Niemeyer-Weg 9A :*Starship* http://starship.python.net/ 14109 Berlin : PGP key -> http://wwwkeys.pgp.net/ work +49 30 802 86 56 mobile +49 173 24 18 776 fax +49 30 80 90 57 05 PGP 0x57F3BF04 9064 F4E1 D754 C2FF 1619 305B C09C 5A3B 57F3 BF04 whom do you want to sponsor today? http://www.stackless.com/ -- http://mail.python.org/mailman/listinfo/python-list
Re: [Crew] Four Years of Starship hosting come to an end
Stefan Drees wrote: > Dear Crew of the Python Starship, > > after a short email exchange of thoughts with Christian Tismer, that he > might take over again the hosting of the ship or silently give over some > of its remains to a museum, he encouraged me, to let go after four years > of hosting, so that I can get a grip on new stuff. Yes, Stefan! You hosted the ship, you payed the bills, and you got all the little to nothing feed-backs from the Starship crew that really made you into continuing your job. I am very fond of you. We could go for some real task, now. > Remember? Back in those days, when hosting providers did not offer > python environements but html or perl or php or sh cgi's ... Chris > 'Pirx' Tismer founded the Starship, by spreading the idea that > Pythonistas should buy planks, and he then would assemble a ship - what > would become "our" ship This is almost 10 years ago, and I do remember very well. The Starship had its role, and this was very explicitly stated at one of the ancient PyCon events, when Guido stated that I had not enough resources to support the Starship well enough. Meanwhile, the world has changed quite a lot, and starship's role might have diminished or redefined. > I am convinced, that Chris will be interested, if there is still a need > for the ship and what kind of exact need there is. Yes. If there is a wish to continue Starship, then we can do this. I have a new server with a XEN site set up, ready for you. I also can toss it. It is not me who needs Starship, I'm asking you. > On October, 1st of this year 2007, whatever makes out "the ship" will > have been transferred to another location or just vanish into space. I will at least take the archives, and consider how to carry on, dependent from the community's response. > It has been a real pleisure for me to serve this community with hosting > the ship! It has been great to experience your support! We can now try something completely different. Please let us know your opinions. p.s.: this is the only time I'll be cross-posting to python-list. -- Christian Tismer :^) <mailto:[EMAIL PROTECTED]> tismerysoft GmbH : Have a break! Take a ride on Python's Johannes-Niemeyer-Weg 9A :*Starship* http://starship.python.net/ 14109 Berlin : PGP key -> http://wwwkeys.pgp.net/ work +49 30 802 86 56 mobile +49 173 24 18 776 fax +49 30 80 90 57 05 PGP 0x57F3BF04 9064 F4E1 D754 C2FF 1619 305B C09C 5A3B 57F3 BF04 whom do you want to sponsor today? http://www.stackless.com/ -- http://mail.python.org/mailman/listinfo/python-list
Re: PyPy 1.0: JIT compilers for free and more
On 28.03.2007, at 10:38, Carl Friedrich Bolz wrote: > Brain error on our side: the gc_pypy.dll is the dll of the Boehm > garbage > collector, which you would need to compile yourself (which makes > precompiled binaries a bit useless :-) ). We updated the zip file, > would > you mind checking whether it works better now? Why can't we provide a pre-compiled binary? Is this a license issue? cheers - chris -- http://mail.python.org/mailman/listinfo/python-list
Re: PyPy 1.0: JIT compilers for free and more
On 28.03.2007, at 23:36, Jarek Zgoda wrote: > Carl Friedrich Bolz napisał(a): > >> Welcome to the PyPy 1.0 release - a milestone integrating the results >> of four years of research, engineering, management and sprinting >> efforts, concluding the 28 months phase of EU co-funding! > > So it took 4 yars of work and over 2 yaers of consumption of EU funds, > yeah, great. > > Could anybody explain, what this gives to Python and its users? Would > we, eventually, get GIL-free VM, that is capable to consume all > available power of multicore processors? Or, maybe, we'll get > something > special, I am unable to dream of? Or is it purely academic project to > create Python VM in Python? It will eventually give you a GIL-free VM, and it already gives you a lot more than you have dreamt of. There is one feature missing that is probably hard to add. Handling the 'posters who are not willing to read before they post' syndrome. cheers - chris -- http://mail.python.org/mailman/listinfo/python-list
Re: how can I clear a dictionary in python
On 29.03.2007, at 00:48, Larry Bates wrote: > [EMAIL PROTECTED] wrote: >> Hi, >> >> I create a dictionary like this >> myDict = {} >> >> and I add entry like this: >> myDict['a'] = 1 >> but how can I empty the whole dictionary? >> >> Thank you. >> > > just point myDict to an empty dictionary again > > myDict={} This is wrong and not answering the question. Creating a new dict does not change the dict. He wants to clear *this* dict, and maybe he cannot know how many other objects are referring to this dict. cheers -- chris -- """pointless questions or useless answers - what do you like more""" -- http://mail.python.org/mailman/listinfo/python-list
Re: how can I clear a dictionary in python
On 29.03.2007, at 00:38, [EMAIL PROTECTED] wrote: > Hi, > > I create a dictionary like this > myDict = {} > > and I add entry like this: > myDict['a'] = 1 > but how can I empty the whole dictionary? Reading the Python docs might help. But before, I would try a dir(myDict). Maybe you will find an easter-egg which has exactly the name you are looking for? cheers - chris -- http://mail.python.org/mailman/listinfo/python-list
Re: Can't import Stackless in Pythonwin
[EMAIL PROTECTED] wrote: ... > But for pythonwin i get >>>> import sys >>>> print sys.version > 2.5 (r25:51908, Sep 19 2006, 09:52:17) [MSC v.1310 32 bit (Intel)] >>>> print sys.executable > C:\Python25\Lib\site-packages\pythonwinPythonwin.exe > > So does this mean stackless is not usable with pythonwin? Your python.dll needs to live in your \system32 directory (or in the current directory if you are running stackless temporarily). If things are set up properly, you will be able to import stackless from PythonWin. Be aware of Stackless not being very stable on PythonWin, cause it creates a new interpreter state after every input. It works to some extent, but I did not test this for a longer time. Also, it is quite likely that the debugger gets confused by tasklet switching. It seems to work pretty stable with wxpython and Boa constructor. wxpython has a few problems, too, but they are easy to work around. Contact me privately or on the stackless list if you need support. > Also, is pythonwin needed for the win32 extensions and mfc? yes. cheers - chris -- Christian Tismer :^) <mailto:[EMAIL PROTECTED]> tismerysoft GmbH : Have a break! Take a ride on Python's Johannes-Niemeyer-Weg 9A :*Starship* http://starship.python.net/ 14109 Berlin : PGP key -> http://wwwkeys.pgp.net/ work +49 30 802 86 56 mobile +49 173 24 18 776 fax +49 30 80 90 57 05 PGP 0x57F3BF04 9064 F4E1 D754 C2FF 1619 305B C09C 5A3B 57F3 BF04 whom do you want to sponsor today? http://www.stackless.com/ -- http://mail.python.org/mailman/listinfo/python-list
Re: Where's the Starship's crew?
by utilizing OpenVZ, as fine-grained as makes sense. I am investigating this these days. Right now, the Starship is a single VE. It will turn into a growing set of smaller VE's in the next weeks. And as soon as we get sponsorship, python.net will split itself over multiple machines. After all, my vision is to create the ultimate Python showdown, running everything possible in isolated environments and allowing people to play with different configurations. python.net should become the ultimate python resource site for interactive playing and trying, and providing a home for people to show their development. I will also try to get the PSF interested in that; maybe there is also some PSF funding possible. But this is an option, I will continue Starship without support as well. I believe I can do that, with your help. feeling stronger than before that stroke attack -- sincerely - chris -- This is much more work than I can do alone. Therefore, I am asking for people to help me with this. I also don't want to miss any of the current supporters, and we will name them all on the revised contributors pages to come. In order to support really many Python projects, we will need not only sponsors, but probably the support of the individual project maintainers as well. I am open to make this my goal of life, if there are enough people interested. But they will, I know it. I do believe in Python, Starship, PyPy and Stackless. Please help me to make this life-dream into reality. happily being back to the roots -- chris -- Christian Tismer :^) <mailto:[EMAIL PROTECTED]> tismerysoft GmbH : Have a break! Take a ride on Python's Johannes-Niemeyer-Weg 9A :*Starship* http://starship.python.net/ 14109 Berlin : PGP key -> http://wwwkeys.pgp.net/ work +49 30 802 86 56 mobile +49 173 24 18 776 fax +49 30 80 90 57 05 PGP 0x57F3BF04 9064 F4E1 D754 C2FF 1619 305B C09C 5A3B 57F3 BF04 whom do you want to sponsor today? http://www.stackless.com/ -- http://mail.python.org/mailman/listinfo/python-list
Re: Iterating generator from C
Sven Suursoho wrote: > Hi, > > > I am working on project that has embedded python interpreter to run > user-specified python procedures. Those procedures might return any > iterable object with set of result data -- basically everything for which > iter() returns valid object (list, tuple, dict, iterator etc) > > It works ok, except generator under Python 2.4 with debugging enabled (see > http://sourceforge.net/tracker/index.php?func=detail&aid=1483133&group_id=5470&atid=105470). > > Is there any way to rewrite following program to handle returned generator > without hitting this bug? I found this bug as well, and I think the fix should be back-ported. This problem can only show up when you are comiling a C extension, anyway. Why don't you just apply the fix and compile your own? It is just a wrong assertion, anyway. ciao - chris -- Christian Tismer :^) <mailto:[EMAIL PROTECTED]> tismerysoft GmbH : Have a break! Take a ride on Python's Johannes-Niemeyer-Weg 9A :*Starship* http://starship.python.net/ 14109 Berlin : PGP key -> http://wwwkeys.pgp.net/ work +49 30 802 86 56 mobile +49 173 24 18 776 fax +49 30 80 90 57 05 PGP 0x57F3BF04 9064 F4E1 D754 C2FF 1619 305B C09C 5A3B 57F3 BF04 whom do you want to sponsor today? http://www.stackless.com/ -- http://mail.python.org/mailman/listinfo/python-list
Re: Iterating generator from C
Sven Suursoho wrote: >>> Is there any way to rewrite following program to handle returned >>> generator without hitting this bug? The only way I can think of getting around this is to make sure that there is always a running python frame. This would be possible if you can control how the extension is called. > Unfortunately, this is not an option because I can't control used > environment: I'm trying to improve PostgreSQL's stored procedure > language PL/Python and this software can be used everywhere. Then there is no other way than to report the bug, get the fix back-ported and nagging the PL/Python maintainers to update things after the fix. Also a test should be added which is probably missing since a while. I'd put a warning somewhere that generators are broken in debug mode, file an issue as well, but avoid trying to hack around this. It would make the bug even more resistent :-) ciao - chris -- Christian Tismer :^) <mailto:[EMAIL PROTECTED]> tismerysoft GmbH : Have a break! Take a ride on Python's Johannes-Niemeyer-Weg 9A :*Starship* http://starship.python.net/ 14109 Berlin : PGP key -> http://wwwkeys.pgp.net/ work +49 30 802 86 56 mobile +49 173 24 18 776 fax +49 30 80 90 57 05 PGP 0x57F3BF04 9064 F4E1 D754 C2FF 1619 305B C09C 5A3B 57F3 BF04 whom do you want to sponsor today? http://www.stackless.com/ -- http://mail.python.org/mailman/listinfo/python-list
Re: Multiple conditional expression
On 3/2/09 12:53 AM, Bruno Desthuilliers wrote: Steve Holden a écrit : Anjanesh Lekshminarayanan wrote: How do we know that from the what the OP posted? Its CGI alright. spaces = form.has_key('spaces') and form.getvalue('spaces') == '1' But I just dont see how spaces = (form.has_key('spaces') ? form.getvalue('spaces') == 1 ? True: False : False) is complicated in anyway. Its not that hard to read at all. In that case I fear Python will be far too simple for your clearly impressive mind. You've been programming for way too long ... +1 QOTW !-) Bruhahaa, my biggest laugh since months -- Christian Tismer :^) <mailto:tis...@stackless.com> tismerysoft GmbH : Have a break! Take a ride on Python's Johannes-Niemeyer-Weg 9A :*Starship* http://starship.python.net/ 14109 Berlin : PGP key -> http://wwwkeys.pgp.net/ work +49 30 802 86 56 mobile +49 173 24 18 776 fax +49 30 80 90 57 05 PGP 0x57F3BF04 9064 F4E1 D754 C2FF 1619 305B C09C 5A3B 57F3 BF04 whom do you want to sponsor today? http://www.stackless.com/ -- http://mail.python.org/mailman/listinfo/python-list
Re: Psyco alternative
[EMAIL PROTECTED] wrote: Diez B. Roggisch: the author says that the approach is flawed, so at *some* point it will be discontinued. Can't Psyco be improved, so it can compile things like: nums = (i for i in xrange(20) if i % 2) print sum(nums) Although my main goal is to support PyPy as much as possible, I am currently taking a pause in favor of filling the gap for psyco, supporting generators. The details are not yet settled, maybe we choose to change the project name, to avoid the author getting bugged with questions about this extra stuff. - chris -- Christian Tismer :^) <mailto:[EMAIL PROTECTED]> tismerysoft GmbH : Have a break! Take a ride on Python's Johannes-Niemeyer-Weg 9A :*Starship* http://starship.python.net/ 14109 Berlin : PGP key -> http://wwwkeys.pgp.net/ work +49 30 802 86 56 mobile +49 173 24 18 776 fax +49 30 80 90 57 05 PGP 0x57F3BF04 9064 F4E1 D754 C2FF 1619 305B C09C 5A3B 57F3 BF04 whom do you want to sponsor today? http://www.stackless.com/ -- http://mail.python.org/mailman/listinfo/python-list
Re: insert unique data in a list
On 12/14/09 2:24 AM, knifenomad wrote: On 12월14일, 오전10시19분, knifenomad wrote: On 12월14일, 오전2시57분, mattia wrote: Il Sun, 13 Dec 2009 16:37:20 +, mattia ha scritto: How can I insert non-duplicate data in a list? I mean, is there a particular option in the creation of a list that permit me not to use something like: def append_unique(l, val): if val not in l: l.append(val) Thanks, Mattia Ok, so you all suggest to use a set. Now the second question, more interesting. Why can't I insert a list into a set? I mean, I have a function that returns a list. I call this function several times and maybe the list returned is the same as another one already returned. I usually put all this lists into another list. How can I assure that my list contains only unique lists? Using set does'n work (i.e. the python interpreter tells me: TypeError: unhashable type: 'list')... this makes the set type hashable. class Set(set): __hash__ = lambda self: id(self) s = Set() s.add(1) s.add(2) s.add(1) print s set([1, 2]) d = {} d[s] = 'voila' print d {Set([1,2]):'voila'} print d[s] 'voila'- 원본 텍스트 숨기기 - - 원본 텍스트 보기 - although it's not what you've asked about. it's intereting to make set hashable using __hash__. Thoughtless messing with __hash__ is seldom useful. >>> s1 = Set([1]) >>> s2 = Set([1]) >>> s1 == s2 True >>> d = {} >>> d[s1] = 3 >>> d[s2] = 5 >>> d {Set([1]): 3, Set([1]): 5} >>> Equality is kept for comparison, but what is it worth to hash them by id? On the original problem: You could turn you lists into tuples. This would be clean and correct. ciao - chris -- Christian Tismer :^)<mailto:tis...@stackless.com> tismerysoft GmbH : Have a break! Take a ride on Python's Johannes-Niemeyer-Weg 9A :*Starship* http://starship.python.net/ 14109 Berlin : PGP key -> http://wwwkeys.pgp.net/ work +49 30 802 86 56 mobile +49 173 24 18 776 fax +49 30 80 90 57 05 PGP 0x57F3BF04 9064 F4E1 D754 C2FF 1619 305B C09C 5A3B 57F3 BF04 whom do you want to sponsor today? http://www.stackless.com/ -- http://mail.python.org/mailman/listinfo/python-list
Re: WxPython versus Tkinter.
On 1/25/11 12:04 AM, Steven D'Aprano wrote: On Mon, 24 Jan 2011 12:24:24 -0800, Robin Dunn wrote: On Jan 24, 12:03 pm, rantingrick wrote: On Jan 24, 1:57 pm, Robin Dunn wrote: BTW, on behalf of the wxPython community I'd like to apologize for the havoc caused by the flaming troll escaping from his cage. In general wxPython users are much less militant and zealotty and honor everyone's freedom to choose which ever UI tool kit works the best for their own needs. Well we forgive Byran, but we will not forget! :) For the record, that is not who I was referring to. I don't believe that anyone in their right mind could have imagined even for a second that you were referring to Bryan. As we all experienced milleniums before: Self-criticism is the weakest, maybe totally missing virtue of a bozo. Which is great, because he won't recognize the irony ;-) -- Christian Tismer :^)<mailto:tis...@stackless.com> tismerysoft GmbH : Have a break! Take a ride on Python's Johannes-Niemeyer-Weg 9A :*Starship* http://starship.python.net/ 14109 Berlin : PGP key -> http://wwwkeys.pgp.net/ work +49 30 802 86 56 mobile +49 173 24 18 776 fax +49 30 80 90 57 05 PGP 0x57F3BF04 9064 F4E1 D754 C2FF 1619 305B C09C 5A3B 57F3 BF04 whom do you want to sponsor today? http://www.stackless.com/ -- http://mail.python.org/mailman/listinfo/python-list
ANN: psyco V2
Announcing Psyco V2 source release -- This is the long awaited announcement of Psyco V2. Psyco V2 is a continuation of the well-known psyco project, which was called finished and was dis-continued by its author Armin Rigo in 2005, in favor of the PyPy project. This is a new project, using Psyco's code base with permission of Armin. Questions and complaints should go to me (tis...@stackless.com) or the mailing list (psyco-de...@lists.sourceforge.net); Armin is explicitly not in charge of (t)his project any longer! As one of the founders and an active member of the PyPy project, I was very happy to be invited to work on Psyco V2, by FATTOC, LLC. Psyco V2 tries to extend on the original Psyco approach "an extension module that just makes Python faster". Psyco is a just-in-time compiler that accelerates arbitrary Python code by specialization. We believe that Psyco's approach can be carried out much further than it was tried so far, when it's first version was abandoned. This first V2 release is source-only. There is no web-site, yet, and there are no binaries for download. These will be available in a few days on http://www.psyco.org . For the time being, please stick with subversion access, building the extension module from source code. The repository is here: http://codespeak.net/svn/psyco/v2/dist Check-out the repository, and run the setup.py script, given that you have access to a C compiler. Psyco V2 will run on X86 based 32 bit Linux, 32 bit Windows, and Mac OS X. Psyco is not supporting 64 bit, yet. But it is well being considered. The current improvements are, shortly: - Support for Python 2.4, 2.5 and 2.6 - a lot of new builtins - generators, fast and fully supported. More information is coming soon on http://www.psyco.org . This is the beginning of a series of new Psyco versions. Many more improvements are prepared and about to be published, soon, starting with the current version 2.0.0 . Stay tuned, this is just the beginning of psyco's re-birth! For questions about Psyco V2, please join the mailing list psyco-de...@lists.sourceforge.net or contact me on IRC: #psyco on irc.freenode.net . Psyco V2 is fundamentally supported by FATTOC, LLC. See http://www.fattoc.com . Without their continuous support, this work would not have been possible at all. I wish to express my deepest thanks to FATTOC, for allowing me to continue on Psyco with all the energy that this ambitious project needs, and will need. Further special thanks are going to Armin Rigo, John Benediktsson, David Salomon, Miki Tebeka, Raymond Hettinger, Fabrizio Milo, Michael Foord, Dinu Gherman, Stephan Diehl, Laura Creighton and Andrea Tismer, for all the support and discussions. Looking forward to a great future of Psyco! July 17, 2009 -- Christian Tismer :^) <mailto:tis...@stackless.com> tismerysoft GmbH : Have a break! Take a ride on Python's Johannes-Niemeyer-Weg 9A :*Starship* http://starship.python.net/ 14109 Berlin : PGP key -> http://wwwkeys.pgp.net/ work +49 30 802 86 56 mobile +49 173 24 18 776 fax +49 30 80 90 57 05 PGP 0x57F3BF04 9064 F4E1 D754 C2FF 1619 305B C09C 5A3B 57F3 BF04 whom do you want to sponsor today? http://www.stackless.com/ -- http://mail.python.org/mailman/listinfo/python-list
ANN: psyco V2
Announcing Psyco V2 source release -- This is the long awaited announcement of Psyco V2. Psyco V2 is a continuation of the well-known psyco project, which was called finished and was dis-continued by its author Armin Rigo in 2005, in favor of the PyPy project. This is a new project, using Psyco's code base with permission of Armin. Questions aqnd complaints should go to me (tis...@stackless.com) or the mailing list (psyco-de...@lists.sourceforge.net); Armin is explicitly not in charge of (t)his project any longer! As one of the founders and an active member of the PyPy project, I was very happy to be invited to work on Psyco V2, by FATTOC, LLC. Psyco V2 tries to extend on the original Psyco approach "an extension module that just makes Python faster". Psyco is a just-in-time compiler that accelerates arbitrary Python code by specialization. We believe that Psyco's approach can be carried out much further than it was tried so far, when it's first version was abandoned. This first V2 release is source-only. There is no web-site, yet, and there are no binaries for download. These will be available in a few days on http://www.psyco.org . For the time being, please stick with subversion access, building the extension module from source code. The repository is here: http://codespeak.net/svn/psyco/v2/dist Check-out the repository, and run the setup.py script, given that you have access to a C compiler. Psyco V2 will run on X86 based 32 bit Linux, 32 bit Windows, and Mac OS X. Psyco is not supporting 64 bit, yet. But it is well being considered. The current improvements are, shortly: - Support for Python 2.4, 2.5 and 2.6 - a lot of new builtins - generators, fast and fully supported. More information is coming soon on http://www.psyco.org . This is the beginning of a series of new Psyco versions. Many more improvements are prepared and about to be published, soon, starting with the current version 2.0.0 . Stay tuned, this is just the beginning of psyco's re-birth! For questions about Psyco V2, please join the mailing list psyco-de...@lists.sourceforge.net or contact me on IRC: #psyco on irc.freenode.net . Psyco V2 is fundamentally supported by FATTOC, LLC. See http://www.fattoc.com . Without their continuous support, this work would not have been possible at all. I wish to express my deepest thanks to FATTOC, for allowing me to continue on Psyco with all the energy that this ambitious project needs, and will need. Further special thanks are going to Armin Rigo, John Benediktsson, David Salomon, Miki Tebeka, Raymond Hettinger, Fabrizio Milo, Michael Foord, Dinu Gherman, Stephan Diehl, Laura Creighton and Andrea Tismer, for all the support and discussions. Looking forward to a great future of Psyco! July 17, 2009 -- Christian Tismer :^) <mailto:tis...@stackless.com> tismerysoft GmbH : Have a break! Take a ride on Python's Johannes-Niemeyer-Weg 9A :*Starship* http://starship.python.net/ 14109 Berlin : PGP key -> http://wwwkeys.pgp.net/ work +49 30 802 86 56 mobile +49 173 24 18 776 fax +49 30 80 90 57 05 PGP 0x57F3BF04 9064 F4E1 D754 C2FF 1619 305B C09C 5A3B 57F3 BF04 whom do you want to sponsor today? http://www.stackless.com/ -- http://mail.python.org/mailman/listinfo/python-list
Re: ANN: psyco V2
It is just being transferred Von meinem iTouch gesendet On Jul 18, 2009, at 7:03, est wrote: On Jul 17, 10:48 am, Christian Tismer wrote: Announcing Psyco V2 source release -- This is the long awaited announcement of Psyco V2. Psyco V2 is a continuation of the well-known psyco project, which was called finished and was dis-continued by its author Armin Rigo in 2005, in favor of the PyPy project. This is a new project, using Psyco's code base with permission of Armin. Questions and complaints should go to me (tis...@stackless.com) or the mailing list (psyco-de...@lists.sourceforge.net); Armin is explicitly not in charge of (t)his project any longer! As one of the founders and an active member of the PyPy project, I was very happy to be invited to work on Psyco V2, by FATTOC, LLC. Psyco V2 tries to extend on the original Psyco approach "an extension module that just makes Python faster". Psyco is a just-in-time compiler that accelerates arbitrary Python code by specialization. We believe that Psyco's approach can be carried out much further than it was tried so far, when it's first version was abandoned. This first V2 release is source-only. There is no web-site, yet, and there are no binaries for download. These will be available in a few days onhttp://www.psyco.org. For the time being, please stick with subversion access, building the extension module from source code. The repository is here: http://codespeak.net/svn/psyco/v2/dist Check-out the repository, and run the setup.py script, given that you have access to a C compiler. Psyco V2 will run on X86 based 32 bit Linux, 32 bit Windows, and Mac OS X. Psyco is not supporting 64 bit, yet. But it is well being considered. The current improvements are, shortly: - Support for Python 2.4, 2.5 and 2.6 - a lot of new builtins - generators, fast and fully supported. More information is coming soon onhttp://www.psyco.org. This is the beginning of a series of new Psyco versions. Many more improvements are prepared and about to be published, soon, starting with the current version 2.0.0 . Stay tuned, this is just the beginning of psyco's re-birth! For questions about Psyco V2, please join the mailing list psyco-de...@lists.sourceforge.net or contact me on IRC: #psyco on irc.freenode.net . Psyco V2 is fundamentally supported by FATTOC, LLC. Seehttp://www.fattoc.com. Without their continuous support, this work would not have been possible at all. I wish to express my deepest thanks to FATTOC, for allowing me to continue on Psyco with all the energy that this ambitious project needs, and will need. Further special thanks are going to Armin Rigo, John Benediktsson, David Salomon, Miki Tebeka, Raymond Hettinger, Fabrizio Milo, Michael Foord, Dinu Gherman, Stephan Diehl, Laura Creighton and Andrea Tismer, for all the support and discussions. Looking forward to a great future of Psyco! July 17, 2009 -- Christian Tismer :^) <mailto:tis...@stackless.com> tismerysoft GmbH : Have a break! Take a ride on Python's Johannes-Niemeyer-Weg 9A :*Starship*http://starship.python.net/ 14109 Berlin : PGP key ->http://wwwkeys.pgp.net/ work +49 30 802 86 56 mobile +49 173 24 18 776 fax +49 30 80 90 57 05 PGP 0x57F3BF04 9064 F4E1 D754 C2FF 1619 305B C09C 5A3B 57F3 BF04 whom do you want to sponsor today? http://www.stackless.com/ congrats! btw is psyco.org owned? -- http://mail.python.org/mailman/listinfo/python-list -- http://mail.python.org/mailman/listinfo/python-list
Re: ANN: psyco V2
On 7/23/09 8:22 AM, Christian Heimes wrote: Christian Tismer wrote: Psyco V2 will run on X86 based 32 bit Linux, 32 bit Windows, and Mac OS X. Psyco is not supporting 64 bit, yet. But it is well being considered. Can you estimate how much work needs to be done in order to get Psyco working on 64bit POSIX (Linux) systems? This is not easy to tell. I'm in the process of estimating this, because my sponsor wants to know as well. They are very interested, but it has to be somehow affordable in time and money. There are different paths that can be taken. Simply hacking away, trying to go straight to 64 bit is obvious, but probably a bad approach. Half of the system needs to be rewritten and augmented with extra size info, and this goes very deep. I think this way I would produce a nightmare of even more complicated code, and would kill myself debugging-wise. I believe I need to simplify psyco and make many parts more abstract and more general, to become able to make it flexible. This also means slowing the compiler down quite a lot. Slowing it down will again become no problem, when my new compiler strategy is ready. The number of compilations will reduce so drastically, that the slowdown is neglectible. Yes, I did not give an answer. I have the vague feeling of three months full-time work. My problem right now is to ensure that it will become less and not more :-) cheers - chris -- Christian Tismer :^) <mailto:tis...@stackless.com> tismerysoft GmbH : Have a break! Take a ride on Python's Johannes-Niemeyer-Weg 9A :*Starship* http://starship.python.net/ 14109 Berlin : PGP key -> http://wwwkeys.pgp.net/ work +49 30 802 86 56 mobile +49 173 24 18 776 fax +49 30 80 90 57 05 PGP 0x57F3BF04 9064 F4E1 D754 C2FF 1619 305B C09C 5A3B 57F3 BF04 whom do you want to sponsor today? http://www.stackless.com/ -- http://mail.python.org/mailman/listinfo/python-list
Re: ANN: psyco V2
On 7/17/09 4:11 AM, Bearophile wrote: Very good, thank you. I'll try it when I can. Is Psyco3 going to borrow/steal some ideas/code from Unladen Swallow? Psyco3: nice typo! :-) Well, I haven't so far found a new idea there that I'd want to borrow and did not know from PyPy, before. Wasn't the project plan saying the opposite, borrowing some ideas from psyco? :-) http://code.google.com/p/unladen-swallow/wiki/ProjectPlan The problem I have with Psyco1.6 is that you can't use the normal profilers to know how much seconds of running time is taken by each function/method of your code. Yes, the profiler hooks are not useful with psyco. You need to write extra functions for timing, as we do in the benchmark directory. Psyco1.6 has a profile() function, but I am not much able to use it yet. The profile() function is used for profile driven compilation, as opposed to psyco.full(). This will go away, pretty soon. Psyco will only be switched on or off. Maybe I will add an option for profiling the compiled code. Interesting idea! cheers - chris -- Christian Tismer :^) <mailto:tis...@stackless.com> tismerysoft GmbH : Have a break! Take a ride on Python's Johannes-Niemeyer-Weg 9A :*Starship* http://starship.python.net/ 14109 Berlin : PGP key -> http://wwwkeys.pgp.net/ work +49 30 802 86 56 mobile +49 173 24 18 776 fax +49 30 80 90 57 05 PGP 0x57F3BF04 9064 F4E1 D754 C2FF 1619 305B C09C 5A3B 57F3 BF04 whom do you want to sponsor today? http://www.stackless.com/ -- http://mail.python.org/mailman/listinfo/python-list
Re: ANN: psyco V2
On 7/24/09 1:04 AM, William Dode wrote: On 23-07-2009, Christian Tismer wrote: ... Wasn't the project plan saying the opposite, borrowing some ideas from psyco? :-) http://code.google.com/p/unladen-swallow/wiki/ProjectPlan How do you see the future of psyco when unladen-swallow will grab the best of psyco (if they can !) ? I have no objections, but also no idea so far how that could work. Sounded like an unreflected idea to me, without seriously checking the possibilities and/or implications. The same kind of research apparently did not happen concerning PyPy, which IMHO is much more suitable to take advantage from. This is for the current status of psyco, of course. It will change dramatically in the next months, slowly adopting some of PyPy's ideas. Then it might start to make more sense. Wait and see ? Wait and see, not holding breath, I'd say. Anyway, thanks a lot for your work that we can use NOW ! Thanks for so much encouraging reactions! cheers - chris -- Christian Tismer :^) <mailto:tis...@stackless.com> tismerysoft GmbH : Have a break! Take a ride on Python's Johannes-Niemeyer-Weg 9A :*Starship* http://starship.python.net/ 14109 Berlin : PGP key -> http://wwwkeys.pgp.net/ work +49 30 802 86 56 mobile +49 173 24 18 776 fax +49 30 80 90 57 05 PGP 0x57F3BF04 9064 F4E1 D754 C2FF 1619 305B C09C 5A3B 57F3 BF04 whom do you want to sponsor today? http://www.stackless.com/ -- http://mail.python.org/mailman/listinfo/python-list