[stdlib-sig] Evolving the Standard Library
vinay_sajip at yahoo.co.uk
Thu Sep 17 18:56:40 CEST 2009
I'm all for improving the standard library, and as the author of the logging
package, have a keen interest in making sure that it is relevant and usable by
most if not all of the Python community, and that it evolves with changing
needs. However, this objective is made much harder by what I see as some
shortcomings in the way we all communicate about these issues. For example, from
a post earlier in this thread, here are two snippets...
And SimpleHTTPServer, and logging, and... Armin, some of us agree with
you, and again, this was part of my driving force in starting the
other thread proposing the logical break out and subsequent cleanup.
Of course libraries like `locale` and `logging` are hard to change, but
it would still be possible. For `locale` it would probably a useful
Now, it's not hard to find out that I'm the author of the logging package -
apart from being co-author of the PEP which introduced it, I'm fairly active on
python-list when logging-related issues crop up, as well as promptly addressing
issues in the bug tracker. I'm also not that hard to find via Google when you
search for "python logging".
>From the above snippets, one could infer that both Armin and Jesse have some
"issues" with Python's logging package. In Brett's informal poll, logging was
one of the packages which people raised as "needs to change" - it came third in
the "hall of shame". When Brett posted about it, at
I followed up there at some length. It seems a lot of this stuff gets discussed
on Twitter, which makes it very easy for meanings to be misinterpreted because
you can't always be clear about what you mean in 140 chars. (I don't use Twitter
myself, as for me the noise to signal ratio is far too high.) I was at one point
given to understand that in some tweet or other, Andrii Mishkovskyi apparently
offered to rewrite the logging package. Andrii has assured me that he hadn't
actually meant to cause offence, but surely you can see it comes across as a tad
impolite, given that the package has an active maintainer.
Jesse's and Armin's comments above epitomise the problem. As far as I know (with
Google's help), neither has ever bothered to post on python-list, python-dev,
their own blogs or anywhere else what these "issues" with logging are. Nor has
either ever contacted me directly. Yet they talk blithely about changing
logging, as if it has no maintainer. What exactly is the difficulty in
articulating your issues? Armin has done a fair job on describing bad points
about other parts of the library, and fair points they are, too. Armin did once
mention logging in a post about singletons, because logging does contain
singletons. However, as far as I know it does not cause problems in practice - I
use it with Django on numerous websites and the Tornado webserver of
FriendFeed/Facebook uses it too, apparently without the sky falling on its head.
Andrii Mishkovskyi set up a page on the Python wiki,
where he posted his criticisms of the logging package and invited comments.
Great! Something specific to work on. I responded to all his points, and waited
for others to weigh in. Since 8 August, when I made my last changes to it, that
page has not been changed - by Andrii, Jesse or anyone else.
I'm not expecting logging to be anyone's hot button except mine, but I am
committed to maintaining it. If you're not interested in improving it, don't
mention it in the offhand way I quoted above - it's not the type of criticism
that I can work from. And if you are interested in improving it, take the time
to articulate the issues. For example, I recently came across the Opster library
(which wraps getopt) and really liked some aspects of it, though at the moment
argparse is my package of choice for command line parsing. I contacted both
Steven Bethard, argparse author and Alexander Solovyov, author of Opster, about
trying to get some synergy going between the two approaches. I did this using
the argparse Google code project issue tracker (for contact with Steven) and
(for Alexander) by commenting on his blog entry about Opster. Both contacts have
been fruitful, at least from my point of view as a user/potential user of their
This might sound a bit like a rant, but it's not meant to be - I just speak as I
find. I'm not overly sensitive to criticism about the logging package; in fact I
welcome *constructive* criticism which can help to improve it. All of you,
please feel free to head over to Andrii's page to post your criticisms/comments
If my expectations are that:
- I'm not the dead parrot - think of me more as the elephant in the room. If you
have issues with my work, talk to me.
- Use a platform where meanings have the potential to be clear - i.e. let's not
make being on Twitter a pre-requisite for discourse.
- Avoid the general snide-sounding "Logging sucks." "Yes, doesn't it just?" kind
of comments. It's great to vent, but is that the best you want to aim for?
- Remember the exigencies of backward compatibility. Root and branch changes to
the public API are clearly out, at least for now - not just for logging but for
the whole stdlib.
Am I expecting too much?
More information about the stdlib-sig