{"id":26991652,"url":"https://github.com/jnsougata/driz","last_synced_at":"2025-04-03T22:16:27.415Z","repository":{"id":285826576,"uuid":"958429067","full_name":"jnsougata/driz","owner":"jnsougata","description":"A fast lightweight k-v storage for hobbyists.","archived":false,"fork":false,"pushed_at":"2025-04-02T21:50:55.000Z","size":27,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-04-02T22:24:16.600Z","etag":null,"topics":["kvstore","nosql","python3","sqlite3"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/jnsougata.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2025-04-01T07:24:28.000Z","updated_at":"2025-04-02T21:53:59.000Z","dependencies_parsed_at":"2025-04-02T22:34:33.483Z","dependency_job_id":null,"html_url":"https://github.com/jnsougata/driz","commit_stats":null,"previous_names":["jnsougata/driz"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jnsougata%2Fdriz","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jnsougata%2Fdriz/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jnsougata%2Fdriz/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jnsougata%2Fdriz/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/jnsougata","download_url":"https://codeload.github.com/jnsougata/driz/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247086023,"owners_count":20881160,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["kvstore","nosql","python3","sqlite3"],"created_at":"2025-04-03T22:16:26.978Z","updated_at":"2025-04-03T22:16:27.410Z","avatar_url":"https://github.com/jnsougata.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"![driz](https://github.com/user-attachments/assets/75f99420-b480-4199-987d-8542e6236507)\n# Driz - KV Store\nA fast, lightweight key-value store designed for hobbyists, combining the simplicity of NoSQL with SQLite3's robust filtering and sorting capabilities.\n## Features\n- **NoSQL-like Experience** – Work with database records as Python dictionaries.\n- **Simplified Access** – Retrieve data without remembering column names or indices.\n- **SQL Power** – Use SQL queries for filtering and sorting.\n- **Lightweight \u0026 Fast** – Minimal overhead with SQLite’s reliability.\n\n## Installation\n```sh\npip install git+https://github.com/jnsougata/driz.git\n```\n\n## Example Usage\n\n```python\nimport driz\n\n\ndef main():\n    db = driz.DB(\"example.db\")\n    users = db.collection(\n        \"users\",\n        schema=driz.Schema(\n                driz.Field(\"name\", str, nullable=False),\n                driz.Field(\"age\", int, nullable=False),\n                driz.Field(\"email\", str),\n                driz.Field(\"active\", bool, default=True),\n        )\n    )\n    posts = db.collection(\n        \"posts\",\n        schema=driz.Schema(\n            driz.Field(\"user_id\", str, ref_collection=\"users\", ref_field=\"key\"),\n            driz.Field(\"content\", str, nullable=False))\n    )\n    user_id = users.insert(\n        name=\"Sougata Jana\",\n        age=25,\n        email=\"abc@xyz.com\",\n        active=True,\n    )\n    print(f\"Inserted user with ID: {user_id}\")\n    posts.insert(\n        user_id=user_id,\n        content=\"This is a test post.\",\n    )\n\n\nif __name__ == \"__main__\":\n    main()\n```\n\n## Documentation\nHalf-baked docs [here.](https://driz.readthedocs.io/en/latest/)\n\n## TODO\n- Add more SQL features (e.g., `JOIN`, `GROUP BY`).\n- Add more complex `queries` and `filtering` options.\n- Implement `view` handling.\n- Better error handling.\n- Composite column support (no flattening).\n- Hierarchical column search.\n- More examples and documentation.\n- Unit tests.\n- Performance benchmarks.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjnsougata%2Fdriz","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fjnsougata%2Fdriz","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjnsougata%2Fdriz/lists"}