SlideShare uma empresa Scribd logo
1 de 49
Baixar para ler offline
パッケージングの
今と未来
aodag - Atsushi Odagiri
PyCon APAC 2013
お前誰よ
aodag 小田切篤 Atsushi Odagiri
Be Proud, Inc.
pylonsproject.jp
Pythonは10年ほど使わせていただいております
Agenda
パッケージングの基礎知識
パッケージングの今
パッケージングの未来
まとめ
パッケージングの基礎知識
なぜパッケージングするのか?
Pythonでのパッケージング
なぜパッケージングするのか?
● 作ったものを誰かに使ってもらう
● 誰かが作ったものを使う
素朴な方法
hello.pyを渡して
python hello.py
distutils
setup.pyにパッケージ情報を書く
python setup.py sdist でソースパッケージ作成
python setup.py install でパッケージインストール
パッケージングの今
Pypaツール群
setuptoolsベースのパッケージング
Pythonパッケージ開発の流れ
Pypa Python Packaging Authority
パッケージング関連の重要なツールをメンテナンス
する非公式なグループ
なぜかリポジトリがgithubとbitbucketにわかれてい
る
github pip virtualenv
bitbucket setuptools pypi distlib
モダンなPythonの環境作り
Pypaツール群
● virtualenv
● setuptools
● pip
virtualenvは環境作成時にsetuptools,pipがそ
ろった環境にしてくれる
pip
パッケージインストーラー
sdistしか扱えない(状態が続いていた)
さまざまなロケーションからインストール
pip install パッケージ名
pip install パッケージURL
pip install vcs{git,hg..}+リポジトリURL@チェンジ
セット
pip
requirements.txtにパッケージを全部指定
pip install -r requrements.txt
パッケージを削除
pip uninstall spam
pip
easy_installとは
なんだったのか?
setuptools/distribute
setup.pyを強化
配布するまでのコマンド
setup.py test
setup.py register
setup.py sdist bdist_egg upload
setup.py upload_docs
setuptools/distribute
pkg_resources
● パッケージのメタデータを利用するためのライブ
ラリ
● パッケージに含まれるメディアデータの取得など
● entry_point(後述)のローディングなども行える
setuptools/distribute
setuptoolsとdistributeの関係
setuptoolsがあまり更新などしない
distributeがフォーク
distributeがpy3対応などいろいろ
2013 PyCon USでマージ宣言 Pypaがメンテする
distributeコードベースでsetuptools-0.7など
setuptools-0.8,0.9,0.9.1...0.9.8,1.0,1.1,1.1.5
setuptools
distributeのことは
忘れてあげてください
setuptools
マージ後のsetuptoolsは
バージョンあげすぎです><
setuptools/distribute
packages=find_packages()
packagesに自分でパッケージを羅列しなくてもよい
install_requires, tests_require, extras_require,
setup_require
ライブラリの依存性を指定
setuptools/distribute
entry_point
プラグインの仕組み
CUIコマンドを作る例
entry_point={
“console_scripts”: [
“hello=hello:greeting”,
],
}
entry_point活用例
PasteDeploy
nose
cliff
setuptoolsのサブコマンド
egg
バイナリパッケージ
C拡張などのコンパイル済ライブラリなどを含める
ソースとメタデータをzipアーカイブしたもの
PIPでは扱えない
egg-info
pyramid-1.5a1-py33.egg-infoの例
● PKG-INFO
● SOURCES.txt
● dependency_links.txt
● entry_points.txt
● not-zip-safe
● requires.txt
● top_level.txt
PyPI
パッケージを登録して配布するサイト
pipやeasy_installはデフォルトで、PyPIにパッケー
ジを探しに行く
pip,setuptools,virtualenvでの開発
仮想環境作成と利用
mkdir yourproject
cd yourproject
virtualenv env
. env/bin/activate
or
env/scripts/activate.ps1
pip,setuptools,virtualenvでの開発
プロジェクトのディレクトリ構成
yourproject/
┣ env/
┣ setup.py
┣ setup.cfg
┣ docs/
┗yourproject/__init__.py
┗main.py
最小限のsetup.py
from setuptools import setup, find_packages
setup(name=”yourproject”,
packages=find_packages(),
)
実用的なsetup.py
from setuptools import setup, find_packages
setup(name=”yourproject”,
packages=find_packages(),
install_requires=[“webob”],
tests_require=[“testfixtures”],
test_suite=”yourproject”,
)
pip,setuptools,virtualenvでの開発
開発対象のegg登録と依存ライブラリインストール
(Editable Install)
pip install -e .
pip,setuptools,virtualenvでの開発
テストから、PyPIへのアップロード、PythonHosted
へのドキュメントアップロード
python setup.py test
python setup.py egg_info
python setup.py check
python setup.py register
python setup.py sdist bdist_egg upload
python setup.py build_sphinx
python setup.py upload_docs
extras_requireを活用する
setup(
…
extras_require={
“testing”: tests_require,
“docs”: docs_require,
“dev”: tests_require + docs_require,
}
)
extras_requireを活用する
extrasを指定してEditable Install
pip install -e .[dev]
setup.cfg
devパッケージ
[egg_info]
tag-build = dev
sdistやbdist_eggなどで生成されるパッケージの
バージョンの後にdevが付加される
setup.cfg
コマンドのオプションを指定
[upload_docs]
upload_dir = docs/build/html
python setup.py upload_docs で自動でオプショ
ン追加
setup.cfg
コマンドを追加(alias)
[aliases]
release = egg_info -RDb ''
source = register sdist binary
binary = bdist_egg upload --show-response
python setup.py release source
パッケージングの未来
関連PEP
wheel
distlib
Metadata 2.0
pip
インストーラー
easy_installsetup.py install
distutils
パッケージャー
setuptools/distribute
パッケージフォーマット
sdist
egg
Metadata1.0
wheel
Metadata2.0
?
pkg_resources(setuptools)
ユーティリティモジュール
distlib
今 未来
関連PEP
PEP 345 -- Metadata 1.2
PEP 376 -- Database
PEP 386 -- Version
PEP 420 -- Namespace Package
PEP 426 -- Metadata 2.0
PEP 427 -- Wheel
PEP 440 -- Version
PEP 453 -- Bundle PIP Installer
Wheel
● バイナリパッケージフォーマット
● Metadata 2.0を含むzip
● 電子署名可能
● bdist_wheelやegg2wheel, distlib.wheelなど
で作成
● C拡張などを含まない場合はpy2,py3両用のユ
ニバーサル構成可能
● 既にpipもサポート開始
● PyPIは?
distlib
● 関連PEPの実装ライブラリ
● PyPIへのアクセスAPI
● パッケージ同梱のメディアファイルへのアクセス
● Scriptsのインストール
● 機能検証用にdistilというコマンドがある
Metadata 2.0 pydist.json
● egg-infoでばらばらだった項目(requires,
entry_point)とMetadata1.0(PKG-INFO)を統合
● josnフォーマット
● wheelの dist-info に配置する
pkg_resourcesからdistlibへ
● だいたい同じことができる
● entry_pointとexportsで非互換性がある
setuptoolsのwheel対応
setuptools自体はdistlibもwheelも対応していない
wheelをインストールすると、setupにbdist_wheel
コマンドが追加される
pipのwheel対応
● distlibを同梱して、wheelパッケージをインス
トール可能
● sdistに対してbdist_wheelする実装が既に取り
込まれている(インストールはしない)
● 直接sdistをインストールする場合は bdist_egg
が実行される
Wheelをどう使うか?
例:Webアプリケーションのデプロイ
アプリサーバーにgccがない!Pillowをどうインス
トールするか?
wheelで作成してアプリケーションサーバーに配布
する。
pipでwheelをインストール(pipはeggパッケージを
取り扱えない)
開発マシン
パッケージサーバー
ステージングサーバー
プロダクションサーバー
リポジトリ
CIサーバー
ソースコード
sdist
wheel
requirements.txt
wheel
議論中の話題
● sdistをインストールする際に、setup.py
bdist_eggは必須か?
● パッケージャーがwheelを作成するのをサポート
するツールは?
○ bdist_wheelはsetuptoolsとwheelが必要
○ sdist.wheelはpydist.jsonを自分で書く
○ bentoは独自形式のmetadataファイルから変換する
● 各Linuxディストリビューションの反応、作業はど
のようになるか?
まとめ
● 今はsetuptoolsの使い方とsetup.pyの書き方を
ちゃんと覚えよう
● pipはがんばってpepに追従しているので今後も
安泰に見える
● setuptoolsはいい加減にしてほしい
● wheelはデプロイで活用できるかも
参考文献
● Distributing Python Modules
● Python Packaging User Guide
● Wheel
● distlib
● setuptools
● pip
● Bento
● pypa bitbucket
● pypa github

