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


Release history Release notifications

This version
History Node

0.2.7

History Node

0.2.6

History Node

0.2.5

History Node

0.2.4

History Node

0.2.3

History Node

0.2.2

History Node

0.2.1

History Node

0.2

Download files

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

Filename, size & hash SHA256 hash help File type Python version Upload date
muto-client-0.2.7.tar.gz (6.7 kB) Copy SHA256 hash SHA256 Source None Apr 9, 2014

Supported by

Elastic Elastic Search Pingdom Pingdom Monitoring Google Google BigQuery Sentry Sentry Error logging CloudAMQP CloudAMQP RabbitMQ AWS AWS Cloud computing DataDog DataDog Monitoring Fastly Fastly CDN DigiCert DigiCert EV certificate StatusPage StatusPage Status page