SlideShare una empresa de Scribd logo
1 de 46
Descargar para leer sin conexión
運用コストが半分になった!
Pythonパッケージの極意
そんなウマい話は無ぇ!
PYTHON PACKAGING
    Python2/3対応
おまえ誰よ

清水川 貴之 (@shimizukawa)

● 代々木のBeProudでそろそろ1年
● PyCon JP 2012 副座長
● インドネシア帰り(印度尼西亜 【尼】)

● 書籍
  ○ 2010「エキスパートPythonプログラミング」
  ○ 2012「Pythonプロフェッショナルプログラミング」
BP本
●   2940円
●   430ページ
●   3/27(火)
●   秀和システム


コンセプト

● BPStyle
BP本の目次
4部構成

1.   Pythonで開発しよう
2.   チーム開発のサイクル
3.   サービス公開
4.   開発を加速するテクニック
第1部:Pythonで開発しよう

第1章:Pythonを始めよう
第2章:Webアプリケーションを作る


Appendix A: VirtualBoxのセットアップ
Appendix B: OS(Ubuntu)のセットアップ
第2部:チーム開発のサイクル

第3章:チームの開発環境を整える
第4章:ドキュメントの基盤を整える
第5章:課題管理とレビュー
第6章:モジュール分割設計と単体テスト
第7章:パッケージングと環境セットアップの自動化
第8章:Mercurialによるソースコード管理
第9章:Jenkinsで継続的インテグレーション
第3部:サービス公開

第10章:環境構築とデプロイの自動化
第11章:アプリケーションのパフォーマンス改善
第12章:Google App Engine

第4部:開発を加速するテクニック

第13章:テストを味方にする
第14章:Djangoを便利に使う
第15章:便利なPythonモジュールを使おう
BP本
●   2940円
●   430ページ
●   3/27(火)
●   秀和システム


コンセプト

● BP得
今日のレシピ

1.   Pythonパッケージング過去・現在・未来
2.   Distutils2 / packaging
3.   pysetupの使い方
4.   パッケージの作り方
5.   次の課題
今日のレシピ

1.   Pythonパッケージング過去・現在・未来
2.   Distutils2 / packaging
3.   pysetupの使い方
4.   パッケージの作り方
5.   次の課題
現在の状況

複数の方法が混在

●   パッケージング
●   配布
●   発見
●   インストール
過去と現在

  過去                      現在          未来

setuptools   Distribute         pip
                           利用




 distutils    distutils
現在と未来

  過去                      現在                             未来

setuptools   Distribute                                     pip
                                               delete
                          機
                           能
                               を
                                取
                                    り                         利用
                                     込
                                        み




 distutils    distutils                     distutils2   packaging
新しいライブラリ Distutils2 / packaging

今までの制限を解消した新しいライブラリ

●   Python標準ライブラリ
●   パッケージ検索機能
●   インストールコマンド
●   アンインストール機能
●   外部依存ライブラリ管理
未来

新標準
● PEP345: Metadata1.2
● PEP376: インストール情報DB
● PEP386: バージョン番号標準

上記を実装した新しいライブラリ
● packaging : Python-3.3同梱
● Distutils2 : Python-2.5 - 3.2 向けに配布
PEP345 : Metadata 1.2

ゴール
新しいメタデータを定義して、他の配布物との依存や関係を今
よりうまく定義します。


モチベーション
これまでもsetutools/distributeのinstall_requiresでモジュールの
依存関係は定義出来ましたが、これは標準ではありませんでし
た。
また、現在のinstall_requiresでの指定はsetup.pyを動かさないと
依存関係が分からないため、OSやPythonのバージョンによって
動かせるかどうか左右されていました。
PEP376 : インストール情報データベース

ゴール
複数のパッケージ管理ソフトで相互運用できる、Pythonのイン
ストール情報データベースを用意しよう。


モチベーション
既存のツール(distutils, setuptools/distribute/easy_install, pip)
はそれぞれ独自の方法でインストール情報を管理しています。
多くのツールがアンインストールをサポートしていません。
インストール済みパッケージ情報を取得するような標準APIがあ
りません。
PEP386 : バージョン番号標準

ゴール
バージョン番号付けの標準化


