{"id":14956975,"url":"https://github.com/gadzhi/pykurtuba","last_synced_at":"2026-01-20T04:32:09.284Z","repository":{"id":62581292,"uuid":"124695277","full_name":"gadzhi/pyKurtuba","owner":"gadzhi","description":"Python client library for Kurtuba","archived":false,"fork":false,"pushed_at":"2018-03-28T18:04:29.000Z","size":14,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-03-14T07:05:30.141Z","etag":null,"topics":["api-client","key-value","kurtuba","mongo-db","python-api-client-for-kurtuba","storage-api"],"latest_commit_sha":null,"homepage":"https://kurtuba.ru","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/gadzhi.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}},"created_at":"2018-03-10T20:19:15.000Z","updated_at":"2018-03-28T18:04:30.000Z","dependencies_parsed_at":"2022-11-03T21:21:02.790Z","dependency_job_id":null,"html_url":"https://github.com/gadzhi/pyKurtuba","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gadzhi%2FpyKurtuba","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gadzhi%2FpyKurtuba/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gadzhi%2FpyKurtuba/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gadzhi%2FpyKurtuba/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/gadzhi","download_url":"https://codeload.github.com/gadzhi/pyKurtuba/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247648904,"owners_count":20972943,"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":["api-client","key-value","kurtuba","mongo-db","python-api-client-for-kurtuba","storage-api"],"created_at":"2024-09-24T13:13:49.182Z","updated_at":"2026-01-20T04:32:09.245Z","avatar_url":"https://github.com/gadzhi.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# pyKurtuba\n[![PyPI version](https://badge.fury.io/py/pyKurtuba.svg)](https://pypi.python.org/pypi/pyKurtuba)\n\nPython api-client for [**Kurtuba**](https://github.com/hazratgs/kurtuba-storage)\n\nApi клиент для облачного хранилища [**Kurtuba**](https://github.com/hazratgs/kurtuba-storage)\n\n### Features\n - Create token\n - Refresh token\n - Get value of a property from the storage\n - Get all storage data\n - Set key/value\n - Remove element it storage\n - Delete storage\n - Get backup list\n - Restoring the vault from a backup\n\n## Getting Started\n\n##### Install\n```python\npip install pyKurtuba\n```\n\nExample:\n```python\n\nfrom pyKurtuba import Kurtuba\n\ntest = Kurtuba('http://localhost:3199')\n\ntest.new_token()\n```\n\n## API\n\n### Create token\n\nAll parameters (domains, backup, password) are optional:\n\n    \n```python\nfrom pyKurtuba import Kurtuba\n\ntest = Kurtuba('http://localhost:3099',domains=['google', 'yandex'], backup=True, password='12345')\n\ntest.new_token()\n```\n\n \u003cdetails\u003e\n  \u003csummary\u003eView Response\u003c/summary\u003e\n\n```js \t\t \n{\n  \"status\":  true,\n  \"data\":{\n    \"token\": \"002cac23-aa8b-4803-a94f-3888020fa0df\",\n    \"refreshToken\": \"5bf365e0-1fc0-11e8-85d2-3f7a9c4f742e\"\n  }\n}\n```\n\u003c/details\u003e\n\n#### Writing data to storage\nTo write data to the storage, you need to transfer the data object:\n\n```python\ntest.set_data(token, {test:2})\n```\n\u003cdetails\u003e\n  \u003csummary\u003eView Response\u003c/summary\u003e\n\n```js \t\t \n{\n  \"status\":  true,\n  \"message\": \"Successfully added\"\n}\n```\n\u003c/details\u003e\n\n### Удаление элемента\n\n```python\ntest.remove(token, key)\n```\n\n*token* - токен\n\n*key* - имя элемента\n\n### Удаление храналища\n\n```python\ntest.delete(token)\n```\n\n*token* - токен\n\n#### Get all storage\n\nЕсли вам нужно получить все данные, которые есть в хранилище:\n\n```python\ntest.get_all(token, name)\n```\n\u003cdetails\u003e\n  \u003csummary\u003eView Response\u003c/summary\u003e\n\n```js \t\t \n{\n  \"status\":  true,\n  \"data\": {\n    name: 'hazratgs',\n    age: 25,\n    city: 'Derbent'\n    skills: ['javascript', 'react+redux', 'nodejs', 'mongodb']\n  }\n}\n```\n\u003c/details\u003e\n\n#### Get property\n\n```python\ntest.get(token, key)\n```\n \u003cdetails\u003e\n  \u003csummary\u003eView Response\u003c/summary\u003e\n\n```js \t\t \n{\n  \"status\":  true,\n  \"data\": \"hazratgs\"\n}\n```\n\u003c/details\u003e\n\n#### Remove property\n\n```python\ntest.get(token, key)\n```\n\n \u003cdetails\u003e\n  \u003csummary\u003eView Response\u003c/summary\u003e\n\n```js \t\t \n{\n  \"status\":  true,\n  \"message\": \"Successfully deleted\"\n}\n```\n\u003c/details\u003e\n\n#### Get backup list storage\nIf you passed a parameter `backup` when creating a token, then your repository will have backup copies, which are created every 2 hours and stored during the day.\nIn order to get a list of active copies of the repository, send the request:\n\n```python\ntest.backup(token)\n```\n\u003cdetails\u003e\n  \u003csummary\u003eView Response\u003c/summary\u003e\n\n```js \t\t \n{\n  \"status\":  true,\n  \"data\": [\n    'Sun Mar 04 2018 19:39:42 GMT+0300 (MSK)', \n    'Sun Mar 04 2018 20:39:42 GMT+0300 (MSK)'\n  ]\n}\n```\n\u003c/details\u003e\n\n#### Restoring the vault from a backup\nTo return the store to a specific checkpoint, pass the date of the checkpoint:\n\n```python\ntest.restore(token, name_backup)\n```\n\n \u003cdetails\u003e\n  \u003csummary\u003eView Response\u003c/summary\u003e\n\n```js \t\t \n{\n  \"status\":  true,\n  \"message\": \"Successfully restored\"\n}\n```\n\u003c/details\u003e\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgadzhi%2Fpykurtuba","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fgadzhi%2Fpykurtuba","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgadzhi%2Fpykurtuba/lists"}