best algorithm for finding distance for all pairs where edges' weight is 1
Run a breadth-first search from each node. Total time: O(|V| |E|) = O(|V|2), which is optimal.
As the title said, I'm trying to implement an algorithm that finds out the distances between all pairs of nodes in given graph. But there is more: (Things that might help you)

The graph is unweighted. Meaning that all the edges can be considered as having weight of 1.
|E| <= 4*|V|
The graph is pretty big (at most ~144 depth)
The graph is directed
There might be cycles 
I'm writing my code in python (please if you reference algorithms, code would be nice too :))

I know about Johnson's algorithm, Floyd-Warshal, and Dijkstra for all pairs. But these algorithms are good when the graph has weights.
I was wondering if there is a better algorithm for my case, because those algorithms are intended for weighted graphs.
Thanks!