モチベーション
パッケージのどのバージョンがインストールされているかを知り
たい。標準がない状態でこういった機能を作るのは、pip等のイ
ンストーラーにとって非常に厳しかった。

Pseudo-format
N.N[.N]+[{a|b|c|rc}N[.N]+][.postN][.devN]
こんなバージョン番号があったよ

● 2C.py 02 Jun 2010
● abl.jquery.ui 1.8.7-3
● abu.rpc 0.2.7-rc5-protobuf-2.4
● Agatsuma 0.2.176.default.
  3499b00918ca.tip
● aksy 0.3-SNAPSHOT-r1389
● appwsgi default
新しいパッケージングライブラリ
ゴール
新しい標準のパッケージングライブラリを提供します。新標準を
実装し、これまでのライブラリの機能を拡張しています。

モチベーション
setuptoolsは多くの価値のある機能を提供してくれました。しか
し、あくまでもdistutilsの上で動作するようにデザインされていま
した。
distutilsの実装を変更することは既存の全てのツールが動作し
なくなる可能性があります。このため、新標準を実装するために
新しいライブラリにする必要がありました。
今日のレシピ

1.   Pythonパッケージング過去・現在・未来
2.   Distutils2 / packaging
3.   pysetupの使い方
4.   パッケージの作り方
5.   次の課題
pysetupの使い方:Srcインストール

従来のインストール

 ソースディレクトリで
 python setup.py install

新しい方法

 ソースディレクトリで
 pysetup run install_dist
pysetupの使い方:Zipインストール

従来のインストール

 zipファイルを展開して
 python setup.py install

新しい方法

 pysetup install widget-0.9.7.zip
pysetupの使い方:PyPIインストール

従来のインストール

 Python標準ではPyPIインストール出来ない
 pip install blockdiag

新しい方法

 pysetup install blockdiag
pysetupの使い方:URLインストール

従来のインストール

 Python標準ではURLインストール出来ない
 pip install http://......../bucho-0.1.1.tgz

新しい方法

 pysetup install http://......../bucho-0.1.1.tgz
pysetupの使い方:アンインストール

従来のアンインストール

 Python標準ではアンインストールは手動
 pip uninstall blockdiag

新しい方法

 pysetup remove blockdiag
pysetupの使い方:PyPI検索

従来のPyPI検索

 Python標準ではPyPI検索とか無い
 pip search bucho

新しい方法

 pysetup search bucho
pysetupの使い方:インストール一覧

従来の一覧取得

 site-packagesやeasy_install.pthを見る
 pip freeze

新しい方法

 pysetup list
pysetupの使い方:メタデータ参照

従来のメタデータ参照

 Python標準ではメタデータを持っていない
 easy_install/pipならPKG-INFOファイルを見る

新しい方法

 pysetup metadata bucho -f name -f version
pysetupの使い方:Graph

従来には無いコマンド

 Python標準, easy_install, pip には無い

にゅーふぇーす : graph

 pysetup graph blockdiag
今日のレシピ

1.   Pythonパッケージング過去・現在・未来
2.   Distutils2 / packaging
3.   pysetupの使い方
4.   パッケージの作り方
5.   次の課題
パッケージの作り方

ドキュメントを読んでいると以下のように書いてあ
る
3.2. A Simple Example
   from packaging.core import setup
   setup(name='foo',
       version='1.0',
       py_modules=['foo'])
パッケージの作り方

頭から読めば丁寧に書いてあった

1. Packaging tutorial
   $ pysetup create
   対話形式でsetup.cfg作れる
パッケージの作り方

既存のsetup.py持ってるんだけど...
 setup.pyのあるディレクトリで
 $ pysetup create
 A legacy setup.py has been found.
 Would you like to convert it to a setup.cfg? (y/n)
 [y]: y
 Wrote "setup.cfg".
                     
setup.cfgの書き方

2. Specification of the setup.cfg file 嫁
[metadata]
name = bucho
version = 0.1.1
summary = `bucho` is a package for exercises.
     :
classifier = Topic :: Utilities
    Programming Language :: Python :: 3.2
     :
[files]
packages = bucho
後方互換パッケージの作り方

