The State of Python

The State of Python

Keynote at PyCon Korea. Theme of the conference is "Connecting the Pythonistas". This talk gives highlights of Python 2019, its future, the ecosystem including Jupyter, neteract, and Binder, challenges/opportunities for Python, and the impact of community.

C8eedb2bca5728f0f73294b5b5a0222e?s=128

Carol Willing

August 17, 2019
Tweet

Transcript

  1. PyCon Korea 2019 The State of Python Carol Willing

  2. The State of Python Code + Community = Global Connection

  3. Python Steering Council Core Developer PSF Fellow PSF Director (past)

    Frank Willison Award 2019   Hello. I'm Carol.
  4. !4 Jupyter Steering Council Core Developer JupyterHub, BinderHub, mybinder.org nteract

    Core maintainer Papermill, Scrapbook, Bookstore, Commuter
  5. The State of Python ‣ Python Today ‣ Communicating through

    code ‣ Keys to Python's Future ‣ Code and Community ‣ Connect the Pythonistas
  6. The Zen of Python Governance

  7. !7 Change is a constant

  8. !8 Great code requires communication

  9. !9 People have opinions

  10. Python Today

  11. !11 Growth Governance Python 3.8 Farewell to Python 2 Code

    and Language
  12. !12 Growth

  13.   What's behind the growth? Web DevOps Systems Scripting

  14.   Embedded & Makers Micropython, CircuitPython, Raspberry Pi

  15. !15 Data Science & Science PyData AI Machine Learning Visualization

    Fernando Perez Creator, IPython & Jupyter
  16. !16 Governance Post-BDFL

  17. !17 PEP 8016 The Steering Council Model

  18. PEP 13: Python Language Governance ‣ Quality and Stability ‣

    Contributing accessible, inclusive, sustainable ‣ Core team and PSF relationship ‣ Decision making processes for PEPs ‣ Seek consensus
  19. !19 Barry Warsaw Brett Cannon Carol Willing Guido van Rossum

    Nick Coghlan Steering Council
  20. Core Development

  21. !21 Python 3.8

  22. Positional only parameters Assignment operator (walrus operator) "equals" specifier added

    to f-string PEP 587: Python Initialization Configuration PEP 574: pickle protocol 5 !22 Key features in 3.8
  23. !23 Farewell to Python 2

  24. !24 py3readiness.org

  25. !25 pythonclock.org python3statement.org 25 2020-01-01

  26. !26 In reality, programming languages are how programmers express and

    communicate ideas — and the audience for those ideas is other programmers, not computers. http://neopythonic.blogspot.com/2016/04/kings-day-speech.html Guido van Rossum Language Design
  27. Communicating through code

  28. !28 Jupyter nteract Binder

  29. !29 Jupyter nteract Binder

  30. Jupyter Notebook A Jupyter Notebook document with a visualization of

    measles data.
  31. !31 2014 Now, 5 years later...

  32. 
 Millions of Notebooks https://github.com/trending/jupyter-notebook Over 5 million on GitHub

  33. !33 ‣ Growth ‣ ACM Award ‣ Industry adoption ‣

    Creative uses ‣ Open Source Book Jupyter
  34. jupyter.org

  35. !35 Interactive = Web Agnostic = Language Open Source =

    World Keys to Jupyter's Success
  36. !36 Jupyter nteract Binder

  37. !37 ReactJS front end nteract

  38. !38 ‣ Papermill ‣ Scrapbook ‣ Bookstore ‣ Commuter Netflix:

    data at scale https://medium.com/netflix-techblog/notebook-innovation-591ee3221233
  39. !39 Enterprise data workflows

  40. !40 Jupyter nteract Binder

  41. !41 Binder mybinder.org Binder 2.0 blog post elifesciences: Share your

    interactive research environment Nature article about Binder
  42. !42 jupyter.org

  43. !43 Juliette Taka

  44. !44 Binder mybinder.org

  45. Keys to Python's Future

  46. !46 Web Binaries Mobile Keys to Python's future

  47. !47 Web

  48. !48 JavaScript and WebAssembly Interactions with Python

  49. !49 pyodide

  50. !50 https://github.com/data-exp-lab/rust-yt-tools/ npm package @data-exp-lab/yt-tools Irber Junior LC. Oxidizing Python:

    writing extensions in Rust [version 1; not peer reviewed]. F1000Research 2018, 7(ISCB Comm J):955 (poster) (https://doi.org/ 10.7490/f1000research.1115726.1) https://github.com/munkm/widgyts yt and jupyter widgets
  51. !51 ipyvolume https://towardsdatascience.com/multivolume- rendering-in-jupyter-with-ipyvolume-cross- language-3d-visualization-64389047634a

  52. !52

  53. !53 https://github.com/pydy/pydy-tutorial-human-standing Animation https://mybinder.org/v2/gh/willingc/pydy-tutorial-human-standing/master

  54. !54 Animation jupyter.org

  55. !55 Binaries User installation experience

  56. !56 Simplify install https://nteract.io Double Click

  57. !57 cross platform

  58. !58 web distribution WebAssembly (wasm) Drag and drop (Binder, pyodide)

    Containers and sandboxes
  59. !59 Mobile Portable for Global Users

  60. On Demand and Mobile First web access, hardware, electricity Source:

    pgbovine.net Global Needs
  61. zero-to-jupyterhub.readthedocs.io

  62. !62 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

  63. !63 From a phone in the park!

  64. !64 Web Binaries Mobile What can you do

  65. !65 What can you do ‣ Keep up with WebAssembly

    news ‣ Give a Rust / wasm / Python project a try ‣ Try Beeware and its tools. Great project for first time contributors too. ‣ Think about the User Experience for your work
  66. Code and Community Call to Action

  67. –Tim O'Reilly “Contributions can encompass so much more than code.

    A successful software community requires time, dedication, communication, and education as well as elegant code.”  
  68. !68 Sensible Defaults for Code and Community

  69. !69 Respect time graceful disagreement your approach may not be

    best
  70. !70 Listen understanding consideration value ideas of others

  71. !71 Share experiences knowledge risk and reward

  72. !72 Trust Negativity shuts down creativity. Silencing productive discourse and

    gatekeeping result in toxic workflows.
  73. !73 Humility Long term success Learning from failures Innovation

  74. !74 Have a bold vision

  75. Connect the Pythonistas

  76. – Guido van Rossum ...a programming language created by a

    community fosters happiness in its users around the world.   http://neopythonic.blogspot.com/2016/04/kings-day-speech.html
  77. !77 the future of Python depends on

  78. !78 YOU

  79.   Thank you @WillingCarol willingc on GitHub

  80.   Thank you

  81. !81 Join the

  82.   Thank you @WillingCarol willingc on GitHub

  83. Attributions and Acknowledgements

  84. Matplotlib documentation Carol Willing papers and photos Project Jupyter nteract

    project Python website Fernando Perez website ipyvolume project yt project and Madicken Munk Binder Team Kirstie Whitaker
  85. The End

  86. PyCon Korea 2019 The State of Python Carol Willing