def release(self):
        if self._value >= self._initial_value:
            raise ValueError("Semaphore released too many times")
        return Semaphore.release(self)
### End backport from CPython 3.2
dataset/ETHPy150Open mongodb/mongo-python-driver/pymongo/thread_util.py/BoundedSemaphore.release/original