SlideShare a Scribd company logo
Jupyter Kernel
How to Speak in Another Language
How to Make a
Jupyter Kernel:
1: 5 ømq sockets
2: Implement Protocol
3. Holy Shit,
YOU RUINED EVERYTHING,
LIKE EVERYTHING YOU DO
4. This Kernel
Is Like Your Life
5. Begin a Lot of Things,
Left Undone
6. And Nobody Loves You
Understanding
Jupyter Kernel
Agenda
• Jupyter, IPython, notebook, console, client, kernel
• The Interactive Computing Protocol
• Implementing a Kernel
• Live Demo
About this guy
• 廖偉涵 Adrian Liaw
• github.com/adrianliaw
• High School Homeschooler
• A Pythonista
• Student of Udacity’s

Data Analyst Nanodegree
About this guy
• Amateur Pianist
• Classical Music Lover
• Coffee Shop Lover
Jupyter Kernel: How to Speak in Another Language
IPYTHON
ENHANCED PYTHON SHELL
IPYTHON NOTEBOOK
WEB-BASED NOTEBOOK ENVIRONMENT
The Big Split™
Jupyter Kernel: How to Speak in Another Language
Jupyter Notebook
(With R Kernel)
-Project Jupyter
“Project Jupyter was born out of the
IPython Project in 2014 as it evolved
to support interactive data science
and scientific computing across all
programming languages.”
Jupyter Kernel: How to Speak in Another Language
Jupyter Kernel: How to Speak in Another Language
CLIENT KERNEL
ØMQ Sockets
CLIENT KERNEL
Execute “10 + 3”
CLIENT KERNEL
Result: 13
CLIENT
KERNEL
CLIENT
What’s Inside IPython
• The Interactive IPython Shell (No ØMQ)
• Magic Commands
• Auto Word Completer
• Beautiful Traceback
• Shell History Management
Uh, And Kernel?
IPyKernel
• Jupyter’s “Kernel 0”
• ØMQ Handlers
• github.com/ipython/ipykernel
What’s Inside Jupyter
• Web-based Notebook Interface & nbconvert
• Interactive Qt Console
• Terminal-based Console
• Spec for Notebook Document Format
• Spec for Interactive Computing Protocol
CLIENT KERNEL
ØMQ Sockets
Interactive Computing
Protocol
• i.e. Jupyter Messaging Protocol
• Communication Between Kernel and Client
• Based on ØMQ and JSON
DEALER ROUTER
CLIENT KERNEL
Shell
SUB PUBIOPub
DEALER ROUTER
stdin
DEALER ROUTER
Control
REQ REP
Heartbeat
Connection File
{
"transport": "tcp",
"ip": "127.0.0.1",
"shell_port": 56166,
"iopub_port": 56167,
"stdin_port": 56168,
"control_port": 56169,
"hb_port": 56170,
"signature_scheme": "hmac-sha256",
"key": "<hashed key>"
}
Message Format
{
'header' : {
'msg_id' : str,
'username' : str,
'session' : str,
'date': str,
'msg_type' : str,
'version' : '5.0',
},
'parent_header' : dict,
'metadata' : dict,
'content' : dict,
}
http://bit.ly/JupyterMessaging
{
"header": {
"msg_type": "kernel_info_request",
...
},
"content": {},
}
CLIENT KERNEL
Shell
CLIENT KERNEL
Shell
{
"header": {
"msg_type": "kernel_info_reply",
...
},
"parent_header": {...},
"content": {
"banner": "Python 3.5.1 ... IPython 4.0.0 ...",
"implementation": "ipython",
"implementation_version": "4.0.0",
"language_info": {
"name": "python",
"version": "3.5.1",
...
},
},
}
CLIENT KERNELShell
{
"header": {
"msg_type": "execute_request",
...
},
"content": {
"code": "print('HAI')",
"silent": False,
"store_history": True,
},
}
CLIENT KERNELIOPub
{
"header": {"msg_type": "stream", ...},
"parent_header": {...},
"content": {
"name": "stdout",
"text": "HAIn",
},
}
CLIENT KERNELShell
{
"header": {
"msg_type": "execute_reply",
...
},
"parent_header": {...},
"content": {
"execution_count": 1,
"status": "ok",
"user_expressions": {},
},
}
CLIENT KERNELShell
{
"header": {"msg_type": "execute_request", ...},
"content": {
"code": "pd.read_csv('foo.csv')",
"silent": False,
"store_history": True,
},
}
CLIENT KERNELIOPub
{
"header": {"msg_type": "execute_result", ...},
"parent_header": {...},
"content": {
"execution_count": 5,
"data": {
"text/plain": " col1 col2n A 3n....",
"text/html": "<div><table>...</table></div>",
},
},
}
CLIENT KERNELShell
{
"header": {
"msg_type": "execute_reply",
...
},
"parent_header": {...},
"content": {
"execution_count": 5,
"status": "ok",
"user_expressions": {},
},
}
Jupyter Kernel: How to Speak in Another Language
Jupyter Kernel: How to Speak in Another Language
CLIENT KERNELShell
{
"header": {"msg_type": "execute_request", ...},
"content": {
"code": "read.csv('table.csv')",
"silent": False,
"store_history": True,
},
}
CLIENT KERNELIOPub
{
"header": {"msg_type": "execute_result", ...},
"parent_header": {...},
"content": {
"execution_count": 1,
"data": {
"text/plain": " col1 col2n A 3n....",
"text/html": "<table>...</table>",
},
},
}
CLIENT KERNELShell
{
"header": {
"msg_type": "execute_reply",
...
},
"parent_header": {...},
"content": {
"execution_count": 1,
"status": "ok",
"user_expressions": {},
},
}
MAKING A KERNEL
Kernel Types
• Native Kernel
• Python Wrapper Kernel
• REPL Wrapper Kernel
IRKernel
11. zmqctx <<- zmq.ctx.new()
12. sockets <<- list(
13. hb = zmq.socket(zmqctx, .pbd_env$ZMQ.ST$REP),
14. iopub = zmq.socket(zmqctx, .pbd_env$ZMQ.ST$PUB),
15. control = zmq.socket(zmqctx, .pbd_env$ZMQ.ST$ROUTER),
16. stdin = zmq.socket(zmqctx, .pbd_env$ZMQ.ST$ROUTER),
17. shell = zmq.socket(zmqctx, .pbd_env$ZMQ.ST$ROUTER))
IRKernel
IRuby
IHaskell
cling
IJulia
IScala
Lua Kernel
Clojure-Kernel
ITorch
IJavascript
ipykernel
Wrapper Kernel
• Python-driven
• ipykernel.kernelbase.Kernel
• http://bit.ly/WrapperKernel
from ipykernel.kernelbase import Kernel
class MyKernel(Kernel):
def do_execute
def do_complete
def do_history
def do_shutdown
Hy Kernel
Redis Kernel
Xonsh
C Kernel
Matlab Kernel
SAS Kernel
REPL Wrapper
from pexpect.replwrap
import REPLWrapper
Octave Kernel
Jupyter Powershell
Bash Kernel
Mongo Kernel
Scilab Kernel
LIVE DEMO
Q&A
Reference
• P.3, P.4, P.17, P.20, P.50 images: Project Jupyter
• P.6, P.7, P.8 images: Molg H.
• P.16: Project Jupyter
• P.11 image: Toomore Chiang
• P.12 image: Virginia Cheng
• P.13 image: ipython
• P.45 image: R
Ad

