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
·
SiteGround - Reliable hosting with speed, security, and support you can count on.
→
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
810
[PyCon APAC 2023]PantsではじめるPython Monorepo
koki_nishihara
0
970
Other Decks in Technology
See All in Technology
ポケモンの型をTypeScriptの型システムで表現してみた
subroh0508
0
360
あなたの AI ワークスペースに、 専門コーダーを連れてくる - Amazon Quick Desktop 最新情報
kawaji_scratch
1
130
日本 Fintech 未来予測レポート 2027〜2028年(オリジナル版)
8maki
0
950
Kubernetesにおける学習基盤とLLMOpsの概要
ry
1
230
"何を作るか"を任される エンジニアは、どう育つのか
yutaokafuji
1
540
Bucharest Tech Week 2026 - Reinventing testing practices in the AI era
edeandrea
PRO
1
130
Agentic ERPをどう設計するか ー 受発注エージェントを動かす、現場の知見と設計思想ー
recerqainc
1
2.1k
2026 TECHFRESH 畢業分享會 - AI-Native 重塑軟體工程與虛擬講師
line_developers_tw
PRO
0
640
エンジニアリング戦略の作り方 / Crafting Engineering Strategy
iwashi86
18
6.3k
白金鉱業Meetup_Vol.24_「AIエージェントは分けるほど良い」は本当か? / Is it true that “the more you divide AI agents, the better”?
brainpadpr
1
190
脆弱性対応、どこで線を引くか
rymiyamoto
0
340
2026TECHFRESH畢業分享會 - Lightning Talk - 資料也要 CI/CD? 用 Airbyte 自動化資料同步
line_developers_tw
PRO
0
640
Featured
See All Featured
Stop Working from a Prison Cell
hatefulcrawdad
274
21k
Scaling GitHub
holman
464
140k
Getting science done with accelerated Python computing platforms
jacobtomlinson
2
220
The browser strikes back
jonoalderson
0
1.2k
Ruling the World: When Life Gets Gamed
codingconduct
0
250
The Language of Interfaces
destraynor
162
27k
Building Adaptive Systems
keathley
44
3k
Agile Leadership in an Agile Organization
kimpetersen
PRO
0
160
Side Projects
sachag
455
43k
Data-driven link building: lessons from a $708K investment (BrightonSEO talk)
szymonslowik
1
1.1k
jQuery: Nuts, Bolts and Bling
dougneiner
66
8.5k
Done Done
chrislema
186
16k
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