A collection of the software tools, code libraries, documentation, etc., necessary to develop a specific type of software, commonly provided as a single installable package. SDKs may target software development using a specific programming language or framework, software that runs on a specific platform, or software that makes use of a specific hardware device or software component.