Library for interacting with the SQLite database.
Installation:
```bash
pip install mwsqlite
```
Example:
```python
from mwsqlite import MWBase, Where, Order, DESC, ASC
# create database object (1)
base = MWBase(
filename="file.db",
tables={
"users": {
"first_name": str,
"last_name": str,
"middle_name": str,
"age": int,
"info": dict,
"is_admin": bool,
"list_rewards": list,
}
}
)
# add user to database
base.users.add(
first_name="John",
last_name="Doe",
middle_name="Smith",
age=18,
info={"description": "some info"},
is_admin=False,
list_rewards=[{"id": 1, "name": "reward1"}, {"id": 2, "name": "reward2"}],
)
# get one user from database
user = base.users.get_one(name="John", age=18)
print(user)
# MWBase.users.Row({'first_name': 'John', 'last_name': 'Doe', 'middle_name': 'Smith', 'age': 18, 'info': {'description': 'some info'}, 'is_admin': False, 'list_rewards': [{'id': 1, 'name': 'reward1'}, {'id': 2, 'name': 'reward2'}]})
base.users.update(
Where(first_name="John"),
first_name="Jane",
)
user = base.users.get_one(name="Jane", age=18)
print(user)
# MWBase.users.Row({'first_name': 'Jane', 'last_name': 'Doe', 'middle_name': 'Smith', 'age': 18, 'info': {'description': 'some info'}, 'is_admin': False, 'list_rewards': [{'id': 1, 'name': 'reward1'}, {'id': 2, 'name': 'reward2'}]})
print(user.age)
# 18
user.update(age=19)
print(user.age)
# 19
user.delete()
user = base.users.get_one(name="Jane", age=18)
print(user)
# None
# get many users from database
for i in range(3):
base.users.add(first_name="John", age=18 + i)
users = base.users.get(
Order(age=DESC),
name="John"
)
print(len(users))
# 3
print(users)
# [{'first_name': 'Jane', 'last_name': '', 'age': 0, 'info': {}, 'is_admin': False, 'list_rewards': []}, ...]
for user in users:
print(user.age)
# 20
# 19
# 18
```
Raw data
{
"_id": null,
"home_page": "https://github.com/makarworld/mwsqlite.git",
"name": "mwsqlite",
"maintainer": "",
"docs_url": null,
"requires_python": ">=3.6.0",
"maintainer_email": "",
"keywords": "",
"author": "abuztrade",
"author_email": "abuztrade.work@gmail.com",
"download_url": "https://files.pythonhosted.org/packages/79/4a/ece7df9cda0bf017d02e7bec28c783d51be2562a120cee3305f54f41063c/mwsqlite-1.3.1.tar.gz",
"platform": null,
"description": "Library for interacting with the SQLite database.\r\n\r\nInstallation:\r\n\r\n```bash\r\npip install mwsqlite\r\n```\r\n\r\nExample:\r\n\r\n```python\r\nfrom mwsqlite import MWBase, Where, Order, DESC, ASC\r\n\r\n# create database object (1)\r\nbase = MWBase(\r\n filename=\"file.db\",\r\n tables={\r\n \"users\": {\r\n \"first_name\": str,\r\n \"last_name\": str,\r\n \"middle_name\": str,\r\n \"age\": int,\r\n \"info\": dict,\r\n \"is_admin\": bool,\r\n \"list_rewards\": list,\r\n }\r\n }\r\n)\r\n\r\n# add user to database\r\nbase.users.add(\r\n first_name=\"John\",\r\n last_name=\"Doe\",\r\n middle_name=\"Smith\",\r\n age=18,\r\n info={\"description\": \"some info\"},\r\n is_admin=False,\r\n list_rewards=[{\"id\": 1, \"name\": \"reward1\"}, {\"id\": 2, \"name\": \"reward2\"}],\r\n)\r\n\r\n# get one user from database\r\nuser = base.users.get_one(name=\"John\", age=18)\r\nprint(user)\r\n# MWBase.users.Row({'first_name': 'John', 'last_name': 'Doe', 'middle_name': 'Smith', 'age': 18, 'info': {'description': 'some info'}, 'is_admin': False, 'list_rewards': [{'id': 1, 'name': 'reward1'}, {'id': 2, 'name': 'reward2'}]})\r\n\r\nbase.users.update(\r\n Where(first_name=\"John\"),\r\n first_name=\"Jane\",\r\n)\r\n\r\nuser = base.users.get_one(name=\"Jane\", age=18)\r\nprint(user)\r\n# MWBase.users.Row({'first_name': 'Jane', 'last_name': 'Doe', 'middle_name': 'Smith', 'age': 18, 'info': {'description': 'some info'}, 'is_admin': False, 'list_rewards': [{'id': 1, 'name': 'reward1'}, {'id': 2, 'name': 'reward2'}]})\r\n\r\nprint(user.age)\r\n# 18\r\nuser.update(age=19)\r\nprint(user.age)\r\n# 19\r\n\r\nuser.delete()\r\n\r\nuser = base.users.get_one(name=\"Jane\", age=18)\r\nprint(user)\r\n# None\r\n\r\n# get many users from database\r\n\r\nfor i in range(3):\r\n base.users.add(first_name=\"John\", age=18 + i)\r\n\r\nusers = base.users.get(\r\n Order(age=DESC), \r\n name=\"John\"\r\n)\r\nprint(len(users))\r\n# 3\r\n\r\nprint(users)\r\n# [{'first_name': 'Jane', 'last_name': '', 'age': 0, 'info': {}, 'is_admin': False, 'list_rewards': []}, ...]\r\n\r\nfor user in users:\r\n print(user.age)\r\n # 20\r\n # 19\r\n # 18\r\n\r\n```\r\n\r\n\r\n\r\n",
"bugtrack_url": null,
"license": "MIT License",
"summary": "Simply python library for interact with (EOSIO) WAX blockchain",
"version": "1.3.1",
"project_urls": {
"Download": "https://github.com/makarworld/mwsqlite/archive/refs/tags/v1.3.1.zip",
"Homepage": "https://github.com/makarworld/mwsqlite.git"
},
"split_keywords": [],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "794aece7df9cda0bf017d02e7bec28c783d51be2562a120cee3305f54f41063c",
"md5": "a59261f6850eea8e200e897d29e0943c",
"sha256": "6c82a06f57a2ff0428cab0f2e46a36fa865494d2a96217356ca06ddabb413525"
},
"downloads": -1,
"filename": "mwsqlite-1.3.1.tar.gz",
"has_sig": false,
"md5_digest": "a59261f6850eea8e200e897d29e0943c",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.6.0",
"size": 8228,
"upload_time": "2023-08-07T07:49:31",
"upload_time_iso_8601": "2023-08-07T07:49:31.907790Z",
"url": "https://files.pythonhosted.org/packages/79/4a/ece7df9cda0bf017d02e7bec28c783d51be2562a120cee3305f54f41063c/mwsqlite-1.3.1.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2023-08-07 07:49:31",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "makarworld",
"github_project": "mwsqlite",
"travis_ci": false,
"coveralls": false,
"github_actions": false,
"lcname": "mwsqlite"
}