code: def available_cpu_count() -> int:
      
  
      # cpuset
      # cpuset may restrict the number of *available* processors
      try:
          match = re.search(r'(?m)^Cpus_allowed:\s*(.*)$',
                            open('/proc/self/status').read())
          if match:
              res = bin(int(match.group(1).replace(',', ''), 16)).count('1')
              if res > 0:
                  return res
      except IOError:
          LOG.debug("Could not get the number of allowed CPUs")
  
      # http://code.google.com/p/psutil/
      try:
          import psutil
          return psutil.cpu_count()  # psutil.NUM_CPUS on old versions
      except (ImportError, AttributeError):
          LOG.debug("Could not get the number of allowed CPUs")
  
      # POSIX
      try:
          res = int(os.sysconf('SC_NPROCESSORS_ONLN'))
  
          if res > 0:
              return res
      except (AttributeError, ValueError):
          LOG.debug("Could not get the number of allowed CPUs")
  
      # Linux
      try:
          res = open('/proc/cpuinfo').read().count('processor\t:')
  
          if res > 0:
              return res
      except IOError:
          LOG.debug("Could not get the number of allowed CPUs")
  
      raise Exception('Can not determine number of CPUs on this system')
docs: Get the number of available CPUs.
  
      Number of available virtual or physical CPUs on this system, i.e.
      user/real as output by time(1) when called with an optimally scaling
      userspace-only program.
  
      Returns:
          Number of avaialable CPUs.