class_docstr: Class describing a cuda package with a key/name and a dictionary where the key
  is a cuda version and value is the list of versions supported.
  
  Parameters
  ----------
  `key`: str
      Name this package should be queried for
  `versions`: dict or PckgVer class object
      Dictionary, where the key is a cuda version and vale, is the list of versions supported
  `name`: str, , optional, default = None
      Name of this package used during installation. If empty it is the same as the key.
      If it includes `{cuda_v}` it is replaced by the cuda_version when queried
class_docstr_tok: ["Class","describing","a","cuda","package","with","a","key\/name","and","a","dictionary","where","the","key","is","a","cuda","version","and","value","is","the","list","of","versions","supported",".","Parameters","--","--","--","--","--","`","key","`",":","str","Name","this","package","should","be","queried","for","`","versions","`",":","dict","or","PckgVer","class","object","Dictionary",",","where","the","key","is","a","cuda","version","and","vale",",","is","the","list","of","versions","supported","`","name","`",":","str",",",",","optional",",","default","=","None","Name","of","this","package","used","during","installation",".","If","empty","it","is","the","same","as","the","key",".","If","it","includes","`","{","cuda_v","}","`","it","is","replaced","by","the","cuda_version","when","queried"]
docstr: Gets a compatible, available cuda version to one asked for.
  If there is no cuda version in the version list that matches the one provided,
  the cuda version that is not higher is used 10.2 -> 10, 9.2 -> 9
  
  Parameters
  ----------
  `cuda_version`: str
      Cuda version used for this query
docstr_tok: ["Gets","a","compatible",",","available","cuda","version","to","one","asked","for",".","If","there","is","no","cuda","version","in","the","version","list","that","matches","the","one","provided",",","the","cuda","version","that","is","not","higher","is","used","10.2","-",">","10",",","9.2","-",">","9","Parameters","--","--","--","--","--","`","cuda_version","`",":","str","Cuda","version","used","for","this","query"]
code: def max_cuda_version(self, cuda_version):
      """Gets a compatible, available cuda version to one asked for.
      If there is no cuda version in the version list that matches the one provided,
      the cuda version that is not higher is used 10.2 -> 10, 9.2 -> 9
  
      Parameters
      ----------
      `cuda_version`: str
          Cuda version used for this query
      """
      max_cuda = None
      for ver in sorted(self.versions.keys(), key=int):
          if int(ver) <= int(cuda_version):
              max_cuda = ver
      return max_cuda
  
imports: import argparse
  import sys
  from pip._vendor.packaging.version import parse
  import urllib.parse
  from urllib.request import urlopen, HTTPError, Request, URLError
label_desc: Use image node_id 4 for calling the CudaPackage obj's underlying member method code with example usage: obj.max_cuda_version(cuda_version) and returns: max_cuda