{ "info": { "author": "yumoqing", "author_email": "yumoqing@gmail.com", "bugtrack_url": null, "classifiers": [ "License :: OSI Approved :: MIT License", "Operating System :: OS Independent", "Programming Language :: Python :: 3" ], "description": "# SQLOR\n\nSQLOR is a database api for python3, it is base on the python's DBAPI2 \n\n## Features\n\n* Multiple database supported(Oracle, MySql, Postgresql, SQL Server\n* Both asynchronous API & synchronous API supported\n* Connection pools \n* Connection life cycle managements\n* Easy using API\n* Resources(connection object, cursor object) automatic recycled\n\n\n## requirements\n\n* python 3.5 or above\n* asyncio\n* Oracle DBAPI2 driver(cx_Oracle)\n* MySQL DBAPI2 driver(mysql-connector)\n* Postgresql DBAPI2 driver(psycopg2-binrary)\n* Asynchronous MySQL driver(aiomysql)\n* Asynchronous Postgresql driver(aiopg)\n* Other driver can be easy integreated\n\n## Using\n\n```\nimport asyncio\n\nfrom sqlor.dbpools import DBPools\n\ndbs={\n \"aiocfae\":{\n \"driver\":\"aiomysql\",\n \"async_mode\":True,\n \"coding\":\"utf8\",\n \"dbname\":\"cfae\",\n \"kwargs\":{\n \"user\":\"test\",\n \"db\":\"cfae\",\n \"password\":\"test123\",\n \"host\":\"localhost\"\n }\n },\n \"cfae\":{\n \"driver\":\"mysql.connector\",\n \"coding\":\"utf8\",\n \"dbname\":\"cfae\",\n \"kwargs\":{\n \"user\":\"test\",\n \"db\":\"cfae\",\n \"password\":\"test123\",\n \"host\":\"localhost\"\n }\n }\n}\n\nloop = asyncio.get_event_loop()\npool = DBPools(dbs,loop=loop)\n\nasync def testfunc():\n @pool.runSQL\n def sql(db,ns,callback):\n return {\n \"sql_string\":\"select * from product\",\n }\n x = await sql('cfae',{},print)\n x = await sql('aiocfae',{},print)\n\nloop.run_until_complete(testfunc())\n```\n\n## API\n\n\n### Databases description data(dbdesc)\n\nsqlor uses a dbdesc data(databases description data) which description \nhow many databases and what database will using, and them connection parameters to create a dbpools objects\n\ndbdesc data is a dict data, format of the dbdesc as follow:\n```\n{\n \"aiocfae\":{\t\t\t# name to identify a database connect\n \"driver\":\"aiomysql\",\t# database dbapi2 driver package name \n \"async_mode\":True,\t# indicte this connection is asynchronous mode\n \"coding\":\"utf8\",\t# charset coding\n \"dbname\":\"cfae\",\t# database real name\n \"kwargs\":{\t\t# connection parameters\n \"user\":\"test\",\n \"db\":\"cfae\",\n \"password\":\"test123\",\n \"host\":\"localhost\"\n }\n },\n \"cfae\":{\n \"driver\":\"mysql.connector\",\n \"coding\":\"utf8\",\n \"dbname\":\"cfae\",\n \"kwargs\":{\n \"user\":\"test\",\n \"db\":\"cfae\",\n \"password\":\"test123\",\n \"host\":\"localhost\"\n }\n }\n}\n\n```\nsqlor can using multiple databases and difference databases by using difference database driver\n\n### sql description data\n\n\n## class\n\n### DBPools\n\n### SQLor\n\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/yumoqing/sqlor", "keywords": "", "license": "", "maintainer": "", "maintainer_email": "", "name": "sqlor", "package_url": "https://pypi.org/project/sqlor/", "platform": "", "project_url": "https://pypi.org/project/sqlor/", "project_urls": { "Homepage": "https://github.com/yumoqing/sqlor" }, "release_url": "https://pypi.org/project/sqlor/0.0.4/", "requires_dist": null, "requires_python": "", "summary": "sqlor", "version": "0.0.4" }, "last_serial": 5798291, "releases": { "0.0.3": [ { "comment_text": "", "digests": { "md5": "e47321b33022d111e466009535d705f1", "sha256": "9657a492a9db4c568c549033630dcce4257a58bfa62207a05ff988d12ff460ca" }, "downloads": -1, "filename": "sqlor-0.0.3-py3-none-any.whl", "has_sig": false, "md5_digest": "e47321b33022d111e466009535d705f1", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 23937, "upload_time": "2019-09-08T02:38:39", "url": "https://files.pythonhosted.org/packages/3d/6b/bac89ba3e030ece48d4c5b9d5e966ad4a0823e87464da7c5384a7e003223/sqlor-0.0.3-py3-none-any.whl" } ], "0.0.4": [ { "comment_text": "", "digests": { "md5": "69ba9e249dad0742f1f7bbeaf0a9c742", "sha256": "bc13f8b80f74acded95e46eabc53479e928275395cd603ee1ff0242887dde39d" }, "downloads": -1, "filename": "sqlor-0.0.4-py3-none-any.whl", "has_sig": false, "md5_digest": "69ba9e249dad0742f1f7bbeaf0a9c742", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 23957, "upload_time": "2019-09-08T04:25:16", "url": "https://files.pythonhosted.org/packages/06/a7/497b6534020bfe237b110668986f8b8821a7e2aab250d63902b0ab4d2529/sqlor-0.0.4-py3-none-any.whl" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "69ba9e249dad0742f1f7bbeaf0a9c742", "sha256": "bc13f8b80f74acded95e46eabc53479e928275395cd603ee1ff0242887dde39d" }, "downloads": -1, "filename": "sqlor-0.0.4-py3-none-any.whl", "has_sig": false, "md5_digest": "69ba9e249dad0742f1f7bbeaf0a9c742", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 23957, "upload_time": "2019-09-08T04:25:16", "url": "https://files.pythonhosted.org/packages/06/a7/497b6534020bfe237b110668986f8b8821a7e2aab250d63902b0ab4d2529/sqlor-0.0.4-py3-none-any.whl" } ] }