sinkaroid / badut

Python HTTP client designed to be simple

Home Page:https://sinkaroid.github.io/badut

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

badut

Python HTTP client designed to be simple

A zero-dependency HTTP library designed to be simple and async context.

ContributingDocumentationReport Issues


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

  • GET request
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())
  • POST request
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

badut

About

Python HTTP client designed to be simple

https://sinkaroid.github.io/badut

License:MIT License


Languages

Language:Python 100.0%