It is an int, so maybe AsInt is a bit cleaner (will need py3k #ifdef since the PyInt* -> PyLong* alias probably doesn't exist for that). My guess is, that this function is less strict about corner cases, but I am willing to assume that at this point the descriptor should be validated already (and honestly you check enough...)