Mais conteúdo relacionado

Mais procurados

組合せ最適化を体系的に知ってPythonで実行してみよう PyCon 2015
組合せ最適化を体系的に知ってPythonで実行してみよう PyCon 2015組合せ最適化を体系的に知ってPythonで実行してみよう PyCon 2015
組合せ最適化を体系的に知ってPythonで実行してみよう PyCon 2015SaitoTsutomu
 
今年使ってみて良かった、Pythonモジュール、パッケージ、ツール
今年使ってみて良かった、Pythonモジュール、パッケージ、ツール今年使ってみて良かった、Pythonモジュール、パッケージ、ツール
今年使ってみて良かった、Pythonモジュール、パッケージ、ツールaoshiman
 
パッケージングを支える技術 pyconjp2016
パッケージングを支える技術 pyconjp2016パッケージングを支える技術 pyconjp2016
パッケージングを支える技術 pyconjp2016Atsushi Odagiri
 
PyQtではじめるGUIプログラミング
PyQtではじめるGUIプログラミングPyQtではじめるGUIプログラミング
PyQtではじめるGUIプログラミングRansui Iso
 
Git pyfes201207-presen
Git pyfes201207-presenGit pyfes201207-presen
Git pyfes201207-presenKouhei Maeda
 
Pythonを取り巻く開発環境 #pyconjp
Pythonを取り巻く開発環境 #pyconjpPythonを取り巻く開発環境 #pyconjp
Pythonを取り巻く開発環境 #pyconjpYoshifumi Yamaguchi
 
