Genki - http library built on top of gevent sockets, which allow to perform asynchronous requests.
It is still in very early stages of development. Please, do not use it for real production.
Genki does not monkey patch anything, don't you worry, your stdlib is safe. Its up to you to patch it.
from genki import Client if __name__ == '__main__': c = Client() # Create instance of client # .result() waits for answer while your program can do other stuff response = c.get('http://example.com/').result() print(response.body)
or
from genki import Client if __name__ == '__main__': # Creating context for client with Client(timeout=2) as c: # Start asynchronous requsets req2 = c.get('https://example.com') ... # When context exits client makes sure all requests are completed print(req2.result()) # Does not wait, request already finished
- Support for URL parameters
- Support more standards
If you notice some strange behavior with this library, feel free to leave an issue describing the problem(make sure your issue haven't already been submitted). If you happen to know how to fix an issue, pull requests are also welcome.