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.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.3.tar.gz (6.7 kB view details)

Uploaded Source

File details

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

File metadata

  • Download URL: muto-client-0.2.3.tar.gz
  • Upload date:
  • Size: 6.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No

File hashes

Hashes for muto-client-0.2.3.tar.gz
Algorithm Hash digest
SHA256 d696ac48cb439c7bee9852c09dc17e8110050c02ace116e9e64959a1ebd352f0
MD5 517f95da3ed2444598b7b0a82754d070
BLAKE2b-256 76d84c82ec2beec3a339f2b13b0459393b644a6b17bb94578b7c5b9ab1f48522

See more details on using hashes here.

Supported by

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