古い環境のためにsetup.pyが必要なんだけど...
   setup.cfgのあるディレクトリで
   $ pysetup generate-setup
The setup.py was generated
今日のレシピ

1.   Pythonパッケージング過去・現在・未来
2.   Distutils2 / packaging
3.   pysetupの使い方
4.   パッケージの作り方
5.   次の課題
課題

1. ドキュメントが古い
  ○ Distutils2のドキュメントは放置されてるのでPython3.3
    のpackagingのドキュメントを読もう

2. Windowsで動かない機能が多い
  ○ みんなでデバッグしよう!


3. d2/p にはeggサポートが無い
  ○ MLで*.pbdサポートが議論されている


4. pluginの仕組みが無い
  ○ setuptoolsのentry_points相当の機能が無い
課題
ドキュメントが古い
  ○ packagingのドキュメントが古くて試すのが大変
      from packaging.core import setup とか存在しない


5. "import distutils2" vs "import packaging"
   ○ Python 3.3 以前と以降で名前が違う

      try:
         import packaging
      except ImportError:
         import distutils2 as packaging
課題

7. ドキュメントが古い
   ○ 「今後1ヶ月で書いていくよ」って開発者がMLで言ってた

8. virtualenvとか未対応?
  ○ virtualenv環境下でpysetup install

    Unable to write in "/usr/lib/python2.7/site-packages".
    Do you have the permissions ?
まとめ

期待の新星 Distutils2/packaging

運用コストはもしかしたら半分に減るかもしれない

でもまだまだ実装やドキュメントが追いついてない

みんなで叩いて良くしていこう!
PyConJP 2012 スタッフ募集
BP本
●   2940円
●   430ページ
●   3/27(火)
●   秀和システム
Terima kasih
  【尼】ありがとう

Más contenido relacionado

La actualidad más candente

python-twitterを用いたTwitterデータ収集
python-twitterを用いたTwitterデータ収集python-twitterを用いたTwitterデータ収集
python-twitterを用いたTwitterデータ収集
Hikaru Takemura
 
Pythonを取り巻く開発環境 #pyconjp
Pythonを取り巻く開発環境 #pyconjpPythonを取り巻く開発環境 #pyconjp
Pythonを取り巻く開発環境 #pyconjp
Yoshifumi Yamaguchi
 
Python3 プログラミング勉強会
Python3 プログラミング勉強会Python3 プログラミング勉強会
Python3 プログラミング勉強会
Tetsuya Morimoto
 
Boostライブラリ一周の旅
Boostライブラリ一周の旅 Boostライブラリ一周の旅
Boostライブラリ一周の旅
Akira Takahashi
 
2日間Fabricを触った俺が
 色々解説してみる
2日間Fabricを触った俺が
 色々解説してみる2日間Fabricを触った俺が
 色々解説してみる
2日間Fabricを触った俺が
 色々解説してみる
airtoxin Ishii
 
クックパッドのスケーリング
クックパッドのスケーリングクックパッドのスケーリング
クックパッドのスケーリング
Satoshi Takada
 
Fabricでサーバー管理をDRYにしよう
Fabricでサーバー管理をDRYにしようFabricでサーバー管理をDRYにしよう
Fabricでサーバー管理をDRYにしよう
max747
 

La actualidad más candente (20)

とあるWeb企業でのDebianシステムの使い方。
とあるWeb企業でのDebianシステムの使い方。とあるWeb企業でのDebianシステムの使い方。
とあるWeb企業でのDebianシステムの使い方。
 
「Python言語」はじめの一歩 / First step of Python / 2016 Jan 12
「Python言語」はじめの一歩 / First step of Python / 2016 Jan 12「Python言語」はじめの一歩 / First step of Python / 2016 Jan 12
「Python言語」はじめの一歩 / First step of Python / 2016 Jan 12
 
PyCon JP 2012 hands-on セッション/ FlaskによるWebアプリケーションの実装とプログラミングツール
PyCon JP 2012 hands-on セッション/ FlaskによるWebアプリケーションの実装とプログラミングツールPyCon JP 2012 hands-on セッション/ FlaskによるWebアプリケーションの実装とプログラミングツール
PyCon JP 2012 hands-on セッション/ FlaskによるWebアプリケーションの実装とプログラミングツール
 
