{ "info": { "author": "Shoma Suzuki", "author_email": "shoma@catbot.net", "bugtrack_url": null, "classifiers": [ "Development Status :: 4 - Beta", "Environment :: Console", "Intended Audience :: Developers", "License :: OSI Approved :: MIT License", "Programming Language :: Python", "Programming Language :: Python :: 3", "Programming Language :: Python :: 3.6", "Programming Language :: Python :: 3.7", "Programming Language :: Python :: 3.8", "Programming Language :: SQL", "Topic :: Database" ], "description": "# spanner-cli\n[![image](https://img.shields.io/pypi/v/spanner-cli.svg)](https://python.org/pypi/spanner-cli)\n[![image](https://img.shields.io/pypi/l/spanner-cli.svg)](https://python.org/pypi/spanner-cli)\n\nA Terminal Client for [Google Cloud Spanner](https://cloud.google.com/spanner/) with Completion and Syntax Highlighting.\n\nQuick Start\n-----------\n```\npip3 install -U --user spanner-cli\n```\nor, for the latest develop version\n```\npip3 install -U --user git+https://github.com/shoma/spanner-cli@master\n```\n\n### Usage\n```\nUsage: spanner-cli [OPTIONS]\n\n A Google Cloud Spanner terminal client with auto-completion and syntax\n highlighting.\n\n https://github.com/shoma/spanner-cli\n\nOptions:\n -p, --project TEXT Google Cloud Platform Project for spanner.\n ${GCP_PROJECT} [required]\n -i, --instance TEXT Google Cloud Spanner instance to connect.\n ${SPANNER_INSTANCE_ID} [required]\n -d, --database TEXT Google Cloud Spanner Database to connect.\n ${SPANNER_DATABASE} [required]\n -c, --credential PATH path to credential file for Google Cloud Platform.\n ${GOOGLE_APPLICATION_CREDENTIALS}\n --pager / --no-pager use ${PAGER} (default LESS) to print output.\n [default: False]\n -e, --execute TEXT Execute command and quit.\n -v, --version show version.\n --debug Debug mode.\n --help Show this message and exit.\n```\n\n```\n> help\n+----------------+-----------------------+----------------------------------------------+\n| Command(abbr) | Shortcut and Usage | Description |\n+----------------+-----------------------+----------------------------------------------+\n| use | \\u | Change to a new database. |\n| SHOW TABLES | \\lt | List tables. |\n| DESCRIBE | \\dt[+], desc [table] | Describe table. |\n| SHOW INDEX | | Show Index (from Table). |\n| SHOW DATABASES | \\l | List databases in current instance. |\n| browse | | Open Google Spanner console in your browser. |\n| help | \\? | Show this help. |\n| exit | \\q | Exit. |\n+----------------+-----------------------+----------------------------------------------+\n```\nAnd, you can also edit query with readline's keybindings.\nsee https://readline.kablamo.org/emacs.html\n\n### Note\n- build on top of [prompt\\-toolkit](https://github.com/prompt-toolkit/python-prompt-toolkit), [pallets/click](https://github.com/pallets/click)\n- inspired by [dbcli](https://github.com/dbcli), [cloudspannerecosystem/spanner\\-cli](https://github.com/cloudspannerecosystem//spanner-cli)\n\n\n", "description_content_type": "text/markdown", "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/shoma/spanner-cli", "keywords": "", "license": "MIT", "maintainer": "", "maintainer_email": "", "name": "spanner-cli", "package_url": "https://pypi.org/project/spanner-cli/", "platform": "", "project_url": "https://pypi.org/project/spanner-cli/", "project_urls": { "Homepage": "https://github.com/shoma/spanner-cli" }, "release_url": "https://pypi.org/project/spanner-cli/0.19.0/", "requires_dist": [ "google-cloud-spanner", "prompt-toolkit", "cli-helpers", "pygments", "click" ], "requires_python": ">=3.6", "summary": "A Python cli REPL client for Google Cloud Spanner.", "version": "0.19.0", "yanked": false, "yanked_reason": null }, "last_serial": 9579136, "releases": { "0.11.0": [ { "comment_text": "", "digests": { "md5": "c34f4ad0a9dd5c0d490fa488f70711ff", "sha256": "9673475f96cc2ab319d513eb0a4b7ffafe7530a34766cc64bbf6bf7987741383" }, "downloads": -1, "filename": "spanner_cli-0.11.0-py3-none-any.whl", "has_sig": false, "md5_digest": "c34f4ad0a9dd5c0d490fa488f70711ff", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.6", "size": 15556, "upload_time": "2019-10-29T07:58:13", "upload_time_iso_8601": "2019-10-29T07:58:13.065495Z", "url": "https://files.pythonhosted.org/packages/bd/40/b3e4354513a3746fd5b6ccb7e4f78d734ed4822315823851690e1d237361/spanner_cli-0.11.0-py3-none-any.whl", "yanked": false, "yanked_reason": null }, { "comment_text": "", "digests": { "md5": "2b336aec14e9f43ca12e97ab1d3a05db", "sha256": "532fd628fe58ca7531d159a15c0768bff12e058ce04b8e5b5f9c74b7a112db40" }, "downloads": -1, "filename": "spanner-cli-0.11.0.tar.gz", "has_sig": false, "md5_digest": "2b336aec14e9f43ca12e97ab1d3a05db", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6", "size": 12254, "upload_time": "2019-10-29T07:58:15", "upload_time_iso_8601": "2019-10-29T07:58:15.736196Z", "url": "https://files.pythonhosted.org/packages/d7/19/08e2ed95f36990fdbab0afa59cc9014f9b6d612c099e297f11561a881a72/spanner-cli-0.11.0.tar.gz", "yanked": false, "yanked_reason": null } ], "0.14.0": [ { "comment_text": "", "digests": { "md5": "4416813d2c12dbe5de675383f8f564b6", "sha256": "ec5a91329794a958f6b2442817a8584bf3830ff0e78f1d533af5809bb40895ab" }, "downloads": -1, "filename": "spanner_cli-0.14.0-py3-none-any.whl", "has_sig": false, "md5_digest": "4416813d2c12dbe5de675383f8f564b6", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.6", "size": 15617, "upload_time": "2019-10-30T01:37:16", "upload_time_iso_8601": "2019-10-30T01:37:16.640503Z", "url": "https://files.pythonhosted.org/packages/0c/53/3e7ec95995be0ccae9137ce37375b30dda6ae89638c771817b1461335c76/spanner_cli-0.14.0-py3-none-any.whl", "yanked": false, "yanked_reason": null }, { "comment_text": "", "digests": { "md5": "386aba0aa913868912d711c3b6a0e193", "sha256": "2e1e2fc43ce56adbbff8ea63afb724a2cfbcdd246340dc04ffaecdb7debb1ca4" }, "downloads": -1, "filename": "spanner-cli-0.14.0.tar.gz", "has_sig": false, "md5_digest": "386aba0aa913868912d711c3b6a0e193", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6", "size": 12968, "upload_time": "2019-10-30T01:37:17", "upload_time_iso_8601": "2019-10-30T01:37:17.884727Z", "url": "https://files.pythonhosted.org/packages/4b/c7/c5f3765b2ca86f26f051585e3fddd6aed96972a0b4369670b73d4c706193/spanner-cli-0.14.0.tar.gz", "yanked": false, "yanked_reason": null } ], "0.15.0": [ { "comment_text": "", "digests": { "md5": "dc70431ff044f92596791ecc1e138011", "sha256": "4470beb5a00a014bbd6295b851317cd6ca45471cd58f921a61003388918ad1a8" }, "downloads": -1, "filename": "spanner_cli-0.15.0-py3-none-any.whl", "has_sig": false, "md5_digest": "dc70431ff044f92596791ecc1e138011", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.6", "size": 15796, "upload_time": "2019-10-31T02:42:26", "upload_time_iso_8601": "2019-10-31T02:42:26.287286Z", "url": "https://files.pythonhosted.org/packages/6f/d2/2a4382d1f879f302d8be82aa1b8f1c9b57ba3cffa765497618918befc6be/spanner_cli-0.15.0-py3-none-any.whl", "yanked": false, "yanked_reason": null }, { "comment_text": "", "digests": { "md5": "3dd3c8de4dcaf550a5285c5832658806", "sha256": "a012c99021079060e44e641ee3ab7fa489ae7fdab0059b3b54e0afe32daf733a" }, "downloads": -1, "filename": "spanner-cli-0.15.0.tar.gz", "has_sig": false, "md5_digest": "3dd3c8de4dcaf550a5285c5832658806", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6", "size": 13143, "upload_time": "2019-10-31T02:42:27", "upload_time_iso_8601": "2019-10-31T02:42:27.402223Z", "url": "https://files.pythonhosted.org/packages/c8/39/a62c2564e939976483295b5e547fb989033012baa121b8c1b4df33ff54c7/spanner-cli-0.15.0.tar.gz", "yanked": false, "yanked_reason": null } ], "0.16.0": [ { "comment_text": "", "digests": { "md5": "ae1360604c86338c8eb1e9b5e4542f15", "sha256": "969508a7b7b09cafbc7da84da79d6d7ac67bd2bf3bc53305fb9f8b7e41a983fb" }, "downloads": -1, "filename": "spanner_cli-0.16.0-py3-none-any.whl", "has_sig": false, "md5_digest": "ae1360604c86338c8eb1e9b5e4542f15", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.6", "size": 16130, "upload_time": "2019-11-06T04:56:21", "upload_time_iso_8601": "2019-11-06T04:56:21.948130Z", "url": "https://files.pythonhosted.org/packages/bf/17/24c34ce51d83046553dc0b07fefd075a34fb24ea24259db2f881385d2286/spanner_cli-0.16.0-py3-none-any.whl", "yanked": false, "yanked_reason": null }, { "comment_text": "", "digests": { "md5": "44c28e935eb7120f7e4f0db5d48c5390", "sha256": "2cf0257e6d8f455514615744cd3df7da1501cf867e0fa44dc21b801f4dee169c" }, "downloads": -1, "filename": "spanner-cli-0.16.0.tar.gz", "has_sig": false, "md5_digest": "44c28e935eb7120f7e4f0db5d48c5390", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6", "size": 13732, "upload_time": "2019-11-06T04:56:22", "upload_time_iso_8601": "2019-11-06T04:56:22.951598Z", "url": "https://files.pythonhosted.org/packages/65/77/95e584090a1b914b63c4ca53820d74d8ad79296a40d4e767ff99e40637ab/spanner-cli-0.16.0.tar.gz", "yanked": false, "yanked_reason": null } ], "0.16.1": [ { "comment_text": "", "digests": { "md5": "2644f2b97bc3543d4f712aba950b49dd", "sha256": "c68666a4282ac64c48368bca224337b275681b304164e68975239a0e2fdded20" }, "downloads": -1, "filename": "spanner_cli-0.16.1-py3-none-any.whl", "has_sig": false, "md5_digest": "2644f2b97bc3543d4f712aba950b49dd", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.6", "size": 16108, "upload_time": "2019-11-08T04:50:26", "upload_time_iso_8601": "2019-11-08T04:50:26.883913Z", "url": "https://files.pythonhosted.org/packages/98/b1/b16f1a7a166f42d97f83dfffbc87cc3813c29de78063091d54517da100a8/spanner_cli-0.16.1-py3-none-any.whl", "yanked": false, "yanked_reason": null }, { "comment_text": "", "digests": { "md5": "d162fecd262a59684f5fb0c81772e7f5", "sha256": "4a512ee0c0f129f402d6465de4e60e313f46dff4f051a64058930f04a92faceb" }, "downloads": -1, "filename": "spanner-cli-0.16.1.tar.gz", "has_sig": false, "md5_digest": "d162fecd262a59684f5fb0c81772e7f5", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6", "size": 13720, "upload_time": "2019-11-08T04:50:28", "upload_time_iso_8601": "2019-11-08T04:50:28.987163Z", "url": "https://files.pythonhosted.org/packages/ad/0a/98b8f2d03dbd6a6914c4c6772a34f487b2770106f7a8a9b1a159563282f0/spanner-cli-0.16.1.tar.gz", "yanked": false, "yanked_reason": null } ], "0.16.3": [ { "comment_text": "", "digests": { "md5": "75df1b8e63e3471362665c6a837a3461", "sha256": "9e91ea9a5dc3c3f2b69641368a5f4277fe157318d975388dd869fd9390cbc818" }, "downloads": -1, "filename": "spanner_cli-0.16.3-py3-none-any.whl", "has_sig": false, "md5_digest": "75df1b8e63e3471362665c6a837a3461", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.6", "size": 16232, "upload_time": "2019-11-12T01:30:57", "upload_time_iso_8601": "2019-11-12T01:30:57.810727Z", "url": "https://files.pythonhosted.org/packages/23/7c/14645313dc949a3caaf79c5e2514133fd1688de2061d95d3a30394493272/spanner_cli-0.16.3-py3-none-any.whl", "yanked": false, "yanked_reason": null }, { "comment_text": "", "digests": { "md5": "45cfac16c594cba170976525152a3338", "sha256": "98a6aa4f9ac960b0f9b0f6cd27ca654d57344db5fc867b3ff7484715d4d3c19c" }, "downloads": -1, "filename": "spanner-cli-0.16.3.tar.gz", "has_sig": false, "md5_digest": "45cfac16c594cba170976525152a3338", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6", "size": 13850, "upload_time": "2019-11-12T01:30:59", "upload_time_iso_8601": "2019-11-12T01:30:59.080415Z", "url": "https://files.pythonhosted.org/packages/e1/ab/85e7815d814796b99bc9680be4ce1ffe441f3fb6be501294c191f1742c5f/spanner-cli-0.16.3.tar.gz", "yanked": false, "yanked_reason": null } ], "0.17.1": [ { "comment_text": "", "digests": { "md5": "ed7000df4f68055a66460b9ed9e5be3c", "sha256": "3ba32bcc645718ca37ff981339845a4947b856325a3b2cbf17ebf8e4448101db" }, "downloads": -1, "filename": "spanner_cli-0.17.1-py3-none-any.whl", "has_sig": false, "md5_digest": "ed7000df4f68055a66460b9ed9e5be3c", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.6", "size": 16240, "upload_time": "2020-05-27T06:13:24", "upload_time_iso_8601": "2020-05-27T06:13:24.651250Z", "url": "https://files.pythonhosted.org/packages/b2/e5/f531edd93a01763a85ed7c87b5af810bc07e6aacd9eb4fb80b9d18069b7b/spanner_cli-0.17.1-py3-none-any.whl", "yanked": false, "yanked_reason": null }, { "comment_text": "", "digests": { "md5": "0a1a048079a4e355ad4c00aac2a2e739", "sha256": "a0b26cbce03b57d6deaa0f15453affaa18e5a205de6013f9d7224540aafe536a" }, "downloads": -1, "filename": "spanner-cli-0.17.1.tar.gz", "has_sig": false, "md5_digest": "0a1a048079a4e355ad4c00aac2a2e739", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6", "size": 13854, "upload_time": "2020-05-27T06:13:25", "upload_time_iso_8601": "2020-05-27T06:13:25.465849Z", "url": "https://files.pythonhosted.org/packages/2e/7c/9994fcc997c62ba1451009ee2d0d5dd2bbea6fc706a39454c1fce87da8c9/spanner-cli-0.17.1.tar.gz", "yanked": false, "yanked_reason": null } ], "0.18.0": [ { "comment_text": "", "digests": { "md5": "18390b098ba569c21d7308eb94eaeda4", "sha256": "10c3763b3a23f6b4e0c1f7ed35416bb6b776acf46ad4f8080c7dd82c8029d2c4" }, "downloads": -1, "filename": "spanner_cli-0.18.0-py3-none-any.whl", "has_sig": false, "md5_digest": "18390b098ba569c21d7308eb94eaeda4", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.6", "size": 16386, "upload_time": "2020-09-16T07:28:06", "upload_time_iso_8601": "2020-09-16T07:28:06.014777Z", "url": "https://files.pythonhosted.org/packages/be/c0/9366bae1e09484a657eea9cd06e013ef46d5ced9a5b549bb23bb8006a14c/spanner_cli-0.18.0-py3-none-any.whl", "yanked": false, "yanked_reason": null }, { "comment_text": "", "digests": { "md5": "00fe691dcff8d0ab006cb712b8173800", "sha256": "87cf3d721ec8b9dabd864abf626877cf742e090ca4fc1355fa14b349d897c796" }, "downloads": -1, "filename": "spanner-cli-0.18.0.tar.gz", "has_sig": false, "md5_digest": "00fe691dcff8d0ab006cb712b8173800", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6", "size": 13980, "upload_time": "2020-09-16T07:28:06", "upload_time_iso_8601": "2020-09-16T07:28:06.946712Z", "url": "https://files.pythonhosted.org/packages/29/95/fcacf60a55758aee127ce389b43356101e27b956ae1f211c782a2fd13791/spanner-cli-0.18.0.tar.gz", "yanked": false, "yanked_reason": null } ], "0.19.0": [ { "comment_text": "", "digests": { "md5": "3dfdb546fe198b5f16b1f21b8850e3d2", "sha256": "033192cb24d8a27d97940762d0917a93d68a16ba9c0c333907be2c8dbadf9d96" }, "downloads": -1, "filename": "spanner_cli-0.19.0-py3-none-any.whl", "has_sig": false, "md5_digest": "3dfdb546fe198b5f16b1f21b8850e3d2", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.6", "size": 16390, "upload_time": "2021-03-01T23:47:54", "upload_time_iso_8601": "2021-03-01T23:47:54.997939Z", "url": "https://files.pythonhosted.org/packages/85/a9/8a4251ca2e93f059921ab1bc2ea16dd185700ad28e1abe17e51b6a02556b/spanner_cli-0.19.0-py3-none-any.whl", "yanked": false, "yanked_reason": null }, { "comment_text": "", "digests": { "md5": "9b926a677e8be45b0b3145d60217c77e", "sha256": "3a5f836f10a1d0196dd1d546efabb80c0ea70d6ba76cf8ba983fadff3b53d5fb" }, "downloads": -1, "filename": "spanner-cli-0.19.0.tar.gz", "has_sig": false, "md5_digest": "9b926a677e8be45b0b3145d60217c77e", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6", "size": 13971, "upload_time": "2021-03-01T23:47:56", "upload_time_iso_8601": "2021-03-01T23:47:56.067280Z", "url": "https://files.pythonhosted.org/packages/82/97/4405cc3a7d3e022d0d80f3ab2d3278d93590dcbb1a1243f8abef57cf895d/spanner-cli-0.19.0.tar.gz", "yanked": false, "yanked_reason": null } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "3dfdb546fe198b5f16b1f21b8850e3d2", "sha256": "033192cb24d8a27d97940762d0917a93d68a16ba9c0c333907be2c8dbadf9d96" }, "downloads": -1, "filename": "spanner_cli-0.19.0-py3-none-any.whl", "has_sig": false, "md5_digest": "3dfdb546fe198b5f16b1f21b8850e3d2", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.6", "size": 16390, "upload_time": "2021-03-01T23:47:54", "upload_time_iso_8601": "2021-03-01T23:47:54.997939Z", "url": "https://files.pythonhosted.org/packages/85/a9/8a4251ca2e93f059921ab1bc2ea16dd185700ad28e1abe17e51b6a02556b/spanner_cli-0.19.0-py3-none-any.whl", "yanked": false, "yanked_reason": null }, { "comment_text": "", "digests": { "md5": "9b926a677e8be45b0b3145d60217c77e", "sha256": "3a5f836f10a1d0196dd1d546efabb80c0ea70d6ba76cf8ba983fadff3b53d5fb" }, "downloads": -1, "filename": "spanner-cli-0.19.0.tar.gz", "has_sig": false, "md5_digest": "9b926a677e8be45b0b3145d60217c77e", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6", "size": 13971, "upload_time": "2021-03-01T23:47:56", "upload_time_iso_8601": "2021-03-01T23:47:56.067280Z", "url": "https://files.pythonhosted.org/packages/82/97/4405cc3a7d3e022d0d80f3ab2d3278d93590dcbb1a1243f8abef57cf895d/spanner-cli-0.19.0.tar.gz", "yanked": false, "yanked_reason": null } ], "vulnerabilities": [] }