Poly.degree() returns the incorrect degree for multi-variate polynomials.
>>> from sympy.abc import *
>>> from sympy import *
>>> pp = Poly(x*x*y)
Poly(x**2*y, x, y, domain='ZZ')
However, the degree of x*x*y is 3 as a polynomial in two variables.
Poly.degree(f, x=None) is defined as
The leading degree in ``x`` or the main variable.
The degrees in all variables can be obtained by .degrees().
degrees appears to have been renamed degree_list. Nomatter, that is not the functionality I need, nor is it the meaning of the degree of a multi-variable polynomial. Poly(x*x*y).degree_list() returns (2,1). The degree of x*x*y is 3. See https://en.wikipedia.org/wiki/Polynomial#Definition for a reference.
I believe you want total_degree
In : Poly(x*x*y).total_degree()