primitive 0.2.15__tar.gz → 0.2.17__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.
Files changed (114) hide show
  1. {primitive-0.2.15 → primitive-0.2.17}/PKG-INFO +1 -1
  2. {primitive-0.2.15 → primitive-0.2.17}/src/primitive/__about__.py +1 -1
  3. {primitive-0.2.15 → primitive-0.2.17}/src/primitive/daemons/actions.py +2 -16
  4. {primitive-0.2.15 → primitive-0.2.17}/src/primitive/daemons/launch_agents.py +9 -2
  5. {primitive-0.2.15 → primitive-0.2.17}/src/primitive/daemons/launch_service.py +9 -1
  6. {primitive-0.2.15 → primitive-0.2.17}/.git-hooks/pre-commit +0 -0
  7. {primitive-0.2.15 → primitive-0.2.17}/.gitattributes +0 -0
  8. {primitive-0.2.15 → primitive-0.2.17}/.github/workflows/lint.yml +0 -0
  9. {primitive-0.2.15 → primitive-0.2.17}/.github/workflows/publish.yml +0 -0
  10. {primitive-0.2.15 → primitive-0.2.17}/.github/workflows/pyright.yml +0 -0
  11. {primitive-0.2.15 → primitive-0.2.17}/.gitignore +0 -0
  12. {primitive-0.2.15 → primitive-0.2.17}/.vscode/extensions.json +0 -0
  13. {primitive-0.2.15 → primitive-0.2.17}/.vscode/settings.json +0 -0
  14. {primitive-0.2.15 → primitive-0.2.17}/LICENSE.txt +0 -0
  15. {primitive-0.2.15 → primitive-0.2.17}/Makefile +0 -0
  16. {primitive-0.2.15 → primitive-0.2.17}/README.md +0 -0
  17. {primitive-0.2.15 → primitive-0.2.17}/linux setup.md +0 -0
  18. {primitive-0.2.15 → primitive-0.2.17}/pyproject.toml +0 -0
  19. {primitive-0.2.15 → primitive-0.2.17}/src/primitive/__init__.py +0 -0
  20. {primitive-0.2.15 → primitive-0.2.17}/src/primitive/agent/__init__.py +0 -0
  21. {primitive-0.2.15 → primitive-0.2.17}/src/primitive/agent/actions.py +0 -0
  22. {primitive-0.2.15 → primitive-0.2.17}/src/primitive/agent/commands.py +0 -0
  23. {primitive-0.2.15 → primitive-0.2.17}/src/primitive/agent/runner.py +0 -0
  24. {primitive-0.2.15 → primitive-0.2.17}/src/primitive/agent/uploader.py +0 -0
  25. {primitive-0.2.15 → primitive-0.2.17}/src/primitive/auth/__init__.py +0 -0
  26. {primitive-0.2.15 → primitive-0.2.17}/src/primitive/auth/actions.py +0 -0
  27. {primitive-0.2.15 → primitive-0.2.17}/src/primitive/auth/commands.py +0 -0
  28. {primitive-0.2.15 → primitive-0.2.17}/src/primitive/auth/graphql/__init__.py +0 -0
  29. {primitive-0.2.15 → primitive-0.2.17}/src/primitive/auth/graphql/queries.py +0 -0
  30. {primitive-0.2.15 → primitive-0.2.17}/src/primitive/cli.py +0 -0
  31. {primitive-0.2.15 → primitive-0.2.17}/src/primitive/client.py +0 -0
  32. {primitive-0.2.15 → primitive-0.2.17}/src/primitive/daemons/__init__.py +0 -0
  33. {primitive-0.2.15 → primitive-0.2.17}/src/primitive/daemons/commands.py +0 -0
  34. {primitive-0.2.15 → primitive-0.2.17}/src/primitive/daemons/ui.py +0 -0
  35. {primitive-0.2.15 → primitive-0.2.17}/src/primitive/db/base.py +0 -0
  36. {primitive-0.2.15 → primitive-0.2.17}/src/primitive/db/models.py +0 -0
  37. {primitive-0.2.15 → primitive-0.2.17}/src/primitive/db/sqlite.py +0 -0
  38. {primitive-0.2.15 → primitive-0.2.17}/src/primitive/exec/__init__.py +0 -0
  39. {primitive-0.2.15 → primitive-0.2.17}/src/primitive/exec/actions.py +0 -0
  40. {primitive-0.2.15 → primitive-0.2.17}/src/primitive/exec/commands.py +0 -0
  41. {primitive-0.2.15 → primitive-0.2.17}/src/primitive/exec/interactive.py +0 -0
  42. {primitive-0.2.15 → primitive-0.2.17}/src/primitive/files/__init__.py +0 -0
  43. {primitive-0.2.15 → primitive-0.2.17}/src/primitive/files/actions.py +0 -0
  44. {primitive-0.2.15 → primitive-0.2.17}/src/primitive/files/commands.py +0 -0
  45. {primitive-0.2.15 → primitive-0.2.17}/src/primitive/files/graphql/__init__.py +0 -0
  46. {primitive-0.2.15 → primitive-0.2.17}/src/primitive/files/graphql/fragments.py +0 -0
  47. {primitive-0.2.15 → primitive-0.2.17}/src/primitive/files/graphql/mutations.py +0 -0
  48. {primitive-0.2.15 → primitive-0.2.17}/src/primitive/files/graphql/queries.py +0 -0
  49. {primitive-0.2.15 → primitive-0.2.17}/src/primitive/git/__init__.py +0 -0
  50. {primitive-0.2.15 → primitive-0.2.17}/src/primitive/git/actions.py +0 -0
  51. {primitive-0.2.15 → primitive-0.2.17}/src/primitive/git/commands.py +0 -0
  52. {primitive-0.2.15 → primitive-0.2.17}/src/primitive/git/graphql/__init__.py +0 -0
  53. {primitive-0.2.15 → primitive-0.2.17}/src/primitive/git/graphql/queries.py +0 -0
  54. {primitive-0.2.15 → primitive-0.2.17}/src/primitive/graphql/__init__.py +0 -0
  55. {primitive-0.2.15 → primitive-0.2.17}/src/primitive/graphql/relay.py +0 -0
  56. {primitive-0.2.15 → primitive-0.2.17}/src/primitive/graphql/sdk.py +0 -0
  57. {primitive-0.2.15 → primitive-0.2.17}/src/primitive/graphql/utility_fragments.py +0 -0
  58. {primitive-0.2.15 → primitive-0.2.17}/src/primitive/hardware/__init__.py +0 -0
  59. {primitive-0.2.15 → primitive-0.2.17}/src/primitive/hardware/actions.py +0 -0
  60. {primitive-0.2.15 → primitive-0.2.17}/src/primitive/hardware/android.py +0 -0
  61. {primitive-0.2.15 → primitive-0.2.17}/src/primitive/hardware/commands.py +0 -0
  62. {primitive-0.2.15 → primitive-0.2.17}/src/primitive/hardware/graphql/__init__.py +0 -0
  63. {primitive-0.2.15 → primitive-0.2.17}/src/primitive/hardware/graphql/fragments.py +0 -0
  64. {primitive-0.2.15 → primitive-0.2.17}/src/primitive/hardware/graphql/mutations.py +0 -0
  65. {primitive-0.2.15 → primitive-0.2.17}/src/primitive/hardware/graphql/queries.py +0 -0
  66. {primitive-0.2.15 → primitive-0.2.17}/src/primitive/hardware/ui.py +0 -0
  67. {primitive-0.2.15 → primitive-0.2.17}/src/primitive/jobs/__init__.py +0 -0
  68. {primitive-0.2.15 → primitive-0.2.17}/src/primitive/jobs/actions.py +0 -0
  69. {primitive-0.2.15 → primitive-0.2.17}/src/primitive/jobs/commands.py +0 -0
  70. {primitive-0.2.15 → primitive-0.2.17}/src/primitive/jobs/graphql/__init__.py +0 -0
  71. {primitive-0.2.15 → primitive-0.2.17}/src/primitive/jobs/graphql/fragments.py +0 -0
  72. {primitive-0.2.15 → primitive-0.2.17}/src/primitive/jobs/graphql/mutations.py +0 -0
  73. {primitive-0.2.15 → primitive-0.2.17}/src/primitive/jobs/graphql/queries.py +0 -0
  74. {primitive-0.2.15 → primitive-0.2.17}/src/primitive/monitor/actions.py +0 -0
  75. {primitive-0.2.15 → primitive-0.2.17}/src/primitive/monitor/commands.py +0 -0
  76. {primitive-0.2.15 → primitive-0.2.17}/src/primitive/organizations/__init__.py +0 -0
  77. {primitive-0.2.15 → primitive-0.2.17}/src/primitive/organizations/actions.py +0 -0
  78. {primitive-0.2.15 → primitive-0.2.17}/src/primitive/organizations/commands.py +0 -0
  79. {primitive-0.2.15 → primitive-0.2.17}/src/primitive/organizations/graphql/__init__.py +0 -0
  80. {primitive-0.2.15 → primitive-0.2.17}/src/primitive/organizations/graphql/fragments.py +0 -0
  81. {primitive-0.2.15 → primitive-0.2.17}/src/primitive/organizations/graphql/mutations.py +0 -0
  82. {primitive-0.2.15 → primitive-0.2.17}/src/primitive/organizations/graphql/queries.py +0 -0
  83. {primitive-0.2.15 → primitive-0.2.17}/src/primitive/projects/__init__.py +0 -0
  84. {primitive-0.2.15 → primitive-0.2.17}/src/primitive/projects/actions.py +0 -0
  85. {primitive-0.2.15 → primitive-0.2.17}/src/primitive/projects/commands.py +0 -0
  86. {primitive-0.2.15 → primitive-0.2.17}/src/primitive/projects/graphql/__init__.py +0 -0
  87. {primitive-0.2.15 → primitive-0.2.17}/src/primitive/projects/graphql/fragments.py +0 -0
  88. {primitive-0.2.15 → primitive-0.2.17}/src/primitive/projects/graphql/mutations.py +0 -0
  89. {primitive-0.2.15 → primitive-0.2.17}/src/primitive/projects/graphql/queries.py +0 -0
  90. {primitive-0.2.15 → primitive-0.2.17}/src/primitive/provisioning/__init__.py +0 -0
  91. {primitive-0.2.15 → primitive-0.2.17}/src/primitive/provisioning/actions.py +0 -0
  92. {primitive-0.2.15 → primitive-0.2.17}/src/primitive/provisioning/graphql/__init__.py +0 -0
  93. {primitive-0.2.15 → primitive-0.2.17}/src/primitive/provisioning/graphql/queries.py +0 -0
  94. {primitive-0.2.15 → primitive-0.2.17}/src/primitive/reservations/__init__.py +0 -0
  95. {primitive-0.2.15 → primitive-0.2.17}/src/primitive/reservations/actions.py +0 -0
  96. {primitive-0.2.15 → primitive-0.2.17}/src/primitive/reservations/commands.py +0 -0
  97. {primitive-0.2.15 → primitive-0.2.17}/src/primitive/reservations/graphql/__init__.py +0 -0
  98. {primitive-0.2.15 → primitive-0.2.17}/src/primitive/reservations/graphql/fragments.py +0 -0
  99. {primitive-0.2.15 → primitive-0.2.17}/src/primitive/reservations/graphql/mutations.py +0 -0
  100. {primitive-0.2.15 → primitive-0.2.17}/src/primitive/reservations/graphql/queries.py +0 -0
  101. {primitive-0.2.15 → primitive-0.2.17}/src/primitive/utils/__init__.py +0 -0
  102. {primitive-0.2.15 → primitive-0.2.17}/src/primitive/utils/actions.py +0 -0
  103. {primitive-0.2.15 → primitive-0.2.17}/src/primitive/utils/auth.py +0 -0
  104. {primitive-0.2.15 → primitive-0.2.17}/src/primitive/utils/cache.py +0 -0
  105. {primitive-0.2.15 → primitive-0.2.17}/src/primitive/utils/chunk_size.py +0 -0
  106. {primitive-0.2.15 → primitive-0.2.17}/src/primitive/utils/config.py +0 -0
  107. {primitive-0.2.15 → primitive-0.2.17}/src/primitive/utils/daemons.py +0 -0
  108. {primitive-0.2.15 → primitive-0.2.17}/src/primitive/utils/exceptions.py +0 -0
  109. {primitive-0.2.15 → primitive-0.2.17}/src/primitive/utils/memory_size.py +0 -0
  110. {primitive-0.2.15 → primitive-0.2.17}/src/primitive/utils/printer.py +0 -0
  111. {primitive-0.2.15 → primitive-0.2.17}/src/primitive/utils/shell.py +0 -0
  112. {primitive-0.2.15 → primitive-0.2.17}/src/primitive/utils/text.py +0 -0
  113. {primitive-0.2.15 → primitive-0.2.17}/tests/__init__.py +0 -0
  114. {primitive-0.2.15 → primitive-0.2.17}/uv.lock +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: primitive
