Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Python 2020: The State of the Language

Python 2020: The State of the Language

Presented virtually for Python fwdays 2020 online conference.

The Python language serves many communities: web, science, data science, devops, embedded systems, and education. The talk will discuss what's new in Python 3.8 and the upcoming 3.9 releases. We'll wrap up by discussing how Binder and Jupyter impact in our online world.

Carol Willing

May 23, 2020
Tweet

More Decks by Carol Willing

Other Decks in Technology

Transcript

  1. Python 2020

    The State of the Language
    Carol Willing
    Python and Project Jupyter

    View full-size slide

  2. @WillingCarol
    Change
    2

    View full-size slide

  3. @WillingCarol
    People
    Language
    Collaboration
    3

    View full-size slide

  4. @WillingCarol
    Uses and Users
    4

    View full-size slide

  5. @WillingCarol 5
    https://www.jetbrains.com/lp/python-developers-survey-2019/

    View full-size slide

  6. @WillingCarol
    Governance
    6

    View full-size slide

  7. PEP 8016
    The Steering Council
    Model

    View full-size slide

  8. PEP 13: Python Language Governance
    ‣ Quality and Stability
    ‣ Contributing accessible, inclusive, sustainable
    ‣ Core team and PSF relationship
    ‣ Decision making processes for PEPs
    ‣ Seek consensus

    View full-size slide

  9. Steering Council
    Barry Warsaw
    Brett Cannon
    Carol Willing
    Thomas Wouters
    Victor Stinner

    View full-size slide

  10. @WillingCarol
    Releases
    10

    View full-size slide

  11. @WillingCarol
    Our time is limited
    11

    View full-size slide

  12. @WillingCarol
    Community is key
    12
    Python Brasil official photo.
    The sign represents Python in BSL (Brazilian Sign Language),
    made by Amanda and Sávio at Python Sul 2018
    https://pyfound.blogspot.com/2019/02/python-brasil-people-technology.html
    PyLadiesBRConf official photo
    PyLadiesBRConf official photo

    View full-size slide

  13. @WillingCarol
    Python 3.8
    13
    https://docs.python.org/3/whatsnew/3.8.html
    https://realpython.com/python38-new-features/
    Release Manager: Łukasz Langa

    View full-size slide

  14. @WillingCarol
    Python 3.9
    14
    https://docs.python.org/3.9/whatsnew/3.9.html
    Release Manager: Łukasz Langa
    https://pythoninsider.blogspot.com/2020/05/python-390b1-is-now-available-for.html

    View full-size slide

  15. @WillingCarol
    https://docs.python.org/3.9/whatsnew/3.9.html#pep-617-new-parser
    15
    PEP 617
    New PEG Parser

    View full-size slide

  16. @WillingCarol
    https://docs.python.org/3.9/whatsnew/3.9.html#dictionary-merge-update-operators
    16
    PEP 584
    Dictionary Merge and
    Update Operators

    View full-size slide

  17. @WillingCarol 17
    >>> d = {"one": 1, "two": 2, "three": 3}
    >>> e = {"ten": 10, "twenty": 20, "thirty": 30}
    >>> d | e
    {'one': 1, 'two': 2, 'three': 3, 'ten': 10, 'twenty': 20,
    'thirty': 30}
    d | e
    Merge

    View full-size slide

  18. @WillingCarol
    https://docs.python.org/3.9/whatsnew/3.9.html#dictionary-merge-update-operators
    18
    PEP 616
    New removeprefix() and
    removesuffix() string
    methods

    View full-size slide

  19. @WillingCarol 19
    >>> 'Mrs. White'.removeprefix('Mrs. ')
    'White'
    >>> 'Mrs. Purple'.removeprefix('Mrs. ')
    'Purple'
    >>> 'Mr. Green'.removeprefix('Mrs. ')
    'Mr. Green'

    View full-size slide

  20. @WillingCarol
    https://www.python.org/dev/peps/pep-0615/
    https://docs.python.org/3.9/library/zoneinfo.html#module-zoneinfo
    20
    PEP 615
    Add zoneinfo
    IANA Time Zone

    View full-size slide

  21. @WillingCarol
    Python Language
    Summit
    21

    View full-size slide

  22. @WillingCarol 22
    HPy
    HPy uses Handles instead of Ref Counting
    PyObject *a = PyLong_FromLong(42);
    PyObject *b = a;
    Py_INCREF(b);
    Py_DECREF(a);
    Py_DECREF(a); // Ok
    HPy a = HPyLong_FromLong(ctx, 42);
    HPy b = HPy_Dup(ctx, a);
    HPy_Close(a);

    View full-size slide

  23. @WillingCarol 23
    https://pyfound.blogspot.com/2020/05/cpython-on-mobile-platforms.html
    Python on Mobile

    View full-size slide

  24. @WillingCarol
    Documentation Editorial Board
    as a
    Python Steering Council Workgroup
    24

    View full-size slide

  25. @WillingCarol
    Editorial Board
    25
    Assets
    Style and Tone Guides
    Language Translations
    Presentation - Landing Page

    View full-size slide

  26. @WillingCarol
    Learn more
    about CPython
    26

    View full-size slide

  27. @WillingCarol 27
    import asyncio

    View full-size slide

  28. @WillingCarol
    Learn about CPython Internals
    28

    View full-size slide

  29. @WillingCarol
    Collaboration
    29

    View full-size slide

  30. @WillingCarol 30
    Using Python to grow its
    world usage and
    meet community needs

    View full-size slide

  31. Jupyter
    Notebook
    A Jupyter Notebook document with a visualization of measles data.

    View full-size slide

  32. Jupyter
    ‣ Growth
    ‣ ACM Award
    ‣ Industry adoption
    ‣ Creative uses
    ‣ Open Source Book

    View full-size slide

  33. zero-to-jupyterhub.readthedocs.io

    View full-size slide

  34. https://blog.jupyter.org/binder-2-0-a-tech-guide-2017-fd40515a3a84
    https://elifesciences.org/labs/8653a61d/introducing-binder-2-0-share-your-
    interactive-research-environment
    https://www.nature.com/articles/d41586-018-01322-9
    mybinder.org

    View full-size slide

  35. @WillingCarol
    People
    Language
    Collaboration
    35

    View full-size slide

  36. @WillingCarol
    Many
    Possibilities
    36

    View full-size slide

  37. @WillingCarol
    What will you
    create?
    37

    View full-size slide

  38. @WillingCarol 38
    Thank you

    View full-size slide

  39. Python 2020

    The State of the Language
    Carol Willing
    Python and Project Jupyter

    View full-size slide