More Related Content

What's hot (19)

JupyterHub tutorial at JupyterCon
JupyterHub tutorial at JupyterConJupyterHub tutorial at JupyterCon
JupyterHub tutorial at JupyterCon
Carol Willing
 
Introduction to IPython & Jupyter Notebooks
Introduction to IPython & Jupyter NotebooksIntroduction to IPython & Jupyter Notebooks
Introduction to IPython & Jupyter Notebooks
Eueung Mulyana
 
Clean Code in Jupyter notebook
Clean Code in Jupyter notebookClean Code in Jupyter notebook
Clean Code in Jupyter notebook
Volodymyr Kazantsev
 
Re: 제로부터시작하는텐서플로우
Re: 제로부터시작하는텐서플로우Re: 제로부터시작하는텐서플로우
Re: 제로부터시작하는텐서플로우
Mario Cho
 
A Kanterakis - PyPedia: a python crowdsourcing development environment for bi...
A Kanterakis - PyPedia: a python crowdsourcing development environment for bi...A Kanterakis - PyPedia: a python crowdsourcing development environment for bi...
A Kanterakis - PyPedia: a python crowdsourcing development environment for bi...
Jan Aerts
 
그렇게 커미터가 된다: Python을 통해 오픈소스 생태계 가르치기
그렇게 커미터가 된다: Python을 통해 오픈소스 생태계 가르치기그렇게 커미터가 된다: Python을 통해 오픈소스 생태계 가르치기
그렇게 커미터가 된다: Python을 통해 오픈소스 생태계 가르치기
Jeongkyu Shin
 
Parallel Programming in Python: Speeding up your analysis
Parallel Programming in Python: Speeding up your analysisParallel Programming in Python: Speeding up your analysis
Parallel Programming in Python: Speeding up your analysis
Manojit Nandi
 
How to Become a Hacker?
How to Become a Hacker?How to Become a Hacker?
How to Become a Hacker?
removed_e10bf3fe21ff4e6e6a55bdd2c09fcb15
 
Machine Learning in Google I/O 19
Machine Learning in Google I/O 19Machine Learning in Google I/O 19
Machine Learning in Google I/O 19
Jeongkyu Shin
 
Creating Art with a Raspberry Pi - Stephanie Nemeth - Codemotion Amsterdam 2017
Creating Art with a Raspberry Pi - Stephanie Nemeth - Codemotion Amsterdam 2017Creating Art with a Raspberry Pi - Stephanie Nemeth - Codemotion Amsterdam 2017
Creating Art with a Raspberry Pi - Stephanie Nemeth - Codemotion Amsterdam 2017
Codemotion
 
Welcome to Python
Welcome to PythonWelcome to Python
Welcome to Python
Elena Williams
 
Intro to Python Workshop San Diego, CA (January 19, 2013)
Intro to Python Workshop San Diego, CA (January 19, 2013)Intro to Python Workshop San Diego, CA (January 19, 2013)
Intro to Python Workshop San Diego, CA (January 19, 2013)
Kendall
 
Python pyenv virtualenv
Python pyenv virtualenvPython pyenv virtualenv
Python pyenv virtualenv
Mario Cho
 
ROOT 2018: iminuit and MINUIT2 Standalone
ROOT 2018: iminuit and MINUIT2 StandaloneROOT 2018: iminuit and MINUIT2 Standalone
ROOT 2018: iminuit and MINUIT2 Standalone
Henry Schreiner
 
C# - Raise the bar with functional & immutable constructs (Dutch)
C# - Raise the bar with functional & immutable constructs (Dutch)C# - Raise the bar with functional & immutable constructs (Dutch)
C# - Raise the bar with functional & immutable constructs (Dutch)
Rick Beerendonk
 
Python for All
Python for All Python for All
Python for All
Pragya Goyal
 
10 popular software programs written in python
10 popular software programs written in python 10 popular software programs written in python
10 popular software programs written in python
ATEES Industrial Training Pvt Ltd
 
