[05:08:08] <idella4> in adding a comment you can elect to obsoloete prior attachments
[05:08:28] <idella4> which is what he did to mine, not once but twice
[05:09:02] <idella4> I added the second after getting py3.2.4 to work the testsuite
[05:09:18] <wiredfool> my namespaced branch, pull request https://github.com/python-imaging/Pillow/pull/191 could break things that import anything not under PIL, e.g. django imports simply _imaging.
[05:09:42] <wiredfool> ah. not sure I follow all of that. mgorny sent a bunch of pull requests a day or so ago.
[05:15:58] <wiredfool> oh, he had a request for switches to en/disable features, patches for shebangs on the scripts, skipping tests for items that weren't built.
[05:16:29] <wiredfool> and moving temp files into a /tmp directory while testing
[05:21:24] <idella4> mgorny has more advanced knowledge than me, he's re-writing eclasses
[05:22:00] <idella4> which basically direct traffic in an build test install at a higher organization level
[05:22:37] <idella4> so he's dealing with scripts becoming uquipeed with valid shebangs and such
[05:23:54] <idella4> so is PIL still PILL or does it now represent Pillow?
[05:24:04] <idella4> so is PIL still PIL or does it now represent Pillow?
[05:25:32] <wiredfool> I don't really know. there hasn't been much motion on PIL for 4 years now, though there was some form of a 1.2 alpha in source control
[05:28:08] <wiredfool> I haven't seen anything from frederick on the image-sig list for over a year
[05:28:20] <wiredfool> so, dunno what the real status of PIL is
[05:28:50] <idella4> so his submitted pull request content measured up ok and you implemented 'em all?
[05:29:13] <wiredfool> I changed a bit of the testing one
[05:29:26] <idella4> hmm yep the interest to switch to pillow is done because of that
[05:29:48] <idella4> testing being related to tests?
[06:00:12] <idella4> -------------------------------------------------------------------- --- PIL CORE support ok --- TKINTER support ok --- JPEG support ok --- ZLIB (PNG/ZIP) support ok --- G4 TIFF support ok --- FREETYPE2 support ok --- LITTLECMS support ok --- WEBP support ok
[11:43:33] <aclark> wiredfool: do you want #202 and #191 merged yet?
[11:43:48] <aclark> wiredfool: i'm ok with merge now and test later if what you have is "close enough"
[11:44:07] <aclark> wiredfool: but of course, I don't want to be reverting things later :-)
[16:08:05] <wiredfool_> aclark: I'm not ready for PR202 to go, 191 is a maybe. There's some breakage by design there, easily fixed, and the sooner the better. OTOH, I'd feel better if someone other than you and me gave it a smoke test
[17:26:54] <aclark> wiredfool_: k, well once it goes in master everyone else can test pretty easy so i'll merge 191 then?
[17:28:48] <aclark> wiredfool_: i'm not going to do any *actual* testing until just before we release end of q2, at which point i'll do the same testing dance i did just prior to 2.0.0 release
[17:29:20] <wiredfool_> does pip have reverse-depends?
[17:29:54] <wiredfool_> someone teased out a list from debian, which I could probably grab in source form
[17:29:56] <aclark> no idea, i mean you could get a list of all the deps of all the packages on pypi then filter through it to see which include PIL
[17:30:09] <aclark> then what? Lots of work to build some system that would test PIL against all that software
[17:30:40] <wiredfool_> I'm thinking more of grepping for the imports that I know will break
[17:30:53] <wiredfool_> but triggering any self tests would be nice too
[17:31:08] <aclark> wiredfool_: i would just document and spend that time on Pillow :-)
[17:32:00] <wiredfool_> what do you think about my approach for the file-like obj in fonts?
[17:32:13] <wiredfool_> from a compatibility/clairity pov
[17:35:30] <aclark> wiredfool_: looks reasonable-ish. For anything we're not sure about I'm just trying to keep a mental picture of the prior implementation in case we have to revert.
[17:36:27] <wiredfool_> I think this feature is one of those where we're not going to see the breakage for a long time, if it shows up.
[17:36:43] <wiredfool_> the imports, they're nice in that boom, right away, and there's a simple fix
[17:36:58] <wiredfool_> And hopefully, they take care of pil stomping on us
[17:37:28] <aclark> wiredfool_: right i don't mind that. if we break something and someone reports it we'll just fix it and cut a small point release.
[17:37:33] <wiredfool_> fwiw, the tests on that branch now install the pil into the system python, before testing us in the virtualenvs
[17:38:04] <wiredfool_> and when we're importing, we're making sure that the pillow versions match
[17:38:34] <wiredfool_> which reminds me, I wanted to make that and the plugin list dynamic at setup time
[17:38:38] <aclark> wiredfool_: is there a ticket for: Allowing to pass font as file-like objects ?
[17:38:56] <wiredfool_> there's a pull request that we're working on
[17:39:01] <aclark> wiredfool_: If not I'd open one then mail the imaging list saying "any thoughts or feedback?" When you get crickets: you'll know you are OK
[17:39:19] <wiredfool_> I could send anything to the imaging list and get crickets
[17:39:40] <aclark> People are actually reading it and not responding in most cases IIUC
[17:39:48] <wiredfool_> I'm thinking of haveing setup.py write the __init__.py file, and a version.h header
[17:40:22] <aclark> Hmmm, now that I'm probably not a fan of... but I guess if you can make a case for it
[17:40:32] <wiredfool_> then, the only place we define a version would be in setup.py
[17:41:09] <aclark> Seems like there has to be a better way… you mean setup.py writing the __init__.py for the PIL package?
[17:41:41] <wiredfool_> what I'm doing on my windows thing is that I've got a version.py file, that's the only place I have a version
[17:41:56] <wiredfool_> and I import it for setup, and everywhere else
[17:42:13] <wiredfool_> but in this case, I need a list of plugins as well, and I need the version for the c code
[17:42:30] <wiredfool_> and I haven't managed to pass the version string in as a command line compiler define
[17:42:51] <aclark> I don't want to do anything "crazy" that someone (anyone) would look at and say "WTF?" Even if it makes sense to use it'll be hard to explain and likely not worth it.
[17:43:17] <wiredfool_> I don't want to have to manually maintain stuff
[17:43:45] <wiredfool_> Though, the plugin lists are all over the place already
[17:44:25] <aclark> Plugin lists? You mean PIL plugins e.g. webp?
[17:45:16] <wiredfool_> yeah. look at __init__ in the namespace pyll request
[17:45:19] <aclark> IIUC, PIL currently does a terrible job at managing plugins. But it's probably a terrible job everyone is familiar with at least. So if we start fixing that we probably need to be careful.
[17:45:46] <aclark> Because there is the risk of making it worse, more confusing, etc
[17:46:02] <wiredfool_> I'm trading a runtime scan for *ImagePlugin.py in a bunch of directories for a compile time scan of the pil directory
[17:46:32] <aclark> Don't we have a "real" plugin system for Python e.g. entry points based, or something?
[17:46:42] <wiredfool_> The runtime scan is sketchy, I think from a clarity, performance, and probably security pov
[17:47:05] <wiredfool_> Umm. I need to watch that video
[17:47:26] <wiredfool_> what PIL has is a plugin registry for open, save, and maybe other things
[17:47:39] <wiredfool_> It's triggered by some function calls when you import your image plugin.
[17:48:21] <wiredfool_> the image plugin imports are (current mainline) triggered by having a *Imageplugin.py specially named file in the path or current directory
[17:48:50] <wiredfool_> My change is "this compiled list of plugins, and anything else the user has imported"
[17:49:06] <wiredfool_> explicit is better than implicit
[17:50:33] <wiredfool_> anyway, the big potentially breaking changes are in that pull request. The maintenance details aren't, but they don't really change the interface
[17:51:44] <aclark> I mean, if it's something no one is going to ever notice… then I don't care. If there is the potential for someone and say "WTF?" then we'll have to be prepared to defend the decision, etc.
[17:54:58] <wiredfool_> I'd like to add version tagging in all the .so files, so that we know when we've managed to cross import something that we're not supposed to.
[17:55:24] <wiredfool_> that's one way to detect some of the errors we were getting with the jpeg stuff.
[17:56:18] <wiredfool_> the other way would be static libraries, but I don't know how much we want to do that, since it means that you've got to recompile pillow everytime there's a tiff security update, which is far more often than one would prefer given the age of the software
[18:01:27] <wiredfool_> adn come to think of it, I have to explicitly import the image plugins I want in setup.py to get them included in my py2exe file