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.
@@ -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,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,9 @@
1
+ README.md
2
+ pyproject.toml
3
+ orchstep/__init__.py
4
+ orchstep/cli.py
5
+ orchstep.egg-info/PKG-INFO
6
+ orchstep.egg-info/SOURCES.txt
7
+ orchstep.egg-info/dependency_links.txt
8
+ orchstep.egg-info/entry_points.txt
9
+ orchstep.egg-info/top_level.txt
@@ -0,0 +1,2 @@
1
+ [console_scripts]
2
+ orchstep = orchstep.cli:main
@@ -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"
@@ -0,0 +1,4 @@
1
+ [egg_info]
2
+ tag_build =
3
+ tag_date = 0
4
+