Skip to content

GdStepan2/GdPy

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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 и содержит код, структуру и документацию, сгенерированные ИИ. Перед реальным использованием всё нужно проверить вручную.

Overview

GdPy is a custom scripting language project built on top of Python. It uses .gdpy files, a Python interpreter, a Windows installer, example scripts, and helper tools for local installation and maintenance.

The repository includes:

  • a language interpreter in gdpy.py
  • command documentation in COMMANDS.txt
  • example .gdpy programs in examples/
  • batch and PowerShell tooling for install, uninstall, shortcuts, and file associations
  • a standalone Windows installer in installer-release/GdPyInstaller.exe

Project Goals

The project is designed to provide:

  • a simple custom language syntax
  • script execution through .gdpy files
  • a Windows-focused local installation workflow
  • a standalone installer that already contains the project payload
  • update checking through GitHub Releases

Current Repository Structure

Main files:

  • gdpy.py - the interpreter
  • COMMANDS.txt - command reference
  • VERSION.txt - project version
  • README.md - English documentation
  • README.ru.md - Russian documentation
  • install.bat - console installer
  • uninstall.bat - console uninstaller
  • run_gdpy.bat - run .gdpy scripts from the source folder
  • open_source.bat - open the source code quickly
  • build_installer_exe.bat - build the standalone installer

Important folders:

  • examples/ - example .gdpy scripts
  • tools/ - PowerShell helper scripts
  • installer-exe/ - standalone installer source
  • installer-release/ - final standalone installer output

Main Features

Language-level features:

  • variables and expressions
  • console output with say
  • conditions with if, elif, else
  • loops with while and for
  • list, string, JSON, and file operations
  • import-like feature switches such as import python, import rights, import error
  • direct Python execution when Python mode is enabled

Windows integration features:

  • .gdpy file association
  • desktop shortcut creation
  • standalone installer with embedded payload
  • repair/update mode
  • uninstall mode
  • GitHub release update check

Running Scripts

Run directly from Python:

python gdpy.py example.gdpy

Run through the helper batch file:

run_gdpy.bat example.gdpy

Run a file by double-click after installation:

  • install GdPy
  • double-click a .gdpy file if file association was registered successfully

Example Syntax

Basic output:

say "Hello from GdPy"

Variables and expressions:

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

Conditions:

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

Loops:

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

Import modes:

import python
import error
import rights

Installer Behavior

The standalone installer:

  • uses a fixed install path: %LOCALAPPDATA%\GdPy
  • provides three actions:
    • Install program
    • Repair or update program
    • Remove program
  • extracts the project payload from inside the EXE
  • runs install.bat after extraction
  • supports uninstall through the installed uninstall.bat

The final standalone installer file is:

installer-release\GdPyInstaller.exe

Update Checking

The installer checks GitHub Releases here:

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

It uses the latest release endpoint internally and compares versions numerically.

Examples of valid upgrade detection:

  • 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 data is stored in:

VERSION.txt

Building the Standalone Installer

Use:

build_installer_exe.bat

This build process:

  1. collects the payload files listed in installer-exe/payload_manifest.txt
  2. compresses them into an embedded payload archive
  3. compiles the installer EXE
  4. writes the result into installer-release/

Installation from Source

Console install:

install.bat

Console uninstall:

uninstall.bat

GUI launcher:

install_gui.bat

VBS launcher:

GdPy Installer.vbs

Uninstall Behavior

The uninstall flow currently:

  • removes Windows integration
  • removes .venv if it exists
  • removes Python cache directories
  • schedules deletion of the installed root folder when uninstall is launched from the standard installed location

Documentation Files

  • README.md - English version
  • README.ru.md - Russian version
  • COMMANDS.txt - command list
  • INSTALL.txt - installer notes

Known Limitations

  • the project is Windows-oriented in several installer-related parts
  • some script features are intentionally experimental
  • direct Python execution is powerful but should be treated carefully
  • system integration depends on the local environment and permissions
  • update checking depends on GitHub availability

Safety Note

Because the project includes:

  • direct Python execution
  • process control
  • file operations
  • optional admin-rights logic

you should review scripts before running them on a real machine.

License / Ownership Note

No license file is currently defined in this repository snapshot. If you want public distribution, add an explicit license file.

Quick Start

  1. Open installer-release/GdPyInstaller.exe
  2. Install to the fixed path
  3. Run example.gdpy
  4. Check examples/ for more scripts
  5. Read COMMANDS.txt for supported syntax