{ "info": { "author": "shigeru0215", "author_email": "matsuzaki215@gmail.com", "bugtrack_url": null, "classifiers": [ "Development Status :: 3 - Alpha", "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", "Topic :: Software Development :: Quality Assurance", "Topic :: Text Processing :: General" ], "description": "=============\nsqlint\n=============\n\nThis is a SQL parser and linter for Standard SQL(BigQuery).\n\nhttps://github.com/shigeru0215/sqlint\n\nInstall\n=======\n\n.. code::\n\n $ pip install sqlint\n\nUsage\n========\n\nlinting\n--------\n\n.. code::\n\n $ cat example.sql\n >> select\n >> a + b as x\n >> , b+c as y\n >> from\n >> test_table as t1\n $ sqlint example.sql\n >> example.sql (L3, 8): whitespace must be before binary operator: b+\n >> example.sql (L3, 8): whitespace must be after binary operator: +c\n\nformatting\n-----------\n\nWith -f option, this linter show formatted SQL.\n\n.. code::\n\n $ sqlint -f query/example.sql\n >> select\n >> a + b as x\n >> , b + c as y\n >> from\n >> test_table as t1\n\nREPL\n\n.. code::\n\n $ python\n >>> from sqlint import parse, check, format\n >>> sql = 'SELECT id From user_table where user_table.age >10'\n >>>\n >>> parse(sql)\n [[, , , , , , , , , , , , '>, ]]\n >>>\n >>> check(sql)\n ['(L1, 1): reserved keywords must be lower case: SELECT -> select', '(L1, 11): reserved keywords must be lower case: From -> from', '(L1, 26): too many spaces', '(L1, 49): whitespace must be after binary operator: >10']\n >>>\n >>> format(sql)\n >>> select\n >>> id\n >>> from\n >>> user_table\n >>> where\n >>> user_table.age > 10\n\n\n\n", "description_content_type": "", "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/shigeru0215/sqlint", "keywords": "", "license": "MIT", "maintainer": "", "maintainer_email": "", "name": "sqlint", "package_url": "https://pypi.org/project/sqlint/", "platform": "", "project_url": "https://pypi.org/project/sqlint/", "project_urls": { "Homepage": "https://github.com/shigeru0215/sqlint" }, "release_url": "https://pypi.org/project/sqlint/0.2.4/", "requires_dist": [ "click (==7.0)", "configparser (==4.0.2)" ], "requires_python": "", "summary": "Simple Sql Linter", "version": "0.2.4", "yanked": false, "yanked_reason": null }, "last_serial": 6013973, "releases": { "0.0.0": [ { "comment_text": "", "digests": { "md5": "a2f4f7b91f96a3e16229f34c14f7f3f4", "sha256": "ac6560e2d0a065ef98066d18dacfe882b5d46a096383a41d117ea182b013e225" }, "downloads": -1, "filename": "sqlint-0.0.0.tar.gz", "has_sig": false, "md5_digest": "a2f4f7b91f96a3e16229f34c14f7f3f4", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 9417, "upload_time": "2018-12-16T11:16:18", "upload_time_iso_8601": "2018-12-16T11:16:18.945372Z", "url": "https://files.pythonhosted.org/packages/87/23/2f663aa01dff01fc8ce782388684b3bc2b0ffa8593753d5ba23973728749/sqlint-0.0.0.tar.gz", "yanked": false, "yanked_reason": null } ], "0.1.0": [ { "comment_text": "", "digests": { "md5": "2e43955b7e84d79d07b015d68eef32ba", "sha256": "5f249241d7b65088cc33c48b638687578219d4b0d14a3a81daaf74a288d95695" }, "downloads": -1, "filename": "sqlint-0.1.0.tar.gz", "has_sig": false, "md5_digest": "2e43955b7e84d79d07b015d68eef32ba", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 8600, "upload_time": "2019-01-15T09:47:25", "upload_time_iso_8601": "2019-01-15T09:47:25.906405Z", "url": "https://files.pythonhosted.org/packages/88/26/92e4b8a88d5509d431629dde3e00d2db427428dd0dafefce74b534bb00a1/sqlint-0.1.0.tar.gz", "yanked": false, "yanked_reason": null } ], "0.1.1": [ { "comment_text": "", "digests": { "md5": "a85446da4416501b12ca4be2c24fd0d7", "sha256": "35dafa2ff4b6a3dbb3e3e029ec26852dc8c3d32106a718d01549dc46a155d59d" }, "downloads": -1, "filename": "sqlint-0.1.1-py3-none-any.whl", "has_sig": false, "md5_digest": "a85446da4416501b12ca4be2c24fd0d7", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 11398, "upload_time": "2019-07-03T10:11:08", "upload_time_iso_8601": "2019-07-03T10:11:08.601215Z", "url": "https://files.pythonhosted.org/packages/3f/c7/fc6f05584413ebffacf96fbff4b7270ea7ba233f2807e6522309b832d14c/sqlint-0.1.1-py3-none-any.whl", "yanked": false, "yanked_reason": null }, { "comment_text": "", "digests": { "md5": "b6ea9cab1c08c46d8ddb4172d9265c90", "sha256": "5707925519b04b1a318fd653e9233746b49f726176a733628227ef665f36867a" }, "downloads": -1, "filename": "sqlint-0.1.1.tar.gz", "has_sig": false, "md5_digest": "b6ea9cab1c08c46d8ddb4172d9265c90", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 8632, "upload_time": "2019-07-03T10:11:10", "upload_time_iso_8601": "2019-07-03T10:11:10.547549Z", "url": "https://files.pythonhosted.org/packages/72/93/75722a1f30eb31df98dceeb6ac8d3a6bfa08527c5e3cad8e05dbb7ab4614/sqlint-0.1.1.tar.gz", "yanked": false, "yanked_reason": null } ], "0.2.0": [ { "comment_text": "", "digests": { "md5": "2f0e6a137ab6d348b6db3c6000353ed3", "sha256": "dd207b431746a9ba00d984e588749cf1941b35a483c8b483c234ff089fe5e8c5" }, "downloads": -1, "filename": "sqlint-0.2.0-py3-none-any.whl", "has_sig": false, "md5_digest": "2f0e6a137ab6d348b6db3c6000353ed3", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 26947, "upload_time": "2019-10-22T10:32:19", "upload_time_iso_8601": "2019-10-22T10:32:19.628638Z", "url": "https://files.pythonhosted.org/packages/8d/9a/ad2d52516817687acc808d037544e367243e5d93b5a73d90c2e989ba8bee/sqlint-0.2.0-py3-none-any.whl", "yanked": false, "yanked_reason": null }, { "comment_text": "", "digests": { "md5": "38a6d617a8034dc52398fcc2dff8d896", "sha256": "b9fc5fdf6e42af3e764828f1cd650ba960cb03ae15b8727fb3902fe32e39d3ec" }, "downloads": -1, "filename": "sqlint-0.2.0.tar.gz", "has_sig": false, "md5_digest": "38a6d617a8034dc52398fcc2dff8d896", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 21533, "upload_time": "2019-10-22T10:32:22", "upload_time_iso_8601": "2019-10-22T10:32:22.278795Z", "url": "https://files.pythonhosted.org/packages/ee/41/5e79609c4149742f2fc174b7416ab90298e0ad8f5dbc1e047b092516f26e/sqlint-0.2.0.tar.gz", "yanked": false, "yanked_reason": null } ], "0.2.1": [ { "comment_text": "", "digests": { "md5": "bf490f51c351ae19cd61e651b67468a5", "sha256": "1498aa08ca7a5cb3f5211a6dcfc2b78c76e510d2882a6545df3a7459c55941a5" }, "downloads": -1, "filename": "sqlint-0.2.1-py3-none-any.whl", "has_sig": false, "md5_digest": "bf490f51c351ae19cd61e651b67468a5", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 27646, "upload_time": "2019-10-22T14:48:10", "upload_time_iso_8601": "2019-10-22T14:48:10.947025Z", "url": "https://files.pythonhosted.org/packages/4c/67/5b60a29eacb2865c447b0ba9fbc89ab36eeeccdbca8a55ad42a06674cfc2/sqlint-0.2.1-py3-none-any.whl", "yanked": false, "yanked_reason": null }, { "comment_text": "", "digests": { "md5": "14b5e4be248f0e591b18ebeef9fe9742", "sha256": "0e3063ad78b4928156853c99638eede107773e49f1015b96f06223d74df14193" }, "downloads": -1, "filename": "sqlint-0.2.1.tar.gz", "has_sig": false, "md5_digest": "14b5e4be248f0e591b18ebeef9fe9742", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 22060, "upload_time": "2019-10-22T14:48:12", "upload_time_iso_8601": "2019-10-22T14:48:12.358241Z", "url": "https://files.pythonhosted.org/packages/a7/22/e17cfeb133d9bc7f6afcd79e0b7c892d188dd4659f647825a556673693f2/sqlint-0.2.1.tar.gz", "yanked": false, "yanked_reason": null } ], "0.2.2": [ { "comment_text": "", "digests": { "md5": "72495a56ca372d3230f0837d4c45eed8", "sha256": "2f4b7295fef08261c03e05c12ca167e68980350166b4971bada7bdbd9fe01972" }, "downloads": -1, "filename": "sqlint-0.2.2-py3-none-any.whl", "has_sig": false, "md5_digest": "72495a56ca372d3230f0837d4c45eed8", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 27668, "upload_time": "2019-10-22T15:13:08", "upload_time_iso_8601": "2019-10-22T15:13:08.292474Z", "url": "https://files.pythonhosted.org/packages/33/f8/8788009d479c9d98f0f24ff6a15f7f1806b3b15d5087fc192e0ca681849b/sqlint-0.2.2-py3-none-any.whl", "yanked": false, "yanked_reason": null }, { "comment_text": "", "digests": { "md5": "bd4a49ace1b60c80253325e065ea6bbd", "sha256": "8bd407d9b84db079045b8f176c8dd0297444badf67f8cc90d4270c4d8a3857d3" }, "downloads": -1, "filename": "sqlint-0.2.2.tar.gz", "has_sig": false, "md5_digest": "bd4a49ace1b60c80253325e065ea6bbd", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 22096, "upload_time": "2019-10-22T15:13:10", "upload_time_iso_8601": "2019-10-22T15:13:10.270720Z", "url": "https://files.pythonhosted.org/packages/b1/cb/c67bd4d0378458ef2bdedcf7efe15ec76c14c1d7c13c31603aeda6c53893/sqlint-0.2.2.tar.gz", "yanked": false, "yanked_reason": null } ], "0.2.3": [ { "comment_text": "", "digests": { "md5": "cc6351bc7045d6cd208f79d40b56278b", "sha256": "ec7452d54a0be597c2d3bfa2e54ed75446ea696b41895da8d293233927863ad7" }, "downloads": -1, "filename": "sqlint-0.2.3-py3-none-any.whl", "has_sig": false, "md5_digest": "cc6351bc7045d6cd208f79d40b56278b", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 27734, "upload_time": "2019-10-22T16:06:09", "upload_time_iso_8601": "2019-10-22T16:06:09.558780Z", "url": "https://files.pythonhosted.org/packages/07/7c/7fac45f80e118756233d7342df31763d7a31710cd1872765d566d89d5fbc/sqlint-0.2.3-py3-none-any.whl", "yanked": false, "yanked_reason": null }, { "comment_text": "", "digests": { "md5": "96a565d2e6bfbf0026b29cf5c851e19a", "sha256": "dcc7571ab1af0898a43f890f7204c820a8bfcafbe44da87df4f16ca5ef31ae78" }, "downloads": -1, "filename": "sqlint-0.2.3.tar.gz", "has_sig": false, "md5_digest": "96a565d2e6bfbf0026b29cf5c851e19a", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 22176, "upload_time": "2019-10-22T16:06:11", "upload_time_iso_8601": "2019-10-22T16:06:11.424373Z", "url": "https://files.pythonhosted.org/packages/dc/e2/81de18288b18ef71571dd354474a7b71d610e742fea3617098aac0f58f0d/sqlint-0.2.3.tar.gz", "yanked": false, "yanked_reason": null } ], "0.2.4": [ { "comment_text": "", "digests": { "md5": "d8f43bffa4bde6f71aa3a28f17912989", "sha256": "f0ef21658a2003bfce2dc63354d46c1057e516f2b5f5e0191774b261e8f45fd5" }, "downloads": -1, "filename": "sqlint-0.2.4-py3-none-any.whl", "has_sig": false, "md5_digest": "d8f43bffa4bde6f71aa3a28f17912989", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 27962, "upload_time": "2019-10-22T16:36:23", "upload_time_iso_8601": "2019-10-22T16:36:23.178789Z", "url": "https://files.pythonhosted.org/packages/ee/6c/482bae9a62c4fd45788b4134e8fdc8f3fdf6a93c245c528df77b69e45bed/sqlint-0.2.4-py3-none-any.whl", "yanked": false, "yanked_reason": null }, { "comment_text": "", "digests": { "md5": "cdd5ecf8dd0e4700c237f889ce0598a9", "sha256": "5ca49c335d8f3fdc00d01496760b7e0a2a830c7dec789673f1c771f9e7086020" }, "downloads": -1, "filename": "sqlint-0.2.4.tar.gz", "has_sig": false, "md5_digest": "cdd5ecf8dd0e4700c237f889ce0598a9", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 22396, "upload_time": "2019-10-22T16:36:25", "upload_time_iso_8601": "2019-10-22T16:36:25.116594Z", "url": "https://files.pythonhosted.org/packages/4e/01/753afcac22292caa6d2eb71e7b2fe7cf5e2da9ed760f7f9634790ec2c9c9/sqlint-0.2.4.tar.gz", "yanked": false, "yanked_reason": null } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "d8f43bffa4bde6f71aa3a28f17912989", "sha256": "f0ef21658a2003bfce2dc63354d46c1057e516f2b5f5e0191774b261e8f45fd5" }, "downloads": -1, "filename": "sqlint-0.2.4-py3-none-any.whl", "has_sig": false, "md5_digest": "d8f43bffa4bde6f71aa3a28f17912989", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 27962, "upload_time": "2019-10-22T16:36:23", "upload_time_iso_8601": "2019-10-22T16:36:23.178789Z", "url": "https://files.pythonhosted.org/packages/ee/6c/482bae9a62c4fd45788b4134e8fdc8f3fdf6a93c245c528df77b69e45bed/sqlint-0.2.4-py3-none-any.whl", "yanked": false, "yanked_reason": null }, { "comment_text": "", "digests": { "md5": "cdd5ecf8dd0e4700c237f889ce0598a9", "sha256": "5ca49c335d8f3fdc00d01496760b7e0a2a830c7dec789673f1c771f9e7086020" }, "downloads": -1, "filename": "sqlint-0.2.4.tar.gz", "has_sig": false, "md5_digest": "cdd5ecf8dd0e4700c237f889ce0598a9", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 22396, "upload_time": "2019-10-22T16:36:25", "upload_time_iso_8601": "2019-10-22T16:36:25.116594Z", "url": "https://files.pythonhosted.org/packages/4e/01/753afcac22292caa6d2eb71e7b2fe7cf5e2da9ed760f7f9634790ec2c9c9/sqlint-0.2.4.tar.gz", "yanked": false, "yanked_reason": null } ], "vulnerabilities": [] }