2019 IRIS-HEP AS workshop: Particles and decays
2019 IRIS-HEP AS workshop: Particles and decays2019 IRIS-HEP AS workshop: Particles and decays
2019 IRIS-HEP AS workshop: Particles and decays
Henry Schreiner
 
Pybind11 - SciPy 2021
Pybind11 - SciPy 2021Pybind11 - SciPy 2021
Pybind11 - SciPy 2021
Henry Schreiner
 
JupyterHub tutorial at JupyterCon
JupyterHub tutorial at JupyterConJupyterHub tutorial at JupyterCon
JupyterHub tutorial at JupyterCon
Carol Willing
 
Introduction to IPython & Jupyter Notebooks
Introduction to IPython & Jupyter NotebooksIntroduction to IPython & Jupyter Notebooks
Introduction to IPython & Jupyter Notebooks
Eueung Mulyana
 
Re: 제로부터시작하는텐서플로우
Re: 제로부터시작하는텐서플로우Re: 제로부터시작하는텐서플로우
Re: 제로부터시작하는텐서플로우
Mario Cho
 
A Kanterakis - PyPedia: a python crowdsourcing development environment for bi...
A Kanterakis - PyPedia: a python crowdsourcing development environment for bi...A Kanterakis - PyPedia: a python crowdsourcing development environment for bi...
A Kanterakis - PyPedia: a python crowdsourcing development environment for bi...
Jan Aerts
 
그렇게 커미터가 된다: Python을 통해 오픈소스 생태계 가르치기
그렇게 커미터가 된다: Python을 통해 오픈소스 생태계 가르치기그렇게 커미터가 된다: Python을 통해 오픈소스 생태계 가르치기
그렇게 커미터가 된다: Python을 통해 오픈소스 생태계 가르치기
Jeongkyu Shin
 
Parallel Programming in Python: Speeding up your analysis
Parallel Programming in Python: Speeding up your analysisParallel Programming in Python: Speeding up your analysis
Parallel Programming in Python: Speeding up your analysis
Manojit Nandi
 
Machine Learning in Google I/O 19
Machine Learning in Google I/O 19Machine Learning in Google I/O 19
Machine Learning in Google I/O 19
Jeongkyu Shin
 
Creating Art with a Raspberry Pi - Stephanie Nemeth - Codemotion Amsterdam 2017
Creating Art with a Raspberry Pi - Stephanie Nemeth - Codemotion Amsterdam 2017Creating Art with a Raspberry Pi - Stephanie Nemeth - Codemotion Amsterdam 2017
Creating Art with a Raspberry Pi - Stephanie Nemeth - Codemotion Amsterdam 2017
Codemotion
 
Intro to Python Workshop San Diego, CA (January 19, 2013)
Intro to Python Workshop San Diego, CA (January 19, 2013)Intro to Python Workshop San Diego, CA (January 19, 2013)
Intro to Python Workshop San Diego, CA (January 19, 2013)
Kendall
 
Python pyenv virtualenv
Python pyenv virtualenvPython pyenv virtualenv
Python pyenv virtualenv
Mario Cho
 
ROOT 2018: iminuit and MINUIT2 Standalone
ROOT 2018: iminuit and MINUIT2 StandaloneROOT 2018: iminuit and MINUIT2 Standalone
ROOT 2018: iminuit and MINUIT2 Standalone
Henry Schreiner
 
C# - Raise the bar with functional & immutable constructs (Dutch)
C# - Raise the bar with functional & immutable constructs (Dutch)C# - Raise the bar with functional & immutable constructs (Dutch)
C# - Raise the bar with functional & immutable constructs (Dutch)
Rick Beerendonk
 
2019 IRIS-HEP AS workshop: Particles and decays
2019 IRIS-HEP AS workshop: Particles and decays2019 IRIS-HEP AS workshop: Particles and decays
2019 IRIS-HEP AS workshop: Particles and decays
Henry Schreiner
 

Viewers also liked (17)

D3 in Jupyter : PyData NYC 2015
D3 in Jupyter : PyData NYC 2015D3 in Jupyter : PyData NYC 2015
D3 in Jupyter : PyData NYC 2015
Brian Coffey
 
Capítol 1 música amagada
Capítol 1 música amagadaCapítol 1 música amagada
Capítol 1 música amagada
Joanprofe
 
Microservices. The good, the bad and the ugly.
Microservices. The good, the bad and the ugly.Microservices. The good, the bad and the ugly.
Microservices. The good, the bad and the ugly.
Sander Hoogendoorn
 
「民進党ゆるキャラ総選挙」人気を予測しました
「民進党ゆるキャラ総選挙」人気を予測しました「民進党ゆるキャラ総選挙」人気を予測しました
「民進党ゆるキャラ総選挙」人気を予測しました
Toshihisa Tanaka
 
Sadigh Gallery Spring Savings Events 2017
Sadigh Gallery Spring Savings Events 2017Sadigh Gallery Spring Savings Events 2017
Sadigh Gallery Spring Savings Events 2017
Sadigh Gallery Ancient Art, Inc.
 
