I hear you. There's probably no one "right" answer because as I type this, I'm already conflicted with my own opinion. There's already a mountain of important topics to teach.
What's on my mind is that all of the "meta" parts of programming are usually seen as "boilerplate" when they make up such a critical part of "authoring" meaningful software.
I'm approaching this concern from my personal experience in university. I took a 100 level "CS for Non-CS majors." We did all the formal CS stuff like talking about variables, functions, loops, recursion, etc. but by the end of the course I was still never taught how to take my java applications and package them in a way that I could share with my friends. It felt very much, "you can do so much with a computer... as long as you stay within the environment we rushed you through setting up and use the few libraries we gave you." (I wrote a Reversi game for my girlfriend and shipped it by installing the entire development environment on her laptop! Hah.)
I guess my $0.02 is, maybe near the start, I would have loved a little detour block, "If you want to learn how to take these Python scripts/programs we're writing and share them with the world, check out this advanced chapter at the end of the book!" The same might probably be true for, "if you want to play with other Python libraries, take a peek at this chapter that talks about pypi and environments!"
As a related note, this is what I think we really lose as we move to computing environments like the iPhone with absolutely mandatory code signing.
I've heard it said that "oh, if you're a kid with an iPad and you just want to learn, you can download the little Swift playgrounds app, easy!"
But the thing is that the children I've worked with don't want to create stuff inside a toy app that only other people with the toy app can use—they want to create programs that feel real. Sure, maybe the only thing that real app does is display a guess-the-numbers game, but still, you can install it on the computers of your parents and friends and say "look, I made this app!"
iOS devices just don't let you do it. Android, Windows, and macOS does, and I really hope we don't loose that in the name of security.
What's on my mind is that all of the "meta" parts of programming are usually seen as "boilerplate" when they make up such a critical part of "authoring" meaningful software.
I'm approaching this concern from my personal experience in university. I took a 100 level "CS for Non-CS majors." We did all the formal CS stuff like talking about variables, functions, loops, recursion, etc. but by the end of the course I was still never taught how to take my java applications and package them in a way that I could share with my friends. It felt very much, "you can do so much with a computer... as long as you stay within the environment we rushed you through setting up and use the few libraries we gave you." (I wrote a Reversi game for my girlfriend and shipped it by installing the entire development environment on her laptop! Hah.)
I guess my $0.02 is, maybe near the start, I would have loved a little detour block, "If you want to learn how to take these Python scripts/programs we're writing and share them with the world, check out this advanced chapter at the end of the book!" The same might probably be true for, "if you want to play with other Python libraries, take a peek at this chapter that talks about pypi and environments!"