{ "info": { "author": "Adam Compton", "author_email": "comptona@gmail.com", "bugtrack_url": null, "classifiers": [ "Development Status :: 5 - Production/Stable", "Environment :: No Input/Output (Daemon)", "License :: OSI Approved :: BSD License", "Operating System :: Unix", "Programming Language :: Python", "Programming Language :: Python :: 2" ], "description": "Introduction\n============\n`valet` is a script that turns any directory into a simple wiki, complete with wikitext rendering, editing, and automatically committing changes to version control.\n\nIt's a single file with no strict requirements aside from [`bottle`](http://bottlepy.org/).\n\nNews\n====\n2015-01-03\n----------\nI got a bee in my bonnet recently on making some improvements to `valet`, so Merry Christmas to you all.\n\nNew features:\n\n- The `/view/X`, `/edit/X`, etc. paths have been removed in favor of using URL query arguments, e.g. `X?edit` and `X?delete`. CGI/WSGI path prefixes still work fine.\n- New file-management-related functionality, like creating new files and deleting files\n- Search! A fancy search field will grep through documents and filenames for your query\n- Lots of git-related functionality has been added, including:\n - Displaying a dropdown that lets you view an old version of a file\n - Displaying a table with detailed status about the last few changes to a file\n- Lots of code cleanup, refactoring, and simplification\n- Fixed a ton of bugs\n- Lots of code changes to better comply with pylint (score 9.24)\n- Added some basic unit/regression tests in `tests.py`\n\n2012-10-28\n----------\nI spent some time hacking on `valet` this weekend, fixing a few bugs and adding one big new feature: CGI/WSGI support. Now if you link or rename `valet` to `something.cgi` or `something.fcgi`, it will \"Do The Right Thing\" and operate as a proper webapp. (WSGI support requires [`flup`](http://trac.saddi.com/flup).)\n\nThis feature was required for me to run `valet` as a lightweight wiki on my DreamHost server without interfering in that environment by opening a new port or leaving a long-running service around. I didn't add a configuration interface; if you're going to be linking or renaming the script, open it up and change the options hard-coded near the top.\n\nOther changes and new features:\n\n- Added a `mime` query argument to override the automatic filetype detection.\n - You can use this if, for instance, you have a Python script without the \".py\" extension; add `?mime=text/x-python` to get it properly syntax-colored anyway.\n- Added support for arbitrary URL prefixes.\n - This just works automatically; `valet` will figure out where you put it and prepend that to all of the links instead of hardcoding \"/view\" etc.\n\t- This doesn't work super-well with Apache's `mod_rewrite`; it basically ignores the rewrite headers. This is a limitation of `bottle` but I'm not sure how to do it better anyway.\n\nFixes:\n\n- Added proper support for empty \"edit\" and \"post\" routes with a slash at the end (now it will complain about no file being provided instead of saying the route doesn't exist)\n- Fixed an error output that caused problems when running as a CGI (now writes to stderr)\n\nUsage\n=====\n\n $ valet\n\nOr, use some command line options:\n\n $ valet [-d ] [-p ] [-r] [-s] [-v]\n\nBy default, `valet` serves `$CWD`; change this with `-d `.\nOther options:\n\n- `-r`: set readonly mode and disable editing\n- `-s`: set simple mode and disable all special-case processing (pygments, wikitext rendering, etc.)\n- `-v`: automatically commit edits into version control if possible\n - Currently only git is supported.\n\nInstallation\n============\n\n $ pip install valet\n\nRequirements\n============\n- Python 2.6+\n- [`bottle`](http://bottlepy.org/)\n\nTested on:\n\n- Centos 5.4 (python 2.6)\n- Debian 6.0.4 (python 2.6)\n- Gentoo (python 2.7)\n- Mac OS X 10.7 (python 2.7)\n- Ubuntu 12.04.1 (python 2.7)\n- Windows 7 (python 2.7)\n\nOptional Components\n===================\n`valet` supports lots of useful modules, which will be automatically enabled if present:\n\n- [`python-magic`](http://pypi.python.org/pypi/python-magic/): Better automatic file type detection\n- [`Markdown`](http://pypi.python.org/pypi/Markdown/): Render \"markdown\" wikitext in files\n- [`python-creole`](http://pypi.python.org/pypi/python-creole/): Render \"creole\" wikitext in files\n- [`textile`](http://pypi.python.org/pypi/textile): Render \"textile\" wikitext in files\n- [`docutils`](http://pypi.python.org/pypi/docutils/): Render \"reStructuredText\" wikitext in files\n- [`pygments`](http://pypi.python.org/pypi/Pygments): Adds syntax highlighting for source code files\n\nUse the `-s`/`--simple` command-line option to disable these optional components.\n\nKnown Issues\n============\n- There's no security anywhere here; please, whatever you do, DON'T make this available over the Internet. `valet` has a readonly mode and attempts to jail reads and edits into its root directory, but be careful!\n- `bottle`'s `static_file` function doesn't appear to handle UTF-8 data properly, or at least it doesn't show up right when I load a file that way.\n- The version of `python-magic` that ships with Ubuntu [is broken](https://bugs.launchpad.net/bugs/603128); I worked around it as best I could.\n", "description_content_type": null, "docs_url": null, "download_url": "https://github.com/handyman5/valet/tarball/master", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/handyman5/valet", "keywords": null, "license": "BSD-2-Clause", "maintainer": null, "maintainer_email": null, "name": "valet", "package_url": "https://pypi.org/project/valet/", "platform": "UNKNOWN", "project_url": "https://pypi.org/project/valet/", "project_urls": { "Download": "https://github.com/handyman5/valet/tarball/master", "Homepage": "https://github.com/handyman5/valet" }, "release_url": "https://pypi.org/project/valet/0.4/", "requires_dist": null, "requires_python": null, "summary": "valet is a script that turns any directory into a simple wiki, complete with wikitext rendering, editing, and automatically committing changes to version control.", "version": "0.4" }, "last_serial": 1369623, "releases": { "0.1": [ { "comment_text": "", "digests": { "md5": "8a319d0342df6f106a4ac6257ff8473d", "sha256": "5c6f85113e6aec39d4262d52f9c50f77ecd0d4e8b622a2baef520e7ce9a8f4e0" }, "downloads": -1, "filename": "valet-0.1.tar.gz", "has_sig": false, "md5_digest": "8a319d0342df6f106a4ac6257ff8473d", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 5113, "upload_time": "2012-08-27T06:28:46", "url": "https://files.pythonhosted.org/packages/42/9f/d9acb8d9b64c37c11413799ab5938a3ff8b949bc8c742308dca7fa7274f4/valet-0.1.tar.gz" } ], "0.2": [ { "comment_text": "", "digests": { "md5": "ea8b85a01a89bc44d7f9f1043771d590", "sha256": "de7bf1014fd539b7a6f6a25bc573c84d5afedf0861002c2e86f44a8e5d375747" }, "downloads": -1, "filename": "valet-0.2.tar.gz", "has_sig": false, "md5_digest": "ea8b85a01a89bc44d7f9f1043771d590", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 5132, "upload_time": "2012-08-27T08:11:59", "url": "https://files.pythonhosted.org/packages/74/6d/6785acd0e71848df92b14ec552b58f9f7f74dffc67d4bf9a6f30778a8fc5/valet-0.2.tar.gz" } ], "0.3": [ { "comment_text": "", "digests": { "md5": "180f645c423ea89a1f2aa00b31911a03", "sha256": "86c44002d58cfce87640e354dfae054ddf8ff3159b72ced50ccf014c5fa2cfb7" }, "downloads": -1, "filename": "valet-0.3.tar.gz", "has_sig": false, "md5_digest": "180f645c423ea89a1f2aa00b31911a03", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 6350, "upload_time": "2012-10-29T05:36:57", "url": "https://files.pythonhosted.org/packages/43/5e/06138313fde6d84ceac631454e0b3eacf26dfa55e0b0ba23d31a725ecf76/valet-0.3.tar.gz" } ], "0.4": [ { "comment_text": "", "digests": { "md5": "caddd1bd3a83cbcec3685b3b04cecaf2", "sha256": "d2fc75c1012a4f77ead4751c414e66d2bd35756285f689abb528b4fd245bbdf0" }, "downloads": -1, "filename": "valet-0.4.tar.gz", "has_sig": false, "md5_digest": "caddd1bd3a83cbcec3685b3b04cecaf2", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 8905, "upload_time": "2015-01-04T01:01:46", "url": "https://files.pythonhosted.org/packages/2f/31/e5dddb882696402ccfac06d5a5eab167ecd9f0f169925d1f51240ea80ae7/valet-0.4.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "caddd1bd3a83cbcec3685b3b04cecaf2", "sha256": "d2fc75c1012a4f77ead4751c414e66d2bd35756285f689abb528b4fd245bbdf0" }, "downloads": -1, "filename": "valet-0.4.tar.gz", "has_sig": false, "md5_digest": "caddd1bd3a83cbcec3685b3b04cecaf2", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 8905, "upload_time": "2015-01-04T01:01:46", "url": "https://files.pythonhosted.org/packages/2f/31/e5dddb882696402ccfac06d5a5eab167ecd9f0f169925d1f51240ea80ae7/valet-0.4.tar.gz" } ] }