3
- Version: 0.2.15
3
+ Version: 0.2.17
4
4
  Project-URL: Documentation, https://github.com//primitivecorp/primitive-cli#readme
5
5
  Project-URL: Issues, https://github.com//primitivecorp/primitive-cli/issues
6
6
  Project-URL: Source, https://github.com//primitivecorp/primitive-cli
@@ -1,4 +1,4 @@
1
1
  # SPDX-FileCopyrightText: 2024-present Dylan Stein <dylan@primitive.tech>
2
2
  #
3
3
  # SPDX-License-Identifier: MIT
4
- __version__ = "0.2.15"
4
+ __version__ = "0.2.17"
@@ -1,5 +1,4 @@
1
1
  import platform
2
- import subprocess
3
2
  import typing
4
3
  from pathlib import Path
5
4
  from typing import Dict, List, Optional
@@ -12,7 +11,6 @@ from .launch_agents import LaunchAgent
12
11
  from .launch_service import LaunchService
13
12
 
14
13
  HOME_DIRECTORY = Path.home()
15
- PRIMITIVE_BINARY_PATH = Path(HOME_DIRECTORY / ".pyenv" / "shims" / "primitive")
16
14
 
17
15
 
18
16
  class Daemons:
@@ -20,27 +18,15 @@ class Daemons:
20
18
  self.primitive: Primitive = primitive
