Python library for uploadcare
Latest commit 1c821a2 Jun 28, 2016 @dmitry-mukhin dmitry-mukhin committed on GitHub Create LICENSE


PyUploadcare: a Python library for Uploadcare Documentation Status

The most important thing for us at Uploadcare is to make file uploading on the web really easy. Everyone is used to the routine work, related to allowing users upload their userpics or attach resumes: from installing image processing libraries to creating folder with right permissions to ensuring the server never goes down or out of space to enabling CDN. Feature like ability to simply use a picture from Facebook or manual cropping are much more burdensome, hence rare. Uploadcare's goal is to change the status quo.

This library consists of an API interface for Uploadcare and a couple of Django goodies.

A simple Uploadcare ImageField can be added to an existing Django project in just a couple of simple steps. As a result, your users are going to be able to see the progress of the upload, choose files from Google Drive or Instagram, and edit form while files are uploading asynchronously.

from django import forms
from django.db import models

from import ImageField
from import FileWidget

class Candidate(models.Model):
    photo = ImageField(blank=True, manual_crop="")

# optional. provide advanced widget options:
class CandidateForm(forms.Form):
    photo = ImageField(widget=FileWidget(attrs={
        'data-cdn-base': '',
        'data-image-shrink': '1024x1024',


  • Python wrapper for Uploadcare REST and Upload APIs
  • Django widget with useful manual crop and multi-upload;
  • ucare console utility;
  • hosted assets (Kudos to Sławek Ehlert!).


To install it, just run:

$ pip install pyuploadcare

or, if you're into vintage:

$ easy_install pyuploadcare


Besides the Travis CI we use tox. In order to run tests just:

$ pip install tox
$ tox