「Python言語」はじめの一歩 / First step of Python
「Python言語」はじめの一歩 / First step of Python「Python言語」はじめの一歩 / First step of Python
「Python言語」はじめの一歩 / First step of Python
 
debexpo(mentors.d.n)をハックするには
debexpo(mentors.d.n)をハックするにはdebexpo(mentors.d.n)をハックするには
debexpo(mentors.d.n)をハックするには
 
ldapvi & python-ldap で stress-free life
ldapvi & python-ldap で stress-free lifeldapvi & python-ldap で stress-free life
ldapvi & python-ldap で stress-free life
 
python-twitterを用いたTwitterデータ収集
python-twitterを用いたTwitterデータ収集python-twitterを用いたTwitterデータ収集
python-twitterを用いたTwitterデータ収集
 
Pythonを取り巻く開発環境 #pyconjp
Pythonを取り巻く開発環境 #pyconjpPythonを取り巻く開発環境 #pyconjp
Pythonを取り巻く開発環境 #pyconjp
 
Python東海Vol.5 IPythonをマスターしよう
Python東海Vol.5 IPythonをマスターしようPython東海Vol.5 IPythonをマスターしよう
Python東海Vol.5 IPythonをマスターしよう
 
ひのきのぼうだけで全クリ目指す
ひのきのぼうだけで全クリ目指すひのきのぼうだけで全クリ目指す
ひのきのぼうだけで全クリ目指す
 
Python3 プログラミング勉強会
Python3 プログラミング勉強会Python3 プログラミング勉強会
Python3 プログラミング勉強会
 
Boostライブラリ一周の旅
Boostライブラリ一周の旅 Boostライブラリ一周の旅
Boostライブラリ一周の旅
 
Jubatus: Jubakitでもっと楽をしよう
Jubatus: Jubakitでもっと楽をしようJubatus: Jubakitでもっと楽をしよう
Jubatus: Jubakitでもっと楽をしよう
 
第1回python勉強会
第1回python勉強会第1回python勉強会
第1回python勉強会
 
2005 07 30_xwj_customizinig
2005 07 30_xwj_customizinig2005 07 30_xwj_customizinig
2005 07 30_xwj_customizinig
 
2日間Fabricを触った俺が
 色々解説してみる
2日間Fabricを触った俺が
 色々解説してみる2日間Fabricを触った俺が
 色々解説してみる
2日間Fabricを触った俺が
 色々解説してみる
 
クックパッドのスケーリング
クックパッドのスケーリングクックパッドのスケーリング
クックパッドのスケーリング
 
Fabricでサーバー管理をDRYにしよう
Fabricでサーバー管理をDRYにしようFabricでサーバー管理をDRYにしよう
Fabricでサーバー管理をDRYにしよう
 
Fabric Essentials
Fabric EssentialsFabric Essentials
Fabric Essentials
 
XPagesで検索してみよう
XPagesで検索してみようXPagesで検索してみよう
XPagesで検索してみよう
 

Similar a PYTHON PACKAGING (PyFes 2012.03 発表資料)

Distutil setuptools distribute
Distutil setuptools distributeDistutil setuptools distribute
Distutil setuptools distribute
Atsushi Odagiri
 
Chef Casual Talk Vol.1 最近、日本でPuppetの影が薄くなって悲しいので、 ここであえてPuppetの話をする
Chef Casual Talk Vol.1 最近、日本でPuppetの影が薄くなって悲しいので、 ここであえてPuppetの話をするChef Casual Talk Vol.1 最近、日本でPuppetの影が薄くなって悲しいので、 ここであえてPuppetの話をする
Chef Casual Talk Vol.1 最近、日本でPuppetの影が薄くなって悲しいので、 ここであえてPuppetの話をする
Hidetoshi Ochiai
 
Perlワンライナーで全てのモジュールにuse v5.8.0つける!
Perlワンライナーで全てのモジュールにuse v5.8.0つける!Perlワンライナーで全てのモジュールにuse v5.8.0つける!
Perlワンライナーで全てのモジュールにuse v5.8.0つける!
debug-ito
 
無印Pentium debian install memo
無印Pentium debian install memo無印Pentium debian install memo
無印Pentium debian install memo
Yukiyoshi Yoshimoto
 
