## CloverDB - Database
# CloverDB - Простая обертка для работы с SQLite в Python
CloverDB - это простой класс для работы с базой данных SQLite в приложениях Python. Ниже представлено описание каждой функции класса и примеры использования.
# Установка библиотеки
```sh
pip install cloverdb
```
## Использование
1. **`__init__(self, db_name='cloverdb.db')`**
- Инициализация объекта CloverDB с указанием имени базы данных (по умолчанию 'cloverdb.db').
2. **`connect(self, db_name=None)`**
- Метод подключения к базе данных.
- Принимает опциональный параметр `db_name`, указывающий на имя базы данных.
- Пример использования:
```python
clover_db = CloverDB()
connection = clover_db.connect('custom_db.db')
```
3. **`select(self, select, from_table, where=None)`**
- Метод для выполнения запроса SELECT к базе данных.
- Принимает параметры `select` (колонки для выбора), `from_table` (название таблицы) и опциональный параметр `where` (условие WHERE в виде словаря).
- Возвращает результат запроса.
- Пример использования:
```python
result = clover_db.select(select='userid', from_table='giveusers', where={'column_name': 'value'})
print(result)
```
4. **`create_table(self, table_name, columns)`**
- Метод для создания таблицы в базе данных.
- Принимает параметры `table_name` (название таблицы) и `columns` (словарь с описанием столбцов и их типов).
- Пример использования:
```python
clover_db.create_table(table_name='users', columns={'id': 'INTEGER PRIMARY KEY', 'name': 'TEXT'})
```
5. **`insert(self, table_name, values)`**
- Метод для вставки данных в таблицу.
- Принимает параметры `table_name` (название таблицы) и `values` (словарь с данными для вставки).
- Пример использования:
```python
clover_db.insert(table_name='example_table', values={'id': 1, 'name': 'John Doe'})
```
6. **`update(self, table_name, set_values, where=None)`**
- Метод для обновления данных в таблице.
- Принимает параметры `table_name` (название таблицы), `set_values` (словарь с данными для обновления) и опциональный параметр `where` (условие WHERE в виде словаря).
- Пример использования:
```python
clover_db.update(table_name='example_table', set_values={'name': 'Jane Doe'}, where={'id': 1})
```
7. **`delete(self, table_name, where=None)`**
- Метод для удаления данных из таблицы.
- Принимает параметры `table_name` (название таблицы) и опциональный параметр `where` (условие WHERE в виде словаря).
- Пример использования:
```python
clover_db.delete(table_name='example_table', where={'id': 1})
```
8. **`execute_custom_query(self, custom_query)`**
- Метод для выполнения произвольного SQL-запроса.
- Принимает параметр `custom_query` (строка с SQL-запросом).
- Возвращает результат выполнения запроса.
- Пример использования:
```python
result = clover_db.execute_custom_query("SELECT * FROM example_table WHERE age > 20")
print(result)
```
9. **`close(self)`**
- Метод закрытия соединения с базой данных.
## Пример использования:
```python
# Создаем объект CloverDB
import cloverdb
# Подключаемся к базе данных
connection = clover_db.connect('custom_db.db')
cursor = connection.cursor()
# Выполняем запрос SELECT
try:
select_query = clover_db.select(select='userid', from_table='giveusers', where={'column_name': 'value'})
print(select_query)
except CloverDBError as e:
print(e)
# Создаем таблицу
try:
create_table_query = clover_db.create_table(table_name='example_table', columns={'id': 'INTEGER PRIMARY KEY', 'name': 'TEXT'})
print(create_table_query)
except CloverDBError as e:
print(e)
# Вставляем данные
try:
insert_query = clover_db.insert(table_name='example_table', values={'id': 1, 'name': 'John Doe'})
print(insert_query)
except CloverDBError as e:
print(e)
# Обновляем данные
try:
update_query = clover_db.update(table_name='example_table', set_values={'name': 'Jane Doe'}, where={'id': 1})
print(update_query)
except CloverDBError as e:
print(e)
# Удаляем данные
try:
delete_query = clover_db.delete(table_name='example_table', where={'id': 1})
print(delete_query)
except CloverDBError as e:
print(e)
# Выполняем произвольный запрос
try:
custom_query_result = clover_db.execute_custom_query("SELECT * FROM example_table WHERE age > 20")
print(custom_query_result)
except CloverDBError as e:
print(e)
# Закрываем соединение
clover_db.close()
```
Raw data
{
"_id": null,
"home_page": "https://github.com/reques6e/CloverDB",
"name": "cleverdb",
"maintainer": "",
"docs_url": null,
"requires_python": ">=3.6",
"maintainer_email": "",
"keywords": "sqlite sqlite3 database wrapper sql",
"author": "reques6e",
"author_email": "none@gmail.com",
"download_url": "https://files.pythonhosted.org/packages/50/2e/f80694cdca4beb4a9c51eb95138c6b99d0b2f7f1a8da14f8d231ec03bfbf/cleverdb-0.0.1.tar.gz",
"platform": null,
"description": "## CloverDB - Database\r\n\r\n# CloverDB - \u041f\u0440\u043e\u0441\u0442\u0430\u044f \u043e\u0431\u0435\u0440\u0442\u043a\u0430 \u0434\u043b\u044f \u0440\u0430\u0431\u043e\u0442\u044b \u0441 SQLite \u0432 Python\r\n\r\nCloverDB - \u044d\u0442\u043e \u043f\u0440\u043e\u0441\u0442\u043e\u0439 \u043a\u043b\u0430\u0441\u0441 \u0434\u043b\u044f \u0440\u0430\u0431\u043e\u0442\u044b \u0441 \u0431\u0430\u0437\u043e\u0439 \u0434\u0430\u043d\u043d\u044b\u0445 SQLite \u0432 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f\u0445 Python. \u041d\u0438\u0436\u0435 \u043f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u043b\u0435\u043d\u043e \u043e\u043f\u0438\u0441\u0430\u043d\u0438\u0435 \u043a\u0430\u0436\u0434\u043e\u0439 \u0444\u0443\u043d\u043a\u0446\u0438\u0438 \u043a\u043b\u0430\u0441\u0441\u0430 \u0438 \u043f\u0440\u0438\u043c\u0435\u0440\u044b \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u044f.\r\n\r\n# \u0423\u0441\u0442\u0430\u043d\u043e\u0432\u043a\u0430 \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0438\r\n\r\n```sh\r\npip install cloverdb\r\n```\r\n\r\n## \u0418\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u0435\r\n\r\n1. **`__init__(self, db_name='cloverdb.db')`**\r\n - \u0418\u043d\u0438\u0446\u0438\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u044f \u043e\u0431\u044a\u0435\u043a\u0442\u0430 CloverDB \u0441 \u0443\u043a\u0430\u0437\u0430\u043d\u0438\u0435\u043c \u0438\u043c\u0435\u043d\u0438 \u0431\u0430\u0437\u044b \u0434\u0430\u043d\u043d\u044b\u0445 (\u043f\u043e \u0443\u043c\u043e\u043b\u0447\u0430\u043d\u0438\u044e 'cloverdb.db').\r\n\r\n2. **`connect(self, db_name=None)`**\r\n - \u041c\u0435\u0442\u043e\u0434 \u043f\u043e\u0434\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u044f \u043a \u0431\u0430\u0437\u0435 \u0434\u0430\u043d\u043d\u044b\u0445.\r\n - \u041f\u0440\u0438\u043d\u0438\u043c\u0430\u0435\u0442 \u043e\u043f\u0446\u0438\u043e\u043d\u0430\u043b\u044c\u043d\u044b\u0439 \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440 `db_name`, \u0443\u043a\u0430\u0437\u044b\u0432\u0430\u044e\u0449\u0438\u0439 \u043d\u0430 \u0438\u043c\u044f \u0431\u0430\u0437\u044b \u0434\u0430\u043d\u043d\u044b\u0445.\r\n - \u041f\u0440\u0438\u043c\u0435\u0440 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u044f:\r\n ```python\r\n clover_db = CloverDB()\r\n connection = clover_db.connect('custom_db.db')\r\n ```\r\n\r\n3. **`select(self, select, from_table, where=None)`**\r\n - \u041c\u0435\u0442\u043e\u0434 \u0434\u043b\u044f \u0432\u044b\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u044f \u0437\u0430\u043f\u0440\u043e\u0441\u0430 SELECT \u043a \u0431\u0430\u0437\u0435 \u0434\u0430\u043d\u043d\u044b\u0445.\r\n - \u041f\u0440\u0438\u043d\u0438\u043c\u0430\u0435\u0442 \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u044b `select` (\u043a\u043e\u043b\u043e\u043d\u043a\u0438 \u0434\u043b\u044f \u0432\u044b\u0431\u043e\u0440\u0430), `from_table` (\u043d\u0430\u0437\u0432\u0430\u043d\u0438\u0435 \u0442\u0430\u0431\u043b\u0438\u0446\u044b) \u0438 \u043e\u043f\u0446\u0438\u043e\u043d\u0430\u043b\u044c\u043d\u044b\u0439 \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440 `where` (\u0443\u0441\u043b\u043e\u0432\u0438\u0435 WHERE \u0432 \u0432\u0438\u0434\u0435 \u0441\u043b\u043e\u0432\u0430\u0440\u044f).\r\n - \u0412\u043e\u0437\u0432\u0440\u0430\u0449\u0430\u0435\u0442 \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442 \u0437\u0430\u043f\u0440\u043e\u0441\u0430.\r\n - \u041f\u0440\u0438\u043c\u0435\u0440 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u044f:\r\n ```python\r\n result = clover_db.select(select='userid', from_table='giveusers', where={'column_name': 'value'})\r\n print(result)\r\n ```\r\n\r\n4. **`create_table(self, table_name, columns)`**\r\n - \u041c\u0435\u0442\u043e\u0434 \u0434\u043b\u044f \u0441\u043e\u0437\u0434\u0430\u043d\u0438\u044f \u0442\u0430\u0431\u043b\u0438\u0446\u044b \u0432 \u0431\u0430\u0437\u0435 \u0434\u0430\u043d\u043d\u044b\u0445.\r\n - \u041f\u0440\u0438\u043d\u0438\u043c\u0430\u0435\u0442 \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u044b `table_name` (\u043d\u0430\u0437\u0432\u0430\u043d\u0438\u0435 \u0442\u0430\u0431\u043b\u0438\u0446\u044b) \u0438 `columns` (\u0441\u043b\u043e\u0432\u0430\u0440\u044c \u0441 \u043e\u043f\u0438\u0441\u0430\u043d\u0438\u0435\u043c \u0441\u0442\u043e\u043b\u0431\u0446\u043e\u0432 \u0438 \u0438\u0445 \u0442\u0438\u043f\u043e\u0432).\r\n - \u041f\u0440\u0438\u043c\u0435\u0440 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u044f:\r\n ```python\r\n clover_db.create_table(table_name='users', columns={'id': 'INTEGER PRIMARY KEY', 'name': 'TEXT'})\r\n ```\r\n\r\n5. **`insert(self, table_name, values)`**\r\n - \u041c\u0435\u0442\u043e\u0434 \u0434\u043b\u044f \u0432\u0441\u0442\u0430\u0432\u043a\u0438 \u0434\u0430\u043d\u043d\u044b\u0445 \u0432 \u0442\u0430\u0431\u043b\u0438\u0446\u0443.\r\n - \u041f\u0440\u0438\u043d\u0438\u043c\u0430\u0435\u0442 \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u044b `table_name` (\u043d\u0430\u0437\u0432\u0430\u043d\u0438\u0435 \u0442\u0430\u0431\u043b\u0438\u0446\u044b) \u0438 `values` (\u0441\u043b\u043e\u0432\u0430\u0440\u044c \u0441 \u0434\u0430\u043d\u043d\u044b\u043c\u0438 \u0434\u043b\u044f \u0432\u0441\u0442\u0430\u0432\u043a\u0438).\r\n - \u041f\u0440\u0438\u043c\u0435\u0440 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u044f:\r\n ```python\r\n clover_db.insert(table_name='example_table', values={'id': 1, 'name': 'John Doe'})\r\n ```\r\n\r\n6. **`update(self, table_name, set_values, where=None)`**\r\n - \u041c\u0435\u0442\u043e\u0434 \u0434\u043b\u044f \u043e\u0431\u043d\u043e\u0432\u043b\u0435\u043d\u0438\u044f \u0434\u0430\u043d\u043d\u044b\u0445 \u0432 \u0442\u0430\u0431\u043b\u0438\u0446\u0435.\r\n - \u041f\u0440\u0438\u043d\u0438\u043c\u0430\u0435\u0442 \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u044b `table_name` (\u043d\u0430\u0437\u0432\u0430\u043d\u0438\u0435 \u0442\u0430\u0431\u043b\u0438\u0446\u044b), `set_values` (\u0441\u043b\u043e\u0432\u0430\u0440\u044c \u0441 \u0434\u0430\u043d\u043d\u044b\u043c\u0438 \u0434\u043b\u044f \u043e\u0431\u043d\u043e\u0432\u043b\u0435\u043d\u0438\u044f) \u0438 \u043e\u043f\u0446\u0438\u043e\u043d\u0430\u043b\u044c\u043d\u044b\u0439 \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440 `where` (\u0443\u0441\u043b\u043e\u0432\u0438\u0435 WHERE \u0432 \u0432\u0438\u0434\u0435 \u0441\u043b\u043e\u0432\u0430\u0440\u044f).\r\n - \u041f\u0440\u0438\u043c\u0435\u0440 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u044f:\r\n ```python\r\n clover_db.update(table_name='example_table', set_values={'name': 'Jane Doe'}, where={'id': 1})\r\n ```\r\n\r\n7. **`delete(self, table_name, where=None)`**\r\n - \u041c\u0435\u0442\u043e\u0434 \u0434\u043b\u044f \u0443\u0434\u0430\u043b\u0435\u043d\u0438\u044f \u0434\u0430\u043d\u043d\u044b\u0445 \u0438\u0437 \u0442\u0430\u0431\u043b\u0438\u0446\u044b.\r\n - \u041f\u0440\u0438\u043d\u0438\u043c\u0430\u0435\u0442 \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u044b `table_name` (\u043d\u0430\u0437\u0432\u0430\u043d\u0438\u0435 \u0442\u0430\u0431\u043b\u0438\u0446\u044b) \u0438 \u043e\u043f\u0446\u0438\u043e\u043d\u0430\u043b\u044c\u043d\u044b\u0439 \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440 `where` (\u0443\u0441\u043b\u043e\u0432\u0438\u0435 WHERE \u0432 \u0432\u0438\u0434\u0435 \u0441\u043b\u043e\u0432\u0430\u0440\u044f).\r\n - \u041f\u0440\u0438\u043c\u0435\u0440 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u044f:\r\n ```python\r\n clover_db.delete(table_name='example_table', where={'id': 1})\r\n ```\r\n\r\n8. **`execute_custom_query(self, custom_query)`**\r\n - \u041c\u0435\u0442\u043e\u0434 \u0434\u043b\u044f \u0432\u044b\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u044f \u043f\u0440\u043e\u0438\u0437\u0432\u043e\u043b\u044c\u043d\u043e\u0433\u043e SQL-\u0437\u0430\u043f\u0440\u043e\u0441\u0430.\r\n - \u041f\u0440\u0438\u043d\u0438\u043c\u0430\u0435\u0442 \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440 `custom_query` (\u0441\u0442\u0440\u043e\u043a\u0430 \u0441 SQL-\u0437\u0430\u043f\u0440\u043e\u0441\u043e\u043c).\r\n - \u0412\u043e\u0437\u0432\u0440\u0430\u0449\u0430\u0435\u0442 \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442 \u0432\u044b\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u044f \u0437\u0430\u043f\u0440\u043e\u0441\u0430.\r\n - \u041f\u0440\u0438\u043c\u0435\u0440 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u044f:\r\n ```python\r\n result = clover_db.execute_custom_query(\"SELECT * FROM example_table WHERE age > 20\")\r\n print(result)\r\n ```\r\n\r\n9. **`close(self)`**\r\n - \u041c\u0435\u0442\u043e\u0434 \u0437\u0430\u043a\u0440\u044b\u0442\u0438\u044f \u0441\u043e\u0435\u0434\u0438\u043d\u0435\u043d\u0438\u044f \u0441 \u0431\u0430\u0437\u043e\u0439 \u0434\u0430\u043d\u043d\u044b\u0445.\r\n\r\n## \u041f\u0440\u0438\u043c\u0435\u0440 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u044f:\r\n\r\n```python\r\n# \u0421\u043e\u0437\u0434\u0430\u0435\u043c \u043e\u0431\u044a\u0435\u043a\u0442 CloverDB\r\nimport cloverdb\r\n\r\n# \u041f\u043e\u0434\u043a\u043b\u044e\u0447\u0430\u0435\u043c\u0441\u044f \u043a \u0431\u0430\u0437\u0435 \u0434\u0430\u043d\u043d\u044b\u0445\r\nconnection = clover_db.connect('custom_db.db')\r\ncursor = connection.cursor()\r\n\r\n# \u0412\u044b\u043f\u043e\u043b\u043d\u044f\u0435\u043c \u0437\u0430\u043f\u0440\u043e\u0441 SELECT\r\ntry:\r\n select_query = clover_db.select(select='userid', from_table='giveusers', where={'column_name': 'value'})\r\n print(select_query)\r\nexcept CloverDBError as e:\r\n print(e)\r\n\r\n# \u0421\u043e\u0437\u0434\u0430\u0435\u043c \u0442\u0430\u0431\u043b\u0438\u0446\u0443\r\ntry:\r\n create_table_query = clover_db.create_table(table_name='example_table', columns={'id': 'INTEGER PRIMARY KEY', 'name': 'TEXT'})\r\n print(create_table_query)\r\nexcept CloverDBError as e:\r\n print(e)\r\n\r\n# \u0412\u0441\u0442\u0430\u0432\u043b\u044f\u0435\u043c \u0434\u0430\u043d\u043d\u044b\u0435\r\ntry:\r\n insert_query = clover_db.insert(table_name='example_table', values={'id': 1, 'name': 'John Doe'})\r\n print(insert_query)\r\nexcept CloverDBError as e:\r\n print(e)\r\n\r\n# \u041e\u0431\u043d\u043e\u0432\u043b\u044f\u0435\u043c \u0434\u0430\u043d\u043d\u044b\u0435\r\ntry:\r\n update_query = clover_db.update(table_name='example_table', set_values={'name': 'Jane Doe'}, where={'id': 1})\r\n print(update_query)\r\nexcept CloverDBError as e:\r\n print(e)\r\n\r\n# \u0423\u0434\u0430\u043b\u044f\u0435\u043c \u0434\u0430\u043d\u043d\u044b\u0435\r\ntry:\r\n delete_query = clover_db.delete(table_name='example_table', where={'id': 1})\r\n print(delete_query)\r\nexcept CloverDBError as e:\r\n print(e)\r\n\r\n# \u0412\u044b\u043f\u043e\u043b\u043d\u044f\u0435\u043c \u043f\u0440\u043e\u0438\u0437\u0432\u043e\u043b\u044c\u043d\u044b\u0439 \u0437\u0430\u043f\u0440\u043e\u0441\r\ntry:\r\n custom_query_result = clover_db.execute_custom_query(\"SELECT * FROM example_table WHERE age > 20\")\r\n print(custom_query_result)\r\nexcept CloverDBError as e:\r\n print(e)\r\n\r\n# \u0417\u0430\u043a\u0440\u044b\u0432\u0430\u0435\u043c \u0441\u043e\u0435\u0434\u0438\u043d\u0435\u043d\u0438\u0435\r\nclover_db.close()\r\n```\r\n\r\n\r\n",
"bugtrack_url": null,
"license": "",
"summary": "A simple wrapper for working with SQLite in Python",
"version": "0.0.1",
"project_urls": {
"GitHub": "https://github.com/reques6e/CloverDB",
"Homepage": "https://github.com/reques6e/CloverDB"
},
"split_keywords": [
"sqlite",
"sqlite3",
"database",
"wrapper",
"sql"
],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "817689e8bac5afa180e022f739331a6512e0bb09f88df77fd82056b95be78a09",
"md5": "0dda54cb35e083c7121e529185029a54",
"sha256": "ce9a5b2742b96f7d18c4b57094cb02de395f88e6d84ff8f77572054ca159adc7"
},
"downloads": -1,
"filename": "cleverdb-0.0.1-py3-none-any.whl",
"has_sig": false,
"md5_digest": "0dda54cb35e083c7121e529185029a54",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.6",
"size": 4781,
"upload_time": "2024-01-05T08:07:36",
"upload_time_iso_8601": "2024-01-05T08:07:36.256135Z",
"url": "https://files.pythonhosted.org/packages/81/76/89e8bac5afa180e022f739331a6512e0bb09f88df77fd82056b95be78a09/cleverdb-0.0.1-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "502ef80694cdca4beb4a9c51eb95138c6b99d0b2f7f1a8da14f8d231ec03bfbf",
"md5": "7f98588af3274feb7b4d1e2b6539e1b4",
"sha256": "e55e734e90973065f20a3efbfaf2d446c186c63dff97bf9036b9c27a4d0bc517"
},
"downloads": -1,
"filename": "cleverdb-0.0.1.tar.gz",
"has_sig": false,
"md5_digest": "7f98588af3274feb7b4d1e2b6539e1b4",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.6",
"size": 4343,
"upload_time": "2024-01-05T08:07:38",
"upload_time_iso_8601": "2024-01-05T08:07:38.125493Z",
"url": "https://files.pythonhosted.org/packages/50/2e/f80694cdca4beb4a9c51eb95138c6b99d0b2f7f1a8da14f8d231ec03bfbf/cleverdb-0.0.1.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2024-01-05 08:07:38",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "reques6e",
"github_project": "CloverDB",
"travis_ci": false,
"coveralls": false,
"github_actions": false,
"lcname": "cleverdb"
}