Metadata-Version: 1.1
Name: pyuploadcare
Version: 1.1
Summary: Python library for Uploadcare.com
Home-page: https://github.com/uploadcare/pyuploadcare
Author: Uploadcare Ltd
Author-email: hello@uploadcare.com
License: UNKNOWN
Description: =============================================
        PyUploadcare: a Python library for Uploadcare
        =============================================
        
        .. image:: https://travis-ci.org/uploadcare/pyuploadcare.png?branch=master
           :target: https://travis-ci.org/uploadcare/pyuploadcare
        
        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
        asynchornously.
        
        .. code-block:: python
        
            from django.db import models
        
            from pyuploadcare.dj import ImageField
        
        
            class Candidate(models.Model):
        
                photo = ImageField(blank=True, manual_crop="")
        
        .. image:: https://ucarecdn.com/93b254a3-8c7a-4533-8c01-a946449196cb/-/resize/800/manual_crop.png
        
        Features
        --------
        
        - Django widget with useful manual crop and multiupload;
        - *ucare* console utility;
        - hosted assets (Kudos to `Sławek Ehlert`_!).
        
        Installation
        ------------
        
        To install it, just run:
        
        .. code-block:: console
        
            $ pip install pyuploadcare
        
        or, if you're into vintage:
        
        .. code-block:: console
        
            $ easy_install pyuploadcare
        
        Testing
        -------
        
        Besides the `Travis CI`_ we use tox. In order to run tests just:
        
        .. code-block:: console
        
            $ pip install tox
            $ tox
        
        .. _Uploadcare: https://uploadcare.com/
        .. _simple steps: https://pyuploadcare.readthedocs.org/en/latest/quickstart.html
        .. _Sławek Ehlert: https://github.com/slafs
        .. _Travis CI: https://travis-ci.org/uploadcare/pyuploadcare
        
        
        .. :changelog:
        
        History
        -------
        
        1.1
        ~~~
        
        - Widget was updated up to *0.10*.
        - Default API version was updated up to *0.3*.
        - Django settings were merged into UPLOADCARE dictionary.
        - Performance was improved by reusing requests' session.
        
        1.0.2
        ~~~~~
        
        ``UnicodeDecodeError`` was fixed. This bug appears when
        `request <https://pypi.python.org/pypi/requests/>`_'s ``method``
        param is unicode and ``requests.request()`` got ``files`` argument, e.g.:
        
        .. code-block:: python
        
            >>> requests.request(u'post', u'http://httpbin.org/post',
            ...                  files={u'file': open('README.rst', 'rb')})
            UnicodeDecodeError: 'ascii' codec can't decode byte 0xc5 ...
        
        1.0.1
        ~~~~~
        
        - Widget was updated up to *0.8.1.2*.
        - It was invoking ``File.store()``, ``FileGroup.store()`` methods on every
          model instance saving, e.g.:
        
          .. code-block:: python
        
              photo.title = 'new title'
              photo.save()
        
          Now it happens while saving by form, namely by calling
          ``your_model_form.is_valid()``. There is other thing that can trigger
          storing -- calling ``photo.full_clean()`` directly.
        
        1.0
        ~~~
        
        - Python 3.2, 3.3 support were added.
        - File Group creating was added.
        - Methods per API field for File, FileGroup were added.
        - Deprecated things were deleted. This version is not backward compatible.
          For detailed information see
          https://pyuploadcare.readthedocs.org/en/v0.19/deprecated.html
        
        0.19
        ~~~~
        
        - Multiupload support was added.
        - ``argparse`` was added into ``setup.py`` requirements.
        - Documentation was added and published on https://pyuploadcare.readthedocs.org
        
        0.18
        ~~~~
        
        - Widget was updated up to *0.6.9.1*.
        
        0.17
        ~~~~
        
        - ``ImageField`` was added. It provides uploading only image files. Moreover,
          you can activate manual crop, e.g. ``ImageField(manual_crop='2:3')``.
        - More apropriate exceptions were added.
        - Tests were separated from library and were restructured.
        - Widget was updated up to *0.6.7*.
        - Issue of ``FileField``'s ``blank``, ``null`` attributes was fixed.
        
        0.14
        ~~~~
        
        - Replace accept header for old api version
        
        0.13
        ~~~~
        
        - Fix unicode issue on field render
        
        0.12
        ~~~~
        
        - Add new widget to pyuploadcare.dj
        - Remove old widget
        - Use https for all requests
        
        0.11
        ~~~~
        
        - Add cdn_base to Ucare.__init__
        - Get rid of api v.0.1 support
        - Add File.ensure_on_s3 and File.ensure_on_cdn helpers
        - Add File properties is_on_s3, is_removed, is_stored
        - Fix url construction
        - Add and correct waiting to upload and upload_from_url
        
        0.10
        ~~~~
        
        - Add console log handler to ucare
        - Add wait argument to ucare store and delete commands
        - Fix ucare arg handling
        
        0.9
        ~~~
        
        - Add bunch of arguments to ucare upload and upload_via_url commands
        - Fix UploadedFile.wait()
        
        0.8
        ~~~
        
        - Fix file storing for old API
        - Replaced Authentication header with Authorization
        - Log warnings found in HTTP headers
        - Replace old resizer with new CDN
        - Add verify_api_ssl, verify_upload_ssl options
        - Add custom HTTP headers to API and upload API requests
        
        0.7
        ~~~
        
        - Added __version__
        - Added 'User-Agent' request header
        - Added 'Accept' request header
        - Added ucare config file parsing
        - Added pyuploadcare/tests.py
        - Replaced upload API
        - Replaced File.keep with File.store, File.keep is deprecated
        - File.store uses new PUT request
        - Added timeouts to File.store, File.delete
        - Added upload and upload_from_url to ucare
        - Added tests during setup
        - Replaced httplib with requests, support https (certificates for api requests are verified)
        - Added api_version arg to UploadCare, default is 0.2
        
        0.6
        ~~~
        
        - Added ucare cli utility
        - Added PYUPLOADCARE_UPLOAD_BASE_URL setting
        - Added PYUPLOADCARE_WIDGET_URL
        - Updated widget assets to version 0.0.1
        - Made properties out of following pyuploadcare.file.File's methods:
        
          - api_uri()
          - url()
          - filename()
        - Changed pyuploadcare.UploadCareException.__init__
        
Platform: UNKNOWN
Classifier: Programming Language :: Python
Classifier: Programming Language :: Python :: 2.6
Classifier: Programming Language :: Python :: 2.7
Classifier: Programming Language :: Python :: 3.2
Classifier: Programming Language :: Python :: 3.3