今最もアツイdistribution Gentoo Linuxについて
今最もアツイdistribution Gentoo Linuxについて今最もアツイdistribution Gentoo Linuxについて
今最もアツイdistribution Gentoo Linuxについて
Takuto Matsuu
 
Djangoとweb2pyをapacheに組込む
Djangoとweb2pyをapacheに組込むDjangoとweb2pyをapacheに組込む
Djangoとweb2pyをapacheに組込む
2bo 2bo
 
BPStudy#54 そろそろPython3
BPStudy#54 そろそろPython3BPStudy#54 そろそろPython3
BPStudy#54 そろそろPython3
Atsushi Odagiri
 

Similar a PYTHON PACKAGING (PyFes 2012.03 発表資料) (20)

Distutil setuptools distribute
Distutil setuptools distributeDistutil setuptools distribute
Distutil setuptools distribute
 
Chef Casual Talk Vol.1 最近、日本でPuppetの影が薄くなって悲しいので、 ここであえてPuppetの話をする
Chef Casual Talk Vol.1 最近、日本でPuppetの影が薄くなって悲しいので、 ここであえてPuppetの話をするChef Casual Talk Vol.1 最近、日本でPuppetの影が薄くなって悲しいので、 ここであえてPuppetの話をする
Chef Casual Talk Vol.1 最近、日本でPuppetの影が薄くなって悲しいので、 ここであえてPuppetの話をする
 
20170131 python3 6 PEP526
20170131 python3 6 PEP526 20170131 python3 6 PEP526
20170131 python3 6 PEP526
 
コンピュータビジョン 1章
コンピュータビジョン 1章コンピュータビジョン 1章
コンピュータビジョン 1章
 
Perlワンライナーで全てのモジュールにuse v5.8.0つける!
Perlワンライナーで全てのモジュールにuse v5.8.0つける!Perlワンライナーで全てのモジュールにuse v5.8.0つける!
Perlワンライナーで全てのモジュールにuse v5.8.0つける!
 
PostgreSQL開発コミュニティに参加しよう!(PostgreSQL Conference Japan 2021 発表資料)
PostgreSQL開発コミュニティに参加しよう!(PostgreSQL Conference Japan 2021 発表資料)PostgreSQL開発コミュニティに参加しよう!(PostgreSQL Conference Japan 2021 発表資料)
PostgreSQL開発コミュニティに参加しよう!(PostgreSQL Conference Japan 2021 発表資料)
 
Apache Bigtopによるオープンなビッグデータ処理基盤の構築(オープンデベロッパーズカンファレンス 2021 Online 発表資料)
Apache Bigtopによるオープンなビッグデータ処理基盤の構築(オープンデベロッパーズカンファレンス 2021 Online 発表資料)Apache Bigtopによるオープンなビッグデータ処理基盤の構築(オープンデベロッパーズカンファレンス 2021 Online 発表資料)
Apache Bigtopによるオープンなビッグデータ処理基盤の構築(オープンデベロッパーズカンファレンス 2021 Online 発表資料)
 
210728 mpy
210728 mpy210728 mpy
210728 mpy
 
20190722 Building handy CI with zuul and OpenStack
20190722 Building handy CI with zuul and OpenStack20190722 Building handy CI with zuul and OpenStack
20190722 Building handy CI with zuul and OpenStack
 
Cloudn PaaSチームのChatOps実践
Cloudn PaaSチームのChatOps実践Cloudn PaaSチームのChatOps実践
Cloudn PaaSチームのChatOps実践
 
「NVIDIA プロファイラを用いたPyTorch学習最適化手法のご紹介(修正版)」
「NVIDIA プロファイラを用いたPyTorch学習最適化手法のご紹介(修正版)」「NVIDIA プロファイラを用いたPyTorch学習最適化手法のご紹介(修正版)」
「NVIDIA プロファイラを用いたPyTorch学習最適化手法のご紹介(修正版)」
 
Python パッケージの影響を歴史から理解してみよう!
Python パッケージの影響を歴史から理解してみよう!Python パッケージの影響を歴史から理解してみよう!
Python パッケージの影響を歴史から理解してみよう!
 
