Skip to main content

Friendly fork of pyLibravatar for async support.

Project description

A libravatar client for Python thats built on modern Technology

Pepy.tech Badge PyPi Version Badge PyPI - Python Version PyPI - License Code Style Lines of Code

Introduction :

Friendly fork of pyLibravatar.

Why did I write this library:

While working on the Libravatar client project I came across the well built pyLibravatar library. The last update was at Jun 28, 2015 ( Thats over 6 years ago when I was writing this ). So thats why I decided to write this library. It mimics the API ( and functionality ) of pyLibravatar but with asyncio spice.

Why use "libravatar-py" ?

  • Provides API for different kinds of usage.
  • Built with modern techknology.
  • No unnecessary codes. ( My goal was to keep the library as small as possible )
  • Is very minimal. ( Only provides 4 functions )
  • Fully Fedarated and feature rich.

Why shouldn't you use "libravatar-py" ?

  • I donno ? If you do please submit a Pull Request

User guide :

Installation :

Install with pip from pypi (No extra dependencies):

$ python -m pip install libravatar-py

Install with pip from github ( Development | Not Recommended for Production ):

$ python -m pip install https://codeload.github.com/baseplate-admin/libravatar-py/zip/refs/heads/main

Usage:

Call any of these 4 methods.

libravatar_url function ( This will essentially return the base url of the image ) :

from libravatar import libravatar_url

url = libravatar_url(email="someone@example.com")
print(url)
# https://seccdn.libravatar.org/avatar/16d113840f999444259f73bac9ab8b10

libravatar_img_tag function ( This will wrap the libravatar url in a <img /> tag. You can also customize _alt text ) :

from libravatar import libravatar_img_tag

url = libravatar_img_tag(email="someone@example.com")
print(url)
# <img src=https://seccdn.libravatar.org/avatar/16d113840f999444259f73bac9ab8b10 alt='Avatar for someone@example.com' />

libravatar_raw_image function ( This will return the Libravatar image in a binary form ) :

from libravatar import libravatar_raw_image

res = libravatar_raw_image(email="someone@example.com")
print(res)
# Large binary string.
# To load it.
from PIL import Image
from io import BytesIO

res = Image.open(BytesIO(res))

libravatar_raw_query function ( Essentially passes the {args, kwargs} to httpx_get_avatar ):

from libravatar import libravatar_raw_image
# Note this this must be called from an async function
res = await libravatar_raw_query(email="someone@example.com", {})
# All httpx variables available in res

Contributing :

If you like this project add a star. If you have problems or suggestions please put them in the Issue Tracker. If you like to add features. Fork this repo and submit a Pull Request. 😛

Updates :

The library is feature complete ( in my opinion ).

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

libravatar_py-1.0.1.tar.gz (4.9 kB view hashes)

Uploaded Source

Built Distribution

libravatar_py-1.0.1-py3-none-any.whl (6.6 kB view hashes)

Uploaded Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page