「Python言語」はじめの一歩 / First step of Python
「Python言語」はじめの一歩 / First step of Python「Python言語」はじめの一歩 / First step of Python
「Python言語」はじめの一歩 / First step of PythonTakanori Suzuki
 
密着!わたしのコンソールアプリ開発環境
密着!わたしのコンソールアプリ開発環境密着!わたしのコンソールアプリ開発環境
密着!わたしのコンソールアプリ開発環境Fumihito Yokoyama
 
wxPython入門(大阪Pythonユーザの集まり2014/03)
wxPython入門(大阪Pythonユーザの集まり2014/03)wxPython入門(大阪Pythonユーザの集まり2014/03)
wxPython入門(大阪Pythonユーザの集まり2014/03)泰 増田
 
XML-RPC : Pythonが「電池付属」と呼ばれる理由
XML-RPC : Pythonが「電池付属」と呼ばれる理由XML-RPC : Pythonが「電池付属」と呼ばれる理由
XML-RPC : Pythonが「電池付属」と呼ばれる理由Ransui Iso
 
「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 12Takanori Suzuki
 
Python × Herokuで作る 雑談slack bot
Python × Herokuで作る 雑談slack botPython × Herokuで作る 雑談slack bot
Python × Herokuで作る 雑談slack botdcubeio
 
Python twitterとtkinterのことはじめ
Python twitterとtkinterのことはじめPython twitterとtkinterのことはじめ
Python twitterとtkinterのことはじめYukitaka Uchikoshi
 
