# How do MATLAB and/or Python treat $2^n$ samples rule in FFT

As far as I have read, an FFT requires that the number of original data points must be a power of 2.

I'm wondering whether the tools like MATLAB or Python which have FFT functions take care of this fact.

Especially in MATLAB and Python; imagine I have samples of data in a file containing 13000 samples. If I want to read this file and plot its FFT, how does the FFT functions of MATLAB or Python treat the file? Does the function truncates the samples and obtain the number of samples as $$2^n$$ before performing the algorithm? Or should I sample it myself as $$2^n$$ samples at the beginning?