eudplib : EUD python library
eudplib is a StarCraft Use Map Setting(UMS) map tool library for Python programming language.
Fork of https://github.com/phu54321/eudplib
For easy-to-use executable, see https://github.com/armoha/euddraft/releases
Features
- Support opening (unprotected) map and extracting scenario.chk data
- Powerful trigger scripting
- Edit input map to compile output EUD map
epScript, scripting language for StarCraft Trigger similar to JavaScript
Where is the issue tracker?
The eudplib issue tracker lives in euddraft repository.
Since euddraft is standalone distribution for Python, eudplib, freeze map protector and epTrace line profiler, it's convenient to use a single issue tracker for both.
Building from source
eudplib has two native components:
- the
_rustPython extension (eudplib.bindings._rust), built fromsrc/rustwith maturin duringpip install. - the
epScriptcompiler shared library (libepScriptLib), a C++ library loaded throughctypesat runtime under the platform-specific name (libepScriptLib.soon Linux,libepScriptLib.dylibon macOS,libepScriptLib.dllon Windows).
pip install . (and pip install -e .) build libepScriptLib automatically through a
custom PEP 517 backend, so no extra steps are needed to install or develop the package.
The steps below build the library manually, e.g. when using maturin develop
directly (which bypasses the PEP 517 backend).
Prerequisites
- Python >= 3.10
- Rust toolchain (for the
_rustextension) - CMake >= 3.6 and a C++ compiler (MSVC on Windows, g++ on Linux, clang on macOS)
- Python development headers, needed to configure the
pyepScriptpybind11 binding (e.g.python3-devon Debian/Ubuntu; already available on the GitHub Actions runners)
The parser parser/epparser.cpp is generated by lemon2 (committed as lemon2.exe on Windows); on other platforms it must be compiled from lemon2.c first. Alternatively, run python src/epscript/build_epscript.py, which does all of the following steps.
Build libepScriptLib
Linux / macOS
git clone https://github.com/armoha/eudplib --recursive
cd eudplib/src/epscript
cc -std=gnu89 -O2 -o lemon2 lemon2.c # parser generator (not needed on Windows)
cmake -S . -B build -DCMAKE_BUILD_TYPE=Release
cmake --build build --target epScriptLib
cp build/libepScriptLib.so ../eudplib/epscript/ # Linux
# cp build/libepScriptLib.dylib ../eudplib/epscript/ # macOS
Windows
git clone https://github.com/armoha/eudplib --recursive
cd eudplib\src\epscript
cmake -S . -B build -A x64
cmake --build build --target epScriptLib --config Release
copy build\Release\epScriptLib.dll ..\eudplib\epscript\libepScriptLib.dll
Note: the CMake target is named epScriptLib, so on Windows the produced file is epScriptLib.dll; it must be renamed to libepScriptLib.dll to match what eudplib.epscript.epscompile loads.
Install the package
pip install .
For development, install in editable mode instead:
pip install -e .
Metadata
Release files for eudplib 0.81.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| eudplib-0.81.0.tar.gz | 3.9 MB | Details |
Built distributions (wheels)
Total release size: 23.3 MB
Release files / eudplib-0.81.0.tar.gz
| Download URL | eudplib-0.81.0.tar.gz |
|---|---|
| Size | 3.9 MB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
b707d3e8c60d31f0898a1ebae5242b4dc1e900aee77da58cd503259dad26b6d4
|
|
BLAKE2b-256 checksum How to use checksums |
f56362cae3c6dc7ee96ebbd976e4e6bbceeee4086646665e0590c9000931fcc6
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Release files / eudplib-0.81.0-cp314-cp314t-win_amd64.whl
| Download URL | eudplib-0.81.0-cp314-cp314t-win_amd64.whl |
|---|---|
| Size | 2.1 MB |
| Tags | CPython 3.14 CPython 3.14 free-threading Windows x86-64 |
|
SHA-256 checksum How to use checksums |
753cdec730853b5e42c9867f5f1856bb0a2507ef84ff57e554ca817cc6181327
|
|
BLAKE2b-256 checksum How to use checksums |
99feeead41e628b08bdf127d090b4484fbfe0aaab3eaf135c07b5b2b7e7fde04
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Release files / eudplib-0.81.0-cp314-cp314t-manylinux_2_39_x86_64.whl
| Download URL | eudplib-0.81.0-cp314-cp314t-manylinux_2_39_x86_64.whl |
|---|---|
| Size | 1.7 MB |
| Tags | CPython 3.14 CPython 3.14 free-threading Linux glibc 2.39+ x86-64 |
|
SHA-256 checksum How to use checksums |
5b04bb4425e6f55bf00460c9698a56968c7a74204df18470a5e51b12f8f48eaa
|
|
BLAKE2b-256 checksum How to use checksums |
6fa2d0a2c063a0086a5427e80c158abbd629f363b22c61fa10f9e42b15f0c118
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Release files / eudplib-0.81.0-cp314-cp314t-macosx_11_0_arm64.whl
| Download URL | eudplib-0.81.0-cp314-cp314t-macosx_11_0_arm64.whl |
|---|---|
| Size | 1.5 MB |
| Tags | CPython 3.14 CPython 3.14 free-threading macOS 11.0+ ARM64 |
|
SHA-256 checksum How to use checksums |
06b73f6f154022657fe185bc170dcdf2a4ff2eee2349c8c05dbb36f894d4cc9a
|
|
BLAKE2b-256 checksum How to use checksums |
cd8d6336d2d99e442a815ad8faf924f53386cf3734a72ade0058eb99f74de528
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Release files / eudplib-0.81.0-cp311-abi3-win_amd64.whl
| Download URL | eudplib-0.81.0-cp311-abi3-win_amd64.whl |
|---|---|
| Size | 2.1 MB |
| Tags | CPython 3.11 Windows x86-64 abi3 |
|
SHA-256 checksum How to use checksums |
57f298157447798683b4edf11e00b81aaa58a427f9f1ed597e7b97d36fa064f8
|
|
BLAKE2b-256 checksum How to use checksums |
aca06940644afd2a8dbe2f1a8181206bcee35193a3c363a518cfb2b3726d8fbc
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Release files / eudplib-0.81.0-cp311-abi3-manylinux_2_39_x86_64.whl
| Download URL | eudplib-0.81.0-cp311-abi3-manylinux_2_39_x86_64.whl |
|---|---|
| Size | 1.7 MB |
| Tags | CPython 3.11 Linux glibc 2.39+ x86-64 abi3 |
|
SHA-256 checksum How to use checksums |
22fbe72c304119be319afa15d066064926c885ec671f56bb1eaac7058ced470b
|
|
BLAKE2b-256 checksum How to use checksums |
7e8df21da107c757133b76dbb422c8784c1c4c94ced77198e2e3f040ec3b6818
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Release files / eudplib-0.81.0-cp311-abi3-manylinux_2_39_aarch64.whl
| Download URL | eudplib-0.81.0-cp311-abi3-manylinux_2_39_aarch64.whl |
|---|---|
| Size | 1.7 MB |
| Tags | CPython 3.11 Linux glibc 2.39+ ARM64 abi3 |
|
SHA-256 checksum How to use checksums |
d62f98eed9a43b5ada048937a9ee65f7ac2abf25c257a24be3ea42cbf7c4198a
|
|
BLAKE2b-256 checksum How to use checksums |
9df215a8ce5e79b0873019d9b95bd4c7f504d095c2a6b62f32ab463458b95a97
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Release files / eudplib-0.81.0-cp311-abi3-macosx_11_0_arm64.whl
| Download URL | eudplib-0.81.0-cp311-abi3-macosx_11_0_arm64.whl |
|---|---|
| Size | 1.5 MB |
| Tags | CPython 3.11 abi3 macOS 11.0+ ARM64 |
|
SHA-256 checksum How to use checksums |
ac355da25a83fc2aeec474a5b4dce009f2f0dcc680447894de2c99f5128e67f9
|
|
BLAKE2b-256 checksum How to use checksums |
d66d73e3e0b1e4da4981733230bd6f24829f87d7b4b07e76c681c755c6d3c7f5
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Release files / eudplib-0.81.0-cp310-abi3-win_amd64.whl
| Download URL | eudplib-0.81.0-cp310-abi3-win_amd64.whl |
|---|---|
| Size | 2.1 MB |
| Tags | CPython 3.10 Windows x86-64 abi3 |
|
SHA-256 checksum How to use checksums |
b3e0875ba09991e8c252e93f01514c5655ec72b5c3cec259c398c7a19803de5e
|
|
BLAKE2b-256 checksum How to use checksums |
d93bad17dd9e5801468decda5d803a3a0fced6cba1b13bc197829330b15e1fc9
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Release files / eudplib-0.81.0-cp310-abi3-manylinux_2_39_x86_64.whl
| Download URL | eudplib-0.81.0-cp310-abi3-manylinux_2_39_x86_64.whl |
|---|---|
| Size | 1.7 MB |
| Tags | CPython 3.10 Linux glibc 2.39+ x86-64 abi3 |
|
SHA-256 checksum How to use checksums |
370737339bf1d91a8849a402989df938e2961180e24b3146ad8ba7b24d3f63ec
|
|
BLAKE2b-256 checksum How to use checksums |
0c904828e37950876ec6580bfbda2eecdf897ddfaec229935a758e303e786d77
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Release files / eudplib-0.81.0-cp310-abi3-manylinux_2_39_aarch64.whl
| Download URL | eudplib-0.81.0-cp310-abi3-manylinux_2_39_aarch64.whl |
|---|---|
| Size | 1.7 MB |
| Tags | CPython 3.10 Linux glibc 2.39+ ARM64 abi3 |
|
SHA-256 checksum How to use checksums |
4a4f61cd881e25ca844bdc4f0aa75ad2efcc745d867ded12967bd1959f29dab0
|
|
BLAKE2b-256 checksum How to use checksums |
cc68d8ac7d78343f28eec00124c45eec925276feca324ff46e44172ee9ccbfcd
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Release files / eudplib-0.81.0-cp310-abi3-macosx_11_0_arm64.whl
| Download URL | eudplib-0.81.0-cp310-abi3-macosx_11_0_arm64.whl |
|---|---|
| Size | 1.5 MB |
| Tags | CPython 3.10 abi3 macOS 11.0+ ARM64 |
|
SHA-256 checksum How to use checksums |
8050922a6c292ad17d507fa100703b3d2c1126424e4dcc66a20a7b62124e130a
|
|
BLAKE2b-256 checksum How to use checksums |
148708f81c640f582117d057b63186ec2c00f92f98fd1a5c9db4f3abcfc96677
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|