PackageContainer
A container of packages.
protocol PackageContainer
Browse conforming typesThis is the top-level unit of package resolution, i.e. the unit at which versions are associated.
It represents a package container (e.g., a source repository) which can be identified unambiguously and which contains a set of available package versions and the ability to retrieve the dependency constraints for each of those versions.
We use the “container” terminology here to differentiate between two conceptual notions of what the package is: (1) informally, the repository containing the package, but from which a package cannot be loaded by itself and (2) the repository at a particular version, at which point the package can be loaded and dependencies enumerated.
This is also designed in such a way to extend naturally to multiple packages being contained within a single repository, should we choose to support that later.