A set of libraries, functions, definitions, etc. which describe an interface to a programming environment or model.