imgur-uploader icon indicating copy to clipboard operation
imgur-uploader copied to clipboard

A simple command line client for uploading files to Imgur ⛺

imgur-uploader

A simple command line client for uploading files to Imgur.

Created for my PyCon US 2015 Docker tutorial <https://us.pycon.org/2015/schedule/presentation/312/>_ so that students using my cloud servers can see the gifs they create at the end of exercise 1.

This tool is open source under the MIT License <LICENSE>_.

Quickstart

Getting Imgur API credentials ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

Go to https://api.imgur.com/oauth2/addclient and register a new Imgur API client. You will need an Imgur account to do this.

You can put it any valid URL for the callback URL - we won't be using it.

Installing imgur-uploader ^^^^^^^^^^^^^^^^^^^^^^^^^

Installing imgur-uploader is easy. It runs on versions of Python >=2.7 or >=3.3.

If you just want to use imgur-uploader, you can just pip install imgur-uploader.

If you want to tweak or enhance imgur-uploader, follow these instructions:

#. Clone this repository #. Install the tool with pip install -e .

Using imgur-uploader ^^^^^^^^^^^^^^^^^^^^

First, create a file called ~/.config/imgur_uploader/uploader.cfg, with the following contents (substitute your credentials)::

[imgur]
id = 9354da9ecdcfae3
secret = 8387eca75687ecad9876ead47786edac0875dc0d

Otherwise, set the IMGUR_API_ID and IMGUR_API_SECRET environment variables in your terminal session, using your client's credentials.

Upload an image by running imgur-uploader path/to/my.gif

The tool will return a shortened link to your uploaded gif upon completion::

Uploading file my.gif
...
File uploaded - see your gif at http://i.imgur.com/6WsQPpw.gif

If you want your images to appear in your account, you additionally need to get a refresh token. See the Imgur API <https://apidocs.imgur.com/#authorization-and-oauth> for information on how to obtain this. Then, add a refresh_token line in your config file::

[imgur]
id = 9354da9ecdcfae3
secret = 8387eca75687ecad9876ead47786edac0875dc0d
refresh_token = 9812398ab1b2cc98de9fa982bacd31cb312c6194