Skip to main content

Custom management command that compares the MD5 sum and etag from S3 and if the two are the same skips file copy.

Project description

Collectfast
===========

[![Downloads](https://pypip.in/v/Collectfast/badge.png)](https://pypi.python.org/pypi/Collectfast)

The fast `collectstatic` for Django projects with S3 as storage backend.

Running Django's `collectstatic` command can become really slow as more and more files are
added to a project, especially if heavy libraries such as jQuery UI are included in the source.
This is a custom management command that compares the md5 sum of files with S3 and completely
ignores `modified_time`. The results of the hash lookups are cached locally using your default
Django cache. This can make deploying much faster!

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

Install the app using pip:

$ pip install Collectfast

Make sure you have this in your settings file and add `'collectfast'` to your `INSTALLED_APPS`:

```python
STATICFILES_STORAGE = "storages.backends.s3boto.S3BotoStorage"
AWS_PRELOAD_METADATA = True
INSTALLED_APPS = (
# …
'collectfast',
)
```

Optionally, you can set `COLLECTFAST_CACHE` in your Django settings.py file to specify a specific cache backend for collectfast to use. By default it is set to the `default` cache.

Usage
-----

Collectfast overrides Django's builtin `collectstatic` command so just run
`python manage.py collectstatic` as normal. You can disable collectfast
by using the `--ignore-etag` option.

License
-------

<a rel="license" href="http://creativecommons.org/licenses/by-sa/3.0/"><img alt="Creative Commons License" style="border-width:0" src="http://i.creativecommons.org/l/by-sa/3.0/88x31.png" /></a>

<span xmlns:dct="http://purl.org/dc/terms/" property="dct:title">
<a xmlns:dct="http://purl.org/dc/terms/" href="https://github.com/FundedByMe/collectfast/" rel="dct:source">
Collectfast
</a>
</span>
is licensed under a <a rel="license" href="http://creativecommons.org/licenses/by-sa/3.0/">Creative Commons Attribution-ShareAlike 3.0 Unported License</a>.

Original idea taken from [this snippet.](http://djangosnippets.org/snippets/2889/)

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

Collectfast-0.1.14.tar.gz (4.3 kB view hashes)

Uploaded Source

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