Author rhettinger
Recipients docs@python, eric.araujo, georg.brandl, rhettinger, ron_adam, techtonik, terry.reedy
Date 2011-09-11.08:58:15
SpamBayes Score 3.16414e-15
Marked as misclassified No
Message-id <1315731497.33.0.249911567169.issue7798@psf.upfronthosting.co.za>
In-reply-to
Content
Resist the urge to fatten APIs until you're sure that:
* they are needed
* they are well developed (many internal utils fail this test)
* they are worth the extra time it takes to learn what is in a module (adding rarely needed tools has the side-effect of obscuring things people actually need)

Georg's advice is spot on.  There are a lot of little internal routines in the standard library that aren't sufficiently fit to be exposed (perhaps a little too ad-hoc or special purpose, perhaps the API isn't sufficiently general, perhaps the routines rely on non-guaranteed aspects of the implementation).  For example, visiblename() is more heuristic than algorithmic -- right now, we can change that as needed (for instance, the recent updates to accommodate named tuples), but as soon as the method or function becomes public, its API freezes and it is hard for us to make changes.

The pager functions are interesting and non-trivial.  Before making them public in the standard library though, it would be best if it had some life as third-party module to let it mature (i.e. making sure it works as well in other contexts as it does in pydoc).

Also consider whether other documentation tools have already encountered and addressed these use cases, perhaps in a different and better way.
History
Date User Action Args
2011-09-11 08:58:17rhettingersetrecipients: + rhettinger, georg.brandl, terry.reedy, techtonik, ron_adam, eric.araujo, docs@python
2011-09-11 08:58:17rhettingersetmessageid: <1315731497.33.0.249911567169.issue7798@psf.upfronthosting.co.za>
2011-09-11 08:58:16rhettingerlinkissue7798 messages
2011-09-11 08:58:15rhettingercreate