Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
機械学習チームのモノレポ移行
Search
Sponsored
·
Your Podcast. Everywhere. Effortlessly.
Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
→
Koki Nishihara
October 05, 2023
Technology
1.1k
1
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
機械学習チームのモノレポ移行
「モノレポへの移行 LT -生産性の高いアーキテクチャに向けた第一歩-」の発表資料
https://findy.connpass.com/event/296339/
Koki Nishihara
October 05, 2023
More Decks by Koki Nishihara
See All by Koki Nishihara
非同期推論システムによるコスト削減と信頼性向上
koki_nishihara
1
820
[PyCon APAC 2023]PantsではじめるPython Monorepo
koki_nishihara
0
980
Other Decks in Technology
See All in Technology
データベース研修【MIXI 26新卒技術研修】
mixi_engineers
PRO
1
710
ガバメントクラウドでのランサムウェア対策
techniczna
0
140
大 AI 時代におけるC# の事情 ~ぶっちゃけトークを交えながら~
nenonaninu
1
560
もう一度考える SRE チームの作り方・育て方 / Rethinking SRE #1: Building and Growing SRE Teams
rrreeeyyy
1
150
事業成長とAI活用を止めないデータ基盤アーキテクチャの設計思想
hiracky16
0
780
データ組織の転換期 一足飛びしない段階的戦略
leveragestech
PRO
0
120
オートマトンと字句解析でRoslynを読む
tomokusaba
0
130
1台から試せる!Edge IoTを使った位置情報の活用設計【SORACOM Discovery 2026】
soracom
PRO
0
110
人手不足への挑戦:車両保全を支えるIoTとクラウド内製化の道【SORACOM Discovery 2026】
soracom
PRO
0
170
AWS環境のセキュリティ不安を解消した企業事例 ~よくある課題と対策を一挙公開~
asanoharuki
0
250
歴史から理解するクラウドインフラのしくみ
kizawa2020
0
190
QAタスクをスキル化したいときに考えること
aomoriringo
0
130
Featured
See All Featured
ピンチをチャンスに:未来をつくるプロダクトロードマップ #pmconf2020
aki_iinuma
128
56k
Being A Developer After 40
akosma
91
590k
Testing 201, or: Great Expectations
jmmastey
46
8.2k
AI Search: Where Are We & What Can We Do About It?
aleyda
0
7.7k
The SEO Collaboration Effect
kristinabergwall1
1
510
Utilizing Notion as your number one productivity tool
mfonobong
4
490
WENDY [Excerpt]
tessaabrams
11
39k
Ruling the World: When Life Gets Gamed
codingconduct
0
290
Leveraging Curiosity to Care for An Aging Population
cassininazir
1
440
Test your architecture with Archunit
thirion
1
2.3k
GitHub's CSS Performance
jonrohan
1033
470k
CSS Pre-Processors: Stylus, Less & Sass
bermonpainter
360
30k
Transcript
Koki Nishihara
Koki Nishihara (github ) CADDi AI Team, Tech Lead MLOps
OSS pydantic, Pants 10 27 @nishikoh PyCon APAC 2023
LT CADDi Tech Blog
CI Pull Request
CI Pull Request
Bazel Pants : 3rd party plugin : Python Python Pants
Bazel Pants
polyrepo monorepo + dir BUILD polyrepo monorepo app 1 ├──
src 2 │ └── main.py 3 ├── Dockerfile 4 ├── poetry.lock 5 ├── pyproject.toml 6 └── tests 7 └── test_main.py 8 pants.toml 1 projects 2 ├── app_1 3 │ ├── src 4 │ │ ├── BUILD 5 │ │ └── main.py 6 │ ├── BUILD 7 │ ├── Dockerfile 8 │ ├── poetry.lock 9 │ ├── pyproject.toml 10 │ └── tests 11 │ ├── BUILD 12 │ └── test_main.py 13 └── app_N 14 ├── ... 15
pants.toml [GLOBAL] 1 pants_version = "2.17.0" 2 backend_packages = [
3 "pants.backend.python", 4 "pants.backend.python.lint.black", 5 "pants.backend.python.lint.flake8", 6 "pants.backend.python.lint.isort", 7 "pants.backend.python.lint.docformatter", 8 "pants.backend.python.lint.bandit", 9 "pants.backend.python.lint.autoflake", 10 "pants.backend.python.lint.pyupgrade", 11 "pants.backend.python.lint.pylint", 12 "pants.backend.experimental.python.lint.ruff", 13 "pants.backend.experimental.python.lint.add_trailing_comma", 14 "pants.backend.python.typecheck.mypy", 15 ] 16 17
--changed-since --changed-dependees=transitive CI p50 30 , p75 90 , max
20 format lint test pants fmt --changed-since=origin/main --changed-dependees=transitive 1
Python CADDi Tech Blog
WebAPI Python
3rd party package : 300 : 30 3rd party package
300 packege 5
Good CI/CD format 1
More must git clone git lfs .git/ GitHub Actions disk
git lfs 300 3rd party
More Pants model registry git lfs GitHub Actions hosted runner
Cloud Build GitHub Actions larger runners
CADDi Tech Blog
Software Engineering at Google Build Systems and Build Philosophy
PyCon APAC 2023 “Pants Python Monorepo” Python, Pants