VertexEngine-CLI 1.0.1__tar.gz → 1.2rc1__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {vertexengine_cli-1.0.1/src/VertexEngine_CLI.egg-info → vertexengine_cli-1.2rc1}/PKG-INFO +6 -1
- {vertexengine_cli-1.0.1 → vertexengine_cli-1.2rc1}/README.md +5 -0
- {vertexengine_cli-1.0.1 → vertexengine_cli-1.2rc1}/pyproject.toml +7 -5
- {vertexengine_cli-1.0.1 → vertexengine_cli-1.2rc1/src/VertexEngine_CLI.egg-info}/PKG-INFO +6 -1
- {vertexengine_cli-1.0.1 → vertexengine_cli-1.2rc1}/src/VertexEngine_CLI.egg-info/SOURCES.txt +1 -0
- vertexengine_cli-1.2rc1/src/VertexEngine_CLI.egg-info/entry_points.txt +2 -0
- vertexengine_cli-1.2rc1/src/vertex/__main__.py +120 -0
- {vertexengine_cli-1.0.1 → vertexengine_cli-1.2rc1}/src/vertex/templates.py +1 -1
- vertexengine_cli-1.0.1/src/vertex/__main__.py +0 -68
- {vertexengine_cli-1.0.1 → vertexengine_cli-1.2rc1}/LICENSE +0 -0
- {vertexengine_cli-1.0.1 → vertexengine_cli-1.2rc1}/setup.cfg +0 -0
- {vertexengine_cli-1.0.1 → vertexengine_cli-1.2rc1}/src/VertexEngine_CLI.egg-info/dependency_links.txt +0 -0
- {vertexengine_cli-1.0.1 → vertexengine_cli-1.2rc1}/src/VertexEngine_CLI.egg-info/requires.txt +0 -0
- {vertexengine_cli-1.0.1 → vertexengine_cli-1.2rc1}/src/VertexEngine_CLI.egg-info/top_level.txt +0 -0
- {vertexengine_cli-1.0.1 → vertexengine_cli-1.2rc1}/src/vertex/__init__.py +0 -0
- {vertexengine_cli-1.0.1 → vertexengine_cli-1.2rc1}/src/vertex/minicli.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: VertexEngine-CLI
|
|
3
|
-
Version: 1.
|
|
3
|
+
Version: 1.2rc1
|
|
4
4
|
Summary: An Offical CLI library for VertexEngine.
|
|
5
5
|
Author-email: Tyrel Miguel <annbasilan0828@gmail.com>
|
|
6
6
|
License: MIT
|
|
@@ -22,6 +22,11 @@ Commands:
|
|
|
22
22
|
`python -m vertex build [path]` - build an exe with 2 flags:
|
|
23
23
|
`--onefile, --windowed`
|
|
24
24
|
|
|
25
|
+
### Change Logs (1.1), NEW!
|
|
26
|
+
1.1:
|
|
27
|
+
- Added 2 new commands!:
|
|
28
|
+
vertex remove {filepath}
|
|
29
|
+
vertex upload {flags}
|
|
25
30
|
## How to install Pyinstaller
|
|
26
31
|
Step 1. Type in:
|
|
27
32
|
pip install pyinstaller
|
|
@@ -5,6 +5,11 @@ Commands:
|
|
|
5
5
|
`python -m vertex build [path]` - build an exe with 2 flags:
|
|
6
6
|
`--onefile, --windowed`
|
|
7
7
|
|
|
8
|
+
### Change Logs (1.1), NEW!
|
|
9
|
+
1.1:
|
|
10
|
+
- Added 2 new commands!:
|
|
11
|
+
vertex remove {filepath}
|
|
12
|
+
vertex upload {flags}
|
|
8
13
|
## How to install Pyinstaller
|
|
9
14
|
Step 1. Type in:
|
|
10
15
|
pip install pyinstaller
|
|
@@ -4,21 +4,23 @@ build-backend = "setuptools.build_meta"
|
|
|
4
4
|
|
|
5
5
|
[project]
|
|
6
6
|
name = "VertexEngine-CLI"
|
|
7
|
-
version = "1.
|
|
7
|
+
version = "1.2rc1"
|
|
8
8
|
description = "An Offical CLI library for VertexEngine."
|
|
9
9
|
authors = [
|
|
10
10
|
{ name = "Tyrel Miguel", email = "annbasilan0828@gmail.com" }
|
|
11
11
|
]
|
|
12
|
-
readme = "README.md"
|
|
13
|
-
license = { text = "MIT" }
|
|
14
|
-
requires-python = ">=3.10"
|
|
15
|
-
|
|
16
12
|
dependencies = [
|
|
17
13
|
"pygame>=2.0",
|
|
18
14
|
"PyQt6>=6.7",
|
|
19
15
|
"pyinstaller>=6.5.0",
|
|
20
16
|
"VertexEngine>=1.0.1"
|
|
21
17
|
]
|
|
18
|
+
readme = "README.md"
|
|
19
|
+
license = { text = "MIT" }
|
|
20
|
+
requires-python = ">=3.10"
|
|
21
|
+
|
|
22
|
+
[project.scripts]
|
|
23
|
+
vertex = "vertex.__main__:main"
|
|
22
24
|
|
|
23
25
|
[project.urls]
|
|
24
26
|
Documentation = "https://vertexenginedocs.netlify.app/"
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: VertexEngine-CLI
|
|
3
|
-
Version: 1.
|
|
3
|
+
Version: 1.2rc1
|
|
4
4
|
Summary: An Offical CLI library for VertexEngine.
|
|
5
5
|
Author-email: Tyrel Miguel <annbasilan0828@gmail.com>
|
|
6
6
|
License: MIT
|
|
@@ -22,6 +22,11 @@ Commands:
|
|
|
22
22
|
`python -m vertex build [path]` - build an exe with 2 flags:
|
|
23
23
|
`--onefile, --windowed`
|
|
24
24
|
|
|
25
|
+
### Change Logs (1.1), NEW!
|
|
26
|
+
1.1:
|
|
27
|
+
- Added 2 new commands!:
|
|
28
|
+
vertex remove {filepath}
|
|
29
|
+
vertex upload {flags}
|
|
25
30
|
## How to install Pyinstaller
|
|
26
31
|
Step 1. Type in:
|
|
27
32
|
pip install pyinstaller
|
{vertexengine_cli-1.0.1 → vertexengine_cli-1.2rc1}/src/VertexEngine_CLI.egg-info/SOURCES.txt
RENAMED
|
@@ -4,6 +4,7 @@ pyproject.toml
|
|
|
4
4
|
src/VertexEngine_CLI.egg-info/PKG-INFO
|
|
5
5
|
src/VertexEngine_CLI.egg-info/SOURCES.txt
|
|
6
6
|
src/VertexEngine_CLI.egg-info/dependency_links.txt
|
|
7
|
+
src/VertexEngine_CLI.egg-info/entry_points.txt
|
|
7
8
|
src/VertexEngine_CLI.egg-info/requires.txt
|
|
8
9
|
src/VertexEngine_CLI.egg-info/top_level.txt
|
|
9
10
|
src/vertex/__init__.py
|
|
@@ -0,0 +1,120 @@
|
|
|
1
|
+
# __main__.py
|
|
2
|
+
from pathlib import Path
|
|
3
|
+
import os
|
|
4
|
+
import subprocess
|
|
5
|
+
from PyInstaller.__main__ import run as pyinstaller_run
|
|
6
|
+
|
|
7
|
+
from .minicli import CLI
|
|
8
|
+
from .templates import TEMPLATES
|
|
9
|
+
import sys
|
|
10
|
+
import glob
|
|
11
|
+
|
|
12
|
+
def main():
|
|
13
|
+
cli = CLI()
|
|
14
|
+
|
|
15
|
+
# -----------------
|
|
16
|
+
# Upload
|
|
17
|
+
# -----------------
|
|
18
|
+
@cli.command("upload")
|
|
19
|
+
def upload_package(dist_path="dist/*", username=None, password=None):
|
|
20
|
+
"""
|
|
21
|
+
Upload a Python package to PyPI using Twine.
|
|
22
|
+
|
|
23
|
+
dist_path: glob path to distribution files (default: dist/*)
|
|
24
|
+
username: PyPI username (optional if stored in .pypirc)
|
|
25
|
+
password: PyPI password or token (optional if stored in .pypirc)
|
|
26
|
+
"""
|
|
27
|
+
# Expand wildcards in a cross-platform way
|
|
28
|
+
files = glob.glob(dist_path)
|
|
29
|
+
if not files:
|
|
30
|
+
print(f"❌ No files found at {dist_path}")
|
|
31
|
+
return
|
|
32
|
+
|
|
33
|
+
# Use Python to call Twine (works on Windows, Linux, macOS)
|
|
34
|
+
command = [sys.executable, "-m", "twine", "upload"] + files
|
|
35
|
+
|
|
36
|
+
if username:
|
|
37
|
+
command += ["-u", username]
|
|
38
|
+
if password:
|
|
39
|
+
command += ["-p", password]
|
|
40
|
+
|
|
41
|
+
print(f"🚀 Running: {' '.join(command)}")
|
|
42
|
+
try:
|
|
43
|
+
subprocess.run(command, check=True)
|
|
44
|
+
print("✅ Upload complete!")
|
|
45
|
+
except subprocess.CalledProcessError as e:
|
|
46
|
+
print(f"❌ Upload failed: {e}")
|
|
47
|
+
|
|
48
|
+
|
|
49
|
+
print(f"🚀 Running: {' '.join(command)}")
|
|
50
|
+
try:
|
|
51
|
+
subprocess.run(command, check=True)
|
|
52
|
+
print("✅ Upload complete!")
|
|
53
|
+
except subprocess.CalledProcessError as e:
|
|
54
|
+
print(f"❌ Upload failed: {e}")
|
|
55
|
+
# -----------------
|
|
56
|
+
# Remove
|
|
57
|
+
# -----------------
|
|
58
|
+
@cli.command("remove")
|
|
59
|
+
def remove_file(
|
|
60
|
+
script_path: str
|
|
61
|
+
):
|
|
62
|
+
"""Remove a script from your project."""
|
|
63
|
+
if not os.path.isfile(script_path):
|
|
64
|
+
raise FileNotFoundError(f"Script not found: {script_path}")
|
|
65
|
+
os.remove(script_path)
|
|
66
|
+
# ------------------
|
|
67
|
+
# build command
|
|
68
|
+
# ------------------
|
|
69
|
+
@cli.command("build")
|
|
70
|
+
def build_executable(
|
|
71
|
+
script_path: str,
|
|
72
|
+
onefile: bool = False,
|
|
73
|
+
windowed: bool = False,
|
|
74
|
+
):
|
|
75
|
+
"""
|
|
76
|
+
Build an executable from a Python script using PyInstaller.
|
|
77
|
+
"""
|
|
78
|
+
if not os.path.isfile(script_path):
|
|
79
|
+
raise FileNotFoundError(f"Script not found: {script_path}")
|
|
80
|
+
|
|
81
|
+
args = ["--clean"]
|
|
82
|
+
|
|
83
|
+
if onefile:
|
|
84
|
+
args.append("--onefile")
|
|
85
|
+
if windowed:
|
|
86
|
+
args.append("--windowed")
|
|
87
|
+
|
|
88
|
+
args.append(script_path)
|
|
89
|
+
|
|
90
|
+
print(f"Running PyInstaller with args: {args}")
|
|
91
|
+
pyinstaller_run(args)
|
|
92
|
+
|
|
93
|
+
# ------------------
|
|
94
|
+
# init command
|
|
95
|
+
# ------------------
|
|
96
|
+
@cli.command("init")
|
|
97
|
+
def init(kind: str = "game"):
|
|
98
|
+
"""Initialize a project template"""
|
|
99
|
+
if kind not in TEMPLATES:
|
|
100
|
+
print("Available templates:", ", ".join(TEMPLATES))
|
|
101
|
+
return
|
|
102
|
+
|
|
103
|
+
for rel_path, content in TEMPLATES[kind].items():
|
|
104
|
+
path = Path.cwd() / rel_path
|
|
105
|
+
path.parent.mkdir(parents=True, exist_ok=True)
|
|
106
|
+
|
|
107
|
+
if path.exists():
|
|
108
|
+
print(f"Skipped existing file: {rel_path}")
|
|
109
|
+
continue
|
|
110
|
+
|
|
111
|
+
path.write_text(content, encoding="utf-8")
|
|
112
|
+
print(f"Created {rel_path}")
|
|
113
|
+
|
|
114
|
+
print(f"Template '{kind}' initialized ✔")
|
|
115
|
+
|
|
116
|
+
cli.run()
|
|
117
|
+
|
|
118
|
+
|
|
119
|
+
if __name__ == "__main__":
|
|
120
|
+
main()
|
|
@@ -43,7 +43,7 @@ TEMPLATES: dict[str, dict[str, str]] = {
|
|
|
43
43
|
app.exec()
|
|
44
44
|
"""
|
|
45
45
|
),
|
|
46
|
-
"README.md": "# VertexEngine Game\n\nGenerated with
|
|
46
|
+
"README.md": "# VertexEngine Game\n\nGenerated with VertexEngine. ✨\n",
|
|
47
47
|
".gitignore": "__pycache__/\n.env\n",
|
|
48
48
|
},
|
|
49
49
|
}
|
|
@@ -1,68 +0,0 @@
|
|
|
1
|
-
# __main__.py
|
|
2
|
-
from pathlib import Path
|
|
3
|
-
import os
|
|
4
|
-
|
|
5
|
-
from PyInstaller.__main__ import run as pyinstaller_run
|
|
6
|
-
|
|
7
|
-
from .minicli import CLI
|
|
8
|
-
from .templates import TEMPLATES
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
def main():
|
|
12
|
-
cli = CLI()
|
|
13
|
-
|
|
14
|
-
# ------------------
|
|
15
|
-
# build command
|
|
16
|
-
# ------------------
|
|
17
|
-
@cli.command("build")
|
|
18
|
-
def build_executable(
|
|
19
|
-
script_path: str,
|
|
20
|
-
onefile: bool = False,
|
|
21
|
-
windowed: bool = False,
|
|
22
|
-
):
|
|
23
|
-
"""
|
|
24
|
-
Build an executable from a Python script using PyInstaller.
|
|
25
|
-
"""
|
|
26
|
-
if not os.path.isfile(script_path):
|
|
27
|
-
raise FileNotFoundError(f"Script not found: {script_path}")
|
|
28
|
-
|
|
29
|
-
args = ["--clean"]
|
|
30
|
-
|
|
31
|
-
if onefile:
|
|
32
|
-
args.append("--onefile")
|
|
33
|
-
if windowed:
|
|
34
|
-
args.append("--windowed")
|
|
35
|
-
|
|
36
|
-
args.append(script_path)
|
|
37
|
-
|
|
38
|
-
print(f"Running PyInstaller with args: {args}")
|
|
39
|
-
pyinstaller_run(args)
|
|
40
|
-
|
|
41
|
-
# ------------------
|
|
42
|
-
# init command
|
|
43
|
-
# ------------------
|
|
44
|
-
@cli.command("init")
|
|
45
|
-
def init(kind: str = "game"):
|
|
46
|
-
"""Initialize a project template"""
|
|
47
|
-
if kind not in TEMPLATES:
|
|
48
|
-
print("Available templates:", ", ".join(TEMPLATES))
|
|
49
|
-
return
|
|
50
|
-
|
|
51
|
-
for rel_path, content in TEMPLATES[kind].items():
|
|
52
|
-
path = Path.cwd() / rel_path
|
|
53
|
-
path.parent.mkdir(parents=True, exist_ok=True)
|
|
54
|
-
|
|
55
|
-
if path.exists():
|
|
56
|
-
print(f"Skipped existing file: {rel_path}")
|
|
57
|
-
continue
|
|
58
|
-
|
|
59
|
-
path.write_text(content, encoding="utf-8")
|
|
60
|
-
print(f"Created {rel_path}")
|
|
61
|
-
|
|
62
|
-
print(f"Template '{kind}' initialized ✔")
|
|
63
|
-
|
|
64
|
-
cli.run()
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
if __name__ == "__main__":
|
|
68
|
-
main()
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{vertexengine_cli-1.0.1 → vertexengine_cli-1.2rc1}/src/VertexEngine_CLI.egg-info/requires.txt
RENAMED
|
File without changes
|
{vertexengine_cli-1.0.1 → vertexengine_cli-1.2rc1}/src/VertexEngine_CLI.egg-info/top_level.txt
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|