Package: django-pipeline
PipelinePipeline is an asset packaging library for Django, providing both CSS and
JavaScript concatenation and compression, built-in JavaScript template support,
and optional data-URI image and font embedding.InstallationTo install it, simply:pipinstalldjango-pipelineQuickstartPipeline compiles and compress your assets files fromSTATICFILES_DIRSto yourSTATIC_ROOTwhen you run Django’scollectstaticcommand.These simple steps add Pipeline to your project to compile multiple.jsand.cssfile into one and compress them.Add Pipeline to your installed apps:# settings.pyINSTALLED_APPS=[...'pipeline',]Use Pipeline specified classes forSTATICFILES_FINDERSandSTATICFILES_STORAGE:STATICFILES_STORAGE='pipeline.storage.PipelineManifestStorage'STATICFILES_FINDERS=('django.contrib.staticfiles.finders.FileSystemFinder','django.contrib.staticfiles.finders.AppDirectoriesFinder','pipeline.finders.PipelineFinder',)Configure Pipeline:# The folowing config merges CSS files(main.css, normalize.css)# and JavaScript files(app.js, script.js) and compress them using# `yuglify` into `css/styles.css` and `js/main.js`# NOTE: Pipeline only works when DEBUG is FalsePIPELINE={'STYLESHEETS':{'css_files':{'source_filenames':('css/main.css','css/normalize.css',),'output_filename':'css/styles.css','extra_context':{'media':'screen,projection',},},},'JAVASCRIPT':{'js_files':{'source_filenames':('js/app.js','js/script.js',),'output_filename':'js/main.js',}}}Then, you have to install compilers and compressors binary manually.For example, you can install them usingNPMand address them fromnode_modulesdirectory in your project path:PIPELINE.update({'YUGLIFY_BINARY':path.join(BASE_DIR,'node_modules/.bin/yuglify'),})# For a list of all supported compilers and compressors see documentationLoad static files in your template:{% load pipeline %}
{% stylesheet 'css_files' %}
{% javascript 'js_files' %}DocumentationFor documentation, usage, and examples, see:https://django-pipeline.readthedocs.ioIssuesYou can report bugs and discuss features on theissues page.ChangelogSeeHISTORY.rst.History3.0.0Use Pypy 3.10Drop support for Python 3.7Drop support for Django 2Add Python 3.12 supportAdd Django 4.2 supportAdd Django 5.0 support2.1.0Update README.rst and add Pipeline overview image.Add TypeScript compiler support.Drop support formanifestopackage.Add support for Python 3.11 and Django 4.12.0.9Fixed some typos in the docs.Fixed string type of errors reported from compilers and compressors.Updated github actions matrix for host and django support.Updated github actions configuration to use modern versions of third-party
actions.Improved the packager to copy files to (S3) storage if it does not exist
(#502).2.0.8AddedDjango 4.0compatibility. Thanks to @kevinmarsh (#760)Add tests forDjango 4.0,Python 3.9andPython 3.10.
Thank to @kevinmarsh (#739)Introduce CODE_OF_CONDUCT.md for the project. Thank to @hugovk (#758)Add precision in the documentation for PipelineCachedStorage.
Thank to @gatsinski (#739)Drop support for slimit compressor (#765) due to package not released
an official version for Python 3 and not any new package release from 2013.Edit github actions matrix: django 3.2.9 support python 3.10, remove
python 4.0 (doesn’t exist) and exclude pypy-3.8 for django-main.Add .pre-commit-config.yaml. Thanks to @hugovk (#762)Update package.json due to CoffeeScript on NPM has moved to “coffeescript”Update setup.py with Django 4.0 and Python 3.102.0.7AddedDjango 3.2compatibility (Thanks to @jramnai in #751)2.0.6Added terser (JS compressor for ES5 and ES6) (Thanks to @felix-last in #696)Moved tests to GitHub Actions:https://github.com/jazzband/django-pipeline/actions(#738)Fixed deprecation warnings from Django (Thanks to @edelvalle in #731)2.0.5AddingDjango 3.1compatibility.CachedStaticFilesStorage is removed from Django. Add a check
of the current version to prevent error while importing. Thank to @vmspContext in django.template.base is removed from Django and
not used anymore in django-pipeline.Fixing widgets tests of django-pipeline due to Media.render_js change in
Django. More information in Django ticket #318922.0.4Addingcss-html-js-minifysupport to compress JS and CSS.Update compressors documentation with css-html-js-minify.Create tests for css-html-js-minify compressor.Optimization by grouping the tests yuglify compressor.2.0.3Remove futures from pipelinesetup.pyrequirements.2.0.2Fix Middleware to properly decode HTML. Thank to @gatsinskiKeep mimetypes as str. Thank to @benspauldingBased on #642 add ‘NonPackagingPipelineManifestStorage’ and update
the documentation:storages.rst. Thank to @kronion2.0.1Add subclass of ManifestStaticFilesStorage. Thank to @jhpinsonChange the documentation to use PipelineManifestStorage in configuration
instead of PipelineCachedStorage now deprecated.Change import MutableMapping from collections.abc. Thank to @colons2.0.0Definitely drop the support of Python 2.Drop support for Python 3.5 (not compatible with PEP 498).Remove ‘decorator.py’ how was used for backward compatibility
between python 2 and 3 for metaclass inheritance on PipelineFormMedia.Replace ‘format’ by ‘fstring’ (PEP 498: Literal String Interpolation).Remove of old imports form ‘django.utils.six’ and these fixes (1.7.0).Remove tests of uncovered versions of Python and Django.Replace tests for Pypy by Pypy3.Explicitly specify when files are read / write in binary mode.Set opening files for tests to deal with universal newlines.Upgrade documentation version to 2.0 to follow the project version.1.7.0Release the last major version of django-pipeline working on Python 2.Thank you for all the modifications made since version 1.6.14, which we cannot quote.Apply an optimization to save time during development. Thank to @blankserEdit setup.py to follow the recommendation of the documentation. Thank to @shaneikennedyAdd tests for Django 3.0 and Python 3.8Add alternatives imports for django.utils.six, who has been removed in Django 3.01.6.14Fix packaging issues.1.6.13Fix forward-slashed paths on Windows. Thanks to @etiagoFix CSS URL detector to match quotes correctly. Thanks to @vskhAdd a compiler_options dict to compile, to allow passing options to custom
compilers. Thanks to @sassanhVerify support for Django 1.11. Thanks to @jwhitlock1.6.12Supports Django 1.11Fix a bug with os.rename on windows. Thanks to @wismillFix to view compile error if happens. Thanks to @brawagaAdd support for Pipeline CSS/JS packages in forms and widgets. Thanks to @chipx861.6.11Fix performance regression. Thanks to Christian Hammond.1.6.10Added Django 1.10 compatiblity issues. Thanks to Austin Pua and Silvan Spross.Documentation improvements. Thanks to Chris Streeter.1.6.9Various build improvements.Improved setup.py classifiers. Thanks to Sobolev Nikita.Documentation improvements. Thanks to Adam Chainz.1.6.8Made templatetags easier to subclass for special rendering behavior. Thanks
to Christian Hammond.Updated the link to readthedocs. Thanks to Corey Farwell.Fixed some log messages to correctly refer to the new PIPELINE settings
tructure. Thanks to Alvin Mites.Changed file outdated checks to use os.path methods directly, avoiding
potential SuspiciousFileOperation errors which could appear with some django
storage configurations.1.6.7Add a view for collecting static files before serving them. This behaves like
django’s built-instaticview and allows running the collector for
images, fonts, and other static files that do not need to be compiled. Thanks
to Christian Hammond.Update documentation for the ES6Compiler to clarify filename requirements.
Thanks to Nathan Cox.Add error output for compiler errors within the browser. This provides for a
much better experience when compiling files from the devserver. Thanks to
Christian Hammond.Make unit tests run against Django 1.6 and 1.7. Thanks to Sławek Ehlert.1.6.6Fix filtering-out of files which require a finder to locate.Allow compilers to override the output path.Fix error reporting when a compiler fails to execute.Fix IOErrors when running collectstatic with some nodejs-based compilers and
compressors. Thanks to Frankie Dintino.Fix compatibility of unit tests when running on Windows. Thanks to Frankie
Dintino.Add unit tests for compilers and compressors. Thanks to Frankie Dintino.1.6.5Fix Django < 1.8 compatibility. Thanks to David Trowbridge.Allow to disable collector during development. Thanks to Leonardo Orozco.1.6.4Fix compressor subprocess calls.1.6.3Fix compressor command flattening.1.6.2Remove subprocess32 usage since it breaks universal support.1.6.1Fix path quoting issues. Thanks to Chad Miller.Use subprocess32 package when possible.Documentation fixes. Thanks to Sławek Ehlert and Jannis Leidel.1.6.0Add full support for Django 1.9.Drop support for Django 1.7.Drop support for Python 2.6.BACKWARD INCOMPATIBLE: Change configuration settings.