# Packages a bundle of one or more crates that provides a set functionality it contains a cargo.toml file and describes how to build those crates packages can have as many binary crates as you want but only at most one library crate packages must have at least one crate packages are defined by the toml file that comes with creating a new crate # External Packages These crates are normally found on [crates.io](https://crates.io/) in the guessing game the external crate was first defined in the cargo.toml as ```toml rand = "0.8.5" ``` it was then brough into scope by ```rust use rand::Rng; // and then used rand::thread_rng().gen_range(0..=100); ``` pulling other modules is often the same process the std library is an external package but it doesn't need to be specified in the toml file but it does need to be brought into scope with the ``use`` keyword the std::other_part is an absolute path starting with std for the standard library crate