{ "info": { "author": "Jay Marcyes", "author_email": "jay@marcyes.com", "bugtrack_url": null, "classifiers": [ "Development Status :: 4 - Beta", "Environment :: Web Environment", "Intended Audience :: End Users/Desktop", "License :: OSI Approved :: MIT License", "Operating System :: POSIX :: Linux", "Programming Language :: Python :: 2.7", "Topic :: Internet :: WWW/HTTP :: WSGI :: Application" ], "description": "# Bounce\n\nIt's a keyword search engine, meaning you can configure it to redirect\n``yt`` to Youtube, so a search like ``yt weird al`` would redirect right\nto Youtube's search.\n\n1 minute getting started\n------------------------\n\n1. Install it\n\n ::\n\n $ pip install bounce\n\n2. Start it:\n\n ::\n\n $ bounce-server\n\n3. Query it:\n\n ::\n\n $ curl \"http://127.0.0.1:5000/?q=yt weird al\" \n\nYou can also run it using any WSGI server like\n`uWSGI `__ using the included\n``bouncefile.py`` as the ``wsgi-file``.\n\nConfiguration\n-------------\n\nurl configuration\n~~~~~~~~~~~~~~~~~\n\nBounce has a built-in `configuration file with generic\nmappings `__\nbut you can also create your own that bounce will read when starting by\nsetting the environment variable ``BOUNCE_CONFIG`` with a path to your\ncustom configuration python file:\n\n.. code:: bash\n\n export BOUNCE_CONFIG=/path/to/bounce_config.py\n\nThe file must import ``bounce.core.commands``:\n\n.. code:: python\n\n from bounce.core import commands\n\nThe ``commands.add()`` method takes a space separated list of commands\nand a value:\n\n.. code:: python\n\n commands.add(\"foo bar\", \"http://foo.com?q={}\")\n\nSo, if you called bounce with the input:\n\n::\n\n foo blammo\n\nIt would redirect to:\n\n::\n\n http://foo.com?q=blammo\n\nYou could also call it with ``bar blammo`` and get the same thing\nbecause we set up the command keywords as ``foo bar`` so either *foo* or\n*bar* would redirect.\n\nNotice that the value is a `python format\nstring `__.\n\ncallback configuration\n~~~~~~~~~~~~~~~~~~~~~~\n\nvalue can also be a callback:\n\n.. code:: python\n\n def callback(q):\n # manipulat q in some way and then return where you would like to go\n return 'http://some.url.that.needed.manipulated.q.com={}'.format(q)\n\n commands.add(\"foo bar\", callback)\n\nThat makes it so bounce can do all kinds of crazy things.\n\ndefault configuration\n~~~~~~~~~~~~~~~~~~~~~\n\nBy default, Google is the search engine of choice, so if you don't start\nyour request with a command, bounce will redirect to Google search with\nyour search string. If you would like to change this just pass\n``default=True`` to one of your custom commands:\n\n.. code:: python\n\n commands.add(\"keyword\", \"value\", default=True)\n\nViewing configuration\n~~~~~~~~~~~~~~~~~~~~~\n\nthe command ``ls`` will list all the commands bounce supports\n\nTesting\n-------\n\nTo test locally from the repo:\n\n::\n\n $ python bounce/bin/bounce-server\n\nThat should produce output like this:\n\n::\n\n * Running on http://127.0.0.1:5000/ (Press CTRL+C to quit)\n * Restarting with stat\n * Debugger is active!\n * Debugger pin code: XXX-XXX-XXX\n\nWhich you can then use to test:\n\n::\n\n $ curl \"http://127.0.0.1:5000/?q=...\"\n\nAnd that's it.\n", "description_content_type": null, "docs_url": null, "download_url": "UNKNOWN", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "http://github.com/Jaymon/bounce", "keywords": null, "license": "MIT", "maintainer": null, "maintainer_email": null, "name": "bounce", "package_url": "https://pypi.org/project/bounce/", "platform": "UNKNOWN", "project_url": "https://pypi.org/project/bounce/", "project_urls": { "Download": "UNKNOWN", "Homepage": "http://github.com/Jaymon/bounce" }, "release_url": "https://pypi.org/project/bounce/0.1.7/", "requires_dist": null, "requires_python": null, "summary": "Search using special commands", "version": "0.1.7" }, "last_serial": 2761554, "releases": { "0.1": [ { "comment_text": "", "digests": { "md5": "5ced84a532ca153a76c6a844fdfe6a48", "sha256": "77b3eb8c7c6d69906d89662c852a9e9359c433e777ef3f71f48a97bae06448c9" }, "downloads": -1, "filename": "bounce-0.1.tar.gz", "has_sig": false, "md5_digest": "5ced84a532ca153a76c6a844fdfe6a48", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 6550, "upload_time": "2016-03-27T06:35:46", "url": "https://files.pythonhosted.org/packages/54/be/f13a77e8153d2c61a965bfb13956487ebad0c5bedf587d39018169799ae7/bounce-0.1.tar.gz" } ], "0.1.1": [ { "comment_text": "", "digests": { "md5": "f8103a101beb6372f248b2a10bcef2a0", "sha256": "88eda70b4d7168e88584c817db9a6db5d395bd1a64cbec2c6d5499f92c1f5177" }, "downloads": -1, "filename": "bounce-0.1.1.tar.gz", "has_sig": false, "md5_digest": "f8103a101beb6372f248b2a10bcef2a0", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 6529, "upload_time": "2016-04-01T08:07:03", "url": "https://files.pythonhosted.org/packages/3e/39/f6e27bf1af7f2d6d0f95aeef7ce97cb4cc2c33e69d1197dc5d8cd9541455/bounce-0.1.1.tar.gz" } ], "0.1.4": [ { "comment_text": "", "digests": { "md5": "6ec6a4a7927bc9e07cf824ce5fc06820", "sha256": "b033c39b8d2419c91fc5bf2d9347e14e71443bafaab16dbf89b8519064fb6c06" }, "downloads": -1, "filename": "bounce-0.1.4.tar.gz", "has_sig": false, "md5_digest": "6ec6a4a7927bc9e07cf824ce5fc06820", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 8494, "upload_time": "2017-03-14T07:42:08", "url": "https://files.pythonhosted.org/packages/5e/87/b971f21fa24844e74c824ddd3811a9405e9c5b8f2922629b4bad62811416/bounce-0.1.4.tar.gz" } ], "0.1.5": [ { "comment_text": "", "digests": { "md5": "325044a7e0575f22bd7eb3896fa89aaa", "sha256": "302d116bb8a1eaca43b1a734a395ccc4b29a3346de799b6883af9e0f9356541c" }, "downloads": -1, "filename": "bounce-0.1.5.tar.gz", "has_sig": false, "md5_digest": "325044a7e0575f22bd7eb3896fa89aaa", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 8576, "upload_time": "2017-04-07T23:46:46", "url": "https://files.pythonhosted.org/packages/d5/40/239ac360ed25c29f1029624a18c2ffa5e4d9262dfd61dd65629ee0525052/bounce-0.1.5.tar.gz" } ], "0.1.6": [ { "comment_text": "", "digests": { "md5": "af626caf7d9b715e1c07e19e9cc8dc6c", "sha256": "1e900332bb87d16be5a2af2306020d7a0c6911cdadc17eefe51758925f0f0dd1" }, "downloads": -1, "filename": "bounce-0.1.6.tar.gz", "has_sig": false, "md5_digest": "af626caf7d9b715e1c07e19e9cc8dc6c", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 8579, "upload_time": "2017-04-08T00:04:59", "url": "https://files.pythonhosted.org/packages/27/77/f34e9d1707744e4f620c72aa8c0fb8b2d14cdf89a48f027847ae8fb30209/bounce-0.1.6.tar.gz" } ], "0.1.7": [ { "comment_text": "", "digests": { "md5": "ff296c5f687f441e52b07a4e61a22db1", "sha256": "dcba60a53392bb3f82c69b4a7dcacd4bf83d3e1bc151857a66595c3f674f42f2" }, "downloads": -1, "filename": "bounce-0.1.7.tar.gz", "has_sig": false, "md5_digest": "ff296c5f687f441e52b07a4e61a22db1", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 8565, "upload_time": "2017-04-08T00:39:25", "url": "https://files.pythonhosted.org/packages/5d/46/af5d8f295469dc7da5ca9fea1809e6df1c0db057cbe393602c3fbbdaeb9b/bounce-0.1.7.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "ff296c5f687f441e52b07a4e61a22db1", "sha256": "dcba60a53392bb3f82c69b4a7dcacd4bf83d3e1bc151857a66595c3f674f42f2" }, "downloads": -1, "filename": "bounce-0.1.7.tar.gz", "has_sig": false, "md5_digest": "ff296c5f687f441e52b07a4e61a22db1", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 8565, "upload_time": "2017-04-08T00:39:25", "url": "https://files.pythonhosted.org/packages/5d/46/af5d8f295469dc7da5ca9fea1809e6df1c0db057cbe393602c3fbbdaeb9b/bounce-0.1.7.tar.gz" } ] }