ellf-cli 3.1.3__py3-none-any.whl

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.
Files changed (79) hide show
  1. ellf_cli/__init__.py +0 -0
  2. ellf_cli/__main__.py +54 -0
  3. ellf_cli/about.json +19 -0
  4. ellf_cli/about.py +23 -0
  5. ellf_cli/appdirs.py +624 -0
  6. ellf_cli/auth.py +488 -0
  7. ellf_cli/cli.py +127 -0
  8. ellf_cli/cloud/__init__.py +0 -0
  9. ellf_cli/cloud/gcp.py +402 -0
  10. ellf_cli/cluster_config.py +120 -0
  11. ellf_cli/commands/__init__.py +61 -0
  12. ellf_cli/commands/_recipe_file.py +160 -0
  13. ellf_cli/commands/_recipe_subcommand.py +440 -0
  14. ellf_cli/commands/_state.py +106 -0
  15. ellf_cli/commands/actions.py +310 -0
  16. ellf_cli/commands/agents.py +342 -0
  17. ellf_cli/commands/assets.py +157 -0
  18. ellf_cli/commands/clusters.py +518 -0
  19. ellf_cli/commands/config.py +190 -0
  20. ellf_cli/commands/datasets.py +166 -0
  21. ellf_cli/commands/files/__init__.py +7 -0
  22. ellf_cli/commands/files/cp.py +425 -0
  23. ellf_cli/commands/files/ls.py +62 -0
  24. ellf_cli/commands/files/rm.py +58 -0
  25. ellf_cli/commands/files/rsync.py +269 -0
  26. ellf_cli/commands/files/stats.py +42 -0
  27. ellf_cli/commands/general.py +192 -0
  28. ellf_cli/commands/import_export.py +240 -0
  29. ellf_cli/commands/infra/__init__.py +9 -0
  30. ellf_cli/commands/infra/_helpers.py +247 -0
  31. ellf_cli/commands/infra/deploy.py +275 -0
  32. ellf_cli/commands/infra/init_values.py +133 -0
  33. ellf_cli/commands/infra/provision.py +70 -0
  34. ellf_cli/commands/infra/register.py +89 -0
  35. ellf_cli/commands/infra/setup.py +37 -0
  36. ellf_cli/commands/infra/start.py +101 -0
  37. ellf_cli/commands/infra/terraform.py +192 -0
  38. ellf_cli/commands/jobs.py +80 -0
  39. ellf_cli/commands/packages.py +153 -0
  40. ellf_cli/commands/paths.py +128 -0
  41. ellf_cli/commands/plans.py +117 -0
  42. ellf_cli/commands/projects.py +203 -0
  43. ellf_cli/commands/publish_code.py +433 -0
  44. ellf_cli/commands/publish_data.py +87 -0
  45. ellf_cli/commands/recipes.py +440 -0
  46. ellf_cli/commands/secrets.py +182 -0
  47. ellf_cli/commands/support.py +272 -0
  48. ellf_cli/commands/tasks.py +313 -0
  49. ellf_cli/commands/todos.py +277 -0
  50. ellf_cli/config.py +119 -0
  51. ellf_cli/ellf.json +6151 -0
  52. ellf_cli/errors.py +110 -0
  53. ellf_cli/helm.py +715 -0
  54. ellf_cli/key_pair.py +41 -0
  55. ellf_cli/main.py +6 -0
  56. ellf_cli/messages.py +229 -0
  57. ellf_cli/query.py +666 -0
  58. ellf_cli/recipes_cookiecutter/cookiecutter.json +7 -0
  59. ellf_cli/recipes_cookiecutter/{{cookiecutter.package_dir}}/.gitignore +14 -0
  60. ellf_cli/recipes_cookiecutter/{{cookiecutter.package_dir}}/README.md.tmpl +97 -0
  61. ellf_cli/recipes_cookiecutter/{{cookiecutter.package_dir}}/requirements-dev.in +8 -0
  62. ellf_cli/recipes_cookiecutter/{{cookiecutter.package_dir}}/requirements.in +1 -0
  63. ellf_cli/recipes_cookiecutter/{{cookiecutter.package_dir}}/setup.py.tmpl +48 -0
  64. ellf_cli/recipes_cookiecutter/{{cookiecutter.package_dir}}/tests/__init__.py +0 -0
  65. ellf_cli/recipes_cookiecutter/{{cookiecutter.package_dir}}/{{cookiecutter.package_name}}/__init__.py +0 -0
  66. ellf_cli/recipes_cookiecutter/{{cookiecutter.package_dir}}/{{cookiecutter.package_name}}/about.py +8 -0
  67. ellf_cli/recipes_cookiecutter/{{cookiecutter.package_dir}}/{{cookiecutter.package_name}}/recipes/__init__.py +6 -0
  68. ellf_cli/recipes_cookiecutter/{{cookiecutter.package_dir}}/{{cookiecutter.package_name}}/recipes/example_task.py +24 -0
  69. ellf_cli/testing/__init__.py +137 -0
  70. ellf_cli/ty.py +109 -0
  71. ellf_cli/ui.py +470 -0
  72. ellf_cli/url.py +167 -0
  73. ellf_cli/util.py +181 -0
  74. ellf_cli-3.1.3.dist-info/METADATA +30 -0
  75. ellf_cli-3.1.3.dist-info/RECORD +79 -0
  76. ellf_cli-3.1.3.dist-info/WHEEL +5 -0
  77. ellf_cli-3.1.3.dist-info/entry_points.txt +2 -0
  78. ellf_cli-3.1.3.dist-info/licenses/LICENSE +3 -0
  79. ellf_cli-3.1.3.dist-info/top_level.txt +1 -0
