A Python SDK for the Imgur API.
The package is supposed to be in strict accordance with the Imgur's documentation, i.e. description for any endpoint implemented in the SDK can also be found there.
The package does not have any third-party dependencies; it requires only Python 3.8+.
- PyImgur was originally an official client for Imgur, but it seems to be deprecated now.
- imgur-python a relevant unofficial SDK for Imgur.
Using pip:
$ pip install pyimgurapi
- Register your application to get
client_id
andclient_secret
. - Open the next URL in a browser:
https://api.imgur.com/oauth2/authorize?client_id=<your_client_id>&response_type=token
(replace<your_client_id>
with the actual ID) - Allow authentication for a client.
- Copy the
refresh_token
value from the URL field. - Then you can authenticate your client:
from pyimgurapi import ImgurAPI
api = ImgurAPI(
refresh_token="<refresh_token>",
client_id="<client_id>",
client_secret="<client_secret>",
)
api.auth()
Getting info about an image:
from pyimgurapi import ImgurAPI
api = ImgurAPI(
refresh_token="<refresh_token>",
client_id="<client_id>",
client_secret="<client_secret>",
)
api.auth()
meme_image = api.image.get_image("6yHmlwT")
Then you can access attributes of the response using a dot-notation:
print(meme_image.data.link)
or using a subscript-notation:
print(meme_image["data"]["link"])
Uploading a new image:
from pyimgurapi import ImgurAPI
api = ImgurAPI(
refresh_token="<refresh_token>",
client_id="<client_id>",
client_secret="<client_secret>",
)
api.auth()
filename = "cat1.jpg"
with open(filename, 'rb') as f:
new_image = api.image.upload(
f,
filename,
title="New image", # optional
description="Absolutely new image" # optional
)
Then you can access attributes of the new image as well:
print(new_image.data.link)
See the contributing guidelines.