{ "info": { "author": "Varia", "author_email": "", "bugtrack_url": null, "classifiers": [ "Environment :: Console", "Programming Language :: Python :: 3" ], "description": "# Distribusi CMS\n\n[![PyPI version](https://badge.fury.io/py/distribusi.svg)](https://badge.fury.io/py/distribusi)\n\n`distribusi` is a content management system for the web that produces static\nindex pages based on folders in the filesystem. It is inspired by the automatic\nindex functions featured in several web servers. It works by traversing the\nfile system and directory hierarchy to automatically list all the files in the\ndirectory and providing them with html classes and tags for easy styling.\n\n## Requirements\n\nWhile a Pip install will pull in Python dependencies, you might need system\ndependencies. This package requires two underlying packages. Those are\n`python-magic`, and `pillow`. Here are the installation documentation for those\npackages:\n\n* [github.com/threatstack/libmagic](https://github.com/threatstack/libmagic)\n* [pillow.readthedocs.io](https://pillow.readthedocs.io/en/5.3.x/installation.html#external-libraries)\n\n### Optional requirements\n\nIf you wish to use the `--caption` flag to add image captions read from EXIF comment metadata you will need a utility called `exiftool`.\n\nYou can install it via your package manager. For other options please consult the website: [https://www.sno.phy.queensu.ca/~phil/exiftool/](https://www.sno.phy.queensu.ca/~phil/exiftool/)\n\n\n## Install It\n\n```bash\n$ export PATH=$PATH:$HOME/.local/bin\n$ pip install --user distribusi\n```\n\n## Upgrade It\n\nIf you already have it, you can upgrade with:\n\n```bash\n$ pip install -U distribusi\n```\n\n## Use It\n\nGet help with:\n\n```bash\n$ distribusi --help\n```\n\nMake a distribusi of your home folder:\n\n```bash\n$ distribusi -d ~/\n```\n\nYou will find that you now have an `index.html` in every folder.\n\nCreate a quick gallery for the web:\n\n```\n$ distribusi -d /path/to/my/photos -t\n```\n\nThis creates an `index.html` with `base64` encoded thumbnails.\n\nGenerate verbose output:\n\n```\n$ distribusi -v\n```\n\nMake an index of the archive page:\n\n```\n$ distribusi -d /var/www/archive/my_event -t -v\n```\n\n# \u270c\n\n\n## History\n\nDistribusi was first conceptualized as a tool which supported a contribution by Dennis de Bel, Danny van der Kleij and Roel Roscam Abbing to the [ruru house](http://ruruhuis.nl/) organized by [Reinaart Vanhoe](http://vanhoe.org/) and the [ruangrupa](http://ruru.ruangrupa.org/) collective during 2016 Sonsbeek Biennale in Arnhem. During the biennale time the ruru house was a lively meeting place with a programme of discussions, workshops, lectures, culinary activities, performances, pop-up markets and even karaoke evenings, where curators and Arnhemmers met. \n\nThe contribution consisted of setting up distribusi.ruruhuis.nl (distribusi is bahasa Indonesian for 'distribution') which was a website connected to a server in the space. Rather than a hidden administrative interface, the server was present and visible and an invitation was extended to visitors to use it to publish material online. This was done by inserting a USB-drive into any of the ports. The distribusi script would then turn the contents of that stick it into a website. Once the USB-drive was removed that website was no longer on-line. Over time distribusi.ruruhuis.nl hosted photos, books and movies. The website is now off-line but the tool that was used to make it is still used in Varia\n\n## Change It\n\nYou'll need to get a copy of the repository and then do an [editable] install:\n\n[editable]: https://setuptools.readthedocs.io/en/latest/setuptools.html#development-mode\n\n```bash\n$ git clone https://git.vvvvvvaria.org/varia/distribusi.git && cd distribusi\n$ python3 -m venv .venv && source .venv/bin/activate\n$ pip install -e .\n```\n\nYou're then ready to make your changes and experiment with them.\n\n## Release It\n\nYou'll need a [PyPi](https://pypi.org/) account and to be added as a maintainer.\n\nPlease ask around @ Varia for who has PyPi access.\n\n```\n$ pip install twine\n$ make publish\n```\n\n\n", "description_content_type": "text/markdown", "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://git.vvvvvvaria.org/varia/distribusi", "keywords": "", "license": "GPLv3", "maintainer": "", "maintainer_email": "", "name": "distribusi", "package_url": "https://pypi.org/project/distribusi/", "platform": "any", "project_url": "https://pypi.org/project/distribusi/", "project_urls": { "Homepage": "https://git.vvvvvvaria.org/varia/distribusi" }, "release_url": "https://pypi.org/project/distribusi/0.0.8/", "requires_dist": [ "pillow (<7.0,>=6.1.0)", "python-magic (<1.0,>=0.4.15)" ], "requires_python": "", "summary": "Distribusi is a content management system for the web that produces static pages based on the file system.", "version": "0.0.8" }, "last_serial": 5902420, "releases": { "0.0.1": [ { "comment_text": "", "digests": { "md5": "b411a5ba6c165955f8d7c7dcd196d2d8", "sha256": "1f6f03de279281709ee21470c0e75bd769fedc7b4858c0cdf76875e0ef692ce9" }, "downloads": -1, "filename": "distribusi-0.0.1-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "b411a5ba6c165955f8d7c7dcd196d2d8", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 17753, "upload_time": "2018-11-23T12:40:40", "url": "https://files.pythonhosted.org/packages/ab/95/eda10ec14a3a666e7d76d83a8457a1ec0c15219735ed8a016d3ca3aba28f/distribusi-0.0.1-py2.py3-none-any.whl" } ], "0.0.2": [ { "comment_text": "", "digests": { "md5": "de2513341a0d463e67703c6dce10cc44", "sha256": "58d947464b24afc98793ff7dbe190fde63332f9b79884bc46c0dd521ed9ee8b9" }, "downloads": -1, "filename": "distribusi-0.0.2-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "de2513341a0d463e67703c6dce10cc44", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 17765, "upload_time": "2018-11-23T13:34:31", "url": "https://files.pythonhosted.org/packages/d6/2e/eeb5887160845be8a773f1f9725a352c3194fa7ebcbe4a7cd61f622963a0/distribusi-0.0.2-py2.py3-none-any.whl" } ], "0.0.3": [ { "comment_text": "", "digests": { "md5": "d55e906e9cf347b49e10e90c1afad11d", "sha256": "f623372e7d3f3e7aabb684508be3adedd160f71c09277e407739c4d40745e301" }, "downloads": -1, "filename": "distribusi-0.0.3-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "d55e906e9cf347b49e10e90c1afad11d", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 17697, "upload_time": "2018-11-23T13:50:08", "url": "https://files.pythonhosted.org/packages/e9/93/4e4ff08244dd39510dd11a067016f7393651ed515bb6a7dfa4cc156724db/distribusi-0.0.3-py2.py3-none-any.whl" } ], "0.0.4": [ { "comment_text": "", "digests": { "md5": "bd41016bbcfd430e2c0d46d5be65799f", "sha256": "8077d3b0080abe54ac66fd554633af52b27a566156760ebec0221dc9264a570f" }, "downloads": -1, "filename": "distribusi-0.0.4-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "bd41016bbcfd430e2c0d46d5be65799f", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 18251, "upload_time": "2019-07-08T18:23:27", "url": "https://files.pythonhosted.org/packages/66/d4/a419cc215152c85803f7ea3e9ac664cae63ab59d75b10348a3a0f10c594d/distribusi-0.0.4-py2.py3-none-any.whl" } ], "0.0.5": [ { "comment_text": "", "digests": { "md5": "d726db03fbdf5ee33893c9e7b55c8487", "sha256": "2c8facc81bf1a83c1254cfd9a724cba4a9b8fe5f80a129e3bd008f4e086c60df" }, "downloads": -1, "filename": "distribusi-0.0.5-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "d726db03fbdf5ee33893c9e7b55c8487", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 18629, "upload_time": "2019-09-06T23:17:11", "url": "https://files.pythonhosted.org/packages/b9/6e/9f40876bfd5d2fd99aa410d04f05a26a4dd451a47fd046723a0b06ca596c/distribusi-0.0.5-py2.py3-none-any.whl" } ], "0.0.7": [ { "comment_text": "", "digests": { "md5": "57e66ed2b372e569b8c4ca45a531d666", "sha256": "84e4eae4ef21ce3fc34ea2bbc8ec748507ae3021d754adad4a50ea8021c4f5e0" }, "downloads": -1, "filename": "distribusi-0.0.7-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "57e66ed2b372e569b8c4ca45a531d666", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 18900, "upload_time": "2019-09-15T20:46:48", "url": "https://files.pythonhosted.org/packages/7c/eb/f9e544277aaf7ea834f7227f8aa9d0b284517ad824086b1d436fa6352d9e/distribusi-0.0.7-py2.py3-none-any.whl" } ], "0.0.8": [ { "comment_text": "", "digests": { "md5": "ee0fb2be706890273e33308a503eba8e", "sha256": "e29389e2444e840a648be29eb610643d327d6e1f91da86e782f12d5244946311" }, "downloads": -1, "filename": "distribusi-0.0.8-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "ee0fb2be706890273e33308a503eba8e", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 19686, "upload_time": "2019-09-29T11:35:13", "url": "https://files.pythonhosted.org/packages/89/e2/80e7fac46b373506d066e74a44a1becfdcead3d3f8c65d354b030ed9a2d5/distribusi-0.0.8-py2.py3-none-any.whl" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "ee0fb2be706890273e33308a503eba8e", "sha256": "e29389e2444e840a648be29eb610643d327d6e1f91da86e782f12d5244946311" }, "downloads": -1, "filename": "distribusi-0.0.8-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "ee0fb2be706890273e33308a503eba8e", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 19686, "upload_time": "2019-09-29T11:35:13", "url": "https://files.pythonhosted.org/packages/89/e2/80e7fac46b373506d066e74a44a1becfdcead3d3f8c65d354b030ed9a2d5/distribusi-0.0.8-py2.py3-none-any.whl" } ] }