SlideShare a Scribd company logo
1 of 15
まだ Python 2 で消耗してるの?
2018-12-26
Takuya Nishimoto (shuaruta)
@nishimotz or @24motz
アンナ(Chief Sniffing Officer)
• 5歳(人間年齢36歳)
Python
NVDA日本語チーム(東京)
NonVisual Desktop Access
• オープンソース GPL v2 のスクリーンリーダー
• Windows 対応
• 音声合成による読み上げ
• 点字ディスプレイへの出力
• 日本語ユーザーには「NVDA日本語版」で対応
• アクセシビリティ検証ツールとしても普及
• Focus Highlight
• 開発開始 2006年
• 現在は3か月ごとのリリース
• この数年間 Python 2.7 ベース
NVDA + Python 3
• 2018年
• wxPython 4 への移行を完了
• 有志が py3000 ブランチを作成、評価
• 重要な機能の多くが欠落
• インストーラー
• 音声エンジン
• ドキュメント
• アドオンの互換性チェック機能を実装中(2019.1予定)
• 2019年
• 4回のリリースで Python 3.7(?) に移行
ドキュメント
• txt2tags
• ReST や MarkDown に似ている
• 拡張子 t2t
• 2008年ごろまで積極的に開発されていた
• NVDAでは
• 互換性の都合で 2.5 (最終版のすこし手前)を使用
• ビルドツール (scons) から使用
• Python で処理をカスタマイズしている
• バージョン番号の埋め込み
• ユーザーガイドからコマンドリファレンスを抽出
NVDA 本家の議論
• txt2tags にかわるツールが必要
• 検討
• Python markdown
• pandoc
• 課題
• 目次の自動生成
• NVDA 独自の作りこみへの対応
• 40以上の各国の翻訳チームの移行コスト
思ったこと
• txt2tags を modernize すれば動くんじゃね?
• NVDA で必要な処理だけカバーすればいいのでは
• HTML 生成だけやる
• 生成結果が完全一致することを確認すればいい
• Python 2.7 と Python 3.7
• ドキュメント関連の貢献は手を出しやすい
• 日本語で動けば I18N 対応を示せる
• 見える人がやれば改行コードなどもチェックしやすい
文字列の join
Python 2.7.15 (v2.7.15:ca079a3ea3, Apr 30 2018, 16:22:17)
[MSC v.1500 32 bit (Intel)] on win32
Type "help", "copyright", "credits" or "license" for more
information.
>>> import string
>>> string.join(['a','b','c'], ':') # 昔の書き方
'a:b:c'
>>> ':'.join(['a','b','c']) # 現在の書き方
'a:b:c'
リンク集
• https://github.com/nvdajp/txt2tags
• https://github.com/nvaccess/nvda/issues/8734
• https://python-modernize.readthedocs.io

More Related Content

Similar to 181226 txt2tags

190719 nishimoto nvda talk
190719 nishimoto nvda talk190719 nishimoto nvda talk
190719 nishimoto nvda talkTakuya Nishimoto
 
今時のオンプレなgithubクローン環境構築
今時のオンプレなgithubクローン環境構築今時のオンプレなgithubクローン環境構築
今時のオンプレなgithubクローン環境構築You&I
 
211120 他人の書いたPythonスクリプトをステップ実行で理解する
211120 他人の書いたPythonスクリプトをステップ実行で理解する211120 他人の書いたPythonスクリプトをステップ実行で理解する
211120 他人の書いたPythonスクリプトをステップ実行で理解するTakuya Nishimoto
 
LibreOfficeの品質向上活動について
LibreOfficeの品質向上活動についてLibreOfficeの品質向上活動について
LibreOfficeの品質向上活動についてMasataka Kondo
 
Python languageupdate (2004)
Python languageupdate (2004)Python languageupdate (2004)
Python languageupdate (2004)泰 増田
 
Python & PyConJP 2014 Report
Python & PyConJP 2014 ReportPython & PyConJP 2014 Report
Python & PyConJP 2014 Reportgree_tech
 
190916 nishimoto-nvda-pyconjp
190916 nishimoto-nvda-pyconjp190916 nishimoto-nvda-pyconjp
190916 nishimoto-nvda-pyconjpTakuya Nishimoto
 
