{ "info": { "author": "Bors Ltd", "author_email": "gitstorage@bors-ltd.fr", "bugtrack_url": null, "classifiers": [], "description": "GitStorage\n==========\n\nA Django application to browse a Git repository and build Web applications on top of it.\n\nGitStorage is:\n\n- A Django `storage`_ to browse the contents of the repository (what you see in your working copy)\n from a bare repository (without a working copy);\n\n- `Models`_ to enrich Git objects, namely add metadata to blobs and allow access to trees\n\n- Mixin `views`_ to combine with class-based views to browse the repository and add or remove objects.\n on top of the repository;\n\n- `Management commands`_.\n\nGitStorage is built on top of `PyGit2`_ and `libgit2`_, it does not call Git from the command line.\n\n.. _`PyGit2`: http://www.pygit2.org/\n\n.. _`libgit2`: http://libgit2.github.com/\n\n.. contents::\n\nStorage\n-------\n\nThe Django storage supports most of the storage API: open, save, exists, listdir... missing features include mtime,\nctime and atime since Git doesn't directly store those values.\n\nThe storage is limited just as any Git repository. It is designed for a single writer and many readers. Concurrent\nwriting is not even tested. No effort was made to optimise read access either. Your mileage may vary.\n\nThe storage is an interesting proof-of-concept but even the rest of GitStorage loads Git objects directly.\n\nModels\n------\n\nBlobMetadata\n\"\"\"\"\"\"\"\"\"\"\"\"\n\nAdd metadata to the blob, only mimetype for now.\n\nTreePermission\n\"\"\"\"\"\"\"\"\"\"\"\"\"\"\n\nOnly admin users are allowed by default. Share access to a tree and its blobs (but not its subtrees) to a regular user.\n\nViews\n-----\n\nThese views are designed as the foundation of class-based views like TemplateView and FormView,\nand your own business logic.\n\nRepositoryView\n\"\"\"\"\"\"\"\"\"\"\"\"\"\"\n\nThe main view that dispatches to a view dedicated to each Git object type (namely blob and tree).\n\nNot actually a mixin since it is functional but the dedicated views are mixins (see below).\n\nTreeViewMixin\n\"\"\"\"\"\"\"\"\"\"\"\"\"\n\nDefault view for a tree, lists its contents.\n\nBlobViewMixin\n\"\"\"\"\"\"\"\"\"\"\"\"\"\n\nDefault view for a blob, displays its information.\n\nPreviewViewMixin\n\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\n\nPreview the current blob in the browser if possible, download it otherwise.\n\nDownloadViewMixin\n\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\n\nForce download the current blob.\n\nDeleteViewMixin\n\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\n\nDelete the current blob.\n\nUploadViewMixin\n\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\n\nUpload a new file to the current tree (as a blob).\n\nSharesViewMixin\n\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\n\nList of current tree permissions and removing the selected ones.\n\nShareViewMixin\n\"\"\"\"\"\"\"\"\"\"\"\"\"\"\n\nShare access to the current tree to a user by adding a tree permission.\n\nManagement Commands\n-------------------\n\nsync_blobmetadata\n\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\n\nBrowse the repository to compute metadata for each blob not known yet.\n\nTo call after pushing new commits to the repository, ideally from a Git hook.\n\nCleaning up of metadata for orphan blobs is not handled.\n\nTests\n-----\n\nA minimal Django project is shipped to run the test suite. Try ``make coverage`` (100% at the time of this writing).\n\nMigrations\n----------\n\nGitStorage uses South.\n\nLicense\n-------\n\nGitStorage is copyright Bors Ltd with ideas from the PyGit2 project.\n\nGitStorage is published under the GNU General Public License version 3.", "description_content_type": null, "docs_url": null, "download_url": "UNKNOWN", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/bors-ltd/django-gitstorage", "keywords": null, "license": "GPL3", "maintainer": null, "maintainer_email": null, "name": "django-gitstorage", "package_url": "https://pypi.org/project/django-gitstorage/", "platform": "UNKNOWN", "project_url": "https://pypi.org/project/django-gitstorage/", "project_urls": { "Download": "UNKNOWN", "Homepage": "https://github.com/bors-ltd/django-gitstorage" }, "release_url": "https://pypi.org/project/django-gitstorage/1.0/", "requires_dist": null, "requires_python": null, "summary": "Django storage and views to browse a Git repository", "version": "1.0" }, "last_serial": 637871, "releases": { "1.0": [] }, "urls": [] }