2026-04-20 16:12:23 +03:00
2026-04-20 16:12:23 +03:00
2025-03-16 21:32:50 +03:00
2025-03-17 19:35:50 +03:00
2026-04-20 16:12:23 +03:00
2025-04-14 22:20:31 +03:00
2026-04-20 16:12:23 +03:00
2026-04-20 16:12:23 +03:00

Пример приложения для работы с БД

Небольшое десктоп-приложение на PyQt5 для работы с PostgreSQL, Neo4j, Apache AGE, InfluxDB 3 Core и MongoDB.

Стек

  • PyQt5 — графический интерфейс
  • PostgreSQL (psycopg2) — реляционная БД для пользователей
  • Neo4j — графовая БД
  • Apache AGE — графовая БД в рамках PostgreSQL
  • InfluxDB 3 Core — БД временных рядов
  • MongoDB (pymongo) — документ-ориентированная БД

Скриншоты

PostgreSQL:

form.png

Neo4j:

neo_form.png

Требования

  • Python 3.10+
  • Установленный PostgreSQL и доступ к серверу БД
  • Установленный Neo4j и загруженный обучающий граф фильмов (Movie Graph example)
  • Для Apache AGE: установленное расширение age в PostgreSQL и доступ к базе, где оно включено
  • Для InfluxDB 3 Core: запущенный сервер, заранее созданная база и токен с правами на запись и чтение
  • Для MongoDB: запущенный MongoDB сервер и доступ к целевой базе

Настройка окружения

  1. Переименовать файл примера переменных окружения .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
  1. Создайте и активируйте виртуальное окружение:

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
  1. Установите зависимости:
pip install -r requirements.txt

Запуск приложения

В активированном виртуальном окружении выполните:

py main.py

Для PostgreSQL, Neo4j, Apache AGE, InfluxDB 3 Core и MongoDB запросы выполняются только при *_ACTIVE=true.

S
Description
Приложение на PyQt5 для работы с PostgreSQL, Neo4j, Apache AGE, InfluxDB 3 Core, MongoDB и Redis
Readme 100 KiB
Languages
Python 100%