PythonとRによるデータ分析環境の構築と機械学習によるデータ認識
PythonとRによるデータ分析環境の構築と機械学習によるデータ認識PythonとRによるデータ分析環境の構築と機械学習によるデータ認識
PythonとRによるデータ分析環境の構築と機械学習によるデータ認識Katsuhiro Morishita
 
クライアント部会成果報告2011/日本OSS推進フォーラム
クライアント部会成果報告2011/日本OSS推進フォーラムクライアント部会成果報告2011/日本OSS推進フォーラム
クライアント部会成果報告2011/日本OSS推進フォーラムnamioto
 
お絵描きソフト「PaintField」の開発
お絵描きソフト「PaintField」の開発お絵描きソフト「PaintField」の開発
お絵描きソフト「PaintField」の開発seanchas_t
 
Pynyumon03 LT
Pynyumon03 LTPynyumon03 LT
Pynyumon03 LTdrillan
 
191208 python-kansai-nishimoto
191208 python-kansai-nishimoto191208 python-kansai-nishimoto
191208 python-kansai-nishimotoTakuya Nishimoto
 
PyCon JP 2016 ビギナーセッション
PyCon JP 2016 ビギナーセッションPyCon JP 2016 ビギナーセッション
PyCon JP 2016 ビギナーセッションTetsuya Morimoto
 
LINEにおける GitHub Enterpriseの活用事例と LINE Notifyについて
LINEにおける GitHub Enterpriseの活用事例と LINE NotifyについてLINEにおける GitHub Enterpriseの活用事例と LINE Notifyについて
LINEにおける GitHub Enterpriseの活用事例と LINE NotifyについてLINE Corporation
 
Introduction to VSCode
Introduction to VSCodeIntroduction to VSCode
Introduction to VSCodeYuki Igarashi
 
Windows 10 RS4 Insider Preview
Windows 10 RS4 Insider PreviewWindows 10 RS4 Insider Preview
Windows 10 RS4 Insider PreviewTomokazu Kizawa
 
海外(ミラノ、ベルリン)での国際カンファレンスに参加して -LibreOffice/Nextcloud/Collabora Onlineの場合-
海外(ミラノ、ベルリン)での国際カンファレンスに参加して -LibreOffice/Nextcloud/Collabora Onlineの場合-海外(ミラノ、ベルリン)での国際カンファレンスに参加して -LibreOffice/Nextcloud/Collabora Onlineの場合-
海外(ミラノ、ベルリン)での国際カンファレンスに参加して -LibreOffice/Nextcloud/Collabora Onlineの場合-Shinji Enoki
 
地域 PyCon mini を広島で
地域 PyCon mini を広島で地域 PyCon mini を広島で
地域 PyCon mini を広島でTakuya Nishimoto
 

Similar to 181226 txt2tags (20)

190719 nishimoto nvda talk
190719 nishimoto nvda talk190719 nishimoto nvda talk
190719 nishimoto nvda talk
 
Nishimotz osc2011oct-v2
Nishimotz osc2011oct-v2Nishimotz osc2011oct-v2
Nishimotz osc2011oct-v2
 
Nishimotz pycon2011jan
Nishimotz pycon2011janNishimotz pycon2011jan
Nishimotz pycon2011jan
 
今時のオンプレなgithubクローン環境構築
今時のオンプレなgithubクローン環境構築今時のオンプレなgithubクローン環境構築
今時のオンプレなgithubクローン環境構築
 
211120 他人の書いたPythonスクリプトをステップ実行で理解する
211120 他人の書いたPythonスクリプトをステップ実行で理解する211120 他人の書いたPythonスクリプトをステップ実行で理解する
211120 他人の書いたPythonスクリプトをステップ実行で理解する
 
LibreOfficeの品質向上活動について
LibreOfficeの品質向上活動についてLibreOfficeの品質向上活動について
LibreOfficeの品質向上活動について
 
Python languageupdate (2004)
Python languageupdate (2004)Python languageupdate (2004)
Python languageupdate (2004)
 
Python & PyConJP 2014 Report
Python & PyConJP 2014 ReportPython & PyConJP 2014 Report
Python & PyConJP 2014 Report
 
