Thanks to visit codestin.com
Credit goes to github.com

Skip to content

YPSH-DGC/YPSH

Repository files navigation

YPSH Header Black v26

Important

I am developing various projects, and since I manage, maintain, and update all of them myself, there may be times when I can't attend to each project individually. For example, large-scale projects like Zeta-LLM are very difficult to develop. PyYPSH is also a challenging project, as it implements a custom programming language using ASTs, which is quite advanced. If you would like to report bugs or suggest new features for my projects, I would greatly appreciate it if you could use pull requests and make them ready to merge, if possible. Also, if someone else has already created an issue, I would be thankful if you could create a pull request that immediately addresses the problem, if you're able to. (This message is displayed in some repositories created by Nercone. Translated by GPT-4o.)


YPSH - Your route of Programming is Starting from Here

PyYPSH is one of the official implementations of the YPSH programming language.

It is being developed by DiamondGotCat (hereafter referred to as the creator) alone and is available on GitHub under the MIT license.

About the YPSH Language

The creation of the YPSH language was prompted by a problem the creator was struggling with.

The creator, who uses Python, Swift, PHP, etc. (primarily Python), noticed that certain language-specific issues, such as Python's indentation and PHP's ;, were inherently inconvenient, leading him to wonder, "Isn't it possible to combine the best parts of various languages?"

This is why PyYPSH has such strong integration with the Python interpreter. Python has a large number of libraries, so it's only natural that you'd want to use them in your own language.

The PyYPSH interpreter offers features that are only possible because it's based on Python, such as direct import of Python libraries.

Requirements

  • CPython (Behavior on other Python implementations has not been tested)
  • pip/uv, rich, ulid-py, zstandard (for NABS)
  • psutil, prompt_toolkit, rich, python‑dotenv (for PyYPSH Runtime)
  • pyside6, requests (for PyYPSH Setup)

Supported Python Versions (Based on PyYPSH Runtime dependencies):

Status Reason
3.6 Unsupported Union type, rich, and python-dotenv are not supported.
3.7 Unsupported Union type, rich, and python-dotenv are not supported.
3.8 Unsupported Union type and python-dotenv are not supported.
3.9 Unsupported Union type are not supported.
3.10 Supported psutil ≥3.6, prompt_toolkit ≥3.6, rich ≥3.8, python‑dotenv ≥3.9 are met and PEP604 is available.
3.11 Recommended Same as above
3.12 Recommended Same as above
3.13 Supported Same as above
3.14+ Maybe Some libraries do not report support for this Python version.

About Windows 11

Windows 11 has recently caused many issues, and I do not believe that PyYPSH will continue to function properly. It might work, but I will not address any issues that arise on Windows 11 in the future.

Building PyYPSH

NABS (Nercone Automatic Building System)

Pre-built Executables

PyYPSH uses GitHub Actions to automatically run NABS after each release.
Thanks to this, in most environments you won't need to build it manually. However, in some environments, certain features may not function properly.
If you want to ensure everything works reliably, please refer to the "Manual Building on Your Env" section and build it in the environment where you plan to use it—or in an identical environment.
The pre-built executables can be downloaded from GitHub's Release tab or from the Download the PyYPSH page.

Build status of the pre-built executables:

You can see the pre-build status of PyYPSH Runtime here, and PyYPSH Setup here.

Verification results of the pre-built executables:

macOS Windows Linux
PyInstaller Runtime x86_64 Not Tested Works properly Works properly
aarch64 Works properly Not Tested Not Tested
Setup x86_64 Not Tested Works properly Works properly
aarch64 Works properly Not Tested Not Tested
Nuitka Runtime x86_64 Not Tested Works properly Works properly
aarch64 Works properly Not Tested Not Tested
Setup x86_64 Not Tested GUI does not work Not tested
aarch64 GUI does not work Not Tested Not tested

Building on Your Env

If you want to run and build NABS locally, follow these steps:

  1. Install Python. (See Supported Python Versions Section to Check supported Python's version.)
  2. Create and activate a Python virtual environment (using pyenv, venv, uv, anaconda, miniconda, etc.). Since NABS installs dependencies automatically, do this if you want to build in a different environment.
  3. Prepare a configuration file (used by the configurator.py` to configure PyYPSH). If not provided, defaults will be applied.
  4. Install rich and ulid-py (using pip, uv, or any other package manager that supports PyPI).
  5. Run the configurator.py. (You can specify the config file using the -c option.)
  6. Run nabs.py (with -m pyinstaller or -m nuitka). (You can set the output filepath using the -o option.)

PyInstaller vs Nuitka

Both PyInstaller and Nuitka are tools for distributing Python scripts as executable files, but they work in completely different ways. PyInstaller bundles Python scripts with the Python interpreter and all required modules into a single executable, ensuring full compatibility. Nuitka translates Python code into C code that uses the CPython C API to execute Python semantics at the C level. Nuitka supports almost all Python syntax and standard libraries, though a few highly dynamic features may have limited support. Because Nuitka compiles Python code into C and then into machine code, it can run faster than PyInstaller-based executables. If compatibility is important, use PyInstaller; if speed is important, use Nuitka.

DGC-AutoBuild

Previously, Used "DGC-AutoBuild," an automated build system that utilizes GitHub Actions.

Versions:

  • V1: 1st version, PyInstaller, 3 platforms
  • V2: 2nd version, Nuitka, 4 platforms
  • V3: 3rd version, Nuitka, 6 platforms
  • V4 (Last): 4th version, PyInstaller, 6 platforms
  • V4.5: 5th version, PyInstaller, 6 platforms, 1 experimental platforms (Reverted to V4 partway through)

Contributions

YPSH is under active development on GitHub.

If you need a feature or fix, please open an issue or make your own changes and submit a pull request.

Your contributions are welcome.


Ask DeepWiki DGC-AutoBuild (YPSH) DGC-AutoBuild (YPSH Setup)

Translated by LLM/Translation Services

Some texts have been translated from ja-JP using LLM or translation services.

About

A programming language with a simple and intuitive syntax

Resources

License

Stars

Watchers

Forks

Contributors 2

  •  
  •  

Languages