Pynyumon03 LT
Pynyumon03 LTPynyumon03 LT
Pynyumon03 LTdrillan
 
Pythonでブラウザをいっぱい動かしたい
Pythonでブラウザをいっぱい動かしたいPythonでブラウザをいっぱい動かしたい
Pythonでブラウザをいっぱい動かしたいKameko Ohmura
 
書こう! 使おう! 単体テスト
書こう! 使おう! 単体テスト書こう! 使おう! 単体テスト
書こう! 使おう! 単体テストryohji ikebe
 
書こう! 使おう! 単体テスト
書こう! 使おう! 単体テスト書こう! 使おう! 単体テスト
書こう! 使おう! 単体テストryohji ikebe
 

Mais procurados (20)

組合せ最適化を体系的に知ってPythonで実行してみよう PyCon 2015
組合せ最適化を体系的に知ってPythonで実行してみよう PyCon 2015組合せ最適化を体系的に知ってPythonで実行してみよう PyCon 2015
組合せ最適化を体系的に知ってPythonで実行してみよう PyCon 2015
 
今年使ってみて良かった、Pythonモジュール、パッケージ、ツール
今年使ってみて良かった、Pythonモジュール、パッケージ、ツール今年使ってみて良かった、Pythonモジュール、パッケージ、ツール
今年使ってみて良かった、Pythonモジュール、パッケージ、ツール
 
Pythonでゲーム作る
Pythonでゲーム作るPythonでゲーム作る
Pythonでゲーム作る
 
パッケージングを支える技術 pyconjp2016
パッケージングを支える技術 pyconjp2016パッケージングを支える技術 pyconjp2016
パッケージングを支える技術 pyconjp2016
 
PyQtではじめるGUIプログラミング
PyQtではじめるGUIプログラミングPyQtではじめるGUIプログラミング
PyQtではじめるGUIプログラミング
 
Git pyfes201207-presen
Git pyfes201207-presenGit pyfes201207-presen
Git pyfes201207-presen
 
Pythonを取り巻く開発環境 #pyconjp
Pythonを取り巻く開発環境 #pyconjpPythonを取り巻く開発環境 #pyconjp
Pythonを取り巻く開発環境 #pyconjp
 
「Python言語」はじめの一歩 / First step of Python
「Python言語」はじめの一歩 / First step of Python「Python言語」はじめの一歩 / First step of Python
「Python言語」はじめの一歩 / First step of Python
 
密着!わたしのコンソールアプリ開発環境
密着!わたしのコンソールアプリ開発環境密着!わたしのコンソールアプリ開発環境
密着!わたしのコンソールアプリ開発環境
 
wxPython入門(大阪Pythonユーザの集まり2014/03)
wxPython入門(大阪Pythonユーザの集まり2014/03)wxPython入門(大阪Pythonユーザの集まり2014/03)
wxPython入門(大阪Pythonユーザの集まり2014/03)
 
XML-RPC : Pythonが「電池付属」と呼ばれる理由
XML-RPC : Pythonが「電池付属」と呼ばれる理由XML-RPC : Pythonが「電池付属」と呼ばれる理由
XML-RPC : Pythonが「電池付属」と呼ばれる理由
 
「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
 
Python × Herokuで作る 雑談slack bot
Python × Herokuで作る 雑談slack botPython × Herokuで作る 雑談slack bot
Python × Herokuで作る 雑談slack bot
 
Python twitterとtkinterのことはじめ
Python twitterとtkinterのことはじめPython twitterとtkinterのことはじめ
Python twitterとtkinterのことはじめ
 
Pynyumon03 LT
Pynyumon03 LTPynyumon03 LT
Pynyumon03 LT
 
Puppet入門
Puppet入門Puppet入門
Puppet入門
 
Pythonでブラウザをいっぱい動かしたい
Pythonでブラウザをいっぱい動かしたいPythonでブラウザをいっぱい動かしたい
Pythonでブラウザをいっぱい動かしたい
 
第1回python勉強会
第1回python勉強会第1回python勉強会
第1回python勉強会
 
