I am in the process of developing some Python warm-up notebooks, for a cohort coming my way. My role as their instructor, is to dive right away into 3rd party libraries numpy and pandas. That's very doable, this is a logical on-ramp or doorway in.
However, there's another part of me that knows you're joining the comic strip late in the game, as some say. There's a lot more to Python than we know. Does that matter? How much Python coding should a student have, when starting in on a first Jupyter Notebook? I have no dogma or catechism on the matter.
What I'm playing with though, are these warm-up notebooks, but with an eye to introducing what's to follow. Python is big in server side development, and with PyScript to Webassembly a thing, may soon coexist on the front end somehow. I'm not counting my chickens. The point is that Python forks into many walks of life, as the primitive drawing (above) hopes to illustrate.
I put SQL and SQLAlchemy towards the trunk for a reason. True, Guido is not an SQL hound, that's not his bag. His focus was elegance and simplicity of syntax, if you think that's possible in an object oriented language. Is English object oriented? Sure. It's oriented around objects (or call them things), which come in types.
Speaking of types, what I'm thinking is a little groundbreaking, is I throw the function type into the mix, as another type, a callable type. Then we have instances of the function type. No, we don't get to them with keyword class, but keyword def instead. That fits our brains.