21
19
  self.os_family = platform.system()
22
20
 
23
- found_primitive_binary_path = PRIMITIVE_BINARY_PATH
24
- if not PRIMITIVE_BINARY_PATH.exists():
25
- result = subprocess.run(["which", "primitive"], capture_output=True)
26
- if result.returncode == 0:
27
- found_primitive_binary_path = result.stdout.decode().rstrip("\n")
28
- else:
29
- raise Exception(
30
- f"primitive binary not found at {PRIMITIVE_BINARY_PATH}"
31
- )
32
-
33
21
  match self.os_family:
34
22
  case "Darwin":
35
23
  self.daemons: Dict[str, Daemon] = {
36
24
  "agent": LaunchAgent(
37
25
  "tech.primitive.agent",
38
- executable=str(found_primitive_binary_path),
39
26
  command="--debug agent",
40
27
  ),
41
28
  "monitor": LaunchAgent(
42
29
  "tech.primitive.monitor",
43
- executable=str(found_primitive_binary_path),
44
30
  command="--debug monitor",
45
31
  ),
46
32
  }
@@ -48,11 +34,11 @@ class Daemons:
48
34
  self.daemons: Dict[str, Daemon] = {
49
35
  "agent": LaunchService(
50
36
  "tech.primitive.agent",
51
- command=f'/bin/sh -lc "{found_primitive_binary_path} --debug agent"',
37
+ command="--debug agent",
52
38
  ),
53
39
  "monitor": LaunchService(
54
40
  "tech.primitive.monitor",
55
- command=f'/bin/sh -lc "{found_primitive_binary_path} --debug monitor"',
41
+ command="--debug monitor",
56
42
  ),
57
43
  }
