Submit Search
Upload
Python と Docker で mypy Playground を開発した話
Report
Share
Yusuke Miyazaki
Site Reliability Engineer at Indeed
Follow
•
5 likes
•
1,859 views
1
of
37
Python と Docker で mypy Playground を開発した話
•
5 likes
•
1,859 views
Report
Share
Download Now
Download to read offline
Software
PyCon mini Osaka 2018 https://osaka.pycon.jp
Read more
Yusuke Miyazaki
Site Reliability Engineer at Indeed
Follow
Recommended
OSS AWS 핸즈온 강의 by
OSS AWS 핸즈온 강의
Juhong Jung
1.1K views
•
70 slides
Fabric by
Fabric
JS Lee
755 views
•
16 slides
Infra@LINE_Chris by
Infra@LINE_Chris
LINE_Engineer
109 views
•
48 slides
Pimp my dev box (Friday Training at Itnig) by
Pimp my dev box (Friday Training at Itnig)
itnig
1.1K views
•
31 slides
Going All-In With Go For CLI Apps by
Going All-In With Go For CLI Apps
Tom Elliott
8K views
•
35 slides
How to build and distribute CLI tool in 15 minutes with Golang by
How to build and distribute CLI tool in 15 minutes with Golang
Kohei Kimura
2.2K views
•
23 slides
More Related Content
What's hot
SwiftyGPIO by
SwiftyGPIO
CocoaHeads France
4.5K views
•
33 slides
2 docker engine_hands_on by
2 docker engine_hands_on
FEG
19 views
•
22 slides
Docker + Arm - Multi-arch builds with Docker `buildx` by
Docker + Arm - Multi-arch builds with Docker `buildx`
Elton Stoneman
545 views
•
30 slides
Build Android OS on OSX by
Build Android OS on OSX
Pietro Alberto Rossi
466 views
•
10 slides
Why ruby by
Why ruby
Kenneth Kalmer
399 views
•
32 slides
Linux containers by
Linux containers
Alex Gonzalez
522 views
•
22 slides
What's hot
(20)
SwiftyGPIO by CocoaHeads France
SwiftyGPIO
CocoaHeads France
•
4.5K views
2 docker engine_hands_on by FEG
2 docker engine_hands_on
FEG
•
19 views
Docker + Arm - Multi-arch builds with Docker `buildx` by Elton Stoneman
Docker + Arm - Multi-arch builds with Docker `buildx`
Elton Stoneman
•
545 views
Build Android OS on OSX by Pietro Alberto Rossi
Build Android OS on OSX
Pietro Alberto Rossi
•
466 views
Why ruby by Kenneth Kalmer
Why ruby
Kenneth Kalmer
•
399 views
Linux containers by Alex Gonzalez
Linux containers
Alex Gonzalez
•
522 views
Let's talk about the Ubuntu 18.04 LTS Roadmap! by Dustin Kirkland
Let's talk about the Ubuntu 18.04 LTS Roadmap!
Dustin Kirkland
•
49.3K views
Full-stack go with GopherJS by Poga Po
Full-stack go with GopherJS
Poga Po
•
3.7K views
Git 개념 및 사용법 by Lee Yongmin
Git 개념 및 사용법
Lee Yongmin
•
221 views
Git! Why? How? by Daniel Kummer
Git! Why? How?
Daniel Kummer
•
1.1K views
用 Bitbar Tool 寫 Script 自動擷取外幣 by Win Yu
用 Bitbar Tool 寫 Script 自動擷取外幣
Win Yu
•
1.4K views
Ubuntu 17.10 by Maki Turki
Ubuntu 17.10
Maki Turki
•
599 views
PuppetConf 2017: State of Union: Containers at Puppet- Gert Drapers, Puppet by Puppet
PuppetConf 2017: State of Union: Containers at Puppet- Gert Drapers, Puppet
Puppet
•
180 views
Ansible PyWAW by gnosek
Ansible PyWAW
gnosek
•
1.3K views
20160929 android taipei Sonatype nexus on amazon ec2 by TSE-JU LIN(Louis)
20160929 android taipei Sonatype nexus on amazon ec2
TSE-JU LIN(Louis)
•
2.2K views
Docker 入門 Introduction to Docker by Genchi Lu
Docker 入門 Introduction to Docker
Genchi Lu
•
369 views
Collaboration With Git and GitHub by Alec Clews
Collaboration With Git and GitHub
Alec Clews
•
1.1K views
Complementing Docker with Puppet by Docker, Inc.
Complementing Docker with Puppet
Docker, Inc.
•
646 views
Introduction to Sumatra by Felix Z. Hoffmann
Introduction to Sumatra
Felix Z. Hoffmann
•
3.7K views
Deis, a PaaS built with Docker, Docker Meetup Sao Paulo #3 @Wayra by Leo Lorieri
Deis, a PaaS built with Docker, Docker Meetup Sao Paulo #3 @Wayra
Leo Lorieri
•
1.1K views
Similar to Python と Docker で mypy Playground を開発した話
Getting Started with Go by
Getting Started with Go
Steven Francia
39.8K views
•
249 slides
リバースプロキシでwebサーバを集約ついでにdocker化しよう by
リバースプロキシでwebサーバを集約ついでにdocker化しよう
Yasunori Kuji
1.9K views
•
16 slides
Giving back with GitHub - Putting the Open Source back in iOS by
Giving back with GitHub - Putting the Open Source back in iOS
Madhava Jay
350 views
•
31 slides
Learning Python with Minecraft and my Dad - PyOhio 2018 by
Learning Python with Minecraft and my Dad - PyOhio 2018
Hank Preston
417 views
•
38 slides
CPAN 模組二三事 by
CPAN 模組二三事
Lin Yo-An
2.8K views
•
79 slides
Hello world by
Hello world
Brad Montgomery
573 views
•
13 slides
Similar to Python と Docker で mypy Playground を開発した話
(20)
Getting Started with Go by Steven Francia
Getting Started with Go
Steven Francia
•
39.8K views
リバースプロキシでwebサーバを集約ついでにdocker化しよう by Yasunori Kuji
リバースプロキシでwebサーバを集約ついでにdocker化しよう
Yasunori Kuji
•
1.9K views
Giving back with GitHub - Putting the Open Source back in iOS by Madhava Jay
Giving back with GitHub - Putting the Open Source back in iOS
Madhava Jay
•
350 views
Learning Python with Minecraft and my Dad - PyOhio 2018 by Hank Preston
Learning Python with Minecraft and my Dad - PyOhio 2018
Hank Preston
•
417 views
CPAN 模組二三事 by Lin Yo-An
CPAN 模組二三事
Lin Yo-An
•
2.8K views
Hello world by Brad Montgomery
Hello world
Brad Montgomery
•
573 views
Docker for Developers: Dev, Test, Deploy @ BucksCo Devops at MeetMe HQ by Erica Windisch
Docker for Developers: Dev, Test, Deploy @ BucksCo Devops at MeetMe HQ
Erica Windisch
•
1.3K views
Codetainer: a Docker-based browser code 'sandbox' by Jen Andre
Codetainer: a Docker-based browser code 'sandbox'
Jen Andre
•
3.8K views
Offensive Python for Pentesting by Mike Felch
Offensive Python for Pentesting
Mike Felch
•
1.1K views
On the Edge Systems Administration with Golang by Chris McEniry
On the Edge Systems Administration with Golang
Chris McEniry
•
1.4K views
スマートフォン勉強会@関東 #11 どう考えてもdisconなものをiPhoneに移植してみた by Taro Matsuzawa
スマートフォン勉強会@関東 #11 どう考えてもdisconなものをiPhoneに移植してみた
Taro Matsuzawa
•
1.4K views
Introduction to docker by Wei-Ting Kuo
Introduction to docker
Wei-Ting Kuo
•
2.4K views
Unleash your inner console cowboy by Kenneth Geisshirt
Unleash your inner console cowboy
Kenneth Geisshirt
•
758 views
はじめてのSymfony2 by Tomohiro MITSUMUNE
はじめてのSymfony2
Tomohiro MITSUMUNE
•
4.7K views
Dependencies Managers in C/C++. Using stdcpp 2014 by biicode
Dependencies Managers in C/C++. Using stdcpp 2014
biicode
•
4.4K views
PyParis 2017 / Writing a C Python extension in 2017, Jean-Baptiste Aviat by Pôle Systematic Paris-Region
PyParis 2017 / Writing a C Python extension in 2017, Jean-Baptiste Aviat
Pôle Systematic Paris-Region
•
997 views
Ci for i-os-codemash-01.2013 by Kevin Munc
Ci for i-os-codemash-01.2013
Kevin Munc
•
1.9K views
もうひとつのコンテナ実行環境 runq のご紹介 by Takehiko Amano
もうひとつのコンテナ実行環境 runq のご紹介
Takehiko Amano
•
1.4K views
シェル芸でライフハック(特論) by Yuki Shimazaki
シェル芸でライフハック(特論)
Yuki Shimazaki
•
688 views
Python于Web 2.0网站的应用 - QCon Beijing 2010 by Qiangning Hong
Python于Web 2.0网站的应用 - QCon Beijing 2010
Qiangning Hong
•
22.2K views
More from Yusuke Miyazaki
Dynamic Type Inference for Gradual Hindley–Milner Typing by
Dynamic Type Inference for Gradual Hindley–Milner Typing
Yusuke Miyazaki
685 views
•
27 slides
Introducing wsgi_lineprof / PyCon JP 2017 LT by
Introducing wsgi_lineprof / PyCon JP 2017 LT
Yusuke Miyazaki
1.2K views
•
17 slides
オープンソースソフトウェア入門 by
オープンソースソフトウェア入門
Yusuke Miyazaki
624 views
•
67 slides
型ヒントについて考えよう! by
型ヒントについて考えよう!
Yusuke Miyazaki
4K views
•
76 slides
iot.ymyzk.com の紹介 by
iot.ymyzk.com の紹介
Yusuke Miyazaki
686 views
•
19 slides
Django から各種チャットツールに通知するライブラリを作った話 by
Django から各種チャットツールに通知するライブラリを作った話
Yusuke Miyazaki
12.8K views
•
25 slides
More from Yusuke Miyazaki
(12)
Dynamic Type Inference for Gradual Hindley–Milner Typing by Yusuke Miyazaki
Dynamic Type Inference for Gradual Hindley–Milner Typing
Yusuke Miyazaki
•
685 views
Introducing wsgi_lineprof / PyCon JP 2017 LT by Yusuke Miyazaki
Introducing wsgi_lineprof / PyCon JP 2017 LT
Yusuke Miyazaki
•
1.2K views
オープンソースソフトウェア入門 by Yusuke Miyazaki
オープンソースソフトウェア入門
Yusuke Miyazaki
•
624 views
型ヒントについて考えよう! by Yusuke Miyazaki
型ヒントについて考えよう!
Yusuke Miyazaki
•
4K views
iot.ymyzk.com の紹介 by Yusuke Miyazaki
iot.ymyzk.com の紹介
Yusuke Miyazaki
•
686 views
Django から各種チャットツールに通知するライブラリを作った話 by Yusuke Miyazaki
Django から各種チャットツールに通知するライブラリを作った話
Yusuke Miyazaki
•
12.8K views
iOS 開発のいま (ADF2015 LT会) by Yusuke Miyazaki
iOS 開発のいま (ADF2015 LT会)
Yusuke Miyazaki
•
562 views
iOS 開発のいま (CAMPHOR- x KMC 合同LT会) by Yusuke Miyazaki
iOS 開発のいま (CAMPHOR- x KMC 合同LT会)
Yusuke Miyazaki
•
518 views
Swift の問題点 by Yusuke Miyazaki
Swift の問題点
Yusuke Miyazaki
•
1.2K views
最新の iOS に対応したアプリの開発 by Yusuke Miyazaki
最新の iOS に対応したアプリの開発
Yusuke Miyazaki
•
481 views
コンピューターネットワーク入門 by Yusuke Miyazaki
コンピューターネットワーク入門
Yusuke Miyazaki
•
1.4K views
HTML初心者講座 by Yusuke Miyazaki
HTML初心者講座
Yusuke Miyazaki
•
3.6K views
Recently uploaded
Advanced API Mocking Techniques Using Wiremock by
Advanced API Mocking Techniques Using Wiremock
Dimpy Adhikary
5 views
•
11 slides
.NET Deserialization Attacks by
.NET Deserialization Attacks
Dharmalingam Ganesan
7 views
•
50 slides
Playwright Retries by
Playwright Retries
artembondar5
7 views
•
1 slide
Techstack Ltd at Slush 2023, Ukrainian delegation by
Techstack Ltd at Slush 2023, Ukrainian delegation
ViktoriiaOpanasenko
8 views
•
4 slides
Ports-and-Adapters Architecture for Embedded HMI by
Ports-and-Adapters Architecture for Embedded HMI
Burkhard Stubert
37 views
•
19 slides
Streamlining Your Business Operations with Enterprise Application Integration... by
Streamlining Your Business Operations with Enterprise Application Integration...
Flexsin
5 views
•
12 slides
Recently uploaded
(20)
Advanced API Mocking Techniques Using Wiremock by Dimpy Adhikary
Advanced API Mocking Techniques Using Wiremock
Dimpy Adhikary
•
5 views
.NET Deserialization Attacks by Dharmalingam Ganesan
.NET Deserialization Attacks
Dharmalingam Ganesan
•
7 views
Playwright Retries by artembondar5
Playwright Retries
artembondar5
•
7 views
Techstack Ltd at Slush 2023, Ukrainian delegation by ViktoriiaOpanasenko
Techstack Ltd at Slush 2023, Ukrainian delegation
ViktoriiaOpanasenko
•
8 views
Ports-and-Adapters Architecture for Embedded HMI by Burkhard Stubert
Ports-and-Adapters Architecture for Embedded HMI
Burkhard Stubert
•
37 views
Streamlining Your Business Operations with Enterprise Application Integration... by Flexsin
Streamlining Your Business Operations with Enterprise Application Integration...
Flexsin
•
5 views
predicting-m3-devopsconMunich-2023.pptx by Tier1 app
predicting-m3-devopsconMunich-2023.pptx
Tier1 app
•
10 views
Understanding HTML terminology by artembondar5
Understanding HTML terminology
artembondar5
•
9 views
How to build dyanmic dashboards and ensure they always work by Wiiisdom
How to build dyanmic dashboards and ensure they always work
Wiiisdom
•
18 views
Flask-Python by Triloki Gupta
Flask-Python
Triloki Gupta
•
13 views
Automated Testing of Microsoft Power BI Reports by RTTS
Automated Testing of Microsoft Power BI Reports
RTTS
•
13 views
Page Object Model by artembondar5
Page Object Model
artembondar5
•
7 views
Google Solutions Challenge 2024 Talk pdf by MohdAbdulAleem4
Google Solutions Challenge 2024 Talk pdf
MohdAbdulAleem4
•
47 views
Techstack Ltd at Slush 2023, Ukrainian delegation by ViktoriiaOpanasenko
Techstack Ltd at Slush 2023, Ukrainian delegation
ViktoriiaOpanasenko
•
7 views
aATP - New Correlation Confirmation Feature.pptx by EsatEsenek1
aATP - New Correlation Confirmation Feature.pptx
EsatEsenek1
•
225 views
Supercharging your Python Development Environment with VS Code and Dev Contai... by Dawn Wages
Supercharging your Python Development Environment with VS Code and Dev Contai...
Dawn Wages
•
9 views
University of Borås-full talk-2023-12-09.pptx by Mahdi_Fahmideh
University of Borås-full talk-2023-12-09.pptx
Mahdi_Fahmideh
•
13 views
Quality Assurance by interworksoftware2
Quality Assurance
interworksoftware2
•
10 views
Winter Projects GDSC IITK by SahilSingh368445
Winter Projects GDSC IITK
SahilSingh368445
•
511 views
What is API by artembondar5
What is API
artembondar5
•
16 views
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 • •
? • :
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
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 • !!