Metadata-Version: 2.1
Name: drf-tus
Version: 2.0.1
Summary: A Tus (tus.io) library for Django Rest Framework
Home-page: https://github.com/dirkmoors/drf-tus
Author: Dirk Moors
Author-email: dirkmoors@gmail.com
License: MIT
Keywords: drf-tus,tus,django,rest,framework,django-rest-framework
Classifier: Development Status :: 5 - Production/Stable
Classifier: Framework :: Django
Classifier: Framework :: Django :: 3.2
Classifier: Framework :: Django :: 4.0
Classifier: Framework :: Django :: 4.1
Classifier: Framework :: Django :: 4.2
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: MIT License
Classifier: Natural Language :: English
Classifier: Programming Language :: Python :: 3.8
Classifier: Programming Language :: Python :: 3.9
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Topic :: Software Development :: Libraries :: Python Modules
License-File: LICENSE
License-File: AUTHORS.rst

=============================
drf-tus
=============================

.. image:: https://badge.fury.io/py/drf-tus.svg
    :target: https://badge.fury.io/py/drf-tus

.. image:: https://github.com/OWNER/REPOSITORY/actions/workflows/ci.yml/badge.svg
    :target: https://github.com/dirkmoors/drf-tus/actions

A Tus (tus.io) library for Django Rest Framework

Documentation
-------------

The full documentation is at https://drf-tus.readthedocs.io.

Quickstart
----------

Install drf-tus::

    pip install drf-tus

Add it to your `INSTALLED_APPS`:

.. code-block:: python

    INSTALLED_APPS = (
        ...
        "rest_framework_tus",
        ...
    )

Add the middleware to `MIDDLEWARE`:

.. code-block:: python

    MIDDLEWARE = (
        ...
        "rest_framework_tus.middleware.TusMiddleware",
        ...
    )

Add URL patterns for drf-tus:

.. code-block:: python

    urlpatterns = [
        ...
        path(r"^", include("rest_framework_tus.urls", namespace="rest_framework_tus")),
        ...
    ]

Features
--------

This library implements the following TUS API v1.0.0 protocols:

* Core Protocol (http://tus.io/protocols/resumable-upload.html#core-protocol)
* Creation Protocol (http://tus.io/protocols/resumable-upload.html#creation)
* Expiration Protocol (http://tus.io/protocols/resumable-upload.html#expiration)
* Checksum Protocol (http://tus.io/protocols/resumable-upload.html#checksum)
* Termination Protocol (http://tus.io/protocols/resumable-upload.html#termination)

Running Tests
-------------

Does the code actually work?

::

    source <YOURVIRTUALENV>/bin/activate
    (myenv) $ pip install tox
    (myenv) $ tox

Credits
-------

Tools used in rendering this package:

*  Cookiecutter_
*  `cookiecutter-djangopackage`_

.. _Cookiecutter: https://github.com/audreyr/cookiecutter
.. _`cookiecutter-djangopackage`: https://github.com/pydanny/cookiecutter-djangopackage




History
-------

2.0.1 (2023-10-13)
++++++++++++++++++

* Repair CI and tests.

2.0.0 (2023-07-06)
++++++++++++++++++

* Django 4.2 LTS compatibility.

1.21.2 (2018-09-04)
+++++++++++++++++++

* Fixed Django compatibility.

1.21.1 (2018-08-01)
+++++++++++++++++++

* Fixed failing travis build.

1.21 (2018-08-01)
+++++++++++++++++

* Updated Django dependency and dropped support for Python 3.3.x (https://github.com/dirkmoors/drf-tus/pull/9).

1.20 (2018-02-12)
+++++++++++++++++

* Implemented per-view max file size setting (https://github.com/dirkmoors/drf-tus/pull/8).

1.19 (2018-02-08)
+++++++++++++++++

* Fixed bug that occurred when pausing uploads (https://github.com/dirkmoors/drf-tus/pull/7).

1.18 (2018-02-08)
+++++++++++++++++

* Make the metadata 'filename' key a setting. (https://github.com/dirkmoors/drf-tus/pull/2).
* Switch from (Positive)IntegerField to BigIntegerField for the upload_length and upload_offset fields (https://github.com/dirkmoors/drf-tus/pull/3).
* Increase Django version support up to 1.11 (https://github.com/dirkmoors/drf-tus/pull/4).
* Fix unicode errors (https://github.com/dirkmoors/drf-tus/pull/5).
* Updated travis configuration.

1.17 (2017-05-10)
+++++++++++++++++

* Exchanged use of `base64.encodebytes` to `base64.b64encode`.

1.16 (2017-05-04)
+++++++++++++++++

* Implemented `validate_filename` handler in `TusCreateMixin`.

1.15 (2017-04-06)
+++++++++++++++++

* Added missing migration and changed max_length to 255 for model `Upload`'s attribute `uploaded_file`.

1.14 (2017-03-30)
+++++++++++++++++

* Updated default behaviour of the `get_header` handler in `TusMiddleware`.

1.13 (2017-03-30)
+++++++++++++++++

* Implemented handler for retrieving request headers in `TusMiddleware`.

1.12 (2017-03-10)
+++++++++++++++++

* Updated `validate_chunk` signature.

1.11 (2017-03-10)
+++++++++++++++++

* Implemented `validate_chunk` handler method in TusPatchMixin.
* Implemented `validate_success_headers` handler method in TusCreateMixin.

1.10 (2017-03-09)
+++++++++++++++++

* Disabled chunk writing to disk.

1.9 (2017-03-09)
++++++++++++++++

* Introduced TusUploadStreamParser.

1.8 (2017-03-09)
++++++++++++++++

* Introduced setting to include serializer data in response body.

1.7 (2017-03-09)
++++++++++++++++

* Bugfixes.

1.6 (2017-03-09)
++++++++++++++++

* Bugfixes.

1.5 (2017-03-09)
++++++++++++++++

* Updated middleware, removed required header (bug!).

1.4 (2017-03-09)
++++++++++++++++

* Initial migration.

1.3 (2017-03-09)
++++++++++++++++

* Renamed some parameters / classes.

1.2 (2017-03-09)
++++++++++++++++

* Cleanup repository.


1.1 (2017-03-09)
++++++++++++++++

* First release on PyPI.
