Batteries Included, But They're Leaking (Python Language Summit, 2019)

Batteries Included, But They're Leaking (Python Language Summit, 2019)

3d37232726396a1d3c7412dd915095ea?s=128

Amber Brown (HawkOwl)

May 01, 2019
Tweet

Transcript

  1. Batteries Included, But They're Leaking Amber Brown Batteries Included, But

    They're Leaking -- Python Language Summit 2019
  2. Let's Talk About The Stdlib. Batteries Included, But They're Leaking

    -- Python Language Summit 2019
  3. Batteries included? Not really -- Python, by itself, is marginally

    useful. Batteries Included, But They're Leaking -- Python Language Summit 2019
  4. typing requires mypy to be useful asyncio needs aiohttp to

    talk to the web* asyncio needs aiopg / aiomysql to talk to a database* *(without throwing away all the benefits of asynchronous IO) Batteries Included, But They're Leaking -- Python Language Summit 2019
  5. ssl needs hacks to do TLS to IDNA domains???? pytz

    is basically non-optional six is non-optional for 2/3 compatible code Batteries Included, But They're Leaking -- Python Language Summit 2019
  6. http.client literally says "use Requests" arrow , dateutil , moment

    , are all things people actually want to use Django, numpy , pandas bring people to Python, not Python people to them Batteries Included, But They're Leaking -- Python Language Summit 2019
  7. Python's batteries are leaking Python's stdlib contains bugs that will

    never be fixed. Batteries Included, But They're Leaking -- Python Language Summit 2019
  8. Python's batteries are leaking Python's stdlib contains past bugs that

    one can never rely on being fixed. Batteries Included, But They're Leaking -- Python Language Summit 2019
  9. https://bugs.python.org/issue34155 Batteries Included, But They're Leaking -- Python Language Summit

    2019
  10. Depending on the Python stdlib is a liability for applications

    and libraries Batteries Included, But They're Leaking -- Python Language Summit 2019
  11. Python-dev -> Python Release -> Distributions? Batteries Included, But They're

    Leaking -- Python Language Summit 2019
  12. Two options: 1. Compile CPython yourself 2. Workaround hacks Batteries

    Included, But They're Leaking -- Python Language Summit 2019
  13. The stdlib is 'too little, too late' in vital areas

    aka backport hell Batteries Included, But They're Leaking -- Python Language Summit 2019
  14. socket.sendmsg means Twisted has a cext itertools has a pile

    of code in the docs as a 'recipe'???? functools needs backports for 2/3 compatible code Batteries Included, But They're Leaking -- Python Language Summit 2019
  15. Python 2.7 is dead, but only if you're on python-dev

    Thanks, Red Hat! Batteries Included, But They're Leaking -- Python Language Summit 2019
  16. The stdlib contains debatable "batteries", even on Python 3. Makes

    Python larger, harder to build, and less useful on constrained platforms. Batteries Included, But They're Leaking -- Python Language Summit 2019
  17. pydoc distutils asyncore asynchat Batteries Included, But They're Leaking --

    Python Language Summit 2019
  18. IDLE & tkinter turtle sunau xdrlib 2to3 Batteries Included, But

    They're Leaking -- Python Language Summit 2019
  19. Batteries Included, But They're Leaking -- Python Language Summit 2019

  20. Provisional APIs are harmful Non-obvious stability traps Batteries Included, But

    They're Leaking -- Python Language Summit 2019
  21. asyncio typing Batteries Included, But They're Leaking -- Python Language

    Summit 2019
  22. Added stdlib modules disproportionately harms the ecosystem "why do we

    need this when it's in the stdlib?" Batteries Included, But They're Leaking -- Python Language Summit 2019
  23. Added stdlib modules disproportionately harms the ecosystem The stdlib is

    where code goes to die Batteries Included, But They're Leaking -- Python Language Summit 2019
  24. dataclasses has no reason to exist as a public API

    I spent the past four years explaining why incomplete and provisional asyncio didn't "kill" Twisted Batteries Included, But They're Leaking -- Python Language Summit 2019
  25. CPython contribution is a tight funnel that misses out on

    huge amounts of potential contributors It's not a zero-sum game, but it's very close Batteries Included, But They're Leaking -- Python Language Summit 2019
  26. CPython believes it's special enough to need special tools which

    give no benefit to the wider community blurb is CPython specific, despite the wide adoption of towncrier Batteries Included, But They're Leaking -- Python Language Summit 2019
  27. Overlap of CPython devs and major library authors seems low

    A lot of the problems experienced by large library authors don't affect CPython Batteries Included, But They're Leaking -- Python Language Summit 2019
  28. The frozen-in-time stdlib makes developing libraries harder. Twisted has to

    act like the stdlib is unpatched Batteries Included, But They're Leaking -- Python Language Summit 2019
  29. The sprawling stdlib makes developing alternate alternatives harder. Every single

    module in the Python stdlib makes life harder for PyPy, PyBee, and IronPython/Jython/etc Batteries Included, But They're Leaking -- Python Language Summit 2019
  30. fin Batteries Included, But They're Leaking -- Python Language Summit

    2019