I second Brad on this, if there is a composer package, use that.
Whether you use a composer package or a library not found on packagist.org you'll still need to load it so that your plugin can make use of it.
Generally speaking, there are plenty of places where you can import/require third party libraries from but my recommendation would be to do so from the
init() method in your main plugin class. As far as where to put it, I would go with one of these 5 acceptable directory names used most often in no particular order
src. I'll use
library in the following example.
Once you've downloaded/installed your third party library, your directory structure might look something like this...
Given the outlined directory structure above, your
init() method might look something like this...
public function init()
// If using composer
I'd also like to point out that
Craft::import() can theoretically import using
glob as in
Craft::import('plugins.pluginname.library.*) which is cool because those don't get required right away but lazy loaded when needed. However, this only works for class in the Craft namespace so you'll have to stick to a method described above: )
Hope that helps!