f4146ea1675e1904a14a473c9b1b7f5e5dfa622e
Пример приложения для работы с БД
Небольшое десктоп-приложение на PyQt5 для работы с PostgreSQL, Neo4j, Apache AGE, InfluxDB 3 Core, MongoDB и Redis.
Стек
- PyQt5 — графический интерфейс
- PostgreSQL (psycopg2) — реляционная БД для пользователей
- Neo4j — графовая БД
- Apache AGE — графовая БД в рамках PostgreSQL
- InfluxDB 3 Core — БД временных рядов
- MongoDB (pymongo) — документ-ориентированная БД
- Redis (redis-py) — in-memory key-value БД
Скриншоты
PostgreSQL:
Neo4j:
Требования
- Python 3.10+
- Установленный PostgreSQL и доступ к серверу БД
- Установленный Neo4j и загруженный обучающий граф фильмов (Movie Graph example)
- Для Apache AGE: установленное расширение
ageв PostgreSQL и доступ к базе, где оно включено - Для InfluxDB 3 Core: запущенный сервер, заранее созданная база и токен с правами на запись и чтение
- Для MongoDB: запущенный MongoDB сервер и доступ к целевой базе
- Для Redis: запущенный Redis сервер и доступ к нему
Настройка окружения
-
Переименовать файл примера переменных окружения
.env_exampleв.env:Затем откройте
.envи при необходимости измените значения:
POSTGRES_ACTIVE=false # включить PostgreSQL-часть приложения, установив true
POSTGRES_USER=postgres
POSTGRES_DB=university
POSTGRES_PASS=your_password
POSTGRES_HOST=localhost
POSTGRES_PORT=5432
NEO_ACTIVE=false # включить Neo4j-часть приложения, установив true
NEO_USER=neo4j
NEO_PASS=your_password
NEO_HOST=neo4j://localhost:7687
AGE_ACTIVE=false # включить Apache AGE, установив true
AGE_USER=postgres
AGE_PASS=your_password
AGE_HOST=localhost
AGE_PORT=5432
AGE_DB=university
AGE_GRAPH_NAME=movie_graph
INFLUX_ACTIVE=false # включить InfluxDB 3 Core, установив true
INFLUXDB3_HOST=http://localhost:8181
INFLUXDB3_AUTH_TOKEN=your_token
INFLUXDB3_DATABASE=sensors
MONGO_ACTIVE=false # включить MongoDB, установив true
MONGO_URI=mongodb://localhost:27017
MONGO_DB=movie_data
MONGO_COLLECTION=movies
REDIS_ACTIVE=false # включить Redis, установив true
REDIS_HOST=localhost
REDIS_PORT=6379
REDIS_DB=0
REDIS_PASS=
- Создайте и активируйте виртуальное окружение:
Windows, PowerShell:
cd C:\Users\Litoq\Documents\Projects\db_example_app
py -m venv .venv
.\.venv\Scripts\Activate.ps1
Linux, bash:
cd ~/Projects/db_example_app
python3 -m venv .venv
source .venv/bin/activate
- Установите зависимости:
pip install -r requirements.txt
Запуск приложения
В активированном виртуальном окружении выполните:
py main.py
Для PostgreSQL, Neo4j, Apache AGE, InfluxDB 3 Core, MongoDB и Redis запросы выполняются только при *_ACTIVE=true.
Description
Приложение на PyQt5 для работы с PostgreSQL, Neo4j, Apache AGE, InfluxDB 3 Core, MongoDB и Redis
Languages
Python
100%

