[Python-Dev] Reorganize Python categories (Core, Library, ...)?

Victor Stinner victor.stinner at gmail.com
Wed Oct 4 09:22:48 EDT 2017


2017-10-04 14:36 GMT+02:00 Antoine Pitrou <solipsis at pitrou.net>:
> If  there's a crash in socket.sendmsg() that affects mainly
> multiprocessing, should it be in "Networking", "Security" or
> "Parallelism"?

bugs.python.org allows you to select zero or *multiple* categories :-)
It's common that categories of a bug evolves. For example, a buildbot
issue is first tagged as "Tests", but then moves into the correct
category once the problem is better understood.

>  If there's a bug where SSLSocket.recvinto() doesn't
> accept some writable buffers, is it "Networking" or "Security"? etc.

Usually, when the reach the final fix, it becomes much easier to pick
the correct category. Between Networking and Security, Security wins
since it's more important to list security fixes first in the
changelog.

> I agree with making the "Library" section finer-grained, but then
> shouldn't the subsection be simply the top-level module/package name?
> (e.g. "collections", "xml", "logging", "asyncio", "concurrent"...)

Yeah, that's another option. I don't know how to solve the problem, I
just listed the issues I have with the bug tracker and the changelog
:-)

> Also, perhaps the "blurb" tool can suggest a category depending on
> which stdlib files were modified, though there must be an easy way for
> the committer to override that choice.

This is why a mapping module name => category would help, yes.

> What is the problem with having a distinct category for each module?
> At worse, the logic which generates Docs from blurb files can merge
> some categories together if desired.  There's no problem with having a
> very fine-grained categorization *on disk*, since the presentation can
> be made different.  OTOH if the categorization is coarse-grained on
> disk (such is the case currently), the presentation layer can't
> recreate the information that was lost when committing.

Technically, blurb is correctly limited to a main category written in
the filename. Maybe blurb can evolve to store the modified module
(modules?) to infer the categoy? I don't know.

At least in the bug tracker, I would prefer to have the module name
*and* a distinct list of categories. As I wrote, while the analysis
makes progress, the module name can change, but also categories.
Yesterday, I analyzed a bug in test_cgitb. In fact, the bug was in
test_imp, something completely different :-) test_imp has side
effects, causing a bug in test_cgitb.

Victor


More information about the Python-Dev mailing list