Update version of the SMBE/SESBE Lecture on ENCODE & junk DNA (Graur, Decembe...
Update version of the SMBE/SESBE Lecture on ENCODE & junk DNA (Graur, Decembe...Update version of the SMBE/SESBE Lecture on ENCODE & junk DNA (Graur, Decembe...
Update version of the SMBE/SESBE Lecture on ENCODE & junk DNA (Graur, Decembe...
Dan Graur
 
Presentacion estrella rural
Presentacion estrella ruralPresentacion estrella rural
Presentacion estrella rural
Juan Andres Martin Marin
 
Introduction to customer success by Guy Nirpaz @ Totango
Introduction to customer success  by Guy Nirpaz @ TotangoIntroduction to customer success  by Guy Nirpaz @ Totango
Introduction to customer success by Guy Nirpaz @ Totango
CEO Quest
 
インクルーシブ教育システムの構築に向けたスクールワイドな支援モデルの可能性
インクルーシブ教育システムの構築に向けたスクールワイドな支援モデルの可能性インクルーシブ教育システムの構築に向けたスクールワイドな支援モデルの可能性
インクルーシブ教育システムの構築に向けたスクールワイドな支援モデルの可能性
Akina Noguchi
 
White paper on french companies in india
White paper on french companies in indiaWhite paper on french companies in india
White paper on french companies in india
Federation of Indian Chambers of Commerce & Industry (FICCI)
 
Fc - 5 fortes motivos meninas aprenderem a programar já
Fc - 5 fortes motivos meninas aprenderem a programar jáFc - 5 fortes motivos meninas aprenderem a programar já
Fc - 5 fortes motivos meninas aprenderem a programar já
Jayme Nigri
 
仕事で使うF#
仕事で使うF#仕事で使うF#
仕事で使うF#
bleis tift
 
Pieredze daudzdzīvokļu dzīvojamo māju siltināšanā
Pieredze daudzdzīvokļu dzīvojamo māju siltināšanāPieredze daudzdzīvokļu dzīvojamo māju siltināšanā
Pieredze daudzdzīvokļu dzīvojamo māju siltināšanā
Ekonomikas ministrija/ Dzīvo siltāk
 
ปรัชญากับวิถีชีวิต
ปรัชญากับวิถีชีวิตปรัชญากับวิถีชีวิต
ปรัชญากับวิถีชีวิต
Padvee Academy
 
How *NOT* to firmware
How *NOT* to firmwareHow *NOT* to firmware
How *NOT* to firmware
Amit Serper
 
1ST YEAR Infographics about team sport
 1ST YEAR Infographics about team sport 1ST YEAR Infographics about team sport
1ST YEAR Infographics about team sport
Ciclos Formativos
 
Making Story Apps - The Art of Little Red Riding Hood
Making Story Apps - The Art of Little Red Riding HoodMaking Story Apps - The Art of Little Red Riding Hood
Making Story Apps - The Art of Little Red Riding Hood
edatnosycrow
 
D3 in Jupyter : PyData NYC 2015
D3 in Jupyter : PyData NYC 2015D3 in Jupyter : PyData NYC 2015
D3 in Jupyter : PyData NYC 2015
Brian Coffey
 
Capítol 1 música amagada
Capítol 1 música amagadaCapítol 1 música amagada
Capítol 1 música amagada
Joanprofe
 
Microservices. The good, the bad and the ugly.
Microservices. The good, the bad and the ugly.Microservices. The good, the bad and the ugly.
Microservices. The good, the bad and the ugly.
Sander Hoogendoorn
 
「民進党ゆるキャラ総選挙」人気を予測しました
「民進党ゆるキャラ総選挙」人気を予測しました「民進党ゆるキャラ総選挙」人気を予測しました
「民進党ゆるキャラ総選挙」人気を予測しました
Toshihisa Tanaka
 
Update version of the SMBE/SESBE Lecture on ENCODE & junk DNA (Graur, Decembe...
Update version of the SMBE/SESBE Lecture on ENCODE & junk DNA (Graur, Decembe...Update version of the SMBE/SESBE Lecture on ENCODE & junk DNA (Graur, Decembe...
Update version of the SMBE/SESBE Lecture on ENCODE & junk DNA (Graur, Decembe...
Dan Graur
 
Introduction to customer success by Guy Nirpaz @ Totango
Introduction to customer success  by Guy Nirpaz @ TotangoIntroduction to customer success  by Guy Nirpaz @ Totango
Introduction to customer success by Guy Nirpaz @ Totango
CEO Quest
 
インクルーシブ教育システムの構築に向けたスクールワイドな支援モデルの可能性
インクルーシブ教育システムの構築に向けたスクールワイドな支援モデルの可能性インクルーシブ教育システムの構築に向けたスクールワイドな支援モデルの可能性
インクルーシブ教育システムの構築に向けたスクールワイドな支援モデルの可能性
Akina Noguchi
 
Fc - 5 fortes motivos meninas aprenderem a programar já
Fc - 5 fortes motivos meninas aprenderem a programar jáFc - 5 fortes motivos meninas aprenderem a programar já
Fc - 5 fortes motivos meninas aprenderem a programar já
Jayme Nigri
 
仕事で使うF#
仕事で使うF#仕事で使うF#
仕事で使うF#
bleis tift
 
ปรัชญากับวิถีชีวิต
ปรัชญากับวิถีชีวิตปรัชญากับวิถีชีวิต
ปรัชญากับวิถีชีวิต
Padvee Academy
 
How *NOT* to firmware
How *NOT* to firmwareHow *NOT* to firmware
How *NOT* to firmware
Amit Serper
 
1ST YEAR Infographics about team sport
 1ST YEAR Infographics about team sport 1ST YEAR Infographics about team sport
1ST YEAR Infographics about team sport
Ciclos Formativos
 
Making Story Apps - The Art of Little Red Riding Hood
Making Story Apps - The Art of Little Red Riding HoodMaking Story Apps - The Art of Little Red Riding Hood
Making Story Apps - The Art of Little Red Riding Hood
edatnosycrow
 
Ad

Similar to Jupyter Kernel: How to Speak in Another Language (20)

05 python.pdf
05 python.pdf05 python.pdf
05 python.pdf
SugumarSarDurai
 
Building custom kernels for IPython
Building custom kernels for IPythonBuilding custom kernels for IPython
Building custom kernels for IPython
Narahari (Hari) Allamraju
 
Python @ PiTech - March 2009
Python @ PiTech - March 2009Python @ PiTech - March 2009
Python @ PiTech - March 2009
tudorprodan
 
Hello World! with Python
Hello World! with PythonHello World! with Python
Hello World! with Python
Dhanashree Prasad
 
A Jupyter kernel for Scala and Apache Spark.pdf
A Jupyter kernel for Scala and Apache Spark.pdfA Jupyter kernel for Scala and Apache Spark.pdf
A Jupyter kernel for Scala and Apache Spark.pdf
Luciano Resende
 
Jupyter Enterprise Gateway Overview
Jupyter Enterprise Gateway OverviewJupyter Enterprise Gateway Overview
Jupyter Enterprise Gateway Overview
Luciano Resende
 
Getting Started with Python
Getting Started with PythonGetting Started with Python
Getting Started with Python
Sankhya_Analytics
 
Building analytical microservices powered by jupyter kernels
Building analytical microservices powered by jupyter kernelsBuilding analytical microservices powered by jupyter kernels
Building analytical microservices powered by jupyter kernels
Luciano Resende
 
Jupyter con meetup extended jupyter kernel gateway
Jupyter con meetup   extended jupyter kernel gatewayJupyter con meetup   extended jupyter kernel gateway
Jupyter con meetup extended jupyter kernel gateway
Luciano Resende
 
Luciano Resende - Scaling Big Data Interactive Workloads across Kubernetes Cl...
Luciano Resende - Scaling Big Data Interactive Workloads across Kubernetes Cl...Luciano Resende - Scaling Big Data Interactive Workloads across Kubernetes Cl...
Luciano Resende - Scaling Big Data Interactive Workloads across Kubernetes Cl...
Codemotion
 
Data science apps powered by Jupyter Notebooks
Data science apps powered by Jupyter NotebooksData science apps powered by Jupyter Notebooks
Data science apps powered by Jupyter Notebooks
Natalino Busa
 
Python 3.5: An agile, general-purpose development language.
Python 3.5: An agile, general-purpose development language.Python 3.5: An agile, general-purpose development language.
Python 3.5: An agile, general-purpose development language.
Carlos Miguel Ferreira
 
Python final presentation kirti ppt1
Python final presentation kirti ppt1Python final presentation kirti ppt1
Python final presentation kirti ppt1
Kirti Verma
 
Python with dataScience
Python with dataSciencePython with dataScience
Python with dataScience
shri ram murti smarak college of engineering,technology & research
 
Python 1
Python 1Python 1
Python 1
Jainul Musani
 
Easy contributable internationalization process with Sphinx @ PyCon APAC 2016
Easy contributable internationalization process with Sphinx @ PyCon APAC 2016Easy contributable internationalization process with Sphinx @ PyCon APAC 2016
Easy contributable internationalization process with Sphinx @ PyCon APAC 2016
Takayuki Shimizukawa
 
The Five Stages of Enterprise Jupyter Deployment
The Five Stages of Enterprise Jupyter DeploymentThe Five Stages of Enterprise Jupyter Deployment
The Five Stages of Enterprise Jupyter Deployment
Frederick Reiss
 
DAYdats science unit 1 1.pdf
DAYdats science unit 1             1.pdfDAYdats science unit 1             1.pdf
DAYdats science unit 1 1.pdf
vikashyadav23235277
 
python presntation 2.pptx
python presntation 2.pptxpython presntation 2.pptx
python presntation 2.pptx
Arpittripathi45
 
Python @ PiTech - March 2009
Python @ PiTech - March 2009Python @ PiTech - March 2009
Python @ PiTech - March 2009
tudorprodan
 
A Jupyter kernel for Scala and Apache Spark.pdf
A Jupyter kernel for Scala and Apache Spark.pdfA Jupyter kernel for Scala and Apache Spark.pdf
A Jupyter kernel for Scala and Apache Spark.pdf
Luciano Resende
 
Jupyter Enterprise Gateway Overview
Jupyter Enterprise Gateway OverviewJupyter Enterprise Gateway Overview
Jupyter Enterprise Gateway Overview
Luciano Resende
 
Building analytical microservices powered by jupyter kernels
Building analytical microservices powered by jupyter kernelsBuilding analytical microservices powered by jupyter kernels
Building analytical microservices powered by jupyter kernels
Luciano Resende
 
Jupyter con meetup extended jupyter kernel gateway
Jupyter con meetup   extended jupyter kernel gatewayJupyter con meetup   extended jupyter kernel gateway
Jupyter con meetup extended jupyter kernel gateway
Luciano Resende
 
Luciano Resende - Scaling Big Data Interactive Workloads across Kubernetes Cl...
Luciano Resende - Scaling Big Data Interactive Workloads across Kubernetes Cl...Luciano Resende - Scaling Big Data Interactive Workloads across Kubernetes Cl...
Luciano Resende - Scaling Big Data Interactive Workloads across Kubernetes Cl...
Codemotion
 
Data science apps powered by Jupyter Notebooks
Data science apps powered by Jupyter NotebooksData science apps powered by Jupyter Notebooks
Data science apps powered by Jupyter Notebooks
Natalino Busa
 
Python 3.5: An agile, general-purpose development language.
Python 3.5: An agile, general-purpose development language.Python 3.5: An agile, general-purpose development language.
Python 3.5: An agile, general-purpose development language.
Carlos Miguel Ferreira
 
Python final presentation kirti ppt1
Python final presentation kirti ppt1Python final presentation kirti ppt1
Python final presentation kirti ppt1
Kirti Verma
 
Easy contributable internationalization process with Sphinx @ PyCon APAC 2016
Easy contributable internationalization process with Sphinx @ PyCon APAC 2016Easy contributable internationalization process with Sphinx @ PyCon APAC 2016
Easy contributable internationalization process with Sphinx @ PyCon APAC 2016
Takayuki Shimizukawa
 
The Five Stages of Enterprise Jupyter Deployment
The Five Stages of Enterprise Jupyter DeploymentThe Five Stages of Enterprise Jupyter Deployment
The Five Stages of Enterprise Jupyter Deployment
Frederick Reiss
 
python presntation 2.pptx
python presntation 2.pptxpython presntation 2.pptx
python presntation 2.pptx
Arpittripathi45
 
Ad

More from Wey-Han Liaw (13)

Python 官方文件中文翻譯專案 - 探討翻譯專案的貢獻流程
Python 官方文件中文翻譯專案 - 探討翻譯專案的貢獻流程Python 官方文件中文翻譯專案 - 探討翻譯專案的貢獻流程
Python 官方文件中文翻譯專案 - 探討翻譯專案的貢獻流程
Wey-Han Liaw
 
Educational Code Reviews
Educational Code ReviewsEducational Code Reviews
Educational Code Reviews
Wey-Han Liaw
 
Learning: Being as a Homeschooled Student
Learning: Being as a Homeschooled StudentLearning: Being as a Homeschooled Student
Learning: Being as a Homeschooled Student
Wey-Han Liaw
 
Udacity Taipei meetup #2 如何駕馭線上課程
Udacity Taipei meetup #2 如何駕馭線上課程Udacity Taipei meetup #2 如何駕馭線上課程
Udacity Taipei meetup #2 如何駕馭線上課程
Wey-Han Liaw
 
Python自學從你小時候開始
Python自學從你小時候開始Python自學從你小時候開始
Python自學從你小時候開始
Wey-Han Liaw
 
Meteor Taipei 2016 January talk -- Mantra
Meteor Taipei 2016 January talk -- MantraMeteor Taipei 2016 January talk -- Mantra
Meteor Taipei 2016 January talk -- Mantra
Wey-Han Liaw
 
Understanding Meteor Stack
Understanding Meteor StackUnderstanding Meteor Stack
Understanding Meteor Stack
Wey-Han Liaw
 
Async, await
Async, awaitAsync, await
Async, await
Wey-Han Liaw
 
SITCON summer camp 2015: Adrian說他那身邊的一堆社群
SITCON summer camp 2015: Adrian說他那身邊的一堆社群SITCON summer camp 2015: Adrian說他那身邊的一堆社群
SITCON summer camp 2015: Adrian說他那身邊的一堆社群
Wey-Han Liaw
 
NCCU 0617 talk
NCCU 0617 talkNCCU 0617 talk
NCCU 0617 talk
Wey-Han Liaw
 
Implementation of Rubik's Cube Formula in PyCuber
Implementation of Rubik's Cube Formula in PyCuberImplementation of Rubik's Cube Formula in PyCuber
Implementation of Rubik's Cube Formula in PyCuber
Wey-Han Liaw
 
PyCon 2015 Crawler Tutorial Explain Cookies
PyCon 2015 Crawler Tutorial Explain CookiesPyCon 2015 Crawler Tutorial Explain Cookies
PyCon 2015 Crawler Tutorial Explain Cookies
Wey-Han Liaw
 
PyCon 2015 Crawler Tutorial Explain Encoding
PyCon 2015 Crawler Tutorial Explain EncodingPyCon 2015 Crawler Tutorial Explain Encoding
PyCon 2015 Crawler Tutorial Explain Encoding
Wey-Han Liaw
 
Python 官方文件中文翻譯專案 - 探討翻譯專案的貢獻流程
Python 官方文件中文翻譯專案 - 探討翻譯專案的貢獻流程Python 官方文件中文翻譯專案 - 探討翻譯專案的貢獻流程
Python 官方文件中文翻譯專案 - 探討翻譯專案的貢獻流程
Wey-Han Liaw
 
Educational Code Reviews
Educational Code ReviewsEducational Code Reviews
Educational Code Reviews
Wey-Han Liaw
 
Learning: Being as a Homeschooled Student
Learning: Being as a Homeschooled StudentLearning: Being as a Homeschooled Student
Learning: Being as a Homeschooled Student
Wey-Han Liaw
 
Udacity Taipei meetup #2 如何駕馭線上課程
Udacity Taipei meetup #2 如何駕馭線上課程Udacity Taipei meetup #2 如何駕馭線上課程
Udacity Taipei meetup #2 如何駕馭線上課程
Wey-Han Liaw
 
Python自學從你小時候開始
Python自學從你小時候開始Python自學從你小時候開始
Python自學從你小時候開始
Wey-Han Liaw
 
Meteor Taipei 2016 January talk -- Mantra
Meteor Taipei 2016 January talk -- MantraMeteor Taipei 2016 January talk -- Mantra
Meteor Taipei 2016 January talk -- Mantra
Wey-Han Liaw
 
Understanding Meteor Stack
Understanding Meteor StackUnderstanding Meteor Stack
Understanding Meteor Stack
Wey-Han Liaw
 
SITCON summer camp 2015: Adrian說他那身邊的一堆社群
SITCON summer camp 2015: Adrian說他那身邊的一堆社群SITCON summer camp 2015: Adrian說他那身邊的一堆社群
SITCON summer camp 2015: Adrian說他那身邊的一堆社群
Wey-Han Liaw
 
Implementation of Rubik's Cube Formula in PyCuber
Implementation of Rubik's Cube Formula in PyCuberImplementation of Rubik's Cube Formula in PyCuber
Implementation of Rubik's Cube Formula in PyCuber
Wey-Han Liaw
 
PyCon 2015 Crawler Tutorial Explain Cookies
PyCon 2015 Crawler Tutorial Explain CookiesPyCon 2015 Crawler Tutorial Explain Cookies
PyCon 2015 Crawler Tutorial Explain Cookies
Wey-Han Liaw
 
PyCon 2015 Crawler Tutorial Explain Encoding
PyCon 2015 Crawler Tutorial Explain EncodingPyCon 2015 Crawler Tutorial Explain Encoding
PyCon 2015 Crawler Tutorial Explain Encoding
Wey-Han Liaw
 

Recently uploaded (20)

Google DeepMind’s New AI Coding Agent AlphaEvolve.pdf
Google DeepMind’s New AI Coding Agent AlphaEvolve.pdfGoogle DeepMind’s New AI Coding Agent AlphaEvolve.pdf
Google DeepMind’s New AI Coding Agent AlphaEvolve.pdf
derrickjswork
 
Top Hyper-Casual Game Studio Services
Top  Hyper-Casual  Game  Studio ServicesTop  Hyper-Casual  Game  Studio Services
Top Hyper-Casual Game Studio Services
Nova Carter
 
Developing Product-Behavior Fit: UX Research in Product Development by Krysta...
Developing Product-Behavior Fit: UX Research in Product Development by Krysta...Developing Product-Behavior Fit: UX Research in Product Development by Krysta...
Developing Product-Behavior Fit: UX Research in Product Development by Krysta...
UXPA Boston
 
Who's choice? Making decisions with and about Artificial Intelligence, Keele ...
Who's choice? Making decisions with and about Artificial Intelligence, Keele ...Who's choice? Making decisions with and about Artificial Intelligence, Keele ...
Who's choice? Making decisions with and about Artificial Intelligence, Keele ...
Alan Dix
 
Building the Customer Identity Community, Together.pdf
Building the Customer Identity Community, Together.pdfBuilding the Customer Identity Community, Together.pdf
Building the Customer Identity Community, Together.pdf
Cheryl Hung
 
AI-proof your career by Olivier Vroom and David WIlliamson
AI-proof your career by Olivier Vroom and David WIlliamsonAI-proof your career by Olivier Vroom and David WIlliamson
AI-proof your career by Olivier Vroom and David WIlliamson
UXPA Boston
 
Kit-Works Team Study_아직도 Dockefile.pdf_김성호
Kit-Works Team Study_아직도 Dockefile.pdf_김성호Kit-Works Team Study_아직도 Dockefile.pdf_김성호
Kit-Works Team Study_아직도 Dockefile.pdf_김성호
Wonjun Hwang
 
Building Connected Agents: An Overview of Google's ADK and A2A Protocol
Building Connected Agents:  An Overview of Google's ADK and A2A ProtocolBuilding Connected Agents:  An Overview of Google's ADK and A2A Protocol
Building Connected Agents: An Overview of Google's ADK and A2A Protocol
Suresh Peiris
 
DNF 2.0 Implementations Challenges in Nepal
DNF 2.0 Implementations Challenges in NepalDNF 2.0 Implementations Challenges in Nepal
DNF 2.0 Implementations Challenges in Nepal
ICT Frame Magazine Pvt. Ltd.
 
Build With AI - In Person Session Slides.pdf
Build With AI - In Person Session Slides.pdfBuild With AI - In Person Session Slides.pdf
Build With AI - In Person Session Slides.pdf
Google Developer Group - Harare
 
In-App Guidance_ Save Enterprises Millions in Training & IT Costs.pptx
In-App Guidance_ Save Enterprises Millions in Training & IT Costs.pptxIn-App Guidance_ Save Enterprises Millions in Training & IT Costs.pptx
In-App Guidance_ Save Enterprises Millions in Training & IT Costs.pptx
aptyai
 
How Top Companies Benefit from Outsourcing
How Top Companies Benefit from OutsourcingHow Top Companies Benefit from Outsourcing
How Top Companies Benefit from Outsourcing
Nascenture
 
Building a research repository that works by Clare Cady
Building a research repository that works by Clare CadyBuilding a research repository that works by Clare Cady
Building a research repository that works by Clare Cady
UXPA Boston
 
Refactoring meta-rauc-community: Cleaner Code, Better Maintenance, More Machines
Refactoring meta-rauc-community: Cleaner Code, Better Maintenance, More MachinesRefactoring meta-rauc-community: Cleaner Code, Better Maintenance, More Machines
Refactoring meta-rauc-community: Cleaner Code, Better Maintenance, More Machines
Leon Anavi
 
May Patch Tuesday
May Patch TuesdayMay Patch Tuesday
May Patch Tuesday
Ivanti
 
DevOpsDays SLC - Platform Engineers are Product Managers.pptx
DevOpsDays SLC - Platform Engineers are Product Managers.pptxDevOpsDays SLC - Platform Engineers are Product Managers.pptx
DevOpsDays SLC - Platform Engineers are Product Managers.pptx
Justin Reock
 
論文紹介:"InfLoRA: Interference-Free Low-Rank Adaptation for Continual Learning" ...
論文紹介:"InfLoRA: Interference-Free Low-Rank Adaptation for Continual Learning" ...論文紹介:"InfLoRA: Interference-Free Low-Rank Adaptation for Continual Learning" ...
論文紹介:"InfLoRA: Interference-Free Low-Rank Adaptation for Continual Learning" ...
Toru Tamaki
 
ICDCC 2025: Securing Agentic AI - Eryk Budi Pratama.pdf
ICDCC 2025: Securing Agentic AI - Eryk Budi Pratama.pdfICDCC 2025: Securing Agentic AI - Eryk Budi Pratama.pdf
ICDCC 2025: Securing Agentic AI - Eryk Budi Pratama.pdf
Eryk Budi Pratama
 
Multi-Agent AI Systems: Architectures & Communication (MCP and A2A)
Multi-Agent AI Systems: Architectures & Communication (MCP and A2A)Multi-Agent AI Systems: Architectures & Communication (MCP and A2A)
Multi-Agent AI Systems: Architectures & Communication (MCP and A2A)
HusseinMalikMammadli
 
Right to liberty and security of a person.pdf
Right to liberty and security of a person.pdfRight to liberty and security of a person.pdf
Right to liberty and security of a person.pdf
danielbraico197
 
Google DeepMind’s New AI Coding Agent AlphaEvolve.pdf
Google DeepMind’s New AI Coding Agent AlphaEvolve.pdfGoogle DeepMind’s New AI Coding Agent AlphaEvolve.pdf
Google DeepMind’s New AI Coding Agent AlphaEvolve.pdf
derrickjswork
 
Top Hyper-Casual Game Studio Services
Top  Hyper-Casual  Game  Studio ServicesTop  Hyper-Casual  Game  Studio Services
Top Hyper-Casual Game Studio Services
Nova Carter
 
Developing Product-Behavior Fit: UX Research in Product Development by Krysta...
Developing Product-Behavior Fit: UX Research in Product Development by Krysta...Developing Product-Behavior Fit: UX Research in Product Development by Krysta...
Developing Product-Behavior Fit: UX Research in Product Development by Krysta...
UXPA Boston
 
Who's choice? Making decisions with and about Artificial Intelligence, Keele ...
Who's choice? Making decisions with and about Artificial Intelligence, Keele ...Who's choice? Making decisions with and about Artificial Intelligence, Keele ...
Who's choice? Making decisions with and about Artificial Intelligence, Keele ...
Alan Dix
 
Building the Customer Identity Community, Together.pdf
Building the Customer Identity Community, Together.pdfBuilding the Customer Identity Community, Together.pdf
Building the Customer Identity Community, Together.pdf
Cheryl Hung
 
AI-proof your career by Olivier Vroom and David WIlliamson
AI-proof your career by Olivier Vroom and David WIlliamsonAI-proof your career by Olivier Vroom and David WIlliamson
AI-proof your career by Olivier Vroom and David WIlliamson
UXPA Boston
 
Kit-Works Team Study_아직도 Dockefile.pdf_김성호
Kit-Works Team Study_아직도 Dockefile.pdf_김성호Kit-Works Team Study_아직도 Dockefile.pdf_김성호
Kit-Works Team Study_아직도 Dockefile.pdf_김성호
Wonjun Hwang
 
Building Connected Agents: An Overview of Google's ADK and A2A Protocol
Building Connected Agents:  An Overview of Google's ADK and A2A ProtocolBuilding Connected Agents:  An Overview of Google's ADK and A2A Protocol
Building Connected Agents: An Overview of Google's ADK and A2A Protocol
Suresh Peiris
 
In-App Guidance_ Save Enterprises Millions in Training & IT Costs.pptx
In-App Guidance_ Save Enterprises Millions in Training & IT Costs.pptxIn-App Guidance_ Save Enterprises Millions in Training & IT Costs.pptx
In-App Guidance_ Save Enterprises Millions in Training & IT Costs.pptx
aptyai
 
How Top Companies Benefit from Outsourcing
How Top Companies Benefit from OutsourcingHow Top Companies Benefit from Outsourcing
How Top Companies Benefit from Outsourcing
Nascenture
 
Building a research repository that works by Clare Cady
Building a research repository that works by Clare CadyBuilding a research repository that works by Clare Cady
Building a research repository that works by Clare Cady
UXPA Boston
 
Refactoring meta-rauc-community: Cleaner Code, Better Maintenance, More Machines
Refactoring meta-rauc-community: Cleaner Code, Better Maintenance, More MachinesRefactoring meta-rauc-community: Cleaner Code, Better Maintenance, More Machines
Refactoring meta-rauc-community: Cleaner Code, Better Maintenance, More Machines
Leon Anavi
 
May Patch Tuesday
May Patch TuesdayMay Patch Tuesday
May Patch Tuesday
Ivanti
 
DevOpsDays SLC - Platform Engineers are Product Managers.pptx
DevOpsDays SLC - Platform Engineers are Product Managers.pptxDevOpsDays SLC - Platform Engineers are Product Managers.pptx
DevOpsDays SLC - Platform Engineers are Product Managers.pptx
Justin Reock
 
論文紹介:"InfLoRA: Interference-Free Low-Rank Adaptation for Continual Learning" ...
論文紹介:"InfLoRA: Interference-Free Low-Rank Adaptation for Continual Learning" ...論文紹介:"InfLoRA: Interference-Free Low-Rank Adaptation for Continual Learning" ...
論文紹介:"InfLoRA: Interference-Free Low-Rank Adaptation for Continual Learning" ...
Toru Tamaki
 
ICDCC 2025: Securing Agentic AI - Eryk Budi Pratama.pdf
ICDCC 2025: Securing Agentic AI - Eryk Budi Pratama.pdfICDCC 2025: Securing Agentic AI - Eryk Budi Pratama.pdf
ICDCC 2025: Securing Agentic AI - Eryk Budi Pratama.pdf
Eryk Budi Pratama
 
Multi-Agent AI Systems: Architectures & Communication (MCP and A2A)
Multi-Agent AI Systems: Architectures & Communication (MCP and A2A)Multi-Agent AI Systems: Architectures & Communication (MCP and A2A)
Multi-Agent AI Systems: Architectures & Communication (MCP and A2A)
HusseinMalikMammadli
 
Right to liberty and security of a person.pdf
Right to liberty and security of a person.pdfRight to liberty and security of a person.pdf
Right to liberty and security of a person.pdf
danielbraico197
 

Jupyter Kernel: How to Speak in Another Language

  翻译: