The Kadath library implements spectral methods in the context of theoretical physics. It is fully parallel; a sequential version can be installed. The library is written in C++, and solves a wide variety of problems. Several coordinates systems are implemented and additional geometries can be easily encoded. Partial differential equations of various types are discretized by means of spectral methods. The resulting system is solved using a Newton-Raphson iteration, allowing KADATH to deal with strongly non-linear situations. An optimized version of Kadath is available that improves memory management (reducing the number of uses of new and delete), inlines several member functions, and provides better management of the accessors for the arrays.