import RPi.GPIO as GPIO 
import asyncio

async def button_press(pin:int):
    
    GPIO.setwarnings(False) 
    GPIO.setmode(GPIO.BOARD) # physical numbers 

    GPIO.setup(pin, GPIO.IN, pull_up_down=GPIO.PUD_UP) 
    while True:
        button_state = GPIO.input(pin)    
        if button_state == False:
            pass
        else:
            break
    
    GPIO.cleanup()
    await asyncio.sleep(.1)
    return True

if __name__ == "__main__":
    print(asyncio.get_event_loop().run_until_complete(button_press(19)))