書こう! 使おう! 単体テスト
書こう! 使おう! 単体テスト書こう! 使おう! 単体テスト
書こう! 使おう! 単体テスト
 
書こう! 使おう! 単体テスト
書こう! 使おう! 単体テスト書こう! 使おう! 単体テスト
書こう! 使おう! 単体テスト
 

Destaque

機械学習チュートリアル@Jubatus Casual Talks
機械学習チュートリアル@Jubatus Casual Talks機械学習チュートリアル@Jubatus Casual Talks
機械学習チュートリアル@Jubatus Casual TalksYuya Unno
 
データ分析スクリプトのツール化入門 - PyConJP 2016
データ分析スクリプトのツール化入門 - PyConJP 2016データ分析スクリプトのツール化入門 - PyConJP 2016
データ分析スクリプトのツール化入門 - PyConJP 2016Akinori Kohno
 
Two sides of "Python Engineer Training Book"
Two sides of "Python Engineer Training Book"Two sides of "Python Engineer Training Book"
Two sides of "Python Engineer Training Book"Takanori Suzuki
 
IT勉強会カレンダーの楽しみ方(公開用)
IT勉強会カレンダーの楽しみ方(公開用)IT勉強会カレンダーの楽しみ方(公開用)
IT勉強会カレンダーの楽しみ方(公開用)rip jyr
 
Python入門 コードリーディング - PyConJP2016
Python入門 コードリーディング - PyConJP2016Python入門 コードリーディング - PyConJP2016
Python入門 コードリーディング - PyConJP2016Shinya Okano
 
S01 t2 akutsu_my_pythonhistory
S01 t2 akutsu_my_pythonhistoryS01 t2 akutsu_my_pythonhistory
S01 t2 akutsu_my_pythonhistoryTakeshi Akutsu
 
Python エンジニアの作り方 2011.08 #pyconjp
Python エンジニアの作り方 2011.08 #pyconjpPython エンジニアの作り方 2011.08 #pyconjp
Python エンジニアの作り方 2011.08 #pyconjpTakeshi Komiya
 
Unite 16' LAで発表されたあれこれとゲームアプリのマネタイズベストプラクティス
Unite 16' LAで発表されたあれこれとゲームアプリのマネタイズベストプラクティスUnite 16' LAで発表されたあれこれとゲームアプリのマネタイズベストプラクティス
Unite 16' LAで発表されたあれこれとゲームアプリのマネタイズベストプラクティスYasuyuki Kamata
 
PyCon JP 2016 Talk#024 ja
 PyCon JP 2016 Talk#024 ja PyCon JP 2016 Talk#024 ja
PyCon JP 2016 Talk#024 jadrillan
 
S01 t1 tsuji_pylearn_ut_01
S01 t1 tsuji_pylearn_ut_01S01 t1 tsuji_pylearn_ut_01
S01 t1 tsuji_pylearn_ut_01Takeshi Akutsu
 
Pythonによる画像処理について
Pythonによる画像処理についてPythonによる画像処理について
Pythonによる画像処理についてYasutomo Kawanishi
 
ビックデータとPythonではじめる野球の統計分析 #pyconjp
ビックデータとPythonではじめる野球の統計分析 #pyconjpビックデータとPythonではじめる野球の統計分析 #pyconjp
ビックデータとPythonではじめる野球の統計分析 #pyconjpShinichi Nakagawa
 
中級グラフィックス入門~シャドウマッピング総まとめ~
中級グラフィックス入門~シャドウマッピング総まとめ~中級グラフィックス入門~シャドウマッピング総まとめ~
中級グラフィックス入門~シャドウマッピング総まとめ~ProjectAsura
 
WebエンジニアとWebディレクターを兼任してわかった3つのこと
WebエンジニアとWebディレクターを兼任してわかった3つのことWebエンジニアとWebディレクターを兼任してわかった3つのこと
WebエンジニアとWebディレクターを兼任してわかった3つのことSatoshi Moriya
 

