{ "info": { "author": "SAE Python Team", "author_email": "saemail@sina.cn", "bugtrack_url": null, "classifiers": [], "description": "SAE Python development server - experimental\n\nAll Rights Reserved 2011\nSAE Python Team\n\n\u76ee\u524d\u652f\u6301\u7684\u670d\u52a1\u5305\u62ec\uff1amysql, taskqueue, memcache, storage, mail\u3002\n\u5927\u90e8\u5206\u7684\u670d\u52a1\u76f4\u63a5\u8fd0\u884cdev_server.py\u8fdb\u884c\u8c03\u8bd5\u5c31\u53ef\u4ee5\u4e86\uff0c\u90e8\u5206\u670d\u52a1\u9700\u8981\u505a\u4e00\u4e9b\u914d\u7f6e\u3002\n\n\u6ce8\u610f\uff1a \u672c\u5de5\u5177\u4ec5\u4e3a\u5e94\u7528\u5f00\u53d1\u4fbf\u5229\u4e4b\u7528\uff0c\u5bf9sae python\u73af\u5883\u7684\u6a21\u62df\u5e76\u4e0d\u5b8c\u6574\u3002\n\nInstall\n--------------\n\n sudo python setup.py install\n\n\u57fa\u672c\u4f7f\u7528\n------------\n\n\u4f7f\u7528svn\u68c0\u51faapp\u4ee3\u7801\u4e4b\u540e\uff0c\u5efa\u7acb\u4ee5\u6570\u5b57\u4e3a\u6807\u8bc6\u7684\u53d1\u5e03\u76ee\u5f55\uff0c\u5207\u6362\u5230\u53d1\u5e03\u76ee\u5f55:\n\n $ pwd\n /home/jaime/source/blackfire/1\n\n\u7f16\u8f91index.wsgi\u548cconfig.yaml:\n\n $ vi index.wsgi\n import sae\n\n def app(environ, start_response):\n status = '200 OK'\n response_headers = [('Content-type', 'text/plain')]\n start_response(status, response_headers)\n return ['Hello, world! reloading test3']\n\n application = sae.create_wsgi_app(app)\n\n $ vi config.yaml\n ---\n name: blackfire\n version: 1\n ...\n\n\u8fd0\u884cdev_server.py:\n\n $ dev_server.py \n MySQL config not found: app.py\n Start development server on http://localhost:8080/\n\n\u8bbf\u95ee http://localhost:8080 \u7aef\u53e3\u5c31\u53ef\u4ee5\u770b\u5230Hello, world!\u4e86\u3002\n\n\u4f7f\u7528MySQL\u670d\u52a1\n----------------\n\n\u914d\u7f6e\u597dMySQL\u672c\u5730\u5f00\u53d1server\uff0c\u4f7f\u7528 `--mysql` \u53c2\u6570\u8fd0\u884cdev_server.py\u3002\n\n $ dev_server.py --mysql=user:password@host:port\n\n\u73b0\u5728\u4f60\u53ef\u4ee5\u5728\u5e94\u7528\u4ee3\u7801\u4e2d\u50cf\u5728SAE\u7ebf\u4e0a\u73af\u5883\u4e00\u6837\u4f7f\u7528MySQL\u670d\u52a1\u4e86\u3002dev_server.py\u9ed8\u8ba4\u4f7f\u7528\n\u540d\u4e3a `app_\u5e94\u7528\u540d` \u7684\u6570\u636e\u5e93\u3002\n\n\u4f7f\u7528storage\u670d\u52a1\n---------------\n\n\u4f7f\u7528 `--storage-path` \u53c2\u6570\u8fd0\u884cdev_server.py\u3002\n\n $ dev_server.py --storage-path=/path/to/local/storage/data\n\n\u672c\u5730\u7684storage\u670d\u52a1\u4f7f\u7528\u4ee5\u4e0b\u7684\u76ee\u5f55\u7ed3\u6784\u6765\u6a21\u62df\u7ebf\u4e0a\u7684storage\u3002\n\n storage-path/\n domain1/\n key1\n key2\n domain2/\n domain3/\n\n--storage-path\u914d\u7f6e\u7684\u8def\u5f84\u4e0b\u6bcf\u4e2a\u5b50\u6587\u4ef6\u5939\u4f1a\u6620\u5c04\u4e3astorage\u4e2d\u7684\u4e00\u4e2adomain\uff0c\u800c\u6bcf\u4e2a\u5b50\u6587\n\u4ef6\u5939\u4e0b\u7684\u6587\u4ef6\u6620\u5c04\u4e3adomain\u4e0b\u7684\u4e00\u4e2akey\uff0c\u5176\u5185\u5bb9\u4e3a\u5bf9\u5e94key\u7684\u6570\u636e\u3002\n\n.. note: \n\n \u4e3a\u65b9\u4fbf\u8c03\u8bd5\uff0cdev_server\u81ea\u5e26\u7684sae.storage\u5728\u67d0\u4e2adomain\u4e0d\u5b58\u5728\u7684\u60c5\u51b5\u4e0b\u4f1a\u81ea\u52a8\u521b\u5efa\n \u8be5domain\u3002\u7ebf\u4e0a\u73af\u5883\u4e2d\u7684domain\u9700\u8981\u5728sae\u540e\u53f0\u9762\u677f\u4e2d\u624b\u52a8\u521b\u5efa\u3002\n\n\u4f7f\u7528pylibmc\n--------------\n\ndev_server\u81ea\u5e26\u4e86\u4e00\u4e2adummy pylibmc\uff0c\u6240\u4ee5\u65e0\u987b\u5b89\u88c5pylibmc\u5c31\u53ef\u4ee5\u76f4\u63a5\u4f7f\u7528memcache\u670d\u52a1\n\u4e86\u3002\u8be5\u6a21\u5757\u5c06\u6240\u6709\u7684\u6570\u636e\u5b58\u8d2e\u5728\u5185\u5b58\u4e2d\uff0cdev_server.py\u8fdb\u7a0b\u7ed3\u675f\u65f6\uff0c\u6240\u6709\u7684\u6570\u636e\u90fd\u4f1a\u4e22\u5931\n\u3002\n\n\u4f7f\u7528kvdb\n----------------\n\nkvdb\u9ed8\u8ba4\u6570\u636e\u5b58\u5728\u5185\u5b58\u4e2d\uff0cdev_server.py\u8fdb\u7a0b\u7ed3\u675f\u65f6\uff0c\u6570\u636e\u4f1a\u5168\u90e8\u4e22\u5931\uff0c\u5982\u679c\u9700\u8981\u4fdd\u5b58\u6570\u636e\uff0c\n\u8bf7\u4f7f\u7528\u5982\u4e0b\u547d\u4ee4\u884c\u542f\u52a8dev_server.py \n\n $ dev_server.py --kvdb-file=/path/to/kvdb/local/file\n", "description_content_type": null, "docs_url": null, "download_url": "UNKNOWN", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "http://python.sinaapp.com", "keywords": null, "license": "UNKNOWN", "maintainer": null, "maintainer_email": null, "name": "sae-python-dev", "package_url": "https://pypi.org/project/sae-python-dev/", "platform": "any", "project_url": "https://pypi.org/project/sae-python-dev/", "project_urls": { "Download": "UNKNOWN", "Homepage": "http://python.sinaapp.com" }, "release_url": "https://pypi.org/project/sae-python-dev/1.3.6/", "requires_dist": null, "requires_python": null, "summary": "SAE Python development server", "version": "1.3.6" }, "last_serial": 1855220, "releases": { "1.0.2": [ { "comment_text": "", "digests": { "md5": "1516f469b0ad0009f50870be4a447eca", "sha256": "bc93cfbccc217d2092909fa82a32193b79ef52973ba2dd2f19283449b8a25fe9" }, "downloads": -1, "filename": "sae-python-dev-1.0.2.tar.gz", "has_sig": false, "md5_digest": "1516f469b0ad0009f50870be4a447eca", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 28281, "upload_time": "2013-04-01T03:50:08", "url": "https://files.pythonhosted.org/packages/da/5e/160744e47d6a5f2090cb67ab8cd024ab8e582b46b56cbf9b5efac91b8828/sae-python-dev-1.0.2.tar.gz" } ], "1.0.3": [ { "comment_text": "", "digests": { "md5": "9f4e3dc641a0395ad7ec5fac6631c802", "sha256": "b7e33ef3106bef6f36d065673bda1a0630a7e018dbb9f06ed8b4e62b98eb8080" }, "downloads": -1, "filename": "sae-python-dev-1.0.3.tar.gz", "has_sig": false, "md5_digest": "9f4e3dc641a0395ad7ec5fac6631c802", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 28431, "upload_time": "2013-04-09T04:54:32", "url": "https://files.pythonhosted.org/packages/db/2d/4b157305b219596d599803b160680ca6c328fd56589925cd154b586113be/sae-python-dev-1.0.3.tar.gz" } ], "1.0beta": [ { "comment_text": "", "digests": { "md5": "10aa0de5544decd37a88b81b38e2648c", "sha256": "8bb1776d11b098d9381f0587ba9a0ce916b71ca071513bcc2f314144fc456a4d" }, "downloads": -1, "filename": "sae-python-dev-1.0beta.tar.gz", "has_sig": false, "md5_digest": "10aa0de5544decd37a88b81b38e2648c", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 28079, "upload_time": "2013-03-14T03:02:08", "url": "https://files.pythonhosted.org/packages/5e/60/71d67a15eaa4b4bb48cff0abfb4aaac93c1b0e157dd413d92e6597ad9fb9/sae-python-dev-1.0beta.tar.gz" } ], "1.1.0": [ { "comment_text": "", "digests": { "md5": "ad04378a617a4b44eea34dea49d306d0", "sha256": "d172901f2448a789880b35cceb93d50cfbe74c2bd13294c693d2b5596109d0cd" }, "downloads": -1, "filename": "sae-python-dev-1.1.0.tar.gz", "has_sig": false, "md5_digest": "ad04378a617a4b44eea34dea49d306d0", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 28625, "upload_time": "2013-05-23T09:42:24", "url": "https://files.pythonhosted.org/packages/db/0a/1dceb85de86fd1232d62de0d3ec142ed290501cc53600802626cd435b73e/sae-python-dev-1.1.0.tar.gz" } ], "1.2.0": [ { "comment_text": "", "digests": { "md5": "6dd5d884d8d0be47f5e105568d5eeda0", "sha256": "cb0363e177eedb5706794680924bf7bd4821508ad12223a94a50939985d7da4b" }, "downloads": -1, "filename": "sae-python-dev-1.2.0.tar.gz", "has_sig": false, "md5_digest": "6dd5d884d8d0be47f5e105568d5eeda0", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 52950, "upload_time": "2013-06-21T04:08:12", "url": "https://files.pythonhosted.org/packages/68/53/3ace7c35e138c9e8a8c779109e9b26e92312b23fe62348659b6f54ed24a4/sae-python-dev-1.2.0.tar.gz" } ], "1.2.1": [ { "comment_text": "", "digests": { "md5": "dfa66e6897f6fb544f627bd385f2b40b", "sha256": "f19db961eddb33a49ca977c8292c7cb06ef8dcbe97f5d91ec6eb00475a08c8fd" }, "downloads": -1, "filename": "sae-python-dev-1.2.1.tar.gz", "has_sig": false, "md5_digest": "dfa66e6897f6fb544f627bd385f2b40b", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 52968, "upload_time": "2013-12-31T05:13:14", "url": "https://files.pythonhosted.org/packages/81/b3/2d30a5a7126e719f422dc6ea104c303f83c3e9fe1ba11c46647a3f3a38be/sae-python-dev-1.2.1.tar.gz" } ], "1.3.0": [ { "comment_text": "", "digests": { "md5": "0ec6cbb12a82b7fb25100d7372fcdaa9", "sha256": "873a15ef237e99410b7b2390aec108f7074a6dbac7b60471a66ac43ffabbd13e" }, "downloads": -1, "filename": "sae-python-dev-1.3.0.tar.gz", "has_sig": false, "md5_digest": "0ec6cbb12a82b7fb25100d7372fcdaa9", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 95704, "upload_time": "2014-01-06T11:14:29", "url": "https://files.pythonhosted.org/packages/87/93/71cfda16e1bd11ef702df21a1d7521617f71b1376e8a5903700b2209bab3/sae-python-dev-1.3.0.tar.gz" } ], "1.3.1": [ { "comment_text": "", "digests": { "md5": "a63fc6925852da6edda8e33879ca3491", "sha256": "783b06588caee07d42b1fe8a61ffb85f570059fe3326990ae638bdb00ca64320" }, "downloads": -1, "filename": "sae-python-dev-1.3.1.tar.gz", "has_sig": false, "md5_digest": "a63fc6925852da6edda8e33879ca3491", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 95708, "upload_time": "2014-01-06T11:22:57", "url": "https://files.pythonhosted.org/packages/85/4e/f67a331dff3ec94f0d7265303e81fe91708e63cecc73a0126b43a4b48620/sae-python-dev-1.3.1.tar.gz" } ], "1.3.2": [ { "comment_text": "", "digests": { "md5": "e29072b35ddf8b86198132b5d9485945", "sha256": "d30aeace234546796682883532817e29a441e30d3ba06a299d5467835026396a" }, "downloads": -1, "filename": "sae-python-dev-1.3.2.tar.gz", "has_sig": false, "md5_digest": "e29072b35ddf8b86198132b5d9485945", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 95726, "upload_time": "2014-01-07T04:41:14", "url": "https://files.pythonhosted.org/packages/a3/36/31d380482b845b40109a3066bc3a3fc85c3af47139455650520c8b4e78a8/sae-python-dev-1.3.2.tar.gz" } ], "1.3.3": [ { "comment_text": "", "digests": { "md5": "d159b2cb463d2db97dec0256e2a75f18", "sha256": "a867c014f9036ab8618ff8f52e698bd1a795be5b0ac5e6c3fc39434767781ffb" }, "downloads": -1, "filename": "sae-python-dev-1.3.3.tar.gz", "has_sig": false, "md5_digest": "d159b2cb463d2db97dec0256e2a75f18", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 95182, "upload_time": "2015-05-13T06:36:58", "url": "https://files.pythonhosted.org/packages/03/30/715ff256d6db5d54fde0ad35cf20adf7d3bd9519e27d193e8d4355ab2d99/sae-python-dev-1.3.3.tar.gz" } ], "1.3.4": [ { "comment_text": "", "digests": { "md5": "5a0dd00a63368d839de9ceabcd35f73c", "sha256": "6fb662e448e0a4349efaa95f03e65181b8e74b205f3a6ff2d9372f610dfee816" }, "downloads": -1, "filename": "sae-python-dev-1.3.4.tar.gz", "has_sig": false, "md5_digest": "5a0dd00a63368d839de9ceabcd35f73c", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 93244, "upload_time": "2015-09-09T05:40:12", "url": "https://files.pythonhosted.org/packages/c0/bd/c917e09c54bcb23f894f2309c5f6b5dad994dbc4747321511e7671db6178/sae-python-dev-1.3.4.tar.gz" } ], "1.3.5": [ { "comment_text": "", "digests": { "md5": "aebc36f2483419c53b914a2fa1bea62b", "sha256": "7ab3f5410b8725d1369704bb84ec3fe6f5b336d4d9d122c329967d0c498d8ed7" }, "downloads": -1, "filename": "sae-python-dev-1.3.5.tar.gz", "has_sig": false, "md5_digest": "aebc36f2483419c53b914a2fa1bea62b", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 93267, "upload_time": "2015-09-12T06:53:38", "url": "https://files.pythonhosted.org/packages/e6/45/33ed19868474f45f8f263df6cefd1804712f6b4bec3290ac9278eef2a06c/sae-python-dev-1.3.5.tar.gz" } ], "1.3.6": [ { "comment_text": "", "digests": { "md5": "d4ed4662edc50242712df3e346e8e18c", "sha256": "d7d63511b31ff1b3d951f50309bbea45bcc4870eef0d1ff99c658ef9f5f23c66" }, "downloads": -1, "filename": "sae-python-dev-1.3.6.tar.gz", "has_sig": false, "md5_digest": "d4ed4662edc50242712df3e346e8e18c", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 93594, "upload_time": "2015-12-10T10:59:55", "url": "https://files.pythonhosted.org/packages/b1/e0/00786cec2e24147c748baf60e9790d7ad4caeadad43ba872bd02e394a48f/sae-python-dev-1.3.6.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "d4ed4662edc50242712df3e346e8e18c", "sha256": "d7d63511b31ff1b3d951f50309bbea45bcc4870eef0d1ff99c658ef9f5f23c66" }, "downloads": -1, "filename": "sae-python-dev-1.3.6.tar.gz", "has_sig": false, "md5_digest": "d4ed4662edc50242712df3e346e8e18c", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 93594, "upload_time": "2015-12-10T10:59:55", "url": "https://files.pythonhosted.org/packages/b1/e0/00786cec2e24147c748baf60e9790d7ad4caeadad43ba872bd02e394a48f/sae-python-dev-1.3.6.tar.gz" } ] }