by probfusion
a personal monorepo for my smaller projects and learning.
why a monorepo? mainly for learning some devops, and keeping everything smaller in one place. for now i'm using moonrepo but i picked it mainly since it looks easy to start with and has potential support for many languages. i have no idea what i am doing.
if this doesn't work out i'll try nix. might even install nixos anyway on my proxmox server to play with.
i'm not experienced enough to evaluate the tools myself, so i just looked around the internet. from my research it seems bazel is the standard, but complicated and probably not worth the effort for me. i've heard mixed opinions about turborepo, rush, and nx, and some bad things about buck, pants, and bits. also a lot of these are js/ts only. i haven't researched enough about gradle, lage, earthly, or please.
toolchain:
| 🔨 tool | 📝 note | 🤔 why |
|---|---|---|
| pnpm | npm replacement |
performance, workspaces |
| rome | formatter and linter | replaces prettier and eslint |
| vite | build | fast, includes swc |
currently learning.
mostly notebooks and utilities relating to data science. i use all the major libraries, so i'll just highlight a small selection here.
| 🔨 tool | 📝 note | 🤔 why |
|---|---|---|
| mamba miniforge | fast conda | poetry doesn't like pytorch |
| playwright | scraping and testing. can't use in jupyter on windows | less verbose than selenium |
| selectolax | html parser | faster than beautifulsoup |
| paddleocr | open source ocr | better than tesseract |
| pymc | bayesian modeling | major improvements in recent years |
| numpyro | probabilistic programming | bayesian ml |
| httpx | async requests | sync requests are too slow |
| ydata-profiling | automated eda, formerly pandas-profiling | saves time |
| litestar | asgi framework, formerly starlite | fastapi alternative |
will continue learning.
notes, configurations, and scripts regarding my favorite tools and apps.