While RRDTool is capable of pulling data from a DBI (eg MySQL) source instead of its own RRD files, it is usually better to use a different graphing package if you find yourself in this situation. However this was not the original question...
As for RRDTool (the shell interface) vs PyRRD (the Python interface), they are both interfaces to the same underlying library functions; there also exist interfaces for Perl, Ruby, PHP, and several other languages. The underlying code is the same, so it only depends on which language you prefer to write in. Generally, you'd expect using the C/C++ library to be a little faster, and forking off to the command-line interface slower, but the final outcome is the same and so it will depend on your preferred language.