parameters: (self)
return_statement: return _Semaphore.release(self)
docstring: Release a semaphore, incrementing the internal counter by one.
  
          When the counter is zero on entry and another thread is waiting for it
          to become larger than zero again, wake up that thread.
  
          If the number of releases exceeds the number of acquires,
          raise a ValueError.
docstring_summary: Release a semaphore, incrementing the internal counter by one.
docstring_tokens: Release a semaphore incrementing the internal counter by one .
function: def release(self):
          """Release a semaphore, incrementing the internal counter by one.
  
          When the counter is zero on entry and another thread is waiting for it
          to become larger than zero again, wake up that thread.
  
          If the number of releases exceeds the number of acquires,
          raise a ValueError.
  
          """
          if self._Semaphore__value >= self._initial_value:
              raise ValueError("Semaphore released too many times")
          return _Semaphore.release(self)
function_tokens: def release ( self ) : if self . _Semaphore__value >= self . _initial_value : raise ValueError ( "Semaphore released too many times" ) return _Semaphore . release ( self )