I have written a python
code which can be used on SnapPy to classify the
exceptional fillings on a cusped hyperbolic 3manifold, as explained
in the paper
You can use this code to try to classify the exceptional Dehn surgeries
on your favourite link in the threesphere. Just follow these steps:
 Download Snappy, written by
Culler, Dunfield, and Weeks, and practice yourself with the python
command line by playing with some hyperbolic 3manifolds;
 Install the hikmot
module;
 Draw your link with SnapPy and save its complement as
a file manifold.tri;
 Download the archive find_exceptional_fillings.zip
on your computer. The archive contains two main python codes
find_exceptional_fillings.py and
search_geometric_solutions.py;
 Run find_exceptional_fillings.py under a python
interpreter.
The output of the program will consist of two lists:
 A list of candidate exceptional fillings, for which SnapPy
was unable to find any kind of solution;
 A list of candidate hyperbolic fillings, for which SnapPy
found some numerical nongeometric solution (with flat or negatively
oriented tetrahedra).
For instance, if the manifold is the Whitehead link complement the
output is as follows:
Candidate exceptional fillings:
With 1 fillings:
[[(0,0),(0,1)],[(0,0),(1,0)],[(0,0),(1,1)],[(0,0),(2,1)],[(0,0),(3,1)],[(0,0),(4,1)],[(0,1),(0,0)],[(1,0),(0,0)],[(1,1),(0,0)],[(2,1),(0,0)],[(3,1),(0,0)],[(4,1),(0,0)]]
Total: 12
With 2 fillings:
[[(4,1),(1,1)],[(3,1),(1,1)],[(2,1),(2,1)],
[(2,1),(1,1)],[(1,1),(4,1)],[(1,1),(3,1)],
[(1,1),(2,1)],[(1,1),(1,1)],[(3,2),(5,1)],
[(4,3),(5,1)],[(5,1),(3,2)],[(5,1),(4,3)],
[(5,2),(7,2)],[(7,2),(5,2)]]
Total: 14
Candidate hyperbolic fillings:
With 1 fillings:
[]
Total: 0
With 2 fillings:
[[(3,1),(2,1)],[(2,1),(3,1)],[(3,2),(6,1)],
[(5,2),(6,1)],[(6,1),(3,2)],[(6,1),(5,2)]]
Total: 6
The output says that the candidate exceptional fillings are:
 the single fillings 0, 1, 2, 3, 4 on either component of the link,
 the pairs of fillings (4, 1), (3, 1), (2, 2), (2, 1),
(3/2, 5), (4/3, 5), (5/2, 7/2), and their symmetric companions.
These form the first list. The second list consists of candidate
hyperbolic fillings, and these are (3, 2), (3/2, 6), (5/2, 6) and
their symmetric companions.
Most likely, the first list is a complete list of exceptional fillings,
in the sense that a filling of the Whitehead link exterior is
exceptional if and only if it contains one of these fillings. To get a
rigorous proof of this fact you need to:

Prove that all the filled manifolds in list 1 are
indeed not hyperbolic, and more precisely that they are graph manifolds
(if one filling contains some hyperbolic piece in its canonical
decomposition along sphere and tori, it should be
analysed separately, because some of their fillings might be nonexceptional,
i.e. hyperbolic);

Prove that all the filled manifolds in list 2 are indeed hyperbolic:
these manifolds are typically closed, but if some were not, its fillings
should be further investigated separately. To fulfill this task
you may use the separate code
search_geometric_solution.py which is more powerful in
detecting hyperbolicity.
For more details see our
paper quoted above.
Versions
There have been essentially two versions of these codes, one written in 2011 (now
obsolete) and the current one, written in november 2013. The main improvement of the
current version is the use of the hikmot module to ensure rigorousness of numerical
computations.
I warmly thank Hidetoshi Masai for various helpful conversations.

