@WillingCarol
Growth
11
Flexible, empowering language
Strength of third-party libraries
Community
Slide 12
Slide 12 text
@WillingCarol 12
What's behind the growth?
Web
DevOps
Systems
Testing
Science
Data Science
Embedded systems
Education
Micropython,
CircuitPython,
Raspberry Pi
Slide 13
Slide 13 text
@WillingCarol 13
Language Design
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
Slide 14
Slide 14 text
@WillingCarol
Governance
Post-BDFL
14
Slide 15
Slide 15 text
@WillingCarol
PEP 8016
The Steering Council Model
15
Slide 16
Slide 16 text
@WillingCarol
Steering Council
16
Barry Warsaw
Brett Cannon
Carol Willing
Guido van Rossum
Nick Coghlan
Slide 17
Slide 17 text
@WillingCarol
PEP 13 Python Language Governance
17
‣ Quality and Stability
‣ Contributing accessible, inclusive, sustainable
‣ Core team and PSF relationship
‣ Decision making processes for PEPs
‣ Seek consensus
Slide 18
Slide 18 text
@WillingCarol
Core Development
18
Slide 19
Slide 19 text
@WillingCarol
Python 3.8
19
https://www.python.org/downloads/release/python-380b3/
https://www.python.org/dev/peps/pep-0569/
Schedule and Content
Try it
3.8-dev currently uses Python 3.8.0b3+
Test your project on Travis CI
Slide 20
Slide 20 text
@WillingCarol 20
Positional only parameters
Assignment operator (walrus operator)
"equals" specifier added to f-string (debugging)
PEP 587: Python Initialization Configuration
PEP 574: pickle protocol 5
Python 3.8
@WillingCarol 31
Python + Jupyter +
Knowledge + Community
Slide 32
Slide 32 text
@WillingCarol 32
Slide 33
Slide 33 text
@WillingCarol 33
Prepare
Explore
Prototype
Production
Slide 34
Slide 34 text
@WillingCarol
Prepare
Getting Started and Leveling up
34
Step 1
Slide 35
Slide 35 text
@WillingCarol
Getting Started and Leveling Up
35
Try it in the browser
Install Python
Install Libraries
Choose your tools
Slide 36
Slide 36 text
@WillingCarol 36
Binder 2.0 blog post
elifesciences: Share
your interactive
research environment
Nature article about
Binder
!36
mybinder.org
Try it in the
browser
Slide 37
Slide 37 text
@WillingCarol 37
Slide 38
Slide 38 text
jupyter.org
Slide 39
Slide 39 text
@WillingCarol
pyodide
39
Try it in the Browser
Slide 40
Slide 40 text
@WillingCarol
Install Python
40
Use the OS Package Manager
Use a Distribution - Anaconda, miniconda
Download from Python.org
Slide 41
Slide 41 text
@WillingCarol
Install Libraries
41
Use a Distribution
such as Anaconda
Use pip
Use miniconda, conda,
and conda-forge
@WillingCarol
JupyterLab
45
Congrats!
JupyterLab
team
releases 1.0
version.
Slide 46
Slide 46 text
@WillingCarol 46
nteract
ReactJS front end
Slide 47
Slide 47 text
@WillingCarol
nteract
47
Jupyter's open notebook format, protocol, and language kernel
standards enable different user interfaces.
Slide 48
Slide 48 text
@WillingCarol
VS Code
48
PyCharm
Slide 49
Slide 49 text
@WillingCarol
Exploration
49
Step 2
Slide 50
Slide 50 text
@WillingCarol
Exploring data and libraries
50
Start with your interests
Try a tutorial
Learning resources
Community
What's new
Slide 51
Slide 51 text
@WillingCarol
Start with your
interests
I usually create music
projects when exploring new
languages.
51
https://web.mit.edu/music21/
Slide 52
Slide 52 text
@WillingCarol
Try a library's tutorial
Pandas
Matplotlib
52
Slide 53
Slide 53 text
@WillingCarol 53
Slide 54
Slide 54 text
@WillingCarol
Learning resources
54
Online Books with Jupyter Notebooks
Conferences, pyvideo.org and YouTube
https://jakevdp.github.io/PythonDataScienceHandbook/
Slide 55
Slide 55 text
@WillingCarol
Learn AI online
55
Slide 56
Slide 56 text
@WillingCarol
Community
56
User groups
Meetups
PyLadies
Carpentries
Slide 57
Slide 57 text
@WillingCarol
What's new
57
Talk Python to Me
Tracking Jupyter Newsletter
https://tinyletter.com/TrackingJupyter/archive
Open Source Directions webinar
GitHub Trending
Follow projects on Social Media
Slide 58
Slide 58 text
@WillingCarol
Prototyping
58
Step 3
Slide 59
Slide 59 text
@WillingCarol 59
Ten Simple Rules
for Reproducible
Research in
Jupyter Notebooks
Adam Rule et al.
https://github.com/jupyter-guide/
ten-rules-jupyter
https://github.com/jupyter-guide/
jupyter-guide
Slide 60
Slide 60 text
@WillingCarol 60
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
!60
@WillingCarol 67
Papermill
Scrapbook
Bookstore
Commuter
Production data at scale
!67
https://medium.com/netflix-techblog/notebook-innovation-591ee3221233
Slide 68
Slide 68 text
@WillingCarol 68
Papermill - parameterize / run
Scrapbook - recording / reading
Bookstore - store notebooks
Commuter - share notebooks
Production data at scale
!68
Slide 69
Slide 69 text
@WillingCarol 69
Enterprise data workflows
!69
Slide 70
Slide 70 text
zero-to-jupyterhub.readthedocs.io
Slide 71
Slide 71 text
@WillingCarol 71 !71
Deploy
binders
Slide 72
Slide 72 text
!72
Juliette Taka
Slide 73
Slide 73 text
@WillingCarol 73
From a
phone in
the park!
!73
Slide 74
Slide 74 text
@WillingCarol 74
Getting started & leveling up
Exploration
Prototyping
Production
Slide 75
Slide 75 text
@WillingCarol 75
Python + Jupyter +
Knowledge + Community
Slide 76
Slide 76 text
@WillingCarol 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
Slide 77
Slide 77 text
@WillingCarol 77
–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.
Slide 78
Slide 78 text
@WillingCarol 78
Be Practical and Productive
Slide 79
Slide 79 text
@WillingCarol 79
Python + Jupyter +
Knowledge + Community
Slide 80
Slide 80 text
@WillingCarol 80
Designed for success
Try it today
Slide 81
Slide 81 text
@WillingCarol 81
Create your dreams
Slide 82
Slide 82 text
@WillingCarol 82
the future of
Python
depends on
Slide 83
Slide 83 text
@WillingCarol 83
YOU
Slide 84
Slide 84 text
@WillingCarol 84
Thank you
@WillingCarol
willingc on
GitHub
Slide 85
Slide 85 text
@WillingCarol 85
Join the
Slide 86
Slide 86 text
@WillingCarol 86
Questions
Slide 87
Slide 87 text
@WillingCarol 87
Thank you
Project Jupyter Team
Core Python Team
PSF
Slide 88
Slide 88 text
@WillingCarol
Attributions
88
Attributions on slides.
Photos
[2, 3, 4, 5, 6, 7, 45, 55, 56, 62, 67, 68, 70] Carol Willing and Linnea Willing
[38] The Carpentries, Tracy Teal, Bérénice Batut