Skip to main content

muto is a client/server system for cloud-based image manipulation in Django projects

Project description

muto-client
===========

**muto** is a client/server system for cloud-based image manipulation in
[Django] projects. It uses [easy-thumbnails] for the manipulation part and
[boto] for accessing and storing images on [S3].

This is the client part. The server package is called [muto-server].


Installation
------------

You can install the package from PyPI using pip or easy_install:

```bash
$ pip install muto-client
```

Or you can install from the latest source version:

```bash
$ git clone git://github.com/philippbosch/muto-client.git
$ cd muto-client/
$ python setup.py install
```

Add `muto` to your `INSTALLED_APPS` in **settings.py**:

```python
INSTALLED_APPS = (
# ...
'muto',
)
```

Create the database tables:

If you use [South]:

```bash
$ python manage.py migrate muto
```

Otherwise:

```bash
$ python manage.py syncdb
```



Configuration
-------------

There are a few configuration settings you can set in your **settings.py**:

* `MUTO_REDIS_URL` – The URL to your [muto-server]'s Redis instance (defaults to `redis://:6379`)
* `MUTO_AWS_STORAGE_BUCKET_NAME` - The S3 bucket used to store and retrieve images (falls back to `AWS_STORAGE_BUCKET_NAME` if not defined)
* `MUTO_AWS_ACCESS_KEY_ID` and `MUTO_AWS_SECRET_ACCESS_KEY` – Your S3 credentials used to upload to S3 (fall back to `AWS_ACCESS_KEY_ID` or `AWS_SECRET_ACCESS_KEY` respectively if not defined)


Usage
-----

Use `MutoField` in your models (in **models.py**):

```python
from django.db import models
from muto import transformer
from muto.fields import MutoField

class MyModel(models.Model):
image = MutoField()
```

Register your model with the *muto transformer* (also in **models.py**):

```python
transformer.register(MyModel, 'image')
```

You should see a new section called **Muto** in your *Django Admin*. There you
can create *image version definitions*. The options value should be a
JSON-serialized kwargs dict that will be handed over to [easy-thumbnails]. An
example:

```json
{
"size": [640,480],
"quality": 65,
"bw": true
}
```

Now every time you create a new `MyModel` instance or change one, the muto
server will create image versions of the corresponding image and upload them to
[S3].


License
-------

[MIT]



[Django]: http://www.djangoproject.com/
[easy-thumbnails]: https://github.com/SmileyChris/easy_thumbnails
[boto]: https://github.com/boto/boto
[S3]: https://aws.amazon.com/s3/
[muto-server]: https://github.com/philippbosch/muto-server
[South]: http://south.aeracode.org/
[MIT]: http://philippbosch.mit-license.org/

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

muto-client-0.2.7.tar.gz (6.7 kB view details)

Uploaded Source

File details

Details for the file muto-client-0.2.7.tar.gz.

File metadata

File hashes

Hashes for muto-client-0.2.7.tar.gz
Algorithm Hash digest
SHA256 901a2fe374c77067a1219f53b109995bc73b1eaf93592febe5717f23acdead13
MD5 639cea29169e246a4dc8254f21bfe4b5
BLAKE2b-256 a54ea11ef30936b4fb32c65674e1b342c42d3eddd3b58c27ceb32ff614eb6384

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page