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
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
830
[PyCon APAC 2023]PantsではじめるPython Monorepo
koki_nishihara
0
990
Other Decks in Technology
See All in Technology
Master Dataグループ紹介資料
sansan33
PRO
1
4.8k
研究開発部の紹介 / Sansan R&D Profile
sansan33
PRO
4
24k
医療の現場を変革に挑戦した半年間の軌跡 - PythonとAIで現場を変える / From Code to Care
soudai
PRO
0
120
Software Supply Chain Attackからクラウド環境を守るためにできること
lhazy
2
280
平文パスワードはログに“残り” ── 肝心の侵入は“痕跡すら残らない”
kuroneko13
0
110
FORENSIA: ローカルLLMフォレンジックハーネス
sumeshi
2
430
コーチングの奥義 何もしないテクニック
jinwatanabe
0
140
SO-101×VLAによる3色キューブのピック&プレース
abeja
0
220
Invisible to AI? Making TYPO3 Sites Quotable by AI Search Systems
wolfgangwagner
0
240
なぜ Temporal の大小比較には compare しかないのか / Why Does Temporal Only Have compare() for Comparisons
kazukihayase
1
180
Go 1.27 の標準パッケージに uuid が入った!のでいろいろ喋る / go_127_std_go_uuid
convto
3
530
Head First モブプログラミング / Head First Mobprogramming
takaking22
10
12k
Featured
See All Featured
Technical Leadership for Architectural Decision Making
baasie
3
510
Hiding What from Whom? A Critical Review of the History of Programming languages for Music
tomoyanonymous
3
1.1k
Ecommerce SEO: The Keys for Success Now & Beyond - #SERPConf2024
aleyda
1
2.1k
HU Berlin: Industrial-Strength Natural Language Processing with spaCy and Prodigy
inesmontani
PRO
0
650
How Fast Is Fast Enough? [PerfNow 2025]
tammyeverts
3
790
Navigating Algorithm Shifts & AI Overviews - #SMXNext
aleyda
1
1.6k
4 Signs Your Business is Dying
shpigford
187
23k
Distributed Sagas: A Protocol for Coordinating Microservices
caitiem20
333
23k
XXLCSS - How to scale CSS and keep your sanity
sugarenia
249
1.3M
Product Roadmaps are Hard
iamctodd
55
12k
A better future with KSS
kneath
240
18k
Visualizing Your Data: Incorporating Mongo into Loggly Infrastructure
mongodb
49
10k
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