The SciPy implementation of Pearson's $r$ also gives a two-tailed $p$-value.
I understand that a $p$-value for a given correlation gives the probability of a correlation coefficient at least as big to be observed if the null hypothesis is true.
I find it hard to understand how this test can be two-tailed, however. What would be the meaning of a one-tailed $p$-value for non-correlation, then? Since $r$ is signed I think only a one-tailed p-value could satisfy the definition given above.