semvec/pypi-packages huggingface dataset:
django-collectfaster 0.1.3
Parallel file copying for Django's collectstatic.
License: BSD
Keywords: django-collectfaster

====================
django-collectfaster
====================

|pypi| |status|

.. |pypi| image:: https://badge.fury.io/py/django-collectfaster.png
    :target: https://badge.fury.io/py/django-collectfaster
    :alt: Latest Version

.. |status| image:: https://img.shields.io/pypi/dm/django-collectfaster.svg
    :target: https://pypi.python.org/pypi/django-collectfaster
    :alt: Downloads

This package extends Django's ``collectstatic`` management command with a ``--faster`` argument that activates the
parallel file copying. The speed improvement is especially helpful for remote storage backends like S3.

Quickstart
----------

Install django-collectfaster::

    pip install django-collectfaster

Configure installed apps in your ``settings.py`` and make sure ``collectfaster`` is listed before ``django.contrib.staticfiles``::

    INSTALLED_APPS = (
        ...,
        'collectfaster',
        'django.contrib.staticfiles',
        'storages',
        ...,
    )

If you are using S3 with ``django-storages`` you probably already have this configured in your ``settings.py``::

    AWS_S3_HOST = 's3-eu-west-1.amazonaws.com'
    AWS_STORAGE_BUCKET_NAME = '<your_aws_bucket_name>'

Set the storage backends for your static and media files in the ``settings.py``::

    STATICFILES_STORAGE = 'collectfaster.backends.boto.S3StaticStorage'
    DEFAULT_FILE_STORAGE = 'collectfaster.backends.boto.S3MediaStorage'
    # STATICFILES_STORAGE = 'collectfaster.backends.boto3.S3Boto3StaticStorage'
    # DEFAULT_FILE_STORAGE = 'collectfaster.backends.boto3.S3Boto3MediaStorage'


You should split your static and media files on your S3 in different folders and configure it in the ``settings.py``::

    STATICFILES_LOCATION = 'static'
    MEDIAFILES_LOCATION = 'media'


Set the ``STATIC_URL`` at least on your production settings::

    STATIC_URL = 'https://%s/%s/%s/' % (AWS_S3_HOST, AWS_STORAGE_BUCKET_NAME, STATICFILES_LOCATION)


Usage
-----

Collect your static files parallel::

    python manage.py collectstatic --faster


Set the amount of workers to 30::

    python manage.py collectstatic --faster --workers=30


Spawn workers using ``multiprocessing`` instead of ``gevent``::

    python manage.py collectstatic --faster --use-multiprocessing


Credits
-------

Tools used in rendering this package:

*  Cookiecutter_
*  `cookiecutter-djangopackage`_

.. _Cookiecutter: https://github.com/audreyr/cookiecutter
.. _`cookiecutter-djangopackage`: https://github.com/pydanny/cookiecutter-djangopackage




History
-------

0.1.2 (2017-04-07)
++++++++++++++++++
* Add support for boto3 and multiprocessing instead of gevent
* Moved backends to a submodule (please change your setting variables `STATICFILES_STORAGE` and `DEFAULT_FILE_STORAGE`)

0.1.1 (2016-08-08)
++++++++++++++++++

* Rather use `django-storages` than the deprecated fork from `django-storages-redux`.


0.1.0 (2016-05-19)
++++++++++++++++++

* First release on PyPI.