58
44
  case _:
@@ -11,10 +11,9 @@ CURRENT_USER = str(HOME_DIRECTORY.expanduser()).lstrip("/Users/")
11
11
 
12
12
 
13
13
  class LaunchAgent(Daemon):
14
- def __init__(self, label: str, executable: str, command: str):
14
+ def __init__(self, label: str, command: str):
15
15
  self.label = label
16
16
  self.name = label.split(".")[-1]
17
- self.executable = executable
18
17
  self.command = command
19
18
 
20
19
  @property
@@ -106,6 +105,14 @@ class LaunchAgent(Daemon):
106
105
  self.file_path.parent.mkdir(parents=True, exist_ok=True)
107
106
  self.file_path.touch()
108
107
 
108
+ # this is here so that it won't break on primitive's init
109
+ # do not move
110
+ result = subprocess.run(["which", "primitive"], capture_output=True)
111
+ if result.returncode == 0:
112
+ self.executable = result.stdout.decode().rstrip("\n")
113
+ else:
114
+ raise Exception("primitive binary not found")
115
+
109
116
  self.file_path.write_text(
110
117
  f"""<?xml version="1.0" encoding="UTF-8"?>
111
118
  <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
@@ -121,8 +121,16 @@ class LaunchService(Daemon):
121
121
  "After": "network.target",
122
122
  }
123
123
 
124
+ # this is here so that it won't break on primitive's init
125
+ # do not move
126
+ result = subprocess.run(["which", "primitive"], capture_output=True)
127
+ if result.returncode == 0:
128
+ self.executable = result.stdout.decode().rstrip("\n")
129
+ else:
130
+ raise Exception("primitive binary not found")
131
+
124
132
  config["Service"] = {
125
- "ExecStart": self.command,
133
+ "ExecStart": f'/bin/sh -lc "{self.executable} {self.command}"',
126
134
  "Restart": "always",
127
135
  "StandardError": f"append:{self.logs}",
128
136
  "StandardOutput": f"append:{self.logs}",
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes