Useful property variants for Python programming (required properties, writable properties, cached properties, etc)