Destaque (20)

機械学習チュートリアル@Jubatus Casual Talks
機械学習チュートリアル@Jubatus Casual Talks機械学習チュートリアル@Jubatus Casual Talks
機械学習チュートリアル@Jubatus Casual Talks
 
データ分析スクリプトのツール化入門 - PyConJP 2016
データ分析スクリプトのツール化入門 - PyConJP 2016データ分析スクリプトのツール化入門 - PyConJP 2016
データ分析スクリプトのツール化入門 - PyConJP 2016
 
Two sides of "Python Engineer Training Book"
Two sides of "Python Engineer Training Book"Two sides of "Python Engineer Training Book"
Two sides of "Python Engineer Training Book"
 
ゴルフ
ゴルフゴルフ
ゴルフ
 
Import community pycon jp
Import community pycon jpImport community pycon jp
Import community pycon jp
 
IT勉強会カレンダーの楽しみ方(公開用)
IT勉強会カレンダーの楽しみ方(公開用)IT勉強会カレンダーの楽しみ方(公開用)
IT勉強会カレンダーの楽しみ方(公開用)
 
Python入門 コードリーディング - PyConJP2016
Python入門 コードリーディング - PyConJP2016Python入門 コードリーディング - PyConJP2016
Python入門 コードリーディング - PyConJP2016
 
S01 t2 akutsu_my_pythonhistory
S01 t2 akutsu_my_pythonhistoryS01 t2 akutsu_my_pythonhistory
S01 t2 akutsu_my_pythonhistory
 
S01 t4 wrapup
S01 t4 wrapupS01 t4 wrapup
S01 t4 wrapup
 
Python エンジニアの作り方 2011.08 #pyconjp
Python エンジニアの作り方 2011.08 #pyconjpPython エンジニアの作り方 2011.08 #pyconjp
Python エンジニアの作り方 2011.08 #pyconjp
 
Unite 16' LAで発表されたあれこれとゲームアプリのマネタイズベストプラクティス
Unite 16' LAで発表されたあれこれとゲームアプリのマネタイズベストプラクティスUnite 16' LAで発表されたあれこれとゲームアプリのマネタイズベストプラクティス
Unite 16' LAで発表されたあれこれとゲームアプリのマネタイズベストプラクティス
 
S01 t3 data_engineer
S01 t3 data_engineerS01 t3 data_engineer
S01 t3 data_engineer
 
PyCon JP 2016 Talk#024 ja
 PyCon JP 2016 Talk#024 ja PyCon JP 2016 Talk#024 ja
PyCon JP 2016 Talk#024 ja
 
S01 t1 tsuji_pylearn_ut_01
S01 t1 tsuji_pylearn_ut_01S01 t1 tsuji_pylearn_ut_01
S01 t1 tsuji_pylearn_ut_01
 
S01 t0 orientation
S01 t0 orientationS01 t0 orientation
S01 t0 orientation
 
Pythonによる画像処理について
Pythonによる画像処理についてPythonによる画像処理について
Pythonによる画像処理について
 
Django learning Part2
Django learning Part2Django learning Part2
Django learning Part2
 
ビックデータとPythonではじめる野球の統計分析 #pyconjp
ビックデータとPythonではじめる野球の統計分析 #pyconjpビックデータとPythonではじめる野球の統計分析 #pyconjp
ビックデータとPythonではじめる野球の統計分析 #pyconjp
 
中級グラフィックス入門~シャドウマッピング総まとめ~
中級グラフィックス入門~シャドウマッピング総まとめ~中級グラフィックス入門~シャドウマッピング総まとめ~
中級グラフィックス入門~シャドウマッピング総まとめ~
 
WebエンジニアとWebディレクターを兼任してわかった3つのこと
WebエンジニアとWebディレクターを兼任してわかった3つのことWebエンジニアとWebディレクターを兼任してわかった3つのこと
WebエンジニアとWebディレクターを兼任してわかった3つのこと
 

Semelhante a パッケージングの今と未来

