Submit Search
Upload
Python と Docker で mypy Playground を開発した話
•
5 likes
•
1,871 views
Yusuke Miyazaki
Follow
PyCon mini Osaka 2018 https://osaka.pycon.jp
Read less
Read more
Software
Report
Share
Report
Share
1 of 37
Download now
Download to read offline
Recommended
OSS AWS 핸즈온 강의
OSS AWS 핸즈온 강의
Juhong Jung
Fabric
Fabric
JS Lee
Infra@LINE_Chris
Infra@LINE_Chris
LINE_Engineer
Pimp my dev box (Friday Training at Itnig)
Pimp my dev box (Friday Training at Itnig)
itnig
Going All-In With Go For CLI Apps
Going All-In With Go For CLI Apps
Tom Elliott
How to build and distribute CLI tool in 15 minutes with Golang
How to build and distribute CLI tool in 15 minutes with Golang
Kohei Kimura
Git - a overview for beginners
Git - a overview for beginners
Anton Pirker
Starting python
Starting python
Kentaro Kawano
Recommended
OSS AWS 핸즈온 강의
OSS AWS 핸즈온 강의
Juhong Jung
Fabric
Fabric
JS Lee
Infra@LINE_Chris
Infra@LINE_Chris
LINE_Engineer
Pimp my dev box (Friday Training at Itnig)
Pimp my dev box (Friday Training at Itnig)
itnig
Going All-In With Go For CLI Apps
Going All-In With Go For CLI Apps
Tom Elliott
How to build and distribute CLI tool in 15 minutes with Golang
How to build and distribute CLI tool in 15 minutes with Golang
Kohei Kimura
Git - a overview for beginners
Git - a overview for beginners
Anton Pirker
Starting python
Starting python
Kentaro Kawano
SwiftyGPIO
SwiftyGPIO
CocoaHeads France
2 docker engine_hands_on
2 docker engine_hands_on
FEG
Docker + Arm - Multi-arch builds with Docker `buildx`
Docker + Arm - Multi-arch builds with Docker `buildx`
Elton Stoneman
Build Android OS on OSX
Build Android OS on OSX
Pietro Alberto Rossi
Why ruby
Why ruby
Kenneth Kalmer
Linux containers
Linux containers
Alex Gonzalez
Let's talk about the Ubuntu 18.04 LTS Roadmap!
Let's talk about the Ubuntu 18.04 LTS Roadmap!
Dustin Kirkland
Full-stack go with GopherJS
Full-stack go with GopherJS
Poga Po
Git 개념 및 사용법
Git 개념 및 사용법
Lee Yongmin
Git! Why? How?
Git! Why? How?
Daniel Kummer
用 Bitbar Tool 寫 Script 自動擷取外幣
用 Bitbar Tool 寫 Script 自動擷取外幣
Win Yu
Ubuntu 17.10
Ubuntu 17.10
Maki Turki
PuppetConf 2017: State of Union: Containers at Puppet- Gert Drapers, Puppet
PuppetConf 2017: State of Union: Containers at Puppet- Gert Drapers, Puppet
Puppet
Ansible PyWAW
Ansible PyWAW
gnosek
20160929 android taipei Sonatype nexus on amazon ec2
20160929 android taipei Sonatype nexus on amazon ec2
TSE-JU LIN(Louis)
Docker 入門 Introduction to Docker
Docker 入門 Introduction to Docker
Genchi Lu
Collaboration With Git and GitHub
Collaboration With Git and GitHub
Alec Clews
Complementing Docker with Puppet
Complementing Docker with Puppet
Docker, Inc.
Introduction to Sumatra
Introduction to Sumatra
Felix Z. Hoffmann
Deis, a PaaS built with Docker, Docker Meetup Sao Paulo #3 @Wayra
Deis, a PaaS built with Docker, Docker Meetup Sao Paulo #3 @Wayra
Leo Lorieri
Getting Started with Go
Getting Started with Go
Steven Francia
リバースプロキシでwebサーバを集約ついでにdocker化しよう
リバースプロキシでwebサーバを集約ついでにdocker化しよう
Yasunori Kuji
More Related Content
What's hot
SwiftyGPIO
SwiftyGPIO
CocoaHeads France
2 docker engine_hands_on
2 docker engine_hands_on
FEG
Docker + Arm - Multi-arch builds with Docker `buildx`
Docker + Arm - Multi-arch builds with Docker `buildx`
Elton Stoneman
Build Android OS on OSX
Build Android OS on OSX
Pietro Alberto Rossi
Why ruby
Why ruby
Kenneth Kalmer
Linux containers
Linux containers
Alex Gonzalez
Let's talk about the Ubuntu 18.04 LTS Roadmap!
Let's talk about the Ubuntu 18.04 LTS Roadmap!
Dustin Kirkland
Full-stack go with GopherJS
Full-stack go with GopherJS
Poga Po
Git 개념 및 사용법
Git 개념 및 사용법
Lee Yongmin
Git! Why? How?
Git! Why? How?
Daniel Kummer
用 Bitbar Tool 寫 Script 自動擷取外幣
用 Bitbar Tool 寫 Script 自動擷取外幣
Win Yu
Ubuntu 17.10
Ubuntu 17.10
Maki Turki
PuppetConf 2017: State of Union: Containers at Puppet- Gert Drapers, Puppet
PuppetConf 2017: State of Union: Containers at Puppet- Gert Drapers, Puppet
Puppet
Ansible PyWAW
Ansible PyWAW
gnosek
20160929 android taipei Sonatype nexus on amazon ec2
20160929 android taipei Sonatype nexus on amazon ec2
TSE-JU LIN(Louis)
Docker 入門 Introduction to Docker
Docker 入門 Introduction to Docker
Genchi Lu
Collaboration With Git and GitHub
Collaboration With Git and GitHub
Alec Clews
Complementing Docker with Puppet
Complementing Docker with Puppet
Docker, Inc.
Introduction to Sumatra
Introduction to Sumatra
Felix Z. Hoffmann
Deis, a PaaS built with Docker, Docker Meetup Sao Paulo #3 @Wayra
Deis, a PaaS built with Docker, Docker Meetup Sao Paulo #3 @Wayra
Leo Lorieri
What's hot
(20)
SwiftyGPIO
SwiftyGPIO
2 docker engine_hands_on
2 docker engine_hands_on
Docker + Arm - Multi-arch builds with Docker `buildx`
Docker + Arm - Multi-arch builds with Docker `buildx`
Build Android OS on OSX
Build Android OS on OSX
Why ruby
Why ruby
Linux containers
Linux containers
Let's talk about the Ubuntu 18.04 LTS Roadmap!
Let's talk about the Ubuntu 18.04 LTS Roadmap!
Full-stack go with GopherJS
Full-stack go with GopherJS
Git 개념 및 사용법
Git 개념 및 사용법
Git! Why? How?
Git! Why? How?
用 Bitbar Tool 寫 Script 自動擷取外幣
用 Bitbar Tool 寫 Script 自動擷取外幣
Ubuntu 17.10
Ubuntu 17.10
PuppetConf 2017: State of Union: Containers at Puppet- Gert Drapers, Puppet
PuppetConf 2017: State of Union: Containers at Puppet- Gert Drapers, Puppet
Ansible PyWAW
Ansible PyWAW
20160929 android taipei Sonatype nexus on amazon ec2
20160929 android taipei Sonatype nexus on amazon ec2
Docker 入門 Introduction to Docker
Docker 入門 Introduction to Docker
Collaboration With Git and GitHub
Collaboration With Git and GitHub
Complementing Docker with Puppet
Complementing Docker with Puppet
Introduction to Sumatra
Introduction to Sumatra
Deis, a PaaS built with Docker, Docker Meetup Sao Paulo #3 @Wayra
Deis, a PaaS built with Docker, Docker Meetup Sao Paulo #3 @Wayra
Similar to Python と Docker で mypy Playground を開発した話
Getting Started with Go
Getting Started with Go
Steven Francia
リバースプロキシでwebサーバを集約ついでにdocker化しよう
リバースプロキシでwebサーバを集約ついでにdocker化しよう
Yasunori Kuji
Giving back with GitHub - Putting the Open Source back in iOS
Giving back with GitHub - Putting the Open Source back in iOS
Madhava Jay
Learning Python with Minecraft and my Dad - PyOhio 2018
Learning Python with Minecraft and my Dad - PyOhio 2018
Hank Preston
CPAN 模組二三事
CPAN 模組二三事
Lin Yo-An
Hello world
Hello world
Brad Montgomery
Docker for Developers: Dev, Test, Deploy @ BucksCo Devops at MeetMe HQ
Docker for Developers: Dev, Test, Deploy @ BucksCo Devops at MeetMe HQ
Erica Windisch
Codetainer: a Docker-based browser code 'sandbox'
Codetainer: a Docker-based browser code 'sandbox'
Jen Andre
Offensive Python for Pentesting
Offensive Python for Pentesting
Mike Felch
On the Edge Systems Administration with Golang
On the Edge Systems Administration with Golang
Chris McEniry
スマートフォン勉強会@関東 #11 どう考えてもdisconなものをiPhoneに移植してみた
スマートフォン勉強会@関東 #11 どう考えてもdisconなものをiPhoneに移植してみた
Taro Matsuzawa
Introduction to docker
Introduction to docker
Wei-Ting Kuo
Unleash your inner console cowboy
Unleash your inner console cowboy
Kenneth Geisshirt
はじめてのSymfony2
はじめてのSymfony2
Tomohiro MITSUMUNE
Dependencies Managers in C/C++. Using stdcpp 2014
Dependencies Managers in C/C++. Using stdcpp 2014
biicode
PyParis 2017 / Writing a C Python extension in 2017, Jean-Baptiste Aviat
PyParis 2017 / Writing a C Python extension in 2017, Jean-Baptiste Aviat
Pôle Systematic Paris-Region
Ci for i-os-codemash-01.2013
Ci for i-os-codemash-01.2013
Kevin Munc
もうひとつのコンテナ実行環境 runq のご紹介
もうひとつのコンテナ実行環境 runq のご紹介
Takehiko Amano
シェル芸でライフハック(特論)
シェル芸でライフハック(特論)
Yuki Shimazaki
Python于Web 2.0网站的应用 - QCon Beijing 2010
Python于Web 2.0网站的应用 - QCon Beijing 2010
Qiangning Hong
Similar to Python と Docker で mypy Playground を開発した話
(20)
Getting Started with Go
Getting Started with Go
リバースプロキシでwebサーバを集約ついでにdocker化しよう
リバースプロキシでwebサーバを集約ついでにdocker化しよう
Giving back with GitHub - Putting the Open Source back in iOS
Giving back with GitHub - Putting the Open Source back in iOS
Learning Python with Minecraft and my Dad - PyOhio 2018
Learning Python with Minecraft and my Dad - PyOhio 2018
CPAN 模組二三事
CPAN 模組二三事
Hello world
Hello world
Docker for Developers: Dev, Test, Deploy @ BucksCo Devops at MeetMe HQ
Docker for Developers: Dev, Test, Deploy @ BucksCo Devops at MeetMe HQ
Codetainer: a Docker-based browser code 'sandbox'
Codetainer: a Docker-based browser code 'sandbox'
Offensive Python for Pentesting
Offensive Python for Pentesting
On the Edge Systems Administration with Golang
On the Edge Systems Administration with Golang
スマートフォン勉強会@関東 #11 どう考えてもdisconなものをiPhoneに移植してみた
スマートフォン勉強会@関東 #11 どう考えてもdisconなものをiPhoneに移植してみた
Introduction to docker
Introduction to docker
Unleash your inner console cowboy
Unleash your inner console cowboy
はじめてのSymfony2
はじめてのSymfony2
Dependencies Managers in C/C++. Using stdcpp 2014
Dependencies Managers in C/C++. Using stdcpp 2014
PyParis 2017 / Writing a C Python extension in 2017, Jean-Baptiste Aviat
PyParis 2017 / Writing a C Python extension in 2017, Jean-Baptiste Aviat
Ci for i-os-codemash-01.2013
Ci for i-os-codemash-01.2013
もうひとつのコンテナ実行環境 runq のご紹介
もうひとつのコンテナ実行環境 runq のご紹介
シェル芸でライフハック(特論)
シェル芸でライフハック(特論)
Python于Web 2.0网站的应用 - QCon Beijing 2010
Python于Web 2.0网站的应用 - QCon Beijing 2010
More from Yusuke Miyazaki
Dynamic Type Inference for Gradual Hindley–Milner Typing
Dynamic Type Inference for Gradual Hindley–Milner Typing
Yusuke Miyazaki
Introducing wsgi_lineprof / PyCon JP 2017 LT
Introducing wsgi_lineprof / PyCon JP 2017 LT
Yusuke Miyazaki
オープンソースソフトウェア入門
オープンソースソフトウェア入門
Yusuke Miyazaki
型ヒントについて考えよう!
型ヒントについて考えよう!
Yusuke Miyazaki
iot.ymyzk.com の紹介
iot.ymyzk.com の紹介
Yusuke Miyazaki
Django から各種チャットツールに通知するライブラリを作った話
Django から各種チャットツールに通知するライブラリを作った話
Yusuke Miyazaki
iOS 開発のいま (ADF2015 LT会)
iOS 開発のいま (ADF2015 LT会)
Yusuke Miyazaki
iOS 開発のいま (CAMPHOR- x KMC 合同LT会)
iOS 開発のいま (CAMPHOR- x KMC 合同LT会)
Yusuke Miyazaki
Swift の問題点
Swift の問題点
Yusuke Miyazaki
最新の iOS に対応したアプリの開発
最新の iOS に対応したアプリの開発
Yusuke Miyazaki
コンピューターネットワーク入門
コンピューターネットワーク入門
Yusuke Miyazaki
HTML初心者講座
HTML初心者講座
Yusuke Miyazaki
More from Yusuke Miyazaki
(12)
Dynamic Type Inference for Gradual Hindley–Milner Typing
Dynamic Type Inference for Gradual Hindley–Milner Typing
Introducing wsgi_lineprof / PyCon JP 2017 LT
Introducing wsgi_lineprof / PyCon JP 2017 LT
オープンソースソフトウェア入門
オープンソースソフトウェア入門
型ヒントについて考えよう!
型ヒントについて考えよう!
iot.ymyzk.com の紹介
iot.ymyzk.com の紹介
Django から各種チャットツールに通知するライブラリを作った話
Django から各種チャットツールに通知するライブラリを作った話
iOS 開発のいま (ADF2015 LT会)
iOS 開発のいま (ADF2015 LT会)
iOS 開発のいま (CAMPHOR- x KMC 合同LT会)
iOS 開発のいま (CAMPHOR- x KMC 合同LT会)
Swift の問題点
Swift の問題点
最新の iOS に対応したアプリの開発
最新の iOS に対応したアプリの開発
コンピューターネットワーク入門
コンピューターネットワーク入門
HTML初心者講座
HTML初心者講座
Recently uploaded
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
Health
WSO2Con2024 - From Code To Cloud: Fast Track Your Cloud Native Journey with C...
WSO2Con2024 - From Code To Cloud: Fast Track Your Cloud Native Journey with C...
WSO2
Software Quality Assurance Interview Questions
Software Quality Assurance Interview Questions
Arshad QA
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
9953056974 Low Rate Call Girls In Saket, Delhi NCR
VTU technical seminar 8Th Sem on Scikit-learn
VTU technical seminar 8Th Sem on Scikit-learn
AmarnathKambale
WSO2CON2024 - It's time to go Platformless
WSO2CON2024 - It's time to go Platformless
WSO2
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
Steffen Staab
Devoxx UK 2024 - Going serverless with Quarkus, GraalVM native images and AWS...
Devoxx UK 2024 - Going serverless with Quarkus, GraalVM native images and AWS...
Bert Jan Schrijver
%+27788225528 love spells in Knoxville Psychic Readings, Attraction spells,Br...
%+27788225528 love spells in Knoxville Psychic Readings, Attraction spells,Br...
masabamasaba
%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...
%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...
masabamasaba
Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...
Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...
SelfMade bd
Architecture decision records - How not to get lost in the past
Architecture decision records - How not to get lost in the past
Papp Krisztián
WSO2CON 2024 - Does Open Source Still Matter?
WSO2CON 2024 - Does Open Source Still Matter?
WSO2
WSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital Transformation
WSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital Transformation
WSO2
Abortion Pill Prices Tembisa [(+27832195400*)] 🏥 Women's Abortion Clinic in T...
Abortion Pill Prices Tembisa [(+27832195400*)] 🏥 Women's Abortion Clinic in T...
Medical / Health Care (+971588192166) Mifepristone and Misoprostol tablets 200mg
%in Midrand+277-882-255-28 abortion pills for sale in midrand
%in Midrand+277-882-255-28 abortion pills for sale in midrand
masabamasaba
AI & Machine Learning Presentation Template
AI & Machine Learning Presentation Template
Presentation.STUDIO
%in Harare+277-882-255-28 abortion pills for sale in Harare
%in Harare+277-882-255-28 abortion pills for sale in Harare
masabamasaba
tonesoftg
tonesoftg
lanshi9
Define the academic and professional writing..pdf
Define the academic and professional writing..pdf
PearlKirahMaeRagusta1
Recently uploaded
(20)
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
WSO2Con2024 - From Code To Cloud: Fast Track Your Cloud Native Journey with C...
WSO2Con2024 - From Code To Cloud: Fast Track Your Cloud Native Journey with C...
Software Quality Assurance Interview Questions
Software Quality Assurance Interview Questions
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
VTU technical seminar 8Th Sem on Scikit-learn
VTU technical seminar 8Th Sem on Scikit-learn
WSO2CON2024 - It's time to go Platformless
WSO2CON2024 - It's time to go Platformless
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
Devoxx UK 2024 - Going serverless with Quarkus, GraalVM native images and AWS...
Devoxx UK 2024 - Going serverless with Quarkus, GraalVM native images and AWS...
%+27788225528 love spells in Knoxville Psychic Readings, Attraction spells,Br...
%+27788225528 love spells in Knoxville Psychic Readings, Attraction spells,Br...
%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...
%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...
Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...
Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...
Architecture decision records - How not to get lost in the past
Architecture decision records - How not to get lost in the past
WSO2CON 2024 - Does Open Source Still Matter?
WSO2CON 2024 - Does Open Source Still Matter?
WSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital Transformation
WSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital Transformation
Abortion Pill Prices Tembisa [(+27832195400*)] 🏥 Women's Abortion Clinic in T...
Abortion Pill Prices Tembisa [(+27832195400*)] 🏥 Women's Abortion Clinic in T...
%in Midrand+277-882-255-28 abortion pills for sale in midrand
%in Midrand+277-882-255-28 abortion pills for sale in midrand
AI & Machine Learning Presentation Template
AI & Machine Learning Presentation Template
%in Harare+277-882-255-28 abortion pills for sale in Harare
%in Harare+277-882-255-28 abortion pills for sale in Harare
tonesoftg
tonesoftg
Define the academic and professional writing..pdf
Define the academic and professional writing..pdf
Python と Docker で mypy Playground を開発した話
1.
Python Docker mypy Playground Yusuke
Miyazaki @ymyzk PyCon mini Osaka 2018 2018/5/19 Grand Front Osaka Development of mypy Playground with Python and Docker
2.
• / @ymyzk •
@ / Indeed • Python 6 + / PyCon JP / … • ymyzk.com
3.
• : →
(2 ) → ( ) • Python Boot Camp in • IT CAMPHOR- ( )
4.
Python ? Python
Docker mypy Playground
5.
• • mypy Playground •
Python + Docker mypy • •
6.
mypy Playground
7.
mypy ? 🙋
8.
mypy ? 🙋
9.
mypy • Python • PEP
484 / 526 • CLI def greeting(name: str) -> str: return f"Hello, {name}!!" greeting("Taro") greeting(123) # error: Argument 1 to "greeting" has # incompatible type "int"; expected "str"
10.
mypy Playground: mypy-play.net •
mypy Web • • mypy • • Gist
11.
mypy Playground: URL
HERE
12.
mypy Playground • mypy •
/tmp/test1.py • • mypy typeshed
13.
: • • : The
Go Playground / Rust Playground / Scastie (Scala) • • : Wandbox • : ymyzk/awesome-playgrounds
14.
mypy Playground UI
15.
UI Ace Bootstrap
Bottle Docker
16.
• • CPU
17.
• • … • • • import •
18.
Python + Docker mypy
19.
Docker ? "
20.
Docker • • : jail
/ LXC / systemd-nspawn • • Linux ( cgroups) •
21.
Docker • • • Docker Hub • •
Docker • Docker
22.
Python Docker • Docker
Engine API HTTP API • CLI docker API • Python Docker docker-py
23.
• CLI • docker-py Python
Docker $ docker run ubuntu echo Hello Osaka! import docker client = docker.from_env() client.containers.run("ubuntu", "echo Hello Osaka!")
24.
mypy 1. mypy Docker 2.
mypy 3.
25.
Docker # typed-ast manylinux1
FROM python:3.6 RUN pip install mypy # root USER nobody CMD ["mypy"]
26.
c = client.containers.create( "ymyzk/mypy-playground:sandbox", command="mypy
main.py", network_mode="none", # mem_limit="128m", # pids_limit=32, cap_drop="ALL", security_opt=["no-new-privileges"])
27.
# tar (Docker
API ) tarball = create_archive(source) c.put_archive("/tmp", tarball)# c.start() # mypy exit_code = c.wait() # # stdout = c.logs(stdout=True, stderr=False).decode("utf-8") stderr = c.logs(stdout=False, stderr=True).decode("utf-8") c.remove()
28.
• Docker mypy • •
? • :
29.
30.
Docker in Docker
(dind) • Docker Docker • Docker Docker Docker
31.
Docker in Docker •
Docker • Docker • Docker
32.
Docker in Docker •
vfs • dind
33.
mypy Playground • I/O •
mypy • mypy • WSGI •
34.
mypy Playground with
asyncio • Bottle Tornado • Docker asyncio aiodocker • aiodocker docker-py
35.
36.
• mypy Playground • •
typeshed / PEP 561 • Facebook Pyre • : / dmypy
37.
• Python +
Docker mypy Playground (mypy-play.net) • Web Python • Docker • Twitter: @mypy_playground / GitHub: ymyzk/mypy-playground • !!
Download now