You enjoy using requests or httpx for HTTP client, wanna try badut ?
Features
Badut is a very lightweight library, yet it handle the most of HTTP client needs.
- Zero Dependencies
- Connection Timeouts
- JSON Parsing
- Follow Redirects
- And more coming soon..
Prerequisites
NOTE: Python 3.7 or above |
Installation
pip install badut / pipenv install badut
Or manual clone this repository
Quick example
import asyncio
from badut import Badut
client = Badut(json=True, timeout=5)
async def main():
res = await client.get("https://api.github.com/users/sinkaroid")
print(res)
asyncio.run(main())
async def posting():
res = await client.post("https://httpbin.org/anything",
data={"Title": "Hello Badut", "Name": "adalah sy"})
print(res)
asyncio.run(posting())
Example with authentication
Some API requires additional authentication
import asyncio
from badut import Badut
client = Badut(json=True, timeout=5,
headers={
"User-Agent": "Badut/1.0.1",
"authorization": "Bot YouRNicET0k3nFr0mDisc0rd.XuIwOw.IXcORO2fO5XXSmugSombong",
},
)
async def fetch_discord():
res = await client.get("https://discord.com/api/v9/users/456298243618504707")
print(res)
asyncio.run(fetch_discord())
Documentation
The documentation can be found https://sinkaroid.github.io/badut
Pronunciation
See why badut exists..
id_ID
• /ba·dut/ — pelawak (dalam pertunjukan dan sebagainya);
You created an Python HTTP module, meanwhile requests and httpx is exist and those libs is more powerful