190916 nishimoto-nvda-pyconjp
190916 nishimoto-nvda-pyconjp190916 nishimoto-nvda-pyconjp
190916 nishimoto-nvda-pyconjp
 
PythonとRによるデータ分析環境の構築と機械学習によるデータ認識
PythonとRによるデータ分析環境の構築と機械学習によるデータ認識PythonとRによるデータ分析環境の構築と機械学習によるデータ認識
PythonとRによるデータ分析環境の構築と機械学習によるデータ認識
 
クライアント部会成果報告2011/日本OSS推進フォーラム
クライアント部会成果報告2011/日本OSS推進フォーラムクライアント部会成果報告2011/日本OSS推進フォーラム
クライアント部会成果報告2011/日本OSS推進フォーラム
 
お絵描きソフト「PaintField」の開発
お絵描きソフト「PaintField」の開発お絵描きソフト「PaintField」の開発
お絵描きソフト「PaintField」の開発
 
Pynyumon03 LT
Pynyumon03 LTPynyumon03 LT
Pynyumon03 LT
 
191208 python-kansai-nishimoto
191208 python-kansai-nishimoto191208 python-kansai-nishimoto
191208 python-kansai-nishimoto
 
PyCon JP 2016 ビギナーセッション
PyCon JP 2016 ビギナーセッションPyCon JP 2016 ビギナーセッション
PyCon JP 2016 ビギナーセッション
 
LINEにおける GitHub Enterpriseの活用事例と LINE Notifyについて
LINEにおける GitHub Enterpriseの活用事例と LINE NotifyについてLINEにおける GitHub Enterpriseの活用事例と LINE Notifyについて
LINEにおける GitHub Enterpriseの活用事例と LINE Notifyについて
 
Introduction to VSCode
Introduction to VSCodeIntroduction to VSCode
Introduction to VSCode
 
Windows 10 RS4 Insider Preview
Windows 10 RS4 Insider PreviewWindows 10 RS4 Insider Preview
Windows 10 RS4 Insider Preview
 
海外(ミラノ、ベルリン)での国際カンファレンスに参加して -LibreOffice/Nextcloud/Collabora Onlineの場合-
海外(ミラノ、ベルリン)での国際カンファレンスに参加して -LibreOffice/Nextcloud/Collabora Onlineの場合-海外(ミラノ、ベルリン)での国際カンファレンスに参加して -LibreOffice/Nextcloud/Collabora Onlineの場合-
海外(ミラノ、ベルリン)での国際カンファレンスに参加して -LibreOffice/Nextcloud/Collabora Onlineの場合-
 
地域 PyCon mini を広島で
地域 PyCon mini を広島で地域 PyCon mini を広島で
地域 PyCon mini を広島で
 

More from Takuya Nishimoto

221217 SwiftはPythonに似ている
221217 SwiftはPythonに似ている221217 SwiftはPythonに似ている
221217 SwiftはPythonに似ているTakuya Nishimoto
 
220427-pydata 統計・データ分析 特集
220427-pydata 統計・データ分析 特集220427-pydata 統計・データ分析 特集
220427-pydata 統計・データ分析 特集Takuya Nishimoto
 
220126 python-datalake-spark
220126 python-datalake-spark220126 python-datalake-spark
220126 python-datalake-sparkTakuya Nishimoto
 
211020 すごい広島 with OSH 2021.10
211020 すごい広島 with OSH 2021.10211020 すごい広島 with OSH 2021.10
211020 すごい広島 with OSH 2021.10Takuya Nishimoto
 
210917 オープンセミナー@広島のこれまでとこれから
210917 オープンセミナー@広島のこれまでとこれから210917 オープンセミナー@広島のこれまでとこれから
210917 オープンセミナー@広島のこれまでとこれからTakuya Nishimoto
 
210911 これから始める電子工作とMicroPython
210911 これから始める電子工作とMicroPython210911 これから始める電子工作とMicroPython
210911 これから始める電子工作とMicroPythonTakuya Nishimoto
 
210526 Power Automate Desktop Python
210526 Power Automate Desktop Python210526 Power Automate Desktop Python
210526 Power Automate Desktop PythonTakuya Nishimoto
 