サードパーティパッケージの歩き方
サードパーティパッケージの歩き方サードパーティパッケージの歩き方
サードパーティパッケージの歩き方Takesxi Sximada
 
PsychoPy Builder:モジュールの組み込みと視線計測
PsychoPy Builder:モジュールの組み込みと視線計測PsychoPy Builder:モジュールの組み込みと視線計測
PsychoPy Builder:モジュールの組み込みと視線計測HiroyukiSogo
 
『自走プログラマー』 が我々に必要だった理由
『自走プログラマー』 が我々に必要だった理由『自走プログラマー』 が我々に必要だった理由
『自走プログラマー』 が我々に必要だった理由Takayuki Shimizukawa
 
チームで活用するAnaconda入門
チームで活用するAnaconda入門チームで活用するAnaconda入門
チームで活用するAnaconda入門Takeshi Akutsu
 
WindowsでPython
WindowsでPythonWindowsでPython
WindowsでPythondrillan
 

Semelhante a パッケージングの今と未来 (6)

サードパーティパッケージの歩き方
サードパーティパッケージの歩き方サードパーティパッケージの歩き方
サードパーティパッケージの歩き方
 
PsychoPy Builder:モジュールの組み込みと視線計測
PsychoPy Builder:モジュールの組み込みと視線計測PsychoPy Builder:モジュールの組み込みと視線計測
PsychoPy Builder:モジュールの組み込みと視線計測
 
『自走プログラマー』 が我々に必要だった理由
『自走プログラマー』 が我々に必要だった理由『自走プログラマー』 が我々に必要だった理由
『自走プログラマー』 が我々に必要だった理由
 
チームで活用するAnaconda入門
チームで活用するAnaconda入門チームで活用するAnaconda入門
チームで活用するAnaconda入門
 
WindowsでPython
WindowsでPythonWindowsでPython
WindowsでPython
 
PyPI入門2018
PyPI入門2018PyPI入門2018
PyPI入門2018
 

Mais de Atsushi Odagiri

async/await の向こう側 PyCon Kyushu 2022
async/await の向こう側 PyCon Kyushu 2022async/await の向こう側 PyCon Kyushu 2022
async/await の向こう側 PyCon Kyushu 2022Atsushi Odagiri
 
pyconjp 2019 LT 今日のsetuptools
pyconjp 2019 LT 今日のsetuptoolspyconjp 2019 LT 今日のsetuptools
pyconjp 2019 LT 今日のsetuptoolsAtsushi Odagiri
 
Pythonでの開発を効率的に進めるためのツール設定
Pythonでの開発を効率的に進めるためのツール設定Pythonでの開発を効率的に進めるためのツール設定
Pythonでの開発を効率的に進めるためのツール設定Atsushi Odagiri
 
Python3 移行への軌跡
Python3 移行への軌跡Python3 移行への軌跡
Python3 移行への軌跡Atsushi Odagiri
 
Sqlalchemy sqlの錬金術
Sqlalchemy  sqlの錬金術Sqlalchemy  sqlの錬金術
Sqlalchemy sqlの錬金術Atsushi Odagiri
 
Pyconjp2012 memory-of-europython
Pyconjp2012 memory-of-europythonPyconjp2012 memory-of-europython
Pyconjp2012 memory-of-europythonAtsushi Odagiri
 
What makes pyramid unique
What makes pyramid uniqueWhat makes pyramid unique
What makes pyramid uniqueAtsushi Odagiri
 
エキPy lt repoze.whoの紹介
エキPy lt repoze.whoの紹介エキPy lt repoze.whoの紹介
エキPy lt repoze.whoの紹介Atsushi Odagiri
 
BPStudy#54 そろそろPython3
BPStudy#54 そろそろPython3BPStudy#54 そろそろPython3
BPStudy#54 そろそろPython3Atsushi Odagiri
 
フレームワークなしでWSGIプログラミング
フレームワークなしでWSGIプログラミングフレームワークなしでWSGIプログラミング
フレームワークなしでWSGIプログラミングAtsushi Odagiri
 
