{ "info": { "author": "hideshi", "author_email": "hideshi.ogoshi@gmail.com", "bugtrack_url": null, "classifiers": [ "Development Status :: 4 - Beta", "Environment :: Console", "Environment :: Web Environment", "Intended Audience :: Developers", "License :: OSI Approved :: GNU Library or Lesser General Public License (LGPL)", "Operating System :: MacOS :: MacOS X", "Operating System :: POSIX :: Linux", "Programming Language :: Python", "Topic :: Database", "Topic :: Software Development :: Libraries :: Application Frameworks" ], "description": "Requirements\r\n------------\r\n* Python 3.3 or later\r\n\r\nFeatures\r\n--------\r\n* Under construction\r\n\r\nSetup\r\n-----\r\n::\r\n\r\n $ pip install SimpleORM\r\n\r\nHistory\r\n-------\r\n0.1.0 (2014-03-13)\r\n~~~~~~~~~~~~~~~~~~\r\n* first release\r\n\r\n0.1.1 (2014-03-14)\r\n~~~~~~~~~~~~~~~~~~\r\n* fixed bugs\r\n* added one more example\r\n\r\n0.2.0 (2014-03-30)\r\n~~~~~~~~~~~~~~~~~~\r\n* added dynamic SQL function\r\n\r\n0.2.1 (2014-03-30)\r\n~~~~~~~~~~~~~~~~~~\r\n* fixed bug\r\n\r\nExample\r\n-------\r\n\r\nDefine select statement in the source code and get return value as instances of Employee class.\r\n\r\n.. code-block:: python\r\n\r\n from simpleorm import BaseDao\r\n from classes import Employee\r\n from collections import OrderedDict\r\n\r\n class SelectEmployeeAll(BaseDao):\r\n sql = '''\r\n SELECT A.ID\r\n ,A.NAME\r\n ,B.NAME AS BOSS_NAME\r\n FROM EMPLOYEE A\r\n LEFT OUTER JOIN EMPLOYEE B\r\n ON B.ID = A.BOSS\r\n '''\r\n\r\n if __name__ == '__main__':\r\n param = OrderedDict()\r\n result = SelectEmployeeAll(dbfile = 'test.db', return_type = Employee).execute(param)\r\n for elem in result:\r\n print(elem.id, elem.name, elem.boss_name)\r\n\r\n\r\n.. code-block:: python\r\n\r\n class Employee:\r\n id = None\r\n name = None\r\n boss_name = None\r\n\r\n\r\nDefine select statement out of the source code and get return value as tuple.\r\n\r\n.. code-block:: python\r\n\r\n from simpleorm import BaseDao\r\n from collections import OrderedDict\r\n\r\n class SelectEmployee(BaseDao):\r\n pass\r\n\r\n if __name__ == '__main__':\r\n param = OrderedDict()\r\n param['name'] = 'Taro%'\r\n result = SelectEmployee(dbfile = 'test.db').execute(param)\r\n for elem in result:\r\n print(elem['ID'], elem['Name'], elem['age'], elem['bOsS'])\r\n\r\n\r\n.. code-block:: sql\r\n\r\n -- select_employee.sql\r\n SELECT ID\r\n ,NAME\r\n ,AGE\r\n ,BOSS\r\n FROM EMPLOYEE\r\n WHERE NAME LIKE ?\r\n ORDER BY AGE ASC \r\n\r\n\r\nDefine dynamic select statement.\r\n\r\n.. code-block:: python\r\n\r\n from simpleorm import BaseDao\r\n from collections import OrderedDict\r\n\r\n class SelectEmployeeDynamic(BaseDao):\r\n pass\r\n\r\n if __name__ == '__main__':\r\n param = OrderedDict()\r\n param['name'] = 'Taro%'\r\n param['age'] = 20\r\n param['_flg'] = True\r\n result = SelectEmployeeDynamic(dbfile = 'test.db').execute(param)\r\n for elem in result:\r\n print(elem['ID'], elem['Name'], elem['age'], elem['bOsS'])\r\n\r\n param2 = OrderedDict()\r\n param2['name'] = 'Taro%'\r\n result2 = SelectEmployeeDynamic(dbfile = 'test.db').execute(param2)\r\n for elem in result2:\r\n print(elem['ID'], elem['Name'], elem['age'], elem['bOsS'])\r\n\r\n\r\n.. code-block:: sql\r\n\r\n -- select_employee_dynamic.sql\r\n SELECT ID\r\n ,NAME\r\n ,AGE\r\n ,BOSS\r\n FROM EMPLOYEE\r\n WHERE NAME LIKE ?\r\n if param.get('_flg', False) == True:\r\n AND AGE >= ?\r\n end\r\n ORDER BY AGE ASC\r\n\r\n\r\nDefine insert statement.\r\n\r\n.. code-block:: python\r\n\r\n from simpleorm import BaseDao\r\n from collections import OrderedDict\r\n\r\n class InsertEmployee(BaseDao):\r\n sql = 'INSERT INTO EMPLOYEE (ID, NAME, AGE, BOSS) VALUES (?, ?, ?, ?)'\r\n\r\n if __name__ == '__main__':\r\n param = OrderedDict()\r\n param['id'] = 4\r\n param['name'] = 'Jiro Tanaka'\r\n param['age'] = 24\r\n param['boss'] = 3\r\n result = InsertEmployee(dbfile = 'test.db').execute(param)\r\n print(result)\r\n\r\n\r\nBulk insert.\r\n\r\n.. code-block:: python\r\n\r\n from simpleorm import BaseDao\r\n from collections import OrderedDict\r\n\r\n class InsertEmployee(BaseDao):\r\n sql = 'INSERT INTO EMPLOYEE (ID, NAME, AGE, BOSS) VALUES (?, ?, ?, ?)'\r\n\r\n if __name__ == '__main__':\r\n param = list()\r\n for i in range(10000):\r\n elem = OrderedDict()\r\n elem['id'] = i\r\n elem['name'] = '{}'.format(i)\r\n elem['age'] = i\r\n elem['boss'] = None\r\n param.append(elem)\r\n\r\n result = InsertEmployee(dbfile = 'test.db', commit_interval = 100, isolation_level = 'DEFERRED').execute(param)\r\n print('Rows affected:{}'.format(result))", "description_content_type": null, "docs_url": null, "download_url": "UNKNOWN", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/hideshi/SimpleORM", "keywords": "SQLite3,ORM,Framework", "license": "LGPL", "maintainer": "", "maintainer_email": "", "name": "SimpleORM", "package_url": "https://pypi.org/project/SimpleORM/", "platform": "MacOS,POSIX", "project_url": "https://pypi.org/project/SimpleORM/", "project_urls": { "Download": "UNKNOWN", "Homepage": "https://github.com/hideshi/SimpleORM" }, "release_url": "https://pypi.org/project/SimpleORM/0.2.1/", "requires_dist": null, "requires_python": null, "summary": "Simple SQLite3 Object Relational Mapper for Python.", "version": "0.2.1" }, "last_serial": 1045983, "releases": { "0.1.0": [ { "comment_text": "", "digests": { "md5": "4856c00e23758728210787a4f1e6b4c6", "sha256": "5640eb1feafe0b00d611051d8cd5a2c00cb9cda9d32b58f44f7908e0bff8280e" }, "downloads": -1, "filename": "SimpleORM-0.1.0.tar.gz", "has_sig": false, "md5_digest": "4856c00e23758728210787a4f1e6b4c6", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 2423, "upload_time": "2014-03-13T03:54:28", "url": "https://files.pythonhosted.org/packages/be/c3/5e35ed7e98e02fb92adc941936f2d1abe5f45b17f5e3382ce4a190b6afe8/SimpleORM-0.1.0.tar.gz" } ], "0.1.1": [ { "comment_text": "", "digests": { "md5": "3085b49c8fd6ae27f242fe1c379c746e", "sha256": "96ea4d488f3252e55b5d938ed7ea1f8fb31cc3473b03ed37d8fe4f74075d1860" }, "downloads": -1, "filename": "SimpleORM-0.1.1.tar.gz", "has_sig": false, "md5_digest": "3085b49c8fd6ae27f242fe1c379c746e", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 3207, "upload_time": "2014-03-14T06:08:35", "url": "https://files.pythonhosted.org/packages/a2/19/99841c5be60ac4f6fb21462ba18b7971de713c8c7fd4b758c154c4122486/SimpleORM-0.1.1.tar.gz" } ], "0.2.0": [], "0.2.1": [] }, "urls": [] }