primitive 0.1.69__tar.gz → 0.1.71__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 (106) hide show
  1. {primitive-0.1.69 → primitive-0.1.71}/PKG-INFO +1 -1
  2. {primitive-0.1.69 → primitive-0.1.71}/src/primitive/__about__.py +1 -1
  3. {primitive-0.1.69 → primitive-0.1.71}/src/primitive/agent/runner.py +29 -25
  4. {primitive-0.1.69 → primitive-0.1.71}/src/primitive/files/actions.py +1 -1
  5. {primitive-0.1.69 → primitive-0.1.71}/.git-hooks/pre-commit +0 -0
  6. {primitive-0.1.69 → primitive-0.1.71}/.gitattributes +0 -0
  7. {primitive-0.1.69 → primitive-0.1.71}/.github/workflows/lint.yml +0 -0
  8. {primitive-0.1.69 → primitive-0.1.71}/.github/workflows/publish.yml +0 -0
  9. {primitive-0.1.69 → primitive-0.1.71}/.gitignore +0 -0
  10. {primitive-0.1.69 → primitive-0.1.71}/.vscode/settings.json +0 -0
  11. {primitive-0.1.69 → primitive-0.1.71}/LICENSE.txt +0 -0
  12. {primitive-0.1.69 → primitive-0.1.71}/Makefile +0 -0
  13. {primitive-0.1.69 → primitive-0.1.71}/README.md +0 -0
  14. {primitive-0.1.69 → primitive-0.1.71}/linux setup.md +0 -0
  15. {primitive-0.1.69 → primitive-0.1.71}/pyproject.toml +0 -0
  16. {primitive-0.1.69 → primitive-0.1.71}/src/primitive/__init__.py +0 -0
  17. {primitive-0.1.69 → primitive-0.1.71}/src/primitive/agent/__init__.py +0 -0
  18. {primitive-0.1.69 → primitive-0.1.71}/src/primitive/agent/actions.py +0 -0
  19. {primitive-0.1.69 → primitive-0.1.71}/src/primitive/agent/commands.py +0 -0
  20. {primitive-0.1.69 → primitive-0.1.71}/src/primitive/agent/process.py +0 -0
  21. {primitive-0.1.69 → primitive-0.1.71}/src/primitive/agent/provision.py +0 -0
  22. {primitive-0.1.69 → primitive-0.1.71}/src/primitive/agent/uploader.py +0 -0
  23. {primitive-0.1.69 → primitive-0.1.71}/src/primitive/auth/__init__.py +0 -0
  24. {primitive-0.1.69 → primitive-0.1.71}/src/primitive/auth/actions.py +0 -0
  25. {primitive-0.1.69 → primitive-0.1.71}/src/primitive/auth/commands.py +0 -0
  26. {primitive-0.1.69 → primitive-0.1.71}/src/primitive/auth/graphql/__init__.py +0 -0
  27. {primitive-0.1.69 → primitive-0.1.71}/src/primitive/auth/graphql/queries.py +0 -0
  28. {primitive-0.1.69 → primitive-0.1.71}/src/primitive/cli.py +0 -0
  29. {primitive-0.1.69 → primitive-0.1.71}/src/primitive/client.py +0 -0
  30. {primitive-0.1.69 → primitive-0.1.71}/src/primitive/daemons/__init__.py +0 -0
  31. {primitive-0.1.69 → primitive-0.1.71}/src/primitive/daemons/actions.py +0 -0
  32. {primitive-0.1.69 → primitive-0.1.71}/src/primitive/daemons/commands.py +0 -0
  33. {primitive-0.1.69 → primitive-0.1.71}/src/primitive/daemons/launch_agents.py +0 -0
  34. {primitive-0.1.69 → primitive-0.1.71}/src/primitive/daemons/launch_service.py +0 -0
  35. {primitive-0.1.69 → primitive-0.1.71}/src/primitive/exec/__init__.py +0 -0
  36. {primitive-0.1.69 → primitive-0.1.71}/src/primitive/exec/actions.py +0 -0
  37. {primitive-0.1.69 → primitive-0.1.71}/src/primitive/exec/commands.py +0 -0
  38. {primitive-0.1.69 → primitive-0.1.71}/src/primitive/exec/interactive.py +0 -0
  39. {primitive-0.1.69 → primitive-0.1.71}/src/primitive/files/__init__.py +0 -0
  40. {primitive-0.1.69 → primitive-0.1.71}/src/primitive/files/commands.py +0 -0
  41. {primitive-0.1.69 → primitive-0.1.71}/src/primitive/files/graphql/__init__.py +0 -0
  42. {primitive-0.1.69 → primitive-0.1.71}/src/primitive/files/graphql/fragments.py +0 -0
  43. {primitive-0.1.69 → primitive-0.1.71}/src/primitive/files/graphql/mutations.py +0 -0
  44. {primitive-0.1.69 → primitive-0.1.71}/src/primitive/files/graphql/queries.py +0 -0
  45. {primitive-0.1.69 → primitive-0.1.71}/src/primitive/git/__init__.py +0 -0
  46. {primitive-0.1.69 → primitive-0.1.71}/src/primitive/git/actions.py +0 -0
  47. {primitive-0.1.69 → primitive-0.1.71}/src/primitive/git/commands.py +0 -0
  48. {primitive-0.1.69 → primitive-0.1.71}/src/primitive/git/graphql/__init__.py +0 -0
  49. {primitive-0.1.69 → primitive-0.1.71}/src/primitive/git/graphql/queries.py +0 -0
  50. {primitive-0.1.69 → primitive-0.1.71}/src/primitive/graphql/__init__.py +0 -0
  51. {primitive-0.1.69 → primitive-0.1.71}/src/primitive/graphql/relay.py +0 -0
  52. {primitive-0.1.69 → primitive-0.1.71}/src/primitive/graphql/sdk.py +0 -0
  53. {primitive-0.1.69 → primitive-0.1.71}/src/primitive/graphql/utility_fragments.py +0 -0
  54. {primitive-0.1.69 → primitive-0.1.71}/src/primitive/hardware/__init__.py +0 -0
  55. {primitive-0.1.69 → primitive-0.1.71}/src/primitive/hardware/actions.py +0 -0
  56. {primitive-0.1.69 → primitive-0.1.71}/src/primitive/hardware/commands.py +0 -0
  57. {primitive-0.1.69 → primitive-0.1.71}/src/primitive/hardware/graphql/__init__.py +0 -0
  58. {primitive-0.1.69 → primitive-0.1.71}/src/primitive/hardware/graphql/fragments.py +0 -0
  59. {primitive-0.1.69 → primitive-0.1.71}/src/primitive/hardware/graphql/mutations.py +0 -0
  60. {primitive-0.1.69 → primitive-0.1.71}/src/primitive/hardware/graphql/queries.py +0 -0
  61. {primitive-0.1.69 → primitive-0.1.71}/src/primitive/jobs/__init__.py +0 -0
  62. {primitive-0.1.69 → primitive-0.1.71}/src/primitive/jobs/actions.py +0 -0
  63. {primitive-0.1.69 → primitive-0.1.71}/src/primitive/jobs/commands.py +0 -0
  64. {primitive-0.1.69 → primitive-0.1.71}/src/primitive/jobs/graphql/__init__.py +0 -0
  65. {primitive-0.1.69 → primitive-0.1.71}/src/primitive/jobs/graphql/fragments.py +0 -0
  66. {primitive-0.1.69 → primitive-0.1.71}/src/primitive/jobs/graphql/mutations.py +0 -0
  67. {primitive-0.1.69 → primitive-0.1.71}/src/primitive/jobs/graphql/queries.py +0 -0
  68. {primitive-0.1.69 → primitive-0.1.71}/src/primitive/organizations/__init__.py +0 -0
  69. {primitive-0.1.69 → primitive-0.1.71}/src/primitive/organizations/actions.py +0 -0
  70. {primitive-0.1.69 → primitive-0.1.71}/src/primitive/organizations/commands.py +0 -0
  71. {primitive-0.1.69 → primitive-0.1.71}/src/primitive/organizations/graphql/__init__.py +0 -0
  72. {primitive-0.1.69 → primitive-0.1.71}/src/primitive/organizations/graphql/fragments.py +0 -0
  73. {primitive-0.1.69 → primitive-0.1.71}/src/primitive/organizations/graphql/mutations.py +0 -0
  74. {primitive-0.1.69 → primitive-0.1.71}/src/primitive/organizations/graphql/queries.py +0 -0
  75. {primitive-0.1.69 → primitive-0.1.71}/src/primitive/projects/__init__.py +0 -0
  76. {primitive-0.1.69 → primitive-0.1.71}/src/primitive/projects/actions.py +0 -0
  77. {primitive-0.1.69 → primitive-0.1.71}/src/primitive/projects/commands.py +0 -0
  78. {primitive-0.1.69 → primitive-0.1.71}/src/primitive/projects/graphql/__init__.py +0 -0
  79. {primitive-0.1.69 → primitive-0.1.71}/src/primitive/projects/graphql/fragments.py +0 -0
  80. {primitive-0.1.69 → primitive-0.1.71}/src/primitive/projects/graphql/mutations.py +0 -0
  81. {primitive-0.1.69 → primitive-0.1.71}/src/primitive/projects/graphql/queries.py +0 -0
  82. {primitive-0.1.69 → primitive-0.1.71}/src/primitive/provisioning/__init__.py +0 -0
  83. {primitive-0.1.69 → primitive-0.1.71}/src/primitive/provisioning/actions.py +0 -0
  84. {primitive-0.1.69 → primitive-0.1.71}/src/primitive/provisioning/graphql/__init__.py +0 -0
  85. {primitive-0.1.69 → primitive-0.1.71}/src/primitive/provisioning/graphql/queries.py +0 -0
  86. {primitive-0.1.69 → primitive-0.1.71}/src/primitive/reservations/__init__.py +0 -0
  87. {primitive-0.1.69 → primitive-0.1.71}/src/primitive/reservations/actions.py +0 -0
  88. {primitive-0.1.69 → primitive-0.1.71}/src/primitive/reservations/commands.py +0 -0
  89. {primitive-0.1.69 → primitive-0.1.71}/src/primitive/reservations/graphql/__init__.py +0 -0
  90. {primitive-0.1.69 → primitive-0.1.71}/src/primitive/reservations/graphql/fragments.py +0 -0
  91. {primitive-0.1.69 → primitive-0.1.71}/src/primitive/reservations/graphql/mutations.py +0 -0
  92. {primitive-0.1.69 → primitive-0.1.71}/src/primitive/reservations/graphql/queries.py +0 -0
  93. {primitive-0.1.69 → primitive-0.1.71}/src/primitive/utils/__init__.py +0 -0
  94. {primitive-0.1.69 → primitive-0.1.71}/src/primitive/utils/actions.py +0 -0
  95. {primitive-0.1.69 → primitive-0.1.71}/src/primitive/utils/auth.py +0 -0
  96. {primitive-0.1.69 → primitive-0.1.71}/src/primitive/utils/cache.py +0 -0
  97. {primitive-0.1.69 → primitive-0.1.71}/src/primitive/utils/chunk_size.py +0 -0
  98. {primitive-0.1.69 → primitive-0.1.71}/src/primitive/utils/config.py +0 -0
  99. {primitive-0.1.69 → primitive-0.1.71}/src/primitive/utils/files.py +0 -0
  100. {primitive-0.1.69 → primitive-0.1.71}/src/primitive/utils/git.py +0 -0
  101. {primitive-0.1.69 → primitive-0.1.71}/src/primitive/utils/memory_size.py +0 -0
  102. {primitive-0.1.69 → primitive-0.1.71}/src/primitive/utils/printer.py +0 -0
  103. {primitive-0.1.69 → primitive-0.1.71}/src/primitive/utils/shell.py +0 -0
  104. {primitive-0.1.69 → primitive-0.1.71}/src/primitive/utils/verible.py +0 -0
  105. {primitive-0.1.69 → primitive-0.1.71}/tests/__init__.py +0 -0
  106. {primitive-0.1.69 → primitive-0.1.71}/uv.lock +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.3