無印Pentium debian install memo
無印Pentium debian install memo無印Pentium debian install memo
無印Pentium debian install memo
 
NuGet でゲット! Visual Studio パッケージ マネージャ―概要
NuGet でゲット! Visual Studio パッケージ マネージャ―概要NuGet でゲット! Visual Studio パッケージ マネージャ―概要
NuGet でゲット! Visual Studio パッケージ マネージャ―概要
 
今最もアツイdistribution Gentoo Linuxについて
今最もアツイdistribution Gentoo Linuxについて今最もアツイdistribution Gentoo Linuxについて
今最もアツイdistribution Gentoo Linuxについて
 
Fukuoka debianstudy02 / 福岡Debian勉強会 02
Fukuoka debianstudy02 / 福岡Debian勉強会 02Fukuoka debianstudy02 / 福岡Debian勉強会 02
Fukuoka debianstudy02 / 福岡Debian勉強会 02
 
PsychoPy Builder:モジュールの組み込みと視線計測
PsychoPy Builder:モジュールの組み込みと視線計測PsychoPy Builder:モジュールの組み込みと視線計測
PsychoPy Builder:モジュールの組み込みと視線計測
 
書こう! 使おう! 単体テスト
書こう! 使おう! 単体テスト書こう! 使おう! 単体テスト
書こう! 使おう! 単体テスト
 
Djangoとweb2pyをapacheに組込む
Djangoとweb2pyをapacheに組込むDjangoとweb2pyをapacheに組込む
Djangoとweb2pyをapacheに組込む
 
BPStudy#54 そろそろPython3
BPStudy#54 そろそろPython3BPStudy#54 そろそろPython3
BPStudy#54 そろそろPython3
 

Más de Takayuki Shimizukawa

【修正版】Django + SQLAlchemy: シンプルWay
【修正版】Django + SQLAlchemy: シンプルWay【修正版】Django + SQLAlchemy: シンプルWay
【修正版】Django + SQLAlchemy: シンプルWay
Takayuki Shimizukawa
 
Sphinxで作る貢献しやすい ドキュメント翻訳の仕組み
Sphinxで作る貢献しやすいドキュメント翻訳の仕組みSphinxで作る貢献しやすいドキュメント翻訳の仕組み
Sphinxで作る貢献しやすい ドキュメント翻訳の仕組み
Takayuki Shimizukawa
 

Más de Takayuki Shimizukawa (20)

Navigating Python: Milestones from Essential Reads
Navigating Python: Milestones from Essential ReadsNavigating Python: Milestones from Essential Reads
Navigating Python: Milestones from Essential Reads
 
IKEv2-VPN PyHackCon2023
IKEv2-VPN PyHackCon2023IKEv2-VPN PyHackCon2023
IKEv2-VPN PyHackCon2023
 
Django ORM道場:クエリの基本を押さえ,より良い形を身に付けよう
Django ORM道場:クエリの基本を押さえ,より良い形を身に付けようDjango ORM道場:クエリの基本を押さえ,より良い形を身に付けよう
Django ORM道場:クエリの基本を押さえ,より良い形を身に付けよう
 
OpenTelemetryでWebシステムの処理を追跡しよう - DjangoCongress JP 2022
OpenTelemetryでWebシステムの処理を追跡しよう - DjangoCongress JP 2022OpenTelemetryでWebシステムの処理を追跡しよう - DjangoCongress JP 2022
OpenTelemetryでWebシステムの処理を追跡しよう - DjangoCongress JP 2022
 
プログラマーとの出会い - Hello, Programmer! at PyCon Kyushu 2022
プログラマーとの出会い - Hello, Programmer! at PyCon Kyushu 2022プログラマーとの出会い - Hello, Programmer! at PyCon Kyushu 2022
プログラマーとの出会い - Hello, Programmer! at PyCon Kyushu 2022
 
Webアプリを並行開発する際のマイグレーション戦略
Webアプリを並行開発する際のマイグレーション戦略Webアプリを並行開発する際のマイグレーション戦略
Webアプリを並行開発する際のマイグレーション戦略
 
