Pipeline
========
.. image:: https://jazzband.co/static/img/badge.svg
:alt: Jazzband
:target: https://jazzband.co/
.. image:: https://github.com/jazzband/django-pipeline/workflows/Test/badge.svg
:target: https://github.com/jazzband/django-pipeline/actions
:alt: GitHub Actions
.. image:: https://codecov.io/gh/jazzband/django-pipeline/branch/master/graph/badge.svg
:target: https://codecov.io/gh/jazzband/django-pipeline
:alt: Coverage
.. image:: https://readthedocs.org/projects/django-pipeline/badge/?version=latest
:alt: Documentation Status
:target: https://django-pipeline.readthedocs.io/en/latest/?badge=latest
Pipeline 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.
.. image:: https://github.com/jazzband/django-pipeline/raw/master/img/django-pipeline.svg
:alt: Django Pipeline Overview
Installation
------------
To install it, simply:
.. code-block:: bash
pip install django-pipeline
Quickstart
----------
Pipeline compiles and compress your assets files from
``STATICFILES_DIRS`` to your ``STATIC_ROOT`` when you run Django's
``collectstatic`` command.
These simple steps add Pipeline to your project to compile multiple ``.js`` and
``.css`` file into one and compress them.
Add Pipeline to your installed apps:
.. code-block:: python
# settings.py
INSTALLED_APPS = [
...
'pipeline',
]
Use Pipeline specified classes for ``STATICFILES_FINDERS`` and ``STATICFILES_STORAGE``:
.. code-block:: python
STATICFILES_STORAGE = 'pipeline.storage.PipelineManifestStorage'
STATICFILES_FINDERS = (
'django.contrib.staticfiles.finders.FileSystemFinder',
'django.contrib.staticfiles.finders.AppDirectoriesFinder',
'pipeline.finders.PipelineFinder',
)
Configure Pipeline:
.. code-block:: python
# 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 False
PIPELINE = {
'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 using `NPM <https://www.npmjs.com/>`_
and address them from ``node_modules`` directory in your project path:
.. code-block:: python
PIPELINE.update({
'YUGLIFY_BINARY': path.join(BASE_DIR, 'node_modules/.bin/yuglify'),
})
# For a list of all supported compilers and compressors see documentation
Load static files in your template:
.. code-block::
{% load pipeline %}
{% stylesheet 'css_files' %}
{% javascript 'js_files' %}
Documentation
-------------
For documentation, usage, and examples, see:
https://django-pipeline.readthedocs.io
Issues
------
You can report bugs and discuss features on the `issues page <https://github.com/jazzband/django-pipeline/issues>`_.
Changelog
---------
See `HISTORY.rst <https://github.com/jazzband/django-pipeline/blob/master/HISTORY.rst>`_.
.. :changelog:
History
=======
3.0.0
=====
* Use Pypy 3.10
* Drop support for Python 3.7
* Drop support for Django 2
* Add Python 3.12 support
* Add Django 4.2 support
* Add Django 5.0 support
2.1.0
=====
* Update README.rst and add Pipeline overview image.
* Add TypeScript compiler support.
* Drop support for ``manifesto`` package.
* Add support for Python 3.11 and Django 4.1
2.0.9
=====
* Fixed 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.8
=====
* Added **Django 4.0** compatibility. Thanks to @kevinmarsh (#760)
* Add tests for **Django 4.0**, **Python 3.9** and **Python 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.10
2.0.7
=====
* Added **Django 3.2** compatibility (Thanks to @jramnai in #751)
2.0.6
======
* Added 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.5
======
* Adding **Django 3.1** compatibility.
* CachedStaticFilesStorage is removed from Django. Add a check
of the current version to prevent error while importing. Thank to @vmsp
* Context 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 #31892
2.0.4
======
* Adding **css-html-js-minify** support 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.3
======
* Remove futures from pipeline **setup.py** requirements.
2.0.2
=====
* Fix Middleware to properly decode HTML. Thank to @gatsinski
* Keep mimetypes as str. Thank to @benspaulding
* Based on #642 add 'NonPackagingPipelineManifestStorage' and update
the documentation: **storages.rst**. Thank to @kronion
2.0.1
=====
* Add subclass of ManifestStaticFilesStorage. Thank to @jhpinson
* Change the documentation to use PipelineManifestStorage in configuration
instead of PipelineCachedStorage now deprecated.
* Change import MutableMapping from collections.abc. Thank to @colons
2.0.0
=====
* **Definitely 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.0
=====
* Release 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 @blankser
* Edit setup.py to follow the recommendation of the documentation. Thank to @shaneikennedy
* Add tests for Django 3.0 and Python 3.8
* Add alternatives imports for django.utils.six, who has been removed in Django 3.0
1.6.14
======
* Fix packaging issues.
1.6.13
======
* Fix forward-slashed paths on Windows. Thanks to @etiago
* Fix CSS URL detector to match quotes correctly. Thanks to @vskh
* Add a compiler_options dict to compile, to allow passing options to custom
compilers. Thanks to @sassanh
* Verify support for Django 1.11. Thanks to @jwhitlock
1.6.12
======
* Supports Django 1.11
* Fix a bug with os.rename on windows. Thanks to @wismill
* Fix to view compile error if happens. Thanks to @brawaga
* Add support for Pipeline CSS/JS packages in forms and widgets. Thanks to @chipx86
1.6.11
======
* Fix performance regression. Thanks to Christian Hammond.
1.6.10
======
* Added Django 1.10 compatiblity issues. Thanks to Austin Pua and Silvan Spross.
* Documentation improvements. Thanks to Chris Streeter.
1.6.9
=====
* Various build improvements.
* Improved setup.py classifiers. Thanks to Sobolev Nikita.
* Documentation improvements. Thanks to Adam Chainz.
1.6.8
=====
* Made 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.7
=====
* Add a view for collecting static files before serving them. This behaves like
django's built-in ``static`` view 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.6
=====
* Fix 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.5
=====
* Fix Django < 1.8 compatibility. Thanks to David Trowbridge.
* Allow to disable collector during development. Thanks to Leonardo Orozco.
1.6.4
=====
* Fix compressor subprocess calls.
1.6.3
=====
* Fix compressor command flattening.
1.6.2
=====
* Remove subprocess32 usage since it breaks universal support.
1.6.1
=====
* Fix path quoting issues. Thanks to Chad Miller.
* Use subprocess32 package when possible.
* Documentation fixes. Thanks to Sławek Ehlert and Jannis Leidel.
1.6.0
=====
* Add full support for Django 1.9.
* Drop support for Django 1.7.
* Drop support for Python 2.6.
* **BACKWARD INCOMPATIBLE** : Change configuration settings.
Raw data
{
"_id": null,
"home_page": "https://github.com/jazzband/django-pipeline",
"name": "django-pipeline",
"maintainer": "",
"docs_url": null,
"requires_python": "",
"maintainer_email": "",
"keywords": "django pipeline asset compiling concatenation compression packaging",
"author": "Timoth\u00e9e Peignier",
"author_email": "timothee.peignier@tryphon.org",
"download_url": "",
"platform": null,
"description": "Pipeline\n========\n\n.. image:: https://jazzband.co/static/img/badge.svg\n :alt: Jazzband\n :target: https://jazzband.co/\n\n.. image:: https://github.com/jazzband/django-pipeline/workflows/Test/badge.svg\n :target: https://github.com/jazzband/django-pipeline/actions\n :alt: GitHub Actions\n\n.. image:: https://codecov.io/gh/jazzband/django-pipeline/branch/master/graph/badge.svg\n :target: https://codecov.io/gh/jazzband/django-pipeline\n :alt: Coverage\n\n.. image:: https://readthedocs.org/projects/django-pipeline/badge/?version=latest\n :alt: Documentation Status\n :target: https://django-pipeline.readthedocs.io/en/latest/?badge=latest\n\n\nPipeline is an asset packaging library for Django, providing both CSS and\nJavaScript concatenation and compression, built-in JavaScript template support,\nand optional data-URI image and font embedding.\n\n.. image:: https://github.com/jazzband/django-pipeline/raw/master/img/django-pipeline.svg\n :alt: Django Pipeline Overview\n\n\nInstallation\n------------\n\nTo install it, simply:\n\n.. code-block:: bash\n\n pip install django-pipeline\n\n\nQuickstart\n----------\n\nPipeline compiles and compress your assets files from\n``STATICFILES_DIRS`` to your ``STATIC_ROOT`` when you run Django's\n``collectstatic`` command.\n\nThese simple steps add Pipeline to your project to compile multiple ``.js`` and\n``.css`` file into one and compress them.\n\nAdd Pipeline to your installed apps:\n\n.. code-block:: python\n\n # settings.py\n INSTALLED_APPS = [\n ...\n 'pipeline',\n ]\n\n\nUse Pipeline specified classes for ``STATICFILES_FINDERS`` and ``STATICFILES_STORAGE``:\n\n.. code-block:: python\n\n STATICFILES_STORAGE = 'pipeline.storage.PipelineManifestStorage'\n\n STATICFILES_FINDERS = (\n 'django.contrib.staticfiles.finders.FileSystemFinder',\n 'django.contrib.staticfiles.finders.AppDirectoriesFinder',\n 'pipeline.finders.PipelineFinder',\n )\n\n\nConfigure Pipeline:\n\n.. code-block:: python\n\n # The folowing config merges CSS files(main.css, normalize.css)\n # and JavaScript files(app.js, script.js) and compress them using\n # `yuglify` into `css/styles.css` and `js/main.js`\n # NOTE: Pipeline only works when DEBUG is False\n PIPELINE = {\n 'STYLESHEETS': {\n 'css_files': {\n 'source_filenames': (\n 'css/main.css',\n 'css/normalize.css',\n ),\n 'output_filename': 'css/styles.css',\n 'extra_context': {\n 'media': 'screen,projection',\n },\n },\n },\n 'JAVASCRIPT': {\n 'js_files': {\n 'source_filenames': (\n 'js/app.js',\n 'js/script.js',\n ),\n 'output_filename': 'js/main.js',\n }\n }\n }\n\n\nThen, you have to install compilers and compressors binary manually.\n\nFor example, you can install them using `NPM <https://www.npmjs.com/>`_\nand address them from ``node_modules`` directory in your project path:\n\n.. code-block:: python\n\n PIPELINE.update({\n 'YUGLIFY_BINARY': path.join(BASE_DIR, 'node_modules/.bin/yuglify'),\n })\n # For a list of all supported compilers and compressors see documentation\n\n\nLoad static files in your template:\n\n.. code-block::\n\n {% load pipeline %}\n {% stylesheet 'css_files' %}\n {% javascript 'js_files' %}\n\n\nDocumentation\n-------------\n\nFor documentation, usage, and examples, see:\nhttps://django-pipeline.readthedocs.io\n\n\nIssues\n------\nYou can report bugs and discuss features on the `issues page <https://github.com/jazzband/django-pipeline/issues>`_.\n\n\nChangelog\n---------\n\nSee `HISTORY.rst <https://github.com/jazzband/django-pipeline/blob/master/HISTORY.rst>`_.\n\n\n.. :changelog:\n\nHistory\n=======\n\n3.0.0\n=====\n\n* Use Pypy 3.10\n* Drop support for Python 3.7\n* Drop support for Django 2\n* Add Python 3.12 support\n* Add Django 4.2 support\n* Add Django 5.0 support\n\n2.1.0\n=====\n\n* Update README.rst and add Pipeline overview image.\n* Add TypeScript compiler support.\n* Drop support for ``manifesto`` package.\n* Add support for Python 3.11 and Django 4.1\n\n\n2.0.9\n=====\n\n* Fixed some typos in the docs.\n* Fixed string type of errors reported from compilers and compressors.\n* Updated github actions matrix for host and django support.\n* Updated github actions configuration to use modern versions of third-party\n actions.\n* Improved the packager to copy files to (S3) storage if it does not exist\n (#502).\n\n\n2.0.8\n=====\n\n* Added **Django 4.0** compatibility. Thanks to @kevinmarsh (#760)\n* Add tests for **Django 4.0**, **Python 3.9** and **Python 3.10**.\n Thank to @kevinmarsh (#739)\n* Introduce CODE_OF_CONDUCT.md for the project. Thank to @hugovk (#758)\n* Add precision in the documentation for PipelineCachedStorage.\n Thank to @gatsinski (#739)\n* Drop support for slimit compressor (#765) due to package not released\n an official version for Python 3 and not any new package release from 2013.\n* Edit github actions matrix: django 3.2.9 support python 3.10, remove\n python 4.0 (doesn't exist) and exclude pypy-3.8 for django-main.\n* Add .pre-commit-config.yaml. Thanks to @hugovk (#762)\n* Update package.json due to CoffeeScript on NPM has moved to \"coffeescript\" \n* Update setup.py with Django 4.0 and Python 3.10\n\n2.0.7\n=====\n\n* Added **Django 3.2** compatibility (Thanks to @jramnai in #751)\n\n2.0.6\n======\n\n* Added terser (JS compressor for ES5 and ES6) (Thanks to @felix-last in #696)\n* Moved tests to GitHub Actions: https://github.com/jazzband/django-pipeline/actions (#738)\n* Fixed deprecation warnings from Django (Thanks to @edelvalle in #731)\n\n2.0.5\n======\n\n* Adding **Django 3.1** compatibility.\n* CachedStaticFilesStorage is removed from Django. Add a check\n of the current version to prevent error while importing. Thank to @vmsp\n* Context in django.template.base is removed from Django and\n not used anymore in django-pipeline.\n* Fixing widgets tests of django-pipeline due to Media.render_js change in \n Django. More information in Django ticket #31892\n\n2.0.4\n======\n\n* Adding **css-html-js-minify** support to compress JS and CSS.\n* Update compressors documentation with css-html-js-minify.\n* Create tests for css-html-js-minify compressor.\n* Optimization by grouping the tests yuglify compressor.\n\n2.0.3\n======\n\n* Remove futures from pipeline **setup.py** requirements.\n\n2.0.2\n=====\n\n* Fix Middleware to properly decode HTML. Thank to @gatsinski\n* Keep mimetypes as str. Thank to @benspaulding\n* Based on #642 add 'NonPackagingPipelineManifestStorage' and update\n the documentation: **storages.rst**. Thank to @kronion\n\n2.0.1\n=====\n\n* Add subclass of ManifestStaticFilesStorage. Thank to @jhpinson\n* Change the documentation to use PipelineManifestStorage in configuration\n instead of PipelineCachedStorage now deprecated.\n* Change import MutableMapping from collections.abc. Thank to @colons\n\n2.0.0\n=====\n\n* **Definitely drop the support of Python 2**.\n* Drop support for Python 3.5 (not compatible with PEP 498).\n* Remove 'decorator.py' how was used for backward compatibility\n between python 2 and 3 for metaclass inheritance on PipelineFormMedia.\n* Replace 'format' by 'fstring' (PEP 498: Literal String Interpolation).\n* Remove of old imports form 'django.utils.six' and these fixes (1.7.0).\n* Remove tests of uncovered versions of Python and Django.\n* Replace tests for Pypy by Pypy3.\n* Explicitly specify when files are read / write in binary mode.\n* Set opening files for tests to deal with universal newlines.\n* Upgrade documentation version to 2.0 to follow the project version.\n\n1.7.0\n=====\n\n* Release the last major version of django-pipeline working on Python 2.\n* Thank you for all the modifications made since version 1.6.14, which we cannot quote.\n* Apply an optimization to save time during development. Thank to @blankser\n* Edit setup.py to follow the recommendation of the documentation. Thank to @shaneikennedy\n* Add tests for Django 3.0 and Python 3.8\n* Add alternatives imports for django.utils.six, who has been removed in Django 3.0\n\n1.6.14\n======\n\n* Fix packaging issues.\n\n1.6.13\n======\n\n* Fix forward-slashed paths on Windows. Thanks to @etiago\n* Fix CSS URL detector to match quotes correctly. Thanks to @vskh\n* Add a compiler_options dict to compile, to allow passing options to custom\n compilers. Thanks to @sassanh\n* Verify support for Django 1.11. Thanks to @jwhitlock\n\n1.6.12\n======\n\n* Supports Django 1.11\n* Fix a bug with os.rename on windows. Thanks to @wismill\n* Fix to view compile error if happens. Thanks to @brawaga\n* Add support for Pipeline CSS/JS packages in forms and widgets. Thanks to @chipx86\n\n1.6.11\n======\n\n* Fix performance regression. Thanks to Christian Hammond.\n\n1.6.10\n======\n\n* Added Django 1.10 compatiblity issues. Thanks to Austin Pua and Silvan Spross.\n* Documentation improvements. Thanks to Chris Streeter.\n\n1.6.9\n=====\n\n* Various build improvements.\n* Improved setup.py classifiers. Thanks to Sobolev Nikita.\n* Documentation improvements. Thanks to Adam Chainz.\n\n1.6.8\n=====\n\n* Made templatetags easier to subclass for special rendering behavior. Thanks\n to Christian Hammond.\n* Updated the link to readthedocs. Thanks to Corey Farwell.\n* Fixed some log messages to correctly refer to the new PIPELINE settings\n tructure. Thanks to Alvin Mites.\n* Changed file outdated checks to use os.path methods directly, avoiding\n potential SuspiciousFileOperation errors which could appear with some django\n storage configurations.\n\n1.6.7\n=====\n\n* Add a view for collecting static files before serving them. This behaves like\n django's built-in ``static`` view and allows running the collector for\n images, fonts, and other static files that do not need to be compiled. Thanks\n to Christian Hammond.\n* Update documentation for the ES6Compiler to clarify filename requirements.\n Thanks to Nathan Cox.\n* Add error output for compiler errors within the browser. This provides for a\n much better experience when compiling files from the devserver. Thanks to\n Christian Hammond.\n* Make unit tests run against Django 1.6 and 1.7. Thanks to S\u0142awek Ehlert.\n\n1.6.6\n=====\n\n* Fix filtering-out of files which require a finder to locate.\n* Allow compilers to override the output path.\n* Fix error reporting when a compiler fails to execute.\n* Fix IOErrors when running collectstatic with some nodejs-based compilers and\n compressors. Thanks to Frankie Dintino.\n* Fix compatibility of unit tests when running on Windows. Thanks to Frankie\n Dintino.\n* Add unit tests for compilers and compressors. Thanks to Frankie Dintino.\n\n1.6.5\n=====\n\n* Fix Django < 1.8 compatibility. Thanks to David Trowbridge.\n* Allow to disable collector during development. Thanks to Leonardo Orozco.\n\n1.6.4\n=====\n\n* Fix compressor subprocess calls.\n\n1.6.3\n=====\n\n* Fix compressor command flattening.\n\n1.6.2\n=====\n\n* Remove subprocess32 usage since it breaks universal support.\n\n1.6.1\n=====\n\n* Fix path quoting issues. Thanks to Chad Miller.\n* Use subprocess32 package when possible.\n* Documentation fixes. Thanks to S\u0142awek Ehlert and Jannis Leidel.\n\n1.6.0\n=====\n\n* Add full support for Django 1.9.\n* Drop support for Django 1.7.\n* Drop support for Python 2.6.\n* **BACKWARD INCOMPATIBLE** : Change configuration settings.\n",
"bugtrack_url": null,
"license": "MIT",
"summary": "Pipeline is an asset packaging library for Django.",
"version": "3.0.0",
"project_urls": {
"Homepage": "https://github.com/jazzband/django-pipeline"
},
"split_keywords": [
"django",
"pipeline",
"asset",
"compiling",
"concatenation",
"compression",
"packaging"
],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "0767e102330cb72af446635df4da3f42b93ec161f78df079d3f33b82ba66a4c7",
"md5": "db0264e87a59022f82e6b0c50123154c",
"sha256": "e9e08b084ef3ebf599795510519a8d44f2240b487782bebf4a8fcaf6302c31d1"
},
"downloads": -1,
"filename": "django_pipeline-3.0.0-py3-none-any.whl",
"has_sig": false,
"md5_digest": "db0264e87a59022f82e6b0c50123154c",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": null,
"size": 38649,
"upload_time": "2023-12-27T11:22:51",
"upload_time_iso_8601": "2023-12-27T11:22:51.738755Z",
"url": "https://files.pythonhosted.org/packages/07/67/e102330cb72af446635df4da3f42b93ec161f78df079d3f33b82ba66a4c7/django_pipeline-3.0.0-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2023-12-27 11:22:51",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "jazzband",
"github_project": "django-pipeline",
"travis_ci": false,
"coveralls": false,
"github_actions": true,
"requirements": [],
"tox": true,
"lcname": "django-pipeline"
}