Skip to content

A wrapper for the aiohttp library for making asynchronous web requests in Python

License

Notifications You must be signed in to change notification settings

DevtranetHQ/Servus

Repository files navigation

Servus

PyPI version PyPI license


A wrapper for the aiohttp library for making asynchronous web requests in Python.

Trying to preserve speed and flexibility provided by aiohttp, without sacrificing the human-friendliness of requests, servus abstracts using client sessions and context managers when making asynchronous HTTP requests in Python.

Example usage:

import servus
import aiohttp
import asyncio

async def main():
	# Create a new session
	mySession = servus.ClientSession()
	
	# Use Servus to send a request. 
	# Servus automatically parses and serializes the response, and returns a ready to use object
	response = await servus.get(mySession, "http://httpbin.org")
	
	print(response.response) # (aiohttp.ClientResponse )
	print(response.json) # (dict)

	# Remeber to close the session!
	mySession.close()

asyncio.run(main())

servus also has inbuilt support for working with Discord bots.

Example Usage:

import discord
from discord.ext import commands
import asyncio
import servus
from servus.discord_utils import createRequestsClient

MY_TOKEN = "<YOUR_TOKEN>"
bot = commands.Bot(command_prefix=commands.when_mentioned_or("!"))


@bot.command()
async  def hello(ctx):
	"""Hello world, with a HTTP request!"""
	r = await servus.get(bot.session,"https://httpbin.org")
	data = r.json
	await ctx.send(f"World! {data}")

# Add the createRequestClient coroutine to `bot` async loop
bot.loop.create_task(createRequestsClient(bot))

# Run the bot
bot.run(MY_TOKEN)

About

A wrapper for the aiohttp library for making asynchronous web requests in Python

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages