json-db-lite


Namejson-db-lite JSON
Version 0.1.2 PyPI version JSON
download
home_pagehttps://github.com/Yakvenalex/json_database
SummaryA simple JSON file database manager
upload_time2024-07-07 00:19:48
maintainerNone
docs_urlNone
authorAlexey Yakovenko
requires_python>=3.6
licenseNone
keywords
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            # JsonDbLite

```markdown
`json-db-lite` - это простой Python класс для управления JSON файлом в качестве базы данных. Он позволяет инициализировать, читать, добавлять, обновлять и удалять записи в JSON файле.


```

## Возможности

- **Создание пустого JSON файла при инициализации объекта**
- **Добавление новых записей**
- **Получение всех записей**
- **Очистка базы данных**
- **Удаление записи по ключу**
- **Обновление записи по ключу**

## Installation

Вы можете установить пакет через pip:

```bash
pip install --upgrade json_db_lite
```

## Использование


Пример простого использования класса JSONDatabase:

```python
from json_db_lite import JSONDatabase

db_client = JSONDatabase('small_db.json')


def add_data_to_db():
    # массовое добавление
    db_client.add_records([{"id": 1, "name": "Sara"},
                           {"id": 2, "name": "Mark"},
                           {"id": 3, "name": "Charlie"},
                           {"id": 4, "name": "David"}
                           ])
    # добавление одной записи
    db_client.add_records({"id": 5, "name": "Alex"})


def get_all_data():
    # возвращаем все данные
    return db_client.get_all_records()


def get_data(key='id', value=4):
    # возвращаем данные по ключу
    return db_client.find_records_by_key(key, value)


def update_data():
    # обновляем данные по ключу у одного словаря
    db_client.update_record_by_key(upd_filter={"id": 4}, new_data=[{"name": "Alex"}, {"age": 31}])

    # обновляем данные по ключу у одного словаря
    db_client.update_record_by_key(upd_filter={"name": "Alex"},
                                   new_data=[{"age": 40}, {"job": "python developer"}])


def dell_data():
    # удаляем данные по ключу
    db_client.delete_record_by_key(key="name", value="Alex")


def dell_all_data():
    db_client.clear_database()
```

## License

Этот проект лицензируется по лицензии [MIT](https://choosealicense.com/licenses/mit/).

            

Raw data

            {
    "_id": null,
    "home_page": "https://github.com/Yakvenalex/json_database",
    "name": "json-db-lite",
    "maintainer": null,
    "docs_url": null,
    "requires_python": ">=3.6",
    "maintainer_email": null,
    "keywords": null,
    "author": "Alexey Yakovenko",
    "author_email": "mr.mnogo@gmail.com",
    "download_url": "https://files.pythonhosted.org/packages/50/7d/13eeaa3f2f14c248b49e39dd59adc4e4e910b8118dea14072d28d5add223/json_db_lite-0.1.2.tar.gz",
    "platform": null,
    "description": "# JsonDbLite\r\n\r\n```markdown\r\n`json-db-lite` - \u044d\u0442\u043e \u043f\u0440\u043e\u0441\u0442\u043e\u0439 Python \u043a\u043b\u0430\u0441\u0441 \u0434\u043b\u044f \u0443\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u044f JSON \u0444\u0430\u0439\u043b\u043e\u043c \u0432 \u043a\u0430\u0447\u0435\u0441\u0442\u0432\u0435 \u0431\u0430\u0437\u044b \u0434\u0430\u043d\u043d\u044b\u0445. \u041e\u043d \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u0435\u0442 \u0438\u043d\u0438\u0446\u0438\u0430\u043b\u0438\u0437\u0438\u0440\u043e\u0432\u0430\u0442\u044c, \u0447\u0438\u0442\u0430\u0442\u044c, \u0434\u043e\u0431\u0430\u0432\u043b\u044f\u0442\u044c, \u043e\u0431\u043d\u043e\u0432\u043b\u044f\u0442\u044c \u0438 \u0443\u0434\u0430\u043b\u044f\u0442\u044c \u0437\u0430\u043f\u0438\u0441\u0438 \u0432 JSON \u0444\u0430\u0439\u043b\u0435.\r\n\r\n\r\n```\r\n\r\n## \u0412\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442\u0438\r\n\r\n- **\u0421\u043e\u0437\u0434\u0430\u043d\u0438\u0435 \u043f\u0443\u0441\u0442\u043e\u0433\u043e JSON \u0444\u0430\u0439\u043b\u0430 \u043f\u0440\u0438 \u0438\u043d\u0438\u0446\u0438\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u0438 \u043e\u0431\u044a\u0435\u043a\u0442\u0430**\r\n- **\u0414\u043e\u0431\u0430\u0432\u043b\u0435\u043d\u0438\u0435 \u043d\u043e\u0432\u044b\u0445 \u0437\u0430\u043f\u0438\u0441\u0435\u0439**\r\n- **\u041f\u043e\u043b\u0443\u0447\u0435\u043d\u0438\u0435 \u0432\u0441\u0435\u0445 \u0437\u0430\u043f\u0438\u0441\u0435\u0439**\r\n- **\u041e\u0447\u0438\u0441\u0442\u043a\u0430 \u0431\u0430\u0437\u044b \u0434\u0430\u043d\u043d\u044b\u0445**\r\n- **\u0423\u0434\u0430\u043b\u0435\u043d\u0438\u0435 \u0437\u0430\u043f\u0438\u0441\u0438 \u043f\u043e \u043a\u043b\u044e\u0447\u0443**\r\n- **\u041e\u0431\u043d\u043e\u0432\u043b\u0435\u043d\u0438\u0435 \u0437\u0430\u043f\u0438\u0441\u0438 \u043f\u043e \u043a\u043b\u044e\u0447\u0443**\r\n\r\n## Installation\r\n\r\n\u0412\u044b \u043c\u043e\u0436\u0435\u0442\u0435 \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u0438\u0442\u044c \u043f\u0430\u043a\u0435\u0442 \u0447\u0435\u0440\u0435\u0437 pip:\r\n\r\n```bash\r\npip install --upgrade json_db_lite\r\n```\r\n\r\n## \u0418\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u0435\r\n\r\n\r\n\u041f\u0440\u0438\u043c\u0435\u0440 \u043f\u0440\u043e\u0441\u0442\u043e\u0433\u043e \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u044f \u043a\u043b\u0430\u0441\u0441\u0430 JSONDatabase:\r\n\r\n```python\r\nfrom json_db_lite import JSONDatabase\r\n\r\ndb_client = JSONDatabase('small_db.json')\r\n\r\n\r\ndef add_data_to_db():\r\n    # \u043c\u0430\u0441\u0441\u043e\u0432\u043e\u0435 \u0434\u043e\u0431\u0430\u0432\u043b\u0435\u043d\u0438\u0435\r\n    db_client.add_records([{\"id\": 1, \"name\": \"Sara\"},\r\n                           {\"id\": 2, \"name\": \"Mark\"},\r\n                           {\"id\": 3, \"name\": \"Charlie\"},\r\n                           {\"id\": 4, \"name\": \"David\"}\r\n                           ])\r\n    # \u0434\u043e\u0431\u0430\u0432\u043b\u0435\u043d\u0438\u0435 \u043e\u0434\u043d\u043e\u0439 \u0437\u0430\u043f\u0438\u0441\u0438\r\n    db_client.add_records({\"id\": 5, \"name\": \"Alex\"})\r\n\r\n\r\ndef get_all_data():\r\n    # \u0432\u043e\u0437\u0432\u0440\u0430\u0449\u0430\u0435\u043c \u0432\u0441\u0435 \u0434\u0430\u043d\u043d\u044b\u0435\r\n    return db_client.get_all_records()\r\n\r\n\r\ndef get_data(key='id', value=4):\r\n    # \u0432\u043e\u0437\u0432\u0440\u0430\u0449\u0430\u0435\u043c \u0434\u0430\u043d\u043d\u044b\u0435 \u043f\u043e \u043a\u043b\u044e\u0447\u0443\r\n    return db_client.find_records_by_key(key, value)\r\n\r\n\r\ndef update_data():\r\n    # \u043e\u0431\u043d\u043e\u0432\u043b\u044f\u0435\u043c \u0434\u0430\u043d\u043d\u044b\u0435 \u043f\u043e \u043a\u043b\u044e\u0447\u0443 \u0443 \u043e\u0434\u043d\u043e\u0433\u043e \u0441\u043b\u043e\u0432\u0430\u0440\u044f\r\n    db_client.update_record_by_key(upd_filter={\"id\": 4}, new_data=[{\"name\": \"Alex\"}, {\"age\": 31}])\r\n\r\n    # \u043e\u0431\u043d\u043e\u0432\u043b\u044f\u0435\u043c \u0434\u0430\u043d\u043d\u044b\u0435 \u043f\u043e \u043a\u043b\u044e\u0447\u0443 \u0443 \u043e\u0434\u043d\u043e\u0433\u043e \u0441\u043b\u043e\u0432\u0430\u0440\u044f\r\n    db_client.update_record_by_key(upd_filter={\"name\": \"Alex\"},\r\n                                   new_data=[{\"age\": 40}, {\"job\": \"python developer\"}])\r\n\r\n\r\ndef dell_data():\r\n    # \u0443\u0434\u0430\u043b\u044f\u0435\u043c \u0434\u0430\u043d\u043d\u044b\u0435 \u043f\u043e \u043a\u043b\u044e\u0447\u0443\r\n    db_client.delete_record_by_key(key=\"name\", value=\"Alex\")\r\n\r\n\r\ndef dell_all_data():\r\n    db_client.clear_database()\r\n```\r\n\r\n## License\r\n\r\n\u042d\u0442\u043e\u0442 \u043f\u0440\u043e\u0435\u043a\u0442 \u043b\u0438\u0446\u0435\u043d\u0437\u0438\u0440\u0443\u0435\u0442\u0441\u044f \u043f\u043e \u043b\u0438\u0446\u0435\u043d\u0437\u0438\u0438 [MIT](https://choosealicense.com/licenses/mit/).\r\n",
    "bugtrack_url": null,
    "license": null,
    "summary": "A simple JSON file database manager",
    "version": "0.1.2",
    "project_urls": {
        "Homepage": "https://github.com/Yakvenalex/json_database"
    },
    "split_keywords": [],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "f4d1a38fd980863d7094595545d5a06433b41cfa0b0e0628da477239150f21a5",
                "md5": "11a54aec2e16f354b3247d02e6258f90",
                "sha256": "ba06705b2e8dffe990687dad7b4ec7e46f1fe97dacf28b0e3ce807ec4af7dcca"
            },
            "downloads": -1,
            "filename": "json_db_lite-0.1.2-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "11a54aec2e16f354b3247d02e6258f90",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": ">=3.6",
            "size": 4564,
            "upload_time": "2024-07-07T00:19:47",
            "upload_time_iso_8601": "2024-07-07T00:19:47.166178Z",
            "url": "https://files.pythonhosted.org/packages/f4/d1/a38fd980863d7094595545d5a06433b41cfa0b0e0628da477239150f21a5/json_db_lite-0.1.2-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "507d13eeaa3f2f14c248b49e39dd59adc4e4e910b8118dea14072d28d5add223",
                "md5": "3e62d01665c142474fc82f5fd99edf22",
                "sha256": "053d3e5f06b265343fbde5dac0b33f50163a8d8f6b26c2e7d3a21f7c47ce7568"
            },
            "downloads": -1,
            "filename": "json_db_lite-0.1.2.tar.gz",
            "has_sig": false,
            "md5_digest": "3e62d01665c142474fc82f5fd99edf22",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": ">=3.6",
            "size": 3571,
            "upload_time": "2024-07-07T00:19:48",
            "upload_time_iso_8601": "2024-07-07T00:19:48.815733Z",
            "url": "https://files.pythonhosted.org/packages/50/7d/13eeaa3f2f14c248b49e39dd59adc4e4e910b8118dea14072d28d5add223/json_db_lite-0.1.2.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2024-07-07 00:19:48",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "Yakvenalex",
    "github_project": "json_database",
    "travis_ci": false,
    "coveralls": false,
    "github_actions": false,
    "lcname": "json-db-lite"
}
        
Elapsed time: 0.62044s