A toolkit for automating scientific writing & visualization
Features •
Quick Start •
Docker •
Architecture •
Structure •
Roadmap •
License
⚠️ Science Helper is under active development (v0.1.0). API & UI may change.
| Module | Purpose | Key APIs |
|---|---|---|
| Image Processor | Combines images into PNG or .drawio, adds labels/axes |
ImagesDesign, DrawioImageDesign |
| Journal Parser | Downloads & parses VAK journal lists, filters by specialties and checks white‑list | PDFDownloader, PDFParser, NomenclatureParser, filter_rows_by_specialty |
| NiceGUI UI | Web interface: “Images”, “Parsing”, “Settings” | image_processing_page, analysis_page, settings_page |
- Layouts:
row,column,grid - Labels: Latin/Cyrillic, Arabic/Roman numerals or custom set
- Coordinate axes with adjustable labels/offset
- Export to PNG & Draw.io
- Async download of VAK PDF & white‑list (JSON)
- PDF parsing (no OCR) via regex
- HTML table parsing for specialties
- Journal filtering + Excel export
- Sections REGEX / WEB / Directories
- Optional admin panel (login/password) ⚙️ (in development)
- Buttons “Download journals” & “Download specialties”
git clone https://github.com/<your_username>/science-helper.git
cd science-helper
pip install -r requirements.txt
python main.py # UI → http://localhost:8080Build the image:
docker build -t science-helper .
(Or pull ready‑made: ghcr.io/daniel-robotic/science-helper:latest)
┌─────────────┐
│ NiceGUI UI │──┐
└─────────────┘ │ internal HTTP calls
▼ │
┌───────────────┐│ ┌──────────────────────┐
│ image_processing │────►│ image_processing/ │
└───────────────┘│ └──────────────────────┘
▼ │
┌────────────────┴──────┐
│ search_vak_articles │ (PDF/HTML parsers)
└───────────────────────┘
science-helper/
├─ science_helper/
│ ├─ image_processing/ # ImagesDesign, DrawioImageDesign, enums
│ ├─ search_vak_articles/ # PDFDownloader, PDFParser, ...
│ └─ utils/setting.py
├─ web/
│ ├─ pages/ # NiceGUI pages
│ └─ static/ # logo & favicon
├─ data/ # downloaded PDF/JSON
├─ fonts/
├─ config.ini
├─ requirements.txt
└─ main.py
- Bibliography formatting (plain text)
- Bibliography formatting (via URL)
- Custom diagram DSL with export to
.drawio
PRs & issues are welcome!
Before committing run:
ruff check .
pytest -qMIT © Daniel Grabar, 2025
Набор инструментов для автоматизации оформления научных работ
Возможности •
Быстрый старт •
Docker •
Архитектура •
Структура •
Дорожная карта •
Лицензия
⚠️ Science Helper находится в активной разработке (v0.1.0). API и интерфейс могут меняться.
| Модуль | Что делает | Ключевые API |
|---|---|---|
| Обработчик изображений | Объединяет картинки в PNG или .drawio, добавляет подписи/оси |
ImagesDesign, DrawioImageDesign |
| Парсинг журналов | Скачивает и парсит списки ВАК‑журналов, фильтрует по специальностям и проверяет их в белом списке | PDFDownloader, PDFParser, NomenclatureParser, filter_rows_by_specialty |
| NiceGUI UI | Веб‑интерфейс: «Изображения», «Парсинг», «Настройки» | image_processing_page, analysis_page, settings_page |
- Макеты:
row,column,grid - Подписи: латиница/кириллица, арабские/римские цифры или кастомный набор
- Координатные оси с гибкими подписью/смещением
- Экспорт в PNG и Draw.io
- Асинхронная загрузка PDF‑списка ВАК и «белого списка» (JSON)
- Парсинг PDF (без OCR) по регулярным выражениям
- Парсинг HTML‑таблицы специальностей
- Фильтрация журналов + экспорт в Excel
- Разделы REGEX / WEB / Директории
- Опциональная админ‑панель (логин/пароль) ⚙️ (в разработке)
- Кнопки «Загрузить журналы» и «Загрузить специализации»
git clone https://github.com/<your_username>/science-helper.git
cd science-helper
pip install -r requirements.txt
python main.py # UI → http://localhost:8080Для сборки образа выполните:
docker build -t science-helper .
(Готовый образ: ghcr.io/daniel-robotic/science-helper:latest)
┌─────────────┐
│ NiceGUI UI │──┐
└─────────────┘ │ HTTP / внутренние вызовы
▼ │
┌───────────────┐│ ┌──────────────────────┐
│ image_processing │────►│ image_processing/ │
└───────────────┘│ └──────────────────────┘
▼ │
┌────────────────┴──────┐
│ search_vak_articles │ (PDF/HTML парсеры)
└───────────────────────┘
science-helper/
├─ science_helper/
│ ├─ image_processing/
│ ├─ search_vak_articles/
│ └─ utils/setting.py
├─ web/
│ ├─ pages/
│ └─ static/
├─ data/
├─ fonts/
├─ config.ini
├─ requirements.txt
└─ main.py
- Оформление списка литературы (текстом)
- Оформление списка литературы (по ссылке)
- DSL для диаграмм и блок‑схем с экспортом в
.drawio
PR и issue приветствуются!
ruff check .
pytest -qMIT © Daniel Grabar, 2025
