float values are not safe for comparisons, especially equality. They should not be used for version (or really, anything other than math). This codebase is already using packaging.version's parse for some of the version handling. The floats should be converted to do this as well.