{ "info": { "author": "Kouhei Maeda", "author_email": "mkouhei@palmtb.net", "bugtrack_url": null, "classifiers": [ "Development Status :: 3 - Alpha", "License :: OSI Approved :: GNU General Public License v3 or later (GPLv3+)", "Programming Language :: Python", "Programming Language :: Python :: 2.7", "Programming Language :: Python :: Implementation :: CPython", "Topic :: Internet", "Topic :: Internet :: WWW/HTTP", "Topic :: Internet :: WWW/HTTP :: WSGI :: Application" ], "description": "============================================================\nShiori is bookmarking tool based on Web UI and JSON REST API\n============================================================\n\nWhat's \"Shiori\"?\n----------------\n\nThis tool provides web UI and JSON REST API for bookmarking.\nThe API depends on django REST framework,\nWeb UI depends on it's API and Backbone.js.\nThe user registeration and login of this tool uses OpenID.\n\n\"Shiori\" is means a bookmark in Japanese.\nIt is written \"\u681e\" in Kanji, this caracter is 0x681E in Unicode.\n\n\n.. image:: https://secure.travis-ci.org/mkouhei/shiori.png?branch=devel\n :target: http://travis-ci.org/mkouhei/shiori\n.. image:: https://coveralls.io/repos/mkouhei/shiori/badge.png?branch=devel\n :target: https://coveralls.io/r/mkouhei/shiori?branch=devel\n.. image:: https://pypip.in/v/shiori/badge.png\n :target: https://crate.io/packages/shiori\n\n\nRequirements\n------------\n\n* Python 2.7\n* Django (>= 1.6)\n* Django REST framework (>= 2.3.12)\n* shortuuid (== 0.3.2)\n (this is work-around for the garbage (v0.4 not released) is left in the PyPI.)\n* django-shortuuidfield (>= 0.1.2)\n* django-jsonfield\n* python-openid (>= 2.2.5)\n* django_openid_auth (>= 0.5)\n* south\n* netaddr\n* lxml\n* defusedxml\n* requests\n* celery\n* jQuery (>= 2.1.1)\n* underscore.js (>= 1.5.2)\n* backbone.js (>= 1.1.0)\n* JSON in JavaScript\n* Twitter bootstrap (>= 3.2.0)\n\nRecommends\n----------\n\n* MySQL\n* python-mysqldb\n* RabbitMQ\n\nSetup\n-----\n\nInstall Debian packages that Shiori depends on\n^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n\nShiori depends on as following.::\n\n $ sudo apt-get install python-django python-djangorestframework \\\n python-django-shortuuidfield python-django-auth-openid python-celery \\\n python-lxml python-defusedxml python-netaddr python-django-south \\\n libjs-jquery libjs-underscore libjs-json \\\n libxml2-dev libxslt1-dev python-requests python-dev libpython2.7-dev \\\n python-django-jsonfield\n\n\nUpdate and rebuild libjs-backbone\n\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\n\nThe version of libjs-backbone in Sid is 0.9.2-4 at 2014-02-08. (1)\nSo you must rebuild from source package currently.::\n\n $ sudo apt-get build-dep libjs-backbone\n $ apt-get source libjs-backbone\n $ cd backbone-0.9.2\n $ uscan\n $ uupdate ../1.x.x.tar.gz 1.x.x\n $ cd ../backbone-1.x.x\n $ debuild -us -uc\n $ sudo dpkg -i ../libjs-backbone_1.x.x-1_all.deb\n\n(1) http://packages.qa.debian.org/b/backbone.html\n\n\nInstall Shiori\n^^^^^^^^^^^^^^\n\nfrom source\n\"\"\"\"\"\"\"\"\"\"\"\n::\n\n $ git clone https://github.com/mkouhei/shiori.git\n $ cd shiori\n $ sudo python setup.py install\n\n\nfrom PyPI\n\"\"\"\"\"\"\"\"\"\n::\n\n $ pip install shiori\n\nWorkaround django-auth-openid someproblems\n\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\n\ndjango-auth-openid is not support django 1.5 over now,\nthen you should use source debian package, and must apply some patches.::\n\n $ apt-get source python-django-auth-openid\n $ cd django-openid-auth-0.5\n $ python setup.py install\n\n\nMake symlinks of JavaScript Libraries\n\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\n\nShiori has no depended on JavaScript libraries, so make symlinks.\nExecutute miscs/setup.sh script.::\n\n $ cd /path/to/lib/python2.7/site-packages/shiori-0.x.x-py2.7.egg/shiori/static\n $ sh ../miscs/setup.sh\n $ ls -n\n total 8\n lrwxrwxrwx 1 1000 1000 30 Feb 9 09:26 backbone -> /usr/share/javascript/backbone\n drwxr-xr-x 2 1000 1000 4096 Feb 9 06:49 css\n lrwxrwxrwx 1 1000 1000 34 Feb 9 09:26 twbs -> /usr/share/twitter-bootstrap/files\n lrwxrwxrwx 1 1000 1000 28 Feb 9 09:26 jquery -> /usr/share/javascript/jquery\n drwxr-xr-x 2 1000 1000 4096 Feb 9 06:49 js\n lrwxrwxrwx 1 1000 1000 26 Feb 9 09:26 json -> /usr/share/javascript/json\n lrwxrwxrwx 1 1000 1000 32 Feb 9 09:26 underscore -> /usr/share/javascript/underscore\n\nConfiguration\n-------------\n\nYou must change some values in shiori/core/settings.py.\n\n* SECRET_KEY\n* DEBUG\n* ALLOWED_HOSTS\n* DATABASES\n\nExecute syncdb.::\n\n $ python /path/to/shiori/manage.py syncdb\n\nRun server.::\n\n $ python /path/to/shiori/manage.py runserver\n\n\nStart Celery.::\n\n $ celery -A shiori.core worker --beat -l info\n\n\nDevelopment\n-----------\n\nYou copy pre-commit hook scripts after git clone.::\n\n $ cp -f utils/pre-commit.txt .git/hooks/pre-commit\n\nNext install python 2.7 later and setuptools, pytest, pep8.\nBelow way is for Debian GNU/Linux Sid system.::\n\n $ sudo apt-get install python python-setuptools python-pytest pep8 libxml2-dev libxml2 python-dev closure-linter python-tox\n\nThen checkout 'devel' branch for development, commit your changes.\nBefore pull request, execute git rebase.\n\nSee also\n--------\n\n* `django REST framework `_\n* `django-openid-auth README `_\n* `Backbone.js `_\n\nHistory\n-------\n\n\n0.4.0 (2014-07-13)\n^^^^^^^^^^^^^^^^^^\n\n* Applied Bootstrap 3.\n* Fixed link of category and tag.\n* Fixed jslint violations.\n* Improved loading bookmark.\n\n0.3.4 (2014-06-02)\n^^^^^^^^^^^^^^^^^^\n\n* Fixed pylint violations.\n* Fixed the name of the dependent Python packages.\n\n0.3.3 (2014-05-12)\n^^^^^^^^^^^^^^^^^^\n\n* Fixed bug of validators.\n* Added unit test of feed_parser.\n\n0.3.2 (2014-04-18)\n^^^^^^^^^^^^^^^^^^\n\n* Fixed #25 can not search for multi-byte string.\n* Applied closure-linter, and fixed invalid Google JavaScript Style Guide.\n* Fixed exclude directory for PEP8 test.\n\n0.3.1 (2014-04-09)\n^^^^^^^^^^^^^^^^^^\n\n* Added search API and view\n* Fixed category and tag query\n* Changed behavior of popover\n\n0.3.0 (2014-04-03)\n^^^^^^^^^^^^^^^^^^\n\n* Change API path /v1 to /api\n* Change behavior of Category API\n* Change behavior of Tag API\n* Added FeedSubscription and CralingHistory models\n* Added API of FeedSubscription\n* Added view of subscribed feeds list and manage view\n* Added register bookmarks from subscribed feeds\n* Added feed parser and register of bookmark from subscribed feed by celery\n* Added list display at Django admin\n* Using fake name generator for test\n* Change using fixtures for User, Category, Tag\n\n0.2.7 (2014-03-15)\n^^^^^^^^^^^^^^^^^^\n\n* Fixed Fixed forbid deleting bookmark by not owner user\n* Added some unit test\n\n0.2.6 (2014-03-08)\n^^^^^^^^^^^^^^^^^^\n\n* Added toggle switch to display all bookmarks\n* Fixed #12 Tags and categories that do not have a bookmark is displayed\n* Fixed #13 bookmarks does not appear in the tag view\n* Fixed #10 It is impossible to view the bookmarks of other users\n in the login state in the UI\n* Fixed #7 URL of bookmark should be unique by user\n\n0.2.5 (2014-03-05)\n^^^^^^^^^^^^^^^^^^\n\n* Added test REST API for anonymous user and another user\n* Fixed #6 any authenticated users can change bookmarks\n* Fixed #8 invalid URL of login on logout page\n\n0.2.4 (2014-03-01)\n^^^^^^^^^^^^^^^^^^\n\n* Redirect root to /shiori/\n* Add test code of routing, bookmark view, REST API\n* Use django test in setup.py test\n* Use tox\n* Use travis-ci\n* Use coverage and coverall.io\n\n0.2.3 (2014-02-26)\n^^^^^^^^^^^^^^^^^^\n\n* Add pagination\n* Remove patches of django-openid-auth why fixed at python-django-auth-openid 0.5-2\n\n0.2.2 (2014-02-22)\n^^^^^^^^^^^^^^^^^^\n\n* Fix importing modules\n\n0.2.1 (2014-02-16)\n^^^^^^^^^^^^^^^^^^\n\n* Remove django-notification from dependency\n\n0.2.0 (2014-02-16)\n^^^^^^^^^^^^^^^^^^\n\n* Added feed generator\n* Fixed some bugs related views\n\n0.1.0 (2014-02-08)\n^^^^^^^^^^^^^^^^^^\n\n* First release\n\nTODO\n----\n\n* Add appending signature to bookmark and validation signature with GnuPG.\n* Add linking social web services with OAuth.\n* Add job scedular for feed parser and push message to social web services.\n* Add applying reST style description.\n* Add unit test code.", "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/mkouhei/shiori", "keywords": null, "license": "GNU General Public License version 3", "maintainer": null, "maintainer_email": null, "name": "shiori", "package_url": "https://pypi.org/project/shiori/", "platform": "UNKNOWN", "project_url": "https://pypi.org/project/shiori/", "project_urls": { "Download": "UNKNOWN", "Homepage": "https://github.com/mkouhei/shiori" }, "release_url": "https://pypi.org/project/shiori/0.4.0/", "requires_dist": null, "requires_python": null, "summary": "bookmarking tool based on Web UI and JSON REST API", "version": "0.4.0" }, "last_serial": 1156065, "releases": { "0.1.0": [ { "comment_text": "", "digests": { "md5": "6cd7505535cd3e9948fc1e4f55298583", "sha256": "a35730e26c7ded01e11677a456a2131b0bf0e1daa22224c5988909183a27bc42" }, "downloads": -1, "filename": "shiori-0.1.0.tar.gz", "has_sig": false, "md5_digest": "6cd7505535cd3e9948fc1e4f55298583", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 42548, "upload_time": "2014-02-09T00:48:14", "url": "https://files.pythonhosted.org/packages/cb/0b/3940c7f8be9ee50992e08db49e3ae878368a3725820cc1d6cdc5cde2b945/shiori-0.1.0.tar.gz" } ], "0.2.0": [ { "comment_text": "", "digests": { "md5": "d97625f8e01fe9b6e9d3ec10cd153c43", "sha256": "654ba69f9535e220c60407b7e5b31fd6a2946f40f06ca88d843462d6c744c451" }, "downloads": -1, "filename": "shiori-0.2.0.tar.gz", "has_sig": false, "md5_digest": "d97625f8e01fe9b6e9d3ec10cd153c43", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 43522, "upload_time": "2014-02-16T02:24:19", "url": "https://files.pythonhosted.org/packages/1d/de/71a028fba6acccb58f5a7d658510402d31d0b902f9639f69c2ce99376f93/shiori-0.2.0.tar.gz" } ], "0.2.1": [ { "comment_text": "", "digests": { "md5": "ec73518d85c1562eeb17b6c338fda14f", "sha256": "c6104c7fac967918f3db0ada30980cff51a81d5ab34ad48ccfcc23e8ffa561ba" }, "downloads": -1, "filename": "shiori-0.2.1.tar.gz", "has_sig": false, "md5_digest": "ec73518d85c1562eeb17b6c338fda14f", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 43636, "upload_time": "2014-02-16T08:40:09", "url": "https://files.pythonhosted.org/packages/54/80/1626e058178b27ab9494de310a2b5800025cda14fdddcaa8a5d8c44abc73/shiori-0.2.1.tar.gz" } ], "0.2.2": [ { "comment_text": "", "digests": { "md5": "b761e147d217508a9305a5aa8b93ad7a", "sha256": "f70547b14d05c7712d8203e185468dfd4bf640aa9e4a01c8a150df9504305e87" }, "downloads": -1, "filename": "shiori-0.2.2.tar.gz", "has_sig": false, "md5_digest": "b761e147d217508a9305a5aa8b93ad7a", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 43735, "upload_time": "2014-02-22T11:40:02", "url": "https://files.pythonhosted.org/packages/dc/c4/eb9e23f2d0842993e542619efcac57c9cf090bd7353c20826c295dd0840d/shiori-0.2.2.tar.gz" } ], "0.2.3": [ { "comment_text": "", "digests": { "md5": "95f69af20deaa8528350a6eddbb62023", "sha256": "619bdb0592a3b4eebf1599ed22b5d34069ff28b0e27aa1eebf37de39e67b1ad7" }, "downloads": -1, "filename": "shiori-0.2.3.tar.gz", "has_sig": false, "md5_digest": "95f69af20deaa8528350a6eddbb62023", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 42466, "upload_time": "2014-02-25T15:39:25", "url": "https://files.pythonhosted.org/packages/02/7d/262f30644625b916d6ad38c093866491b437aca15bfbe873bbf31f5316ff/shiori-0.2.3.tar.gz" } ], "0.2.4": [ { "comment_text": "", "digests": { "md5": "7d9a2289a4ec25fa604715fb81a8f49e", "sha256": "309c8ef4914d26fe38baf668edb875ee6bf63e67837521c8f542271201b30665" }, "downloads": -1, "filename": "shiori-0.2.4.tar.gz", "has_sig": false, "md5_digest": "7d9a2289a4ec25fa604715fb81a8f49e", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 47516, "upload_time": "2014-03-01T13:34:43", "url": "https://files.pythonhosted.org/packages/ca/c4/3044237bfcec2c127fbc0cd18bafbccc0b1cdc8910f45d0298e84d0e3147/shiori-0.2.4.tar.gz" } ], "0.2.5": [ { "comment_text": "", "digests": { "md5": "93d415e2d6502e93f7768ac852b3b417", "sha256": "be30d5a2472c2372366f9d87a26bc90543424defdca1e1e4725ec21069e91302" }, "downloads": -1, "filename": "shiori-0.2.5.tar.gz", "has_sig": false, "md5_digest": "93d415e2d6502e93f7768ac852b3b417", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 50150, "upload_time": "2014-03-04T16:33:59", "url": "https://files.pythonhosted.org/packages/29/8d/68897f386850ccc03756309fa25fbb2634cf1c94e8fd5a9d32ccfe0bc1d7/shiori-0.2.5.tar.gz" } ], "0.2.6": [ { "comment_text": "", "digests": { "md5": "577b19ae9928e42352792ee01be947b2", "sha256": "a03353e490435612b9571825df6422940e1db040c210a867879df34af03da1b1" }, "downloads": -1, "filename": "shiori-0.2.6.tar.gz", "has_sig": false, "md5_digest": "577b19ae9928e42352792ee01be947b2", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 52419, "upload_time": "2014-03-07T22:57:34", "url": "https://files.pythonhosted.org/packages/eb/da/4ada21ce8138b14e24bde78a22368cb521d1db395bbdf2fc545672d46e6a/shiori-0.2.6.tar.gz" } ], "0.2.7": [ { "comment_text": "", "digests": { "md5": "c0bb87f1a17f044631b38f08330a4c17", "sha256": "8bb078af2157f5f9ac9b466587753232761e8e055d564a5434ebddfbbd0d4fd4" }, "downloads": -1, "filename": "shiori-0.2.7.tar.gz", "has_sig": false, "md5_digest": "c0bb87f1a17f044631b38f08330a4c17", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 51946, "upload_time": "2014-03-14T23:35:20", "url": "https://files.pythonhosted.org/packages/a0/cb/7f877441f8675ef3e2f7ebd05481a7443e912ca43cc32e2ebc5290e6fade/shiori-0.2.7.tar.gz" } ], "0.3.0": [ { "comment_text": "", "digests": { "md5": "15bd964a094232bdaec313e5f3398f6b", "sha256": "f5bf1ac1497d5f7b80251967f71fd3e39bc4a77c28f35474cef9c4d01d4ced23" }, "downloads": -1, "filename": "shiori-0.3.0.tar.gz", "has_sig": false, "md5_digest": "15bd964a094232bdaec313e5f3398f6b", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 59805, "upload_time": "2014-04-03T09:06:35", "url": "https://files.pythonhosted.org/packages/f7/83/95e8da518a9ab382d7b42325603af41862349a47489646b0762cb3e612e3/shiori-0.3.0.tar.gz" } ], "0.3.1": [ { "comment_text": "", "digests": { "md5": "f8f5df4990cb842beb6dbab000ab9105", "sha256": "e092ebe400a9dc58dec27c6d704199deff9fb618e781a0a0315313c2086be8a0" }, "downloads": -1, "filename": "shiori-0.3.1.tar.gz", "has_sig": false, "md5_digest": "f8f5df4990cb842beb6dbab000ab9105", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 60861, "upload_time": "2014-04-08T22:52:20", "url": "https://files.pythonhosted.org/packages/3c/82/40ccf1d79297d32c0c3d8d14f2ee2ed37a8de8a550bac298a80e101c9718/shiori-0.3.1.tar.gz" } ], "0.3.2": [ { "comment_text": "", "digests": { "md5": "1b99ae10d0a8253a4c2b22fbc6e130aa", "sha256": "fcab6f6431f4a7066a098051595c1868ea568f8b6b952a2931d261d290066f0e" }, "downloads": -1, "filename": "shiori-0.3.2.tar.gz", "has_sig": false, "md5_digest": "1b99ae10d0a8253a4c2b22fbc6e130aa", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 61663, "upload_time": "2014-04-18T12:47:49", "url": "https://files.pythonhosted.org/packages/8b/0d/056d3680f29d950d85a0131f5e7cde3154f386532d59970bef3566998d13/shiori-0.3.2.tar.gz" } ], "0.3.3": [ { "comment_text": "", "digests": { "md5": "2710483fee8b7694840d584150f194df", "sha256": "1ef2836c9c2ce67389e179e8117d2fba87b8bd32bccdd57374cc238ce0c628fb" }, "downloads": -1, "filename": "shiori-0.3.3.tar.gz", "has_sig": false, "md5_digest": "2710483fee8b7694840d584150f194df", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 63130, "upload_time": "2014-05-11T15:40:52", "url": "https://files.pythonhosted.org/packages/a6/f0/68394ce524625b21330c67d5fa84d24f3652362177784195e594270cdad4/shiori-0.3.3.tar.gz" } ], "0.3.4": [ { "comment_text": "", "digests": { "md5": "48faf72b14d695b0cb2fc1d5b8e9515d", "sha256": "1cad24a94f71e594966433e7e9eb14e13a8ad31d4dca26b8e85bc2f837d41a59" }, "downloads": -1, "filename": "shiori-0.3.4.tar.gz", "has_sig": false, "md5_digest": "48faf72b14d695b0cb2fc1d5b8e9515d", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 64322, "upload_time": "2014-06-02T13:33:31", "url": "https://files.pythonhosted.org/packages/6f/79/fd6d52337ede098465cd167374ab7bd42826c238b675e3f7a9232df7ad6b/shiori-0.3.4.tar.gz" } ], "0.4.0": [ { "comment_text": "", "digests": { "md5": "3309816d15669c9265093f88300364d4", "sha256": "173da2d988cfe83920b2fe73fda09c7af122ada52490a639e3da33eb449631ee" }, "downloads": -1, "filename": "shiori-0.4.0.tar.gz", "has_sig": false, "md5_digest": "3309816d15669c9265093f88300364d4", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 65219, "upload_time": "2014-07-13T06:53:28", "url": "https://files.pythonhosted.org/packages/6f/0d/66a511c51af789767ee2ec0c350301f6247466d936dc1b3c82c915d456ff/shiori-0.4.0.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "3309816d15669c9265093f88300364d4", "sha256": "173da2d988cfe83920b2fe73fda09c7af122ada52490a639e3da33eb449631ee" }, "downloads": -1, "filename": "shiori-0.4.0.tar.gz", "has_sig": false, "md5_digest": "3309816d15669c9265093f88300364d4", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 65219, "upload_time": "2014-07-13T06:53:28", "url": "https://files.pythonhosted.org/packages/6f/0d/66a511c51af789767ee2ec0c350301f6247466d936dc1b3c82c915d456ff/shiori-0.4.0.tar.gz" } ] }