orchstep 0.1.0__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.
- orchstep-0.1.0/PKG-INFO +39 -0
- orchstep-0.1.0/README.md +24 -0
- orchstep-0.1.0/orchstep/__init__.py +1 -0
- orchstep-0.1.0/orchstep/cli.py +92 -0
- orchstep-0.1.0/orchstep.egg-info/PKG-INFO +39 -0
- orchstep-0.1.0/orchstep.egg-info/SOURCES.txt +9 -0
- orchstep-0.1.0/orchstep.egg-info/dependency_links.txt +1 -0
- orchstep-0.1.0/orchstep.egg-info/entry_points.txt +2 -0
- orchstep-0.1.0/orchstep.egg-info/top_level.txt +1 -0
- orchstep-0.1.0/pyproject.toml +25 -0
- orchstep-0.1.0/setup.cfg +4 -0
orchstep-0.1.0/PKG-INFO
ADDED
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
Metadata-Version: 2.4
|
|
2
|
+
Name: orchstep
|
|
3
|
+
Version: 0.1.0
|
|
4
|
+
Summary: OrchStep — YAML-first workflow orchestration engine
|
|
5
|
+
License-Expression: LicenseRef-Proprietary
|
|
6
|
+
Project-URL: Homepage, https://orchstep.dev
|
|
7
|
+
Project-URL: Repository, https://github.com/orchstep/orchstep
|
|
8
|
+
Keywords: orchstep,workflow,orchestration,yaml,automation
|
|
9
|
+
Classifier: Development Status :: 4 - Beta
|
|
10
|
+
Classifier: Intended Audience :: Developers
|
|
11
|
+
Classifier: Topic :: Software Development :: Build Tools
|
|
12
|
+
Classifier: Programming Language :: Python :: 3
|
|
13
|
+
Requires-Python: >=3.8
|
|
14
|
+
Description-Content-Type: text/markdown
|
|
15
|
+
|
|
16
|
+
# orchstep
|
|
17
|
+
|
|
18
|
+
**YAML-first workflow orchestration engine.**
|
|
19
|
+
|
|
20
|
+
This package installs the OrchStep binary for your platform.
|
|
21
|
+
|
|
22
|
+
## Install
|
|
23
|
+
|
|
24
|
+
```bash
|
|
25
|
+
pip install orchstep
|
|
26
|
+
```
|
|
27
|
+
|
|
28
|
+
## Usage
|
|
29
|
+
|
|
30
|
+
```bash
|
|
31
|
+
orchstep run deploy --var env=staging
|
|
32
|
+
orchstep lint my-workflow.yml
|
|
33
|
+
orchstep list-tasks
|
|
34
|
+
```
|
|
35
|
+
|
|
36
|
+
## Documentation
|
|
37
|
+
|
|
38
|
+
- [GitHub](https://github.com/orchstep/orchstep)
|
|
39
|
+
- [Docs](https://orchstep.dev)
|
orchstep-0.1.0/README.md
ADDED
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
# orchstep
|
|
2
|
+
|
|
3
|
+
**YAML-first workflow orchestration engine.**
|
|
4
|
+
|
|
5
|
+
This package installs the OrchStep binary for your platform.
|
|
6
|
+
|
|
7
|
+
## Install
|
|
8
|
+
|
|
9
|
+
```bash
|
|
10
|
+
pip install orchstep
|
|
11
|
+
```
|
|
12
|
+
|
|
13
|
+
## Usage
|
|
14
|
+
|
|
15
|
+
```bash
|
|
16
|
+
orchstep run deploy --var env=staging
|
|
17
|
+
orchstep lint my-workflow.yml
|
|
18
|
+
orchstep list-tasks
|
|
19
|
+
```
|
|
20
|
+
|
|
21
|
+
## Documentation
|
|
22
|
+
|
|
23
|
+
- [GitHub](https://github.com/orchstep/orchstep)
|
|
24
|
+
- [Docs](https://orchstep.dev)
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"""OrchStep — YAML-first workflow orchestration engine."""
|
|
@@ -0,0 +1,92 @@
|
|
|
1
|
+
"""OrchStep CLI wrapper — downloads and runs the platform binary."""
|
|
2
|
+
|
|
3
|
+
import os
|
|
4
|
+
import platform
|
|
5
|
+
import subprocess
|
|
6
|
+
import sys
|
|
7
|
+
import tarfile
|
|
8
|
+
import tempfile
|
|
9
|
+
import urllib.request
|
|
10
|
+
import json
|
|
11
|
+
|
|
12
|
+
REPO = "orchstep/orchstep"
|
|
13
|
+
BIN_NAME = "orchstep"
|
|
14
|
+
|
|
15
|
+
|
|
16
|
+
def get_bin_path():
|
|
17
|
+
"""Get the path to the installed binary."""
|
|
18
|
+
bin_dir = os.path.join(os.path.dirname(__file__), "bin")
|
|
19
|
+
name = BIN_NAME + (".exe" if platform.system() == "Windows" else "")
|
|
20
|
+
return os.path.join(bin_dir, name)
|
|
21
|
+
|
|
22
|
+
|
|
23
|
+
def get_platform():
|
|
24
|
+
"""Detect OS and architecture."""
|
|
25
|
+
os_map = {"Darwin": "darwin", "Linux": "linux", "Windows": "windows"}
|
|
26
|
+
arch_map = {"x86_64": "amd64", "AMD64": "amd64", "arm64": "arm64", "aarch64": "arm64"}
|
|
27
|
+
|
|
28
|
+
os_name = os_map.get(platform.system())
|
|
29
|
+
arch_name = arch_map.get(platform.machine())
|
|
30
|
+
|
|
31
|
+
if not os_name or not arch_name:
|
|
32
|
+
print(f"Unsupported platform: {platform.system()}/{platform.machine()}", file=sys.stderr)
|
|
33
|
+
sys.exit(1)
|
|
34
|
+
|
|
35
|
+
return os_name, arch_name
|
|
36
|
+
|
|
37
|
+
|
|
38
|
+
def get_latest_version():
|
|
39
|
+
"""Fetch the latest release version from GitHub."""
|
|
40
|
+
url = f"https://api.github.com/repos/{REPO}/releases/latest"
|
|
41
|
+
req = urllib.request.Request(url, headers={"User-Agent": "orchstep-pip"})
|
|
42
|
+
with urllib.request.urlopen(req) as resp:
|
|
43
|
+
data = json.loads(resp.read())
|
|
44
|
+
return data["tag_name"].lstrip("v")
|
|
45
|
+
|
|
46
|
+
|
|
47
|
+
def install_binary():
|
|
48
|
+
"""Download and install the binary for this platform."""
|
|
49
|
+
os_name, arch_name = get_platform()
|
|
50
|
+
version = get_latest_version()
|
|
51
|
+
|
|
52
|
+
ext = "zip" if os_name == "windows" else "tar.gz"
|
|
53
|
+
filename = f"orchstep_{version}_{os_name}_{arch_name}.{ext}"
|
|
54
|
+
url = f"https://github.com/{REPO}/releases/download/v{version}/{filename}"
|
|
55
|
+
|
|
56
|
+
print(f"Installing OrchStep v{version} ({os_name}/{arch_name})...")
|
|
57
|
+
|
|
58
|
+
bin_dir = os.path.join(os.path.dirname(__file__), "bin")
|
|
59
|
+
os.makedirs(bin_dir, exist_ok=True)
|
|
60
|
+
|
|
61
|
+
with tempfile.TemporaryDirectory() as tmp:
|
|
62
|
+
archive_path = os.path.join(tmp, filename)
|
|
63
|
+
urllib.request.urlretrieve(url, archive_path)
|
|
64
|
+
|
|
65
|
+
if ext == "tar.gz":
|
|
66
|
+
with tarfile.open(archive_path, "r:gz") as tar:
|
|
67
|
+
tar.extractall(path=bin_dir)
|
|
68
|
+
else:
|
|
69
|
+
import zipfile
|
|
70
|
+
with zipfile.ZipFile(archive_path, "r") as z:
|
|
71
|
+
z.extractall(bin_dir)
|
|
72
|
+
|
|
73
|
+
bin_path = get_bin_path()
|
|
74
|
+
if os_name != "windows":
|
|
75
|
+
os.chmod(bin_path, 0o755)
|
|
76
|
+
|
|
77
|
+
print(f"OrchStep v{version} installed.")
|
|
78
|
+
|
|
79
|
+
|
|
80
|
+
def main():
|
|
81
|
+
"""Run the orchstep binary, installing if needed."""
|
|
82
|
+
bin_path = get_bin_path()
|
|
83
|
+
|
|
84
|
+
if not os.path.exists(bin_path):
|
|
85
|
+
install_binary()
|
|
86
|
+
|
|
87
|
+
result = subprocess.run([bin_path] + sys.argv[1:])
|
|
88
|
+
sys.exit(result.returncode)
|
|
89
|
+
|
|
90
|
+
|
|
91
|
+
if __name__ == "__main__":
|
|
92
|
+
main()
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
Metadata-Version: 2.4
|
|
2
|
+
Name: orchstep
|
|
3
|
+
Version: 0.1.0
|
|
4
|
+
Summary: OrchStep — YAML-first workflow orchestration engine
|
|
5
|
+
License-Expression: LicenseRef-Proprietary
|
|
6
|
+
Project-URL: Homepage, https://orchstep.dev
|
|
7
|
+
Project-URL: Repository, https://github.com/orchstep/orchstep
|
|
8
|
+
Keywords: orchstep,workflow,orchestration,yaml,automation
|
|
9
|
+
Classifier: Development Status :: 4 - Beta
|
|
10
|
+
Classifier: Intended Audience :: Developers
|
|
11
|
+
Classifier: Topic :: Software Development :: Build Tools
|
|
12
|
+
Classifier: Programming Language :: Python :: 3
|
|
13
|
+
Requires-Python: >=3.8
|
|
14
|
+
Description-Content-Type: text/markdown
|
|
15
|
+
|
|
16
|
+
# orchstep
|
|
17
|
+
|
|
18
|
+
**YAML-first workflow orchestration engine.**
|
|
19
|
+
|
|
20
|
+
This package installs the OrchStep binary for your platform.
|
|
21
|
+
|
|
22
|
+
## Install
|
|
23
|
+
|
|
24
|
+
```bash
|
|
25
|
+
pip install orchstep
|
|
26
|
+
```
|
|
27
|
+
|
|
28
|
+
## Usage
|
|
29
|
+
|
|
30
|
+
```bash
|
|
31
|
+
orchstep run deploy --var env=staging
|
|
32
|
+
orchstep lint my-workflow.yml
|
|
33
|
+
orchstep list-tasks
|
|
34
|
+
```
|
|
35
|
+
|
|
36
|
+
## Documentation
|
|
37
|
+
|
|
38
|
+
- [GitHub](https://github.com/orchstep/orchstep)
|
|
39
|
+
- [Docs](https://orchstep.dev)
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
orchstep
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
[build-system]
|
|
2
|
+
requires = ["setuptools>=68.0"]
|
|
3
|
+
build-backend = "setuptools.build_meta"
|
|
4
|
+
|
|
5
|
+
[project]
|
|
6
|
+
name = "orchstep"
|
|
7
|
+
version = "0.1.0"
|
|
8
|
+
description = "OrchStep — YAML-first workflow orchestration engine"
|
|
9
|
+
readme = "README.md"
|
|
10
|
+
license = "LicenseRef-Proprietary"
|
|
11
|
+
requires-python = ">=3.8"
|
|
12
|
+
keywords = ["orchstep", "workflow", "orchestration", "yaml", "automation"]
|
|
13
|
+
classifiers = [
|
|
14
|
+
"Development Status :: 4 - Beta",
|
|
15
|
+
"Intended Audience :: Developers",
|
|
16
|
+
"Topic :: Software Development :: Build Tools",
|
|
17
|
+
"Programming Language :: Python :: 3",
|
|
18
|
+
]
|
|
19
|
+
|
|
20
|
+
[project.urls]
|
|
21
|
+
Homepage = "https://orchstep.dev"
|
|
22
|
+
Repository = "https://github.com/orchstep/orchstep"
|
|
23
|
+
|
|
24
|
+
[project.scripts]
|
|
25
|
+
orchstep = "orchstep.cli:main"
|
orchstep-0.1.0/setup.cfg
ADDED