Metadata-Version: 2.1
Name: aiotus
Version: 0.1.1
Summary: Asynchronous tus (tus.io) client library
Home-page: https://github.com/JenSte/aiotus
Author: Jens Steinhauser
Author-email: jens.steinhauser@gmail.com
License: UNKNOWN
Platform: UNKNOWN
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.7
Classifier: Programming Language :: Python :: 3.8
Classifier: Development Status :: 4 - Beta
Classifier: License :: OSI Approved :: Apache Software License
Classifier: Operating System :: OS Independent
Classifier: Topic :: Internet :: WWW/HTTP
Classifier: Typing :: Typed
Requires-Python: >=3.7
Description-Content-Type: text/markdown
Requires-Dist: aiohttp
Requires-Dist: tenacity

# Asynchronous tus client library

[![Actions Status](https://github.com/JenSte/aiotus/workflows/Continuous%20Integration/badge.svg?branch=master)](https://github.com/JenSte/aiotus/actions)
[![codecov](https://codecov.io/gh/JenSte/aiotus/branch/master/graph/badge.svg)](https://codecov.io/gh/JenSte/aiotus)

``aiotus`` implements the client side of the [tus](https://tus.io) protocol.

## Features

* Implements the [core protocol](https://tus.io/protocols/resumable-upload.html#core-protocol) as
  well as the [creation extension](https://tus.io/protocols/resumable-upload.html#creation).
* Built-in retry support in case of communication errors.

## Usage

```python
import aiotus

creation_url = "http://example.com/files"

metadata = {
    "Filename": "image.jpeg",
    "Content-Type": "image/jpeg"
}

with open("image.jpeg", "rb") as f:
    location = await aiotus.upload(creation_url, f, metadata)

# 'location' contains the URL where the file was uploaded to.
```

## Requirements

* Python >= 3.7
* [aiohttp](https://pypi.org/project/aiohttp)
* [tenacity](https://pypi.org/project/tenacity)

## Installation

Install ``aiotus`` from [PyPi](https://pypi.org/project/aiotus):

```
pip install aiotus
```

Development versions can be installed from [TestPyPi](https://test.pypi.org/project/aiotus):

```
pip install --index-url https://test.pypi.org/simple/ --extra-index-url https://pypi.org/simple aiotus
```

## License

``aiotus`` is licensed under the Apache 2 license.


