I really like the idea of a package/dependency manager. It just seems that when ever I am reading a tutorial and they want to import something that is not standard they say write this in to your TOMOL not cargo install it. Like when reading python docs they all say to use pip or something. Sorry it just seems that Cargo is somewhat overlooked or is it just my perception?
Maybe I am wrong or my understanding is oversimplified. But the way I understand it is that when you add a dependency to your cargo.toml file, when you run the build rust is going to cargo and downloading those dependencies you added for you and stores the dependencies with project files.
Then when you rebuild it is checking cargo to see if there is a later version and will update according to how you specified the version in the cargo.toml file.
So you are using cargo. it’s basically just automated, so you don’t have to manually interact with cargo the same way you do with pip.
You are confusing cargo and crates.io.
Cargo is the program doing all the downloading of dependencies, crates.io is the official registry (but there are ways to host your own for private crates, e.g. kellnr), Rust is just the compiler and does not do any downloading of anything. For completeness sake, rustup is the program you can use to install cargo, rust and some other tooling and data files.