191101 nvda-sightworld-nishimoto
191101 nvda-sightworld-nishimoto191101 nvda-sightworld-nishimoto
191101 nvda-sightworld-nishimotoTakuya Nishimoto
 

More from Takuya Nishimoto (20)

221217 SwiftはPythonに似ている
221217 SwiftはPythonに似ている221217 SwiftはPythonに似ている
221217 SwiftはPythonに似ている
 
220427-pydata 統計・データ分析 特集
220427-pydata 統計・データ分析 特集220427-pydata 統計・データ分析 特集
220427-pydata 統計・データ分析 特集
 
220126 python-datalake-spark
220126 python-datalake-spark220126 python-datalake-spark
220126 python-datalake-spark
 
211020 すごい広島 with OSH 2021.10
211020 すごい広島 with OSH 2021.10211020 すごい広島 with OSH 2021.10
211020 すごい広島 with OSH 2021.10
 
210917 オープンセミナー@広島のこれまでとこれから
210917 オープンセミナー@広島のこれまでとこれから210917 オープンセミナー@広島のこれまでとこれから
210917 オープンセミナー@広島のこれまでとこれから
 
210911 これから始める電子工作とMicroPython
210911 これから始める電子工作とMicroPython210911 これから始める電子工作とMicroPython
210911 これから始める電子工作とMicroPython
 
210728 mpy
210728 mpy210728 mpy
210728 mpy
 
210630 python
210630 python210630 python
210630 python
 
210526 Power Automate Desktop Python
210526 Power Automate Desktop Python210526 Power Automate Desktop Python
210526 Power Automate Desktop Python
 
210428 python
210428 python210428 python
210428 python
 
200918 hannari-python
200918 hannari-python200918 hannari-python
200918 hannari-python
 
200429 python
200429 python200429 python
200429 python
 
200325 flask
200325 flask200325 flask
200325 flask
 
200208 osh-nishimoto-v2
200208 osh-nishimoto-v2200208 osh-nishimoto-v2
200208 osh-nishimoto-v2
 
191101 nvda-sightworld-nishimoto
191101 nvda-sightworld-nishimoto191101 nvda-sightworld-nishimoto
191101 nvda-sightworld-nishimoto
 
191114 iotlt-nishimoto
191114 iotlt-nishimoto191114 iotlt-nishimoto
191114 iotlt-nishimoto
 
191030 anna-with-python
191030 anna-with-python191030 anna-with-python
191030 anna-with-python
 
190925 python-windows
190925 python-windows190925 python-windows
190925 python-windows
 
190731 chalice
190731 chalice190731 chalice
190731 chalice
 
PCN 190630 v2
PCN 190630 v2PCN 190630 v2
PCN 190630 v2
 

Recently uploaded

論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...Toru Tamaki
 
論文紹介:Semantic segmentation using Vision Transformers: A survey
論文紹介:Semantic segmentation using Vision Transformers: A survey論文紹介:Semantic segmentation using Vision Transformers: A survey
論文紹介:Semantic segmentation using Vision Transformers: A surveyToru Tamaki
 
TSAL operation mechanism and circuit diagram.pdf
TSAL operation mechanism and circuit diagram.pdfTSAL operation mechanism and circuit diagram.pdf
TSAL operation mechanism and circuit diagram.pdftaisei2219
 
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)Hiroki Ichikura
 
論文紹介:Automated Classification of Model Errors on ImageNet
論文紹介:Automated Classification of Model Errors on ImageNet論文紹介:Automated Classification of Model Errors on ImageNet
論文紹介:Automated Classification of Model Errors on ImageNetToru Tamaki
 
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介Yuma Ohgami
 
スマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システムスマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システムsugiuralab
 
SOPを理解する 2024/04/19 の勉強会で発表されたものです
SOPを理解する       2024/04/19 の勉強会で発表されたものですSOPを理解する       2024/04/19 の勉強会で発表されたものです
SOPを理解する 2024/04/19 の勉強会で発表されたものですiPride Co., Ltd.
 
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略Ryo Sasaki
 