ellf_cli/__init__.py ADDED
File without changes
ellf_cli/__main__.py ADDED
@@ -0,0 +1,54 @@
1
+ import os
2
+ import sys
3
+ from pathlib import Path
4
+
5
+ FILE = Path(__file__).parent / "ellf.json"
6
+ IS_DEBUG = "_ELLF_DEBUG" in os.environ
7
+
8
+ # IMPORTANT: This is the function exposed via the console_scripts entry point to
9
+ # register the "ellf" command and it's also referenced in the Dockerfile.all.
10
+ # Do not change its name unless necessary, and double-check that
11
+ # ellf_cli.__main__.main is updated everywhere else.
12
+
13
+
14
+ def _normalize_legacy_args(args: list[str]) -> list[str]:
15
+ """Normalize deprecated top-level command names."""
16
+ normalized = list(args)
17
+ if normalized and normalized[0] == "cluster":
18
+ normalized[0] = "clusters"
19
+ if normalized and normalized[0] == "plan":
20
+ normalized[0] = "plans"
21
+ if normalized and normalized[0] in ("coding-requests", "coding-request"):
22
+ normalized[0] = "todo"
23
+ return normalized
24
+
25
+
26
+ def main() -> None:
27
+ from radicli import StaticRadicli
28
+
29
+ from .about import __prog__
30
+
31
+ args = _normalize_legacy_args(sys.argv[1:])
32
+ argv = [__prog__, *args]
33
+ static = StaticRadicli.load(FILE, debug=IS_DEBUG)
34
+ static.run(list(argv))
35
+
36
+ from . import config
37
+ from .commands._state import ROOT_CONFIG
38
+ from .main import cli
39
+
40
+ if ROOT_CONFIG.get(None) is None:
41
+ ROOT_CONFIG.set(config.RootConfig(config_dir=config.global_config_dir()))
42
+
43
+ try:
44
+ cli.run(list(argv))
45
+ except Exception:
46
+ if IS_DEBUG:
47
+ import pdb
48
+
49
+ pdb.post_mortem()
50
+ raise
51
+
52
+
53
+ if __name__ == "__main__":
54
+ main()
ellf_cli/about.json ADDED
@@ -0,0 +1,19 @@
1
+ {
2
+ "title": "Ellf CLI",
3
+ "name": "ellf-cli",
4
+ "version": "3.1.3",
5
+ "summary": "Ellf Command Line Interface",
6
+ "uri": "https://prodi.gy",
7
+ "prog": "ellf",
8
+ "entry_points": {
9
+ "console_scripts": [
10
+ "ellf = ellf_cli.__main__:main"
11
+ ]
12
+ },
13
+ "package_data": [
14
+ "ellf.json"
15
+ ],
16
+ "package_data_dirs": [
17
+ "recipes_cookiecutter"
18
+ ]
19
+ }
ellf_cli/about.py ADDED
@@ -0,0 +1,23 @@
1
+ """
2
+ This file originates in shared/shared_about.py, and
3
+ is copied verbatim into the different projects. It should
4
+ not be edited directly, edit the shared version and replicate
5
+ it everywhere.
6
+ """
7
+
8
+ import json
9
+ from pathlib import Path
10
+
11
+ PWD = Path(__file__).parent
12
+
13
+
14
+ with (PWD / "about.json").open("r", encoding="utf8") as file_:
15
+ _about_data = json.load(file_)
16
+
17
+
18
+ __name__ = _about_data["name"]
19
+ __title__ = _about_data.get("title", "")
20
+ __description__ = _about_data.get("description", "")
21
+ __summary__ = _about_data.get("summary", "")
22
+ __version__ = _about_data["version"]
23
+ __prog__ = _about_data.get("prog", "")