2
2
  Name: primitive
3
- Version: 0.1.69
3
+ Version: 0.1.71
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.1.69"
4
+ __version__ = "0.1.71"
@@ -49,6 +49,7 @@ class AgentRunner:
49
49
  job_slug: str,
50
50
  max_log_size: int = 10 * 1024 * 1024,
51
51
  log_to_file: bool = True,
52
+ job: Optional[JobDescription] = None,
52
53
  ) -> None:
53
54
  self.primitive = primitive
54
55
  self.source_dir = source_dir
@@ -70,33 +71,36 @@ class AgentRunner:
70
71
  )
71
72
 
72
73
  # Attempt to load job from file
73
- logger.info(f"Scanning directory for job file {self.job_slug}")
74
- yaml_file = Path(self.source_dir / ".primitive" / f"{self.job_slug}.yaml")
75
- yml_file = Path(self.source_dir / ".primitive" / f"{self.job_slug}.yml")
76
-
77
- if yaml_file.exists() and yml_file.exists():
78
- logger.error(
79
- f"Found two job descriptions with the same slug: {self.job_slug}"
80
- )
81
- self.primitive.jobs.job_run_update(
82
- self.job_id, status="request_completed", conclusion="failure"
83
- )
84
- raise FileExistsError
74
+ if not job:
75
+ logger.info(f"Scanning directory for job file {self.job_slug}")
76
+ yaml_file = Path(self.source_dir / ".primitive" / f"{self.job_slug}.yaml")
77
+ yml_file = Path(self.source_dir / ".primitive" / f"{self.job_slug}.yml")
78
+
79
+ if yaml_file.exists() and yml_file.exists():
80
+ logger.error(
81
+ f"Found two job descriptions with the same slug: {self.job_slug}"
82
+ )
83
+ self.primitive.jobs.job_run_update(
84
+ self.job_id, status="request_completed", conclusion="failure"
85
+ )
86
+ raise FileExistsError
87
+
88
+ if yaml_file.exists():
89
+ self.job = yaml.load(open(yaml_file, "r"), Loader=Loader)
90
+ elif yml_file.exists():
91
+ self.job = yaml.load(open(yml_file, "r"), Loader=Loader)
92
+ else:
93
+ logger.error(
94
+ f"No job description with matching slug '{self.job_slug}' found"
95
+ )
96
+ self.primitive.jobs.job_run_update(
97
+ self.job_id, status="request_completed", conclusion="failure"
98
+ )
99
+ raise FileNotFoundError
85
100
 
