Skip to content

Latest commit

 

History

History
269 lines (191 loc) · 8.89 KB

File metadata and controls

269 lines (191 loc) · 8.89 KB

GdPy

Warning (English): This project was created with the help of ChatGPT and contains AI-generated code, structure, and documentation. Review everything before using it in production.

Предупреждение (Русский): Этот проект был создан с помощью ChatGPT и содержит код, структуру и документацию, сгенерированные ИИ. Перед реальным использованием всё нужно проверить вручную.

Обзор проекта

GdPy это пользовательский язык сценариев, построенный поверх Python. В проекте используются файлы .gdpy, интерпретатор на Python, Windows-установщик, примеры скриптов и вспомогательные инструменты для локальной установки и обслуживания.

В репозитории есть:

  • интерпретатор языка в gdpy.py
  • документация по командам в COMMANDS.txt
  • примеры .gdpy-скриптов в examples/
  • batch и PowerShell-скрипты для установки, удаления, ярлыков и ассоциаций файлов
  • автономный Windows-установщик в installer-release/GdPyInstaller.exe

Цели проекта

Проект сделан для того, чтобы дать:

  • простой пользовательский синтаксис
  • запуск сценариев через .gdpy
  • удобную установку под Windows
  • автономный установщик, в котором уже лежат нужные файлы проекта
  • проверку обновлений через GitHub Releases

Структура репозитория

Основные файлы:

  • gdpy.py - интерпретатор
  • COMMANDS.txt - справка по командам
  • VERSION.txt - версия проекта
  • README.md - английская документация
  • README.ru.md - русская документация
  • install.bat - консольная установка
  • uninstall.bat - консольное удаление
  • run_gdpy.bat - запуск .gdpy-скриптов из исходников
  • open_source.bat - быстрое открытие исходников
  • build_installer_exe.bat - сборка standalone-установщика

Основные папки:

  • examples/ - примеры .gdpy-скриптов
  • tools/ - вспомогательные PowerShell-скрипты
  • installer-exe/ - исходники standalone-установщика
  • installer-release/ - итоговая папка с готовым установщиком

Основные возможности

Возможности языка:

  • переменные и выражения
  • вывод в консоль через say
  • условия if, elif, else
  • циклы while и for
  • работа со строками, списками, JSON и файлами
  • специальные режимы через import python, import rights, import error
  • выполнение прямого Python-кода при включённом Python-режиме

Возможности Windows-интеграции:

  • ассоциация .gdpy-файлов
  • создание ярлыков на рабочем столе
  • standalone-установщик со встроенным payload
  • режим исправления или обновления
  • режим удаления
  • проверка обновлений по GitHub Releases

Запуск скриптов

Запуск напрямую через Python:

python gdpy.py example.gdpy

Запуск через вспомогательный batch-файл:

run_gdpy.bat example.gdpy

Запуск двойным кликом после установки:

  • установи GdPy
  • дважды кликни по .gdpy-файлу, если ассоциация зарегистрировалась успешно

Пример синтаксиса

Базовый вывод:

say "Hello from GdPy"

Переменные и выражения:

set a = 2
set b = 3
set total = a + b
say total

Условия:

if total > 3:
    say "big"
elif total == 3:
    say "equal"
else:
    say "small"
endif

Циклы:

set count = 3
while count > 0
    say count
    sub count 1
endwhile

Специальные режимы:

import python
import error
import rights

Поведение установщика

Standalone-установщик:

  • использует фиксированный путь установки: %LOCALAPPDATA%\GdPy
  • поддерживает три действия:
    • Install program
    • Repair or update program
    • Remove program
  • распаковывает проект из payload, встроенного внутрь EXE
  • после распаковки запускает install.bat
  • для удаления использует установленный uninstall.bat

Главный файл standalone-установщика:

installer-release\GdPyInstaller.exe

Проверка обновлений

Установщик проверяет обновления здесь:

https://github.com/GdStepan2/GdPy/releases

Внутри используется GitHub API для получения latest release, после чего версии сравниваются по числовым сегментам.

Примеры корректного определения обновления:

  • 1.0 -> 1.0.1
  • 1.0 -> 1.1
  • 1.0 -> 2.0
  • 1.0.9 -> 1.1.0
  • 1.9.9 -> 2.0.0

Текущая версия проекта хранится в:

VERSION.txt

Сборка standalone-установщика

Используй:

build_installer_exe.bat

Во время сборки:

  1. собирается список файлов из installer-exe/payload_manifest.txt
  2. файлы архивируются во встроенный payload
  3. компилируется EXE установщика
  4. готовый результат кладётся в installer-release/

Установка из исходников

Консольная установка:

install.bat

Консольное удаление:

uninstall.bat

GUI-запускатель:

install_gui.bat

VBS-запускатель:

GdPy Installer.vbs

Поведение удаления

Текущий сценарий удаления:

  • снимает Windows-интеграцию
  • удаляет .venv, если она есть
  • удаляет Python-кэши
  • планирует удаление корневой папки установки, если удаление запущено из стандартного пути установки

Документация

  • README.md - английская версия
  • README.ru.md - русская версия
  • COMMANDS.txt - список команд
  • INSTALL.txt - заметки по установке

Известные ограничения

  • проект ориентирован на Windows в части установщика и интеграции
  • часть возможностей языка остаётся экспериментальной
  • прямое выполнение Python-кода очень мощное, но требует аккуратности
  • системная интеграция зависит от среды и прав пользователя
  • проверка обновлений зависит от доступности GitHub

Важное замечание по безопасности

Так как проект поддерживает:

  • прямой Python-код
  • управление процессами
  • файловые операции
  • логику с правами администратора

перед запуском на реальной машине лучше проверять скрипты вручную.

Замечание по лицензии

В текущем снимке репозитория отдельный LICENSE-файл не добавлен. Если проект будет распространяться публично, лучше явно выбрать лицензию.

Быстрый старт

  1. Открой installer-release/GdPyInstaller.exe
  2. Установи программу в фиксированный путь
  3. Запусти example.gdpy
  4. Посмотри дополнительные скрипты в examples/
  5. Открой COMMANDS.txt для справки по синтаксису