『自走プログラマー』 が我々に必要だった理由
『自走プログラマー』 が我々に必要だった理由『自走プログラマー』 が我々に必要だった理由
『自走プログラマー』 が我々に必要だった理由
 
エキスパートPythonプログラミング改訂3版の読みどころ
エキスパートPythonプログラミング改訂3版の読みどころエキスパートPythonプログラミング改訂3版の読みどころ
エキスパートPythonプログラミング改訂3版の読みどころ
 
RLSを用いたマルチテナント実装 for Django
RLSを用いたマルチテナント実装 for DjangoRLSを用いたマルチテナント実装 for Django
RLSを用いたマルチテナント実装 for Django
 
独学プログラマーのその後
独学プログラマーのその後独学プログラマーのその後
独学プログラマーのその後
 
【修正版】Django + SQLAlchemy: シンプルWay
【修正版】Django + SQLAlchemy: シンプルWay【修正版】Django + SQLAlchemy: シンプルWay
【修正版】Django + SQLAlchemy: シンプルWay
 
Sphinx customization for OGP support at SphinxCon JP 2018
Sphinx customization for OGP support at SphinxCon JP 2018Sphinx customization for OGP support at SphinxCon JP 2018
Sphinx customization for OGP support at SphinxCon JP 2018
 
Pythonはどうやってlen関数で長さを手にいれているの?
Pythonはどうやってlen関数で長さを手にいれているの?Pythonはどうやってlen関数で長さを手にいれているの?
Pythonはどうやってlen関数で長さを手にいれているの?
 
仕事で使うちょっとしたコードをOSSとして開発メンテしていく - Django Redshift Backend の開発 - PyCon JP 2016
仕事で使うちょっとしたコードをOSSとして開発メンテしていく- Django Redshift Backend の開発 - PyCon JP 2016仕事で使うちょっとしたコードをOSSとして開発メンテしていく- Django Redshift Backend の開発 - PyCon JP 2016
仕事で使うちょっとしたコードをOSSとして開発メンテしていく - Django Redshift Backend の開発 - PyCon JP 2016
 
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
 
素振りのススメ at Python入門者の集い
素振りのススメ at Python入門者の集い素振りのススメ at Python入門者の集い
素振りのススメ at Python入門者の集い
 
世界のSphinx事情 @ SphinxCon JP 2015
世界のSphinx事情 @ SphinxCon JP 2015世界のSphinx事情 @ SphinxCon JP 2015
世界のSphinx事情 @ SphinxCon JP 2015
 
JUS関西 Sphinxワークショップ@関西 Sphinx紹介
JUS関西 Sphinxワークショップ@関西 Sphinx紹介JUS関西 Sphinxワークショップ@関西 Sphinx紹介
JUS関西 Sphinxワークショップ@関西 Sphinx紹介
 
Sphinxで作る貢献しやすい ドキュメント翻訳の仕組み
Sphinxで作る貢献しやすいドキュメント翻訳の仕組みSphinxで作る貢献しやすいドキュメント翻訳の仕組み
Sphinxで作る貢献しやすい ドキュメント翻訳の仕組み
 
Sphinx autodoc - automated api documentation - PyCon.KR 2015
Sphinx autodoc - automated api documentation - PyCon.KR 2015Sphinx autodoc - automated api documentation - PyCon.KR 2015
Sphinx autodoc - automated api documentation - PyCon.KR 2015
 

Último

Último (11)

知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
 
Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)
Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)
Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)
 
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
 
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
 
新人研修 後半 2024/04/26の勉強会で発表されたものです。
新人研修 後半        2024/04/26の勉強会で発表されたものです。新人研修 後半        2024/04/26の勉強会で発表されたものです。
新人研修 後半 2024/04/26の勉強会で発表されたものです。
 
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
LoRaWANスマート距離検出センサー  DS20L  カタログ  LiDARデバイスLoRaWANスマート距離検出センサー  DS20L  カタログ  LiDARデバイス
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
 
Utilizing Ballerina for Cloud Native Integrations
Utilizing Ballerina for Cloud Native IntegrationsUtilizing Ballerina for Cloud Native Integrations
Utilizing Ballerina for Cloud Native Integrations
 
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
 
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアルLoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
 
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
 
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
 

PYTHON PACKAGING (PyFes 2012.03 発表資料)