An open API service indexing awesome lists of open source software.

https://github.com/gigorgu/2w

графический редактор для визуальной работы с JSON-структурами
https://github.com/gigorgu/2w

gui json pyqt5 python python3

Last synced: 6 months ago
JSON representation

графический редактор для визуальной работы с JSON-структурами

Awesome Lists containing this project

README

          

### Molybdenum: JSON Tree Editor

---

**Molybdenum** — это мощный и удобный графический редактор для визуальной работы с JSON-структурами. Программа позволяет интерактивно редактировать древовидные структуры данных, добавлять новые элементы, сохранять и загружать JSON-файлы, а также управлять различными типами данных (текст, число, массивы, объекты и пр.).

Проект написан на Python с использованием фреймворка **PyQt5**, который обеспечивает полноценный графический интерфейс. Также проект легко собирается в автономный исполняемый файл с помощью **PyInstaller**, что делает его удобным для использования на разных платформах.

---

## Основные функции

- **Интерактивное редактирование JSON**: Добавляйте, редактируйте и удаляйте элементы JSON с простым интерфейсом.
- **Поддержка разных типов данных**: Строки, числа, булевые значения, объекты и массивы.
- **Контекстное меню** для быстрого доступа к основным операциям.
- **Сохранение и загрузка JSON файлов**: Легко сохраняйте и открывайте файлы в JSON формате.
- **Автономный режим**: Приложение может быть собрано в один исполняемый файл для Windows, что позволяет использовать его без установки Python и зависимостей.

---

## Технологии

- **Python 3.9+**
- **PyQt5** — для создания графического интерфейса пользователя.
- **PyInstaller** — для сборки проекта в автономный исполняемый файл.
- **JSON** — для работы с древовидными структурами данных.

---

## Как собрать проект (Open Source Build Instructions)

1. **Клонируйте репозиторий**:

```bash
git clone https://github.com/Gigorgu/2w.git
cd molybdenum
```

2. **Установите зависимости**:

Виртуальное окружение (опционально, но рекомендуется):
```bash
python -m venv .venv
source .venv/bin/activate # Linux/Mac
.venv\Scripts\activate # Windows
```

Установка зависимостей:
```bash
pip install -r requirements.txt
```

Зависимости включают:
- `PyQt5` — основной фреймворк для создания GUI.
- `PyInstaller` — для сборки проекта в исполняемый файл.

3. **Запуск проекта (в режиме разработки)**:

После установки всех зависимостей, вы можете запустить редактор напрямую:

```bash
python molybdenum.py
```

4. **Сборка исполняемого файла**:

Для создания standalone `.exe` файла (или соответствующего файла для другой платформы), выполните следующие шаги:

1. Убедитесь, что у вас установлен **PyInstaller**:
```bash
pip install pyinstaller
```

2. Создайте исполняемый файл:
```bash
pyinstaller --onefile --noconsole --icon=molybdenum/molybdenum.ico molybdenum.spec
```

Это создаст исполняемый файл в папке `dist/`, который можно запускать без установки Python и зависимостей.

5. **Подключение встроенных ресурсов**:

В проект встроены такие ресурсы, как иконки и изображения. Если эти файлы отсутствуют в папке рядом с исполняемым файлом, они будут загружены из встроенного архива благодаря механизму PyInstaller. Это обеспечивает гибкость и независимость программы.

---

## Структура проекта

```
molybdenum/

├── molybdenum.py # Основной код приложения
├── README.md # Текущее руководство
├── requirements.txt # Список зависимостей
├── molybdenum/ # Папка с ресурсами
│ ├── molybdenum.ico # Иконка приложения
│ └── molybdenum.png # Изображение для GUI
```

---

## Вклад и развитие

Проект **Molybdenum** открыт для вкладов! Если у вас есть идеи по улучшению функционала или вы нашли баги, не стесняйтесь создавать **pull requests** или **issues**.

### Как внести вклад:

1. Форкните репозиторий.
2. Создайте ветку для новой функциональности или исправления:
```bash
git checkout -b new-feature
```
3. Сделайте коммит с вашими изменениями:
```bash
git commit -m "Добавил новую фичу"
```
4. Пушьте изменения в свою ветку:
```bash
git push origin new-feature
```
5. Откройте **pull request** и опишите ваши изменения.

---

## Лицензия

Проект распространяется под лицензией MIT, что означает, что вы можете свободно использовать, изменять и распространять его с соблюдением условий лицензии.

---