Nose 鼻をきかせてテストせよ
Nose  鼻をきかせてテストせよNose  鼻をきかせてテストせよ
Nose 鼻をきかせてテストせよAtsushi Odagiri
 

Mais de Atsushi Odagiri (20)

async/await の向こう側 PyCon Kyushu 2022
async/await の向こう側 PyCon Kyushu 2022async/await の向こう側 PyCon Kyushu 2022
async/await の向こう側 PyCon Kyushu 2022
 
pyconjp 2019 LT 今日のsetuptools
pyconjp 2019 LT 今日のsetuptoolspyconjp 2019 LT 今日のsetuptools
pyconjp 2019 LT 今日のsetuptools
 
Pythonでの開発を効率的に進めるためのツール設定
Pythonでの開発を効率的に進めるためのツール設定Pythonでの開発を効率的に進めるためのツール設定
Pythonでの開発を効率的に進めるためのツール設定
 
Python3 移行への軌跡
Python3 移行への軌跡Python3 移行への軌跡
Python3 移行への軌跡
 
Sqlalchemy sqlの錬金術
Sqlalchemy  sqlの錬金術Sqlalchemy  sqlの錬金術
Sqlalchemy sqlの錬金術
 
Clack meetup #1 lt
Clack meetup #1 ltClack meetup #1 lt
Clack meetup #1 lt
 
Pyramid入門
Pyramid入門Pyramid入門
Pyramid入門
 
Bplt11 form alchemy
Bplt11 form alchemyBplt11 form alchemy
Bplt11 form alchemy
 
Python3でwebアプリ
Python3でwebアプリPython3でwebアプリ
Python3でwebアプリ
 
Pyconjp2012 memory-of-europython
Pyconjp2012 memory-of-europythonPyconjp2012 memory-of-europython
Pyconjp2012 memory-of-europython
 
What makes pyramid unique
What makes pyramid uniqueWhat makes pyramid unique
What makes pyramid unique
 
エキPy lt repoze.whoの紹介
エキPy lt repoze.whoの紹介エキPy lt repoze.whoの紹介
エキPy lt repoze.whoの紹介
 
World plonedaylt
World plonedayltWorld plonedaylt
World plonedaylt
 
Setup.pysetup.cfg
Setup.pysetup.cfgSetup.pysetup.cfg
Setup.pysetup.cfg
 
BPStudy#54 そろそろPython3
BPStudy#54 そろそろPython3BPStudy#54 そろそろPython3
BPStudy#54 そろそろPython3
 
Form libraries
Form librariesForm libraries
Form libraries
 
フレームワークなしでWSGIプログラミング
フレームワークなしでWSGIプログラミングフレームワークなしでWSGIプログラミング
フレームワークなしでWSGIプログラミング
 
Form libraries
Form librariesForm libraries
Form libraries
 
Aodag scaffold
Aodag scaffoldAodag scaffold
Aodag scaffold
 
Nose 鼻をきかせてテストせよ
Nose  鼻をきかせてテストせよNose  鼻をきかせてテストせよ
Nose 鼻をきかせてテストせよ
 

Último

NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)NTT DATA Technology & Innovation
 
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdfクラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdfFumieNakayama
 
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察  ~Text-to-MusicとText-To-ImageかつImage-to-Music...モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察  ~Text-to-MusicとText-To-ImageかつImage-to-Music...
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...博三 太田
 
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案sugiuralab
 
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?akihisamiyanaga1
 
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdfAWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdfFumieNakayama
 
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)UEHARA, Tetsutaro
 
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)Hiroshi Tomioka
 
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineerYuki Kikuchi
 

Último (9)

NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
 
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdfクラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
 
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察  ~Text-to-MusicとText-To-ImageかつImage-to-Music...モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察  ~Text-to-MusicとText-To-ImageかつImage-to-Music...
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...
 
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
 
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
 
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdfAWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
 
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
 
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
 
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
 

パッケージングの今と未来