A package is a collection of one or more source files that contain declarations (e.g. constants, types, variables and functions), all of which are accessible to other files within the package.