86
- if yaml_file.exists():
87
- self.job = yaml.load(open(yaml_file, "r"), Loader=Loader)
88
- elif yml_file.exists():
89
- self.job = yaml.load(open(yml_file, "r"), Loader=Loader)
101
+ logger.info(f"Found job description for {self.job_slug}")
90
102
  else:
91
- logger.error(
92
- f"No job description with matching slug '{self.job_slug}' found"
93
- )
94
- self.primitive.jobs.job_run_update(
95
- self.job_id, status="request_completed", conclusion="failure"
96
- )
97
- raise FileNotFoundError
98
-
99
- logger.info(f"Found job description for {self.job_slug}")
103
+ self.job = job
100
104
 
101
105
  @staticmethod
102
106
  def log_serializer() -> Callable:
@@ -227,7 +227,7 @@ class Files(BaseAction):
227
227
  chunk_size_ms = MemorySize(chunk_size, "B")
228
228
  chunk_size_ms.convert_to("MB")
229
229
  logger.info(
230
- f"Creating Pending File for {path}. File Size: {MemorySize(file_size, "B").get_human_readable()} ({file_size}). Chunk size: {chunk_size_ms} at Number of parts: {number_of_parts}"
230
+ f"Creating Pending File for {path}. File Size: {MemorySize(file_size, 'B').get_human_readable()} ({file_size}). Chunk size: {chunk_size_ms} at Number of parts: {number_of_parts}"
231
231
  )
232
232
 
233
233
  pending_file_create = self._pending_file_create(
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