Coming from npm and node_modules, Python tooling felt alien until I found uv. Here is the 1:1 mapping that made it click.

I have started learning Python and there are so many new things, specially around tooling. Coming from a frontend background, I found it essential to have some form of mapping to navigate this new landscape. That's when I discovered uv, which feels quite similar to npm.
uv is a single tool that covers project dependencies, virtual environments, Python version management, and publishing.
Here is the 1:1 mapping:
| npm / Node.js | Python / uv |
|---|---|
package.json | pyproject.toml |
package-lock.json | uv.lock |
node_modules/ | .venv/ |
npm init | uv init |
npm install zod | uv add pydantic |
npx | uvx |
uv installed dependencies way faster than npm. We do not need to activate anything, uv run will handle the environment for us.
That's it for today. I will post more things about my learning journey soon.

If you have used Zod, you already understand 70 to 80% of Pydantic. The mental model transfers almost one-to-one.

A deep walk-through of web security for JS developers: same-origin policy, CORS, XSS, CSRF, clickjacking, CSP, secrets, supply chain, plus 2026 case studies from axios and Vercel. Built as an interview-ready reference for anyone who (like me) has to re-learn this every few months.

Say goodbye to date-handling nightmares! Learn how the new Temporal API makes working with dates and times in JavaScript a breeze.