Postman LT Fukuoka_Quick Prototype_By Daniel
Postman LT Fukuoka_Quick Prototype_By DanielPostman LT Fukuoka_Quick Prototype_By Daniel
Postman LT Fukuoka_Quick Prototype_By Danieldanielhu54
 

Recently uploaded (10)

論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
 
論文紹介:Semantic segmentation using Vision Transformers: A survey
論文紹介:Semantic segmentation using Vision Transformers: A survey論文紹介:Semantic segmentation using Vision Transformers: A survey
論文紹介:Semantic segmentation using Vision Transformers: A survey
 
TSAL operation mechanism and circuit diagram.pdf
TSAL operation mechanism and circuit diagram.pdfTSAL operation mechanism and circuit diagram.pdf
TSAL operation mechanism and circuit diagram.pdf
 
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
 
論文紹介:Automated Classification of Model Errors on ImageNet
論文紹介:Automated Classification of Model Errors on ImageNet論文紹介:Automated Classification of Model Errors on ImageNet
論文紹介:Automated Classification of Model Errors on ImageNet
 
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
 
スマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システムスマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システム
 
SOPを理解する 2024/04/19 の勉強会で発表されたものです
SOPを理解する       2024/04/19 の勉強会で発表されたものですSOPを理解する       2024/04/19 の勉強会で発表されたものです
SOPを理解する 2024/04/19 の勉強会で発表されたものです
 
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
 
Postman LT Fukuoka_Quick Prototype_By Daniel
Postman LT Fukuoka_Quick Prototype_By DanielPostman LT Fukuoka_Quick Prototype_By Daniel
Postman LT Fukuoka_Quick Prototype_By Daniel
 

181226 txt2tags

  • 1. まだ Python 2 で消耗してるの? 2018-12-26 Takuya Nishimoto (shuaruta) @nishimotz or @24motz
  • 2.
  • 3. アンナ(Chief Sniffing Officer) • 5歳(人間年齢36歳)
  • 6. NonVisual Desktop Access • オープンソース GPL v2 のスクリーンリーダー • Windows 対応 • 音声合成による読み上げ • 点字ディスプレイへの出力 • 日本語ユーザーには「NVDA日本語版」で対応 • アクセシビリティ検証ツールとしても普及 • Focus Highlight • 開発開始 2006年 • 現在は3か月ごとのリリース • この数年間 Python 2.7 ベース
  • 7. NVDA + Python 3 • 2018年 • wxPython 4 への移行を完了 • 有志が py3000 ブランチを作成、評価 • 重要な機能の多くが欠落 • インストーラー • 音声エンジン • ドキュメント • アドオンの互換性チェック機能を実装中(2019.1予定) • 2019年 • 4回のリリースで Python 3.7(?) に移行
  • 8. ドキュメント • txt2tags • ReST や MarkDown に似ている • 拡張子 t2t • 2008年ごろまで積極的に開発されていた • NVDAでは • 互換性の都合で 2.5 (最終版のすこし手前)を使用 • ビルドツール (scons) から使用 • Python で処理をカスタマイズしている • バージョン番号の埋め込み • ユーザーガイドからコマンドリファレンスを抽出
  • 9. NVDA 本家の議論 • txt2tags にかわるツールが必要 • 検討 • Python markdown • pandoc • 課題 • 目次の自動生成 • NVDA 独自の作りこみへの対応 • 40以上の各国の翻訳チームの移行コスト
  • 10. 思ったこと • txt2tags を modernize すれば動くんじゃね? • NVDA で必要な処理だけカバーすればいいのでは • HTML 生成だけやる • 生成結果が完全一致することを確認すればいい • Python 2.7 と Python 3.7 • ドキュメント関連の貢献は手を出しやすい • 日本語で動けば I18N 対応を示せる • 見える人がやれば改行コードなどもチェックしやすい
  • 11.
  • 12.
  • 13.
  • 14. 文字列の join Python 2.7.15 (v2.7.15:ca079a3ea3, Apr 30 2018, 16:22:17) [MSC v.1500 32 bit (Intel)] on win32 Type "help", "copyright", "credits" or "license" for more information. >>> import string >>> string.join(['a','b','c'], ':') # 昔の書き方 'a:b:c' >>> ':'.join(['a','b','c']) # 現在の書き方 'a:b:c'