8000 GitHub - fajela/pyuploadcare: Python library for uploadcare
[go: up one dir, main page]
More Web Proxy on the site http://driver.im/
Skip to content

fajela/pyuploadcare

 
 

Repository files navigation

PyUploadcare: a Python library for Uploadcare

Build Status Documentation Status Coverage Code Health Uploadcare tech stack

Simple file uploads for the web are of most importance for us at Uploadcare. Today, everyone is used to the routine of allowing users to upload their pics or attach resumes. The routine covers it all: installing image processing libraries, adjusting permissions, ensuring servers never go down, and enabling CDN. Features like uploading from Facebook or manual crop are weighty, hence rare. Our goal is to change the status quo.

This library consists of the Uploadcare API interface and a couple of Django goodies. You might also want to check out this guide as a starting point.

Simple as that, Uploadcare ImageField can be added to an existing Django project in just a couple of simple steps. This will enable your users to see the upload progress, pick files from Google Drive or Instagram, and edit a form while files are being uploaded 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/docs/uploads/widget/config/#options
class CandidateForm(forms.Form):
    photo = ImageField(widget=FileWidget(attrs={
        'data-cdn-base': 'https://cdn.super-candidates.com',
        'data-image-shrink': '1024x1024',
    }))

https://ucarecdn.com/dbb4021e-b20e-40fa-907b-3da0a4f8ed70/-/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!).

Requirements

pyuploadcare requires Python 2.7, 3.5, 3.6, 3.7, 3.8.

If you're using pyuploadcare with Django, check .travis.yml for supported Python-Django combinations.

Obsolete versions of Python and Django are officially not supported, but chances are everything still works. If you have to use those, modify tox.ini, test and run at your own risk ;) Or, you may use older versions of the library.

Installation

In order to install pyuploadcare, simply run:

$ pip install pyuploadcare

or, if you prefer it the old way:

$ easy_install pyuploadcare

Testing

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

$ pip install tox
$ tox

Security issues

If you think you ran into something in Uploadcare libraries which might have security implications, please hit us up at bugbounty@uploadcare.com or Hackerone.

We'll contact you personally in a short time to fix an issue through co-op and prior to any public disclosure.

Feedback

Issues and PRs are welcome. You can provide your feedback or drop us a support request at hello@uploadcare.com.

Contributors

About

Python library for uploadcare

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Python 100.0%
0