bagel
bagel copied to clipboard
Think comprehensively about system utility APIs
This is some feedback I've heard half a dozen times this week at Python Brasil: Python's system utility APIs are in too many places, and do not have any sort of conceptual integrity, to wit: os, os.path, pathlib, shutil, subprocess, fileinput, stat, glob, platform, errno (to say nothing of their 3rd party alternatives) all appear to perform a partial, confusing, and inconsisten portion of what we might think of as system-scripting utilities.
Some specific ideas:
-
Pathobject abstraction from the beginning. All path operations go through it, no ridiculous family of functions that take strings. - One process spawning API, no
fork()/exec.