Pandora is a robust and efficient framework for developing and running pattern-recognition algorithms. It was designed to perform particle flow calorimetry, which requires many complex pattern-recognition techniques to reconstruct the paths of individual particles through fine granularity detectors. The Pandora C++ software development kit (SDK) consists of a single library and a number of carefully designed application programming interfaces (APIs). A client application can use the Pandora APIs to pass details of tracks and hits/cells to the Pandora framework, which then creates and manages named lists of self-describing objects. These objects can be accessed by Pandora algorithms, which perform the pattern-recognition reconstruction. Development with the Pandora SDK promotes the creation of small, re-usable algorithms containing just the kernel of a specific operation. The algorithms are configured via XML and can be nested to perform complex reconstruction tasks. As the algorithms only access the Pandora objects in a controlled manner, via the APIs, the framework can perform most book-keeping and memory-management operations. The Pandora SDK has been fully exploited in the implementation of PandoraPFA, which uses over 60 algorithms to provide the state of the art in particle flow calorimetry for ILC and CLIC.