{"id":27633121,"url":"https://github.com/thrzl/repltable","last_synced_at":"2025-09-07T02:34:24.575Z","repository":{"id":57461205,"uuid":"390154616","full_name":"thrzl/repltable","owner":"thrzl","description":"a better client for the repl.it database","archived":false,"fork":false,"pushed_at":"2025-07-07T21:33:58.000Z","size":232,"stargazers_count":2,"open_issues_count":0,"forks_count":1,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-07-23T08:59:24.404Z","etag":null,"topics":["python","replit","replit-database","replitdatabase","replitdb"],"latest_commit_sha":null,"homepage":"https://pypi.org/project/repltable","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/thrzl.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"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,"zenodo":null}},"created_at":"2021-07-27T23:23:00.000Z","updated_at":"2025-07-07T21:34:04.000Z","dependencies_parsed_at":"2025-04-23T18:13:44.730Z","dependency_job_id":"ad1debfc-21c4-4faf-9d88-1dc6151e6189","html_url":"https://github.com/thrzl/repltable","commit_stats":null,"previous_names":["terabyte3/repltable"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/thrzl/repltable","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thrzl%2Frepltable","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thrzl%2Frepltable/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thrzl%2Frepltable/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thrzl%2Frepltable/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/thrzl","download_url":"https://codeload.github.com/thrzl/repltable/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thrzl%2Frepltable/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":273838805,"owners_count":25177267,"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","status":"online","status_checked_at":"2025-09-05T02:00:09.113Z","response_time":402,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"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":["python","replit","replit-database","replitdatabase","replitdb"],"created_at":"2025-04-23T18:13:42.522Z","updated_at":"2025-09-07T02:34:24.559Z","avatar_url":"https://github.com/thrzl.png","language":"Python","readme":"![image](https://user-images.githubusercontent.com/73202594/190297553-a53dde72-e981-4a7a-8fb3-2b6face1b0da.png)\n---\n![PyPI - Downloads](https://img.shields.io/pypi/dm/repltable?style=for-the-badge)\n![code style](https://img.shields.io/badge/code%20style-black-black?style=for-the-badge\u0026logo=python)\n\nthis is a better wrapper for the replit db built in to the platform. boating much higher performance and more features, repltable is the best way to interact with replit databases.\n\n## ⚙️ installation \n```bash\npip install repltable\n```\n\n## 🪴 usage\n```python\n\u003e\u003e\u003e from repltable import Database\n\u003e\u003e\u003e db = Database(\"https://kv.replit.com/v0/...\")\n\n# or on replit\n\u003e\u003e\u003e db = Database()\n\n# regular key/value pairs\n\u003e\u003e\u003e db.get('bar')\n\"foo\"\n\n# set new values\n\u003e\u003e\u003e db.set(\"baz\", \"qux\")\n```\nyou can also group keys together as 'tables'. they're created on the fly if they don't already exist.\n```py\n\u003e\u003e\u003e table = db.get_table(\"users\")\n\n# from here, you can filter rows by their attributes\n\u003e\u003e\u003e table.get(role='admin')\n[{'username': 'thrzl', 'id': '1234', 'role': 'admin'}, ...]\n\n# insert full rows at a time\n\u003e\u003e\u003e table.insert({'username': 'lzrht', 'id': '4321', 'role': 'member'})\n\n# you can get one, or get all matching documents\n\u003e\u003e\u003e table.get_one(username='lzrht')\n{'username': 'lzrht', 'id': '4321', 'role': 'member'}\n```\n## ❓ why not just use replit-py?\nwell, my goal is to make it so that you can use repl.it databases without having to use replit-py. replit-py has **27** dependencies. repltable has **1**.\n\nrepltable is also **significantly faster** than replit-py, thanks to it caching the keys in memory.\n\nplus, repltable has more features:\n- **local caching**, where the data is stored in memory as well as remotely\n- **\"table\" support**\n- **drop-in replacement** for replit-py's database\n\n\n## 👥 contributing\nto contribute, fork the repo, make a branch, and send a pull request.\n\nfor local development, you can install the dependencies with **[rye](rye-up.com)**:\n```bash\nrye sync\n```\n\n## 📜 license\nthis project is licensed under the [mit](https://choosealicense.com/licenses/mit/) license.\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fthrzl%2Frepltable","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fthrzl%2Frepltable","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fthrzl%2Frepltable/lists"}