Skip to content
Python library for uploadcare
Python
Latest commit e50a29a Apr 14, 2016 @zerc zerc Merge pull request #112 from uploadcare/update-tests
Update tests

README.rst

PyUploadcare: a Python library for Uploadcare

https://travis-ci.org/uploadcare/pyuploadcare.png?branch=master 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 pyuploadcare.dj.models import ImageField
from pyuploadcare.dj.forms import FileWidget


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


# optional. provide advanced widget options: https://uploadcare.com/documentation/widget/#configuration
class CandidateForm(forms.Form):
    photo = ImageField(widget=FileWidget(attrs={
        'data-cdn-base': 'https://cdn.super-candidates.com',
        'data-image-shrink': '1024x1024',
    }))
https://ucarecdn.com/93b254a3-8c7a-4533-8c01-a946449196cb/-/resize/800/manual_crop.png

Features

  • 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!).

Installation

To install it, just run:

$ pip install pyuploadcare

or, if you're into vintage:

$ easy_install pyuploadcare

Testing

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

$ pip install tox
$ tox
Something went wrong with that request. Please try again.