A convenient utility for developing Elyx projects.
Find a file
Repository files (latest commit first)
Filename Latest commit message Latest commit date
ArThirtyFour b6db590933 fix: loaderStubDynamic UnboundLocalError and independent activation
- Initialize plugin_class_name = None before the BasePlugin search loop
  to prevent UnboundLocalError when no BasePlugin subclass exists.
- Make loaderStubDynamic work independently of loaderStub flag:
  check doLoaderStubDynamic first, then fall back to doLoaderStub.
2026-08-15 20:09:44 +03:00
docs docs: split EN docs into separate files (matching RU structure) 2026-08-14 21:50:52 +03:00
package fix: loaderStubDynamic UnboundLocalError and independent activation 2026-08-15 20:09:44 +03:00
.gitignore snapshot 2026-07-09 13:34:12 +02:00
LICENSE Initial commit 2026-04-30 13:29:53 +03:00
README.md docs: update for fork — package name, obfuscationIgnore, watch typo fix 2026-08-07 22:11:10 +03:00

ElyxBuilder

Fork of shareui/ElyxBuilder — a CLI tool for building ElyxCore plugins.

Changes from upstream

  • Decoupled obfuscationIgnore from compilationIgnore — new config key allows independent control over which files get obfuscated vs compiled. Files in compilationIgnore are now obfuscated as source (not compiled to .pyc).
  • Saves obfuscation mapping after compilation.
  • elyb watch — watch mode for automatic rebuilds on file changes.
  • Building progress — visual progress indicator during build.
  • Fix: runNew() zipformat argumentelyb new -zf now correctly writes the format to config instead of crashing.
  • Fix: typo "Built failed""Build failed" in watch output.
  • Fix: shlex.split() crash on unbalanced quotes in watch args — now shows a clean error instead of a traceback.

Features

  • Scaffolding — generate a ready-to-go plugin structure with a single command
  • AST validation — catch syntax errors before packaging
  • Python 3.11 compilation — ship .pyc instead of source, with incremental cache
  • Flexible ignore lists — fine-grained control over what goes into the archive
  • Encryption — protect your archive with AES-128/192/256 or ZipCrypto (Elyx Supports)

Installation

pip install elyxbuilder-cli -U (--break-system-packages if you on Linux and install global)

Quick start

elyb new "My Plugin" myname
elyb build -c -v

Documentation

Requirements

  • Python >= 3.10
  • Python 3.11 — compilation only
  • pyzipper — encryption only (pip install pyzipper)

License

MIT