artefacts-cli 0.6.15__py3-none-any.whl → 0.6.16__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.
artefacts/cli/app.py CHANGED
@@ -430,7 +430,7 @@ def run_remote(config, description, jobname, skip_validation=False):
430
430
  click.echo(f"Packaging source...")
431
431
 
432
432
  with tempfile.NamedTemporaryFile(
433
- prefix=project_id, suffix=".tgz", delete=True
433
+ prefix=project_id.split("/")[-1], suffix=".tgz", delete=True
434
434
  ) as temp_file:
435
435
  # get list of patterns to be ignored in .artefactsignore
436
436
  ignore_file = Path(project_folder) / Path(".artefactsignore")
@@ -2,6 +2,7 @@ import os
2
2
 
3
3
  import click
4
4
 
5
+ from artefacts.cli.constants import DEFAULT_API_URL
5
6
  from artefacts.cli.utils import config_validation, read_config
6
7
  from artefacts.cli.containers.utils import ContainerMgr
7
8
 
@@ -60,7 +61,14 @@ def run(ctx: click.Context, image: str, jobname: str, config: str):
60
61
  raise click.ClickException(f"Project config file not found: {config}")
61
62
  project = artefacts_config["project"]
62
63
  handler = ContainerMgr()
63
- container, logs = handler.run(image, project, jobname)
64
+ params = dict(
65
+ image=image,
66
+ project=project,
67
+ jobname=jobname,
68
+ # Hidden setting primarily useful to Artefacts developers
69
+ api_url=os.environ.get("ARTEFACTS_API_URL", DEFAULT_API_URL),
70
+ )
71
+ container, logs = handler.run(**params)
64
72
  if container:
65
73
  print(f"Package run complete: Container Id for inspection: {container['Id']}")
66
74
  else:
@@ -1,3 +1,5 @@
1
+ DEFAULT_API_URL = "https://app.artefacts.com/api"
2
+
1
3
  SUPPORTED_FRAMEWORKS = [
2
4
  "ros2:iron",
3
5
  "ros2:humble",
@@ -4,6 +4,8 @@ import os
4
4
  from pathlib import Path
5
5
  from typing import Any, Tuple, Union
6
6
 
7
+ from artefacts.cli.constants import DEFAULT_API_URL
8
+
7
9
 
8
10
  class CMgr:
9
11
  def build(self, **kwargs) -> Tuple[str, Generator]:
@@ -14,7 +16,12 @@ class CMgr:
14
16
  raise NotImplemented()
15
17
 
16
18
  def run(
17
- self, image: str, project: str, jobname: str = None
19
+ self,
20
+ image: str,
21
+ project: str,
22
+ jobname: str = None,
23
+ artefacts_dir: str = Path("~/.artefacts").expanduser(),
24
+ api_url: str = DEFAULT_API_URL,
18
25
  ) -> Tuple[Any, Generator]:
19
26
  """
20
27
  Returns a container (Any type as depends on the framework)
@@ -1,9 +1,11 @@
1
1
  from collections.abc import Generator
2
2
  import json
3
3
  import os
4
+ from pathlib import Path
4
5
  from typing import Any, Tuple
5
6
  from uuid import uuid4
6
7
 
8
+ from artefacts.cli.constants import DEFAULT_API_URL
7
9
  from artefacts.cli.containers import CMgr
8
10
  from artefacts.cli.utils import ensure_available
9
11
 
@@ -42,7 +44,8 @@ class DockerManager(CMgr):
42
44
  image: str,
43
45
  project: str,
44
46
  jobname: str = None,
45
- artefacts_dir: str = os.path.join(os.path.expanduser("~/.artefacts")),
47
+ artefacts_dir: str = Path("~/.artefacts").expanduser(),
48
+ api_url: str = DEFAULT_API_URL,
46
49
  ) -> Tuple[Any, Generator]:
47
50
  if not self._valid_artefacts_api_key(project, artefacts_dir):
48
51
  return None, iter(
@@ -51,12 +54,15 @@ class DockerManager(CMgr):
51
54
  ]
52
55
  )
53
56
  try:
57
+ env = {
58
+ "JOB_ID": str(uuid4()),
59
+ "ARTEFACTS_JOB_NAME": jobname,
60
+ "ARTEFACTS_API_URL": api_url,
61
+ }
62
+
54
63
  container = self.client.create_container(
55
64
  image,
56
- environment={
57
- "JOB_ID": str(uuid4()),
58
- "ARTEFACTS_JOB_NAME": jobname,
59
- },
65
+ environment=env,
60
66
  detach=False,
61
67
  volumes=["/root/.artefacts"],
62
68
  host_config=self.client.create_host_config(
@@ -50,7 +50,5 @@ class ContainerMgr:
50
50
  def build(self, **kwargs) -> Tuple[str, Generator]:
51
51
  return self.mgr.build(**kwargs)
52
52
 
53
- def run(
54
- self, image: str, project: str, jobname: str = None
55
- ) -> Tuple[Any, Generator]:
56
- return self.mgr.run(image, project, jobname)
53
+ def run(self, **kwargs) -> Tuple[Any, Generator]:
54
+ return self.mgr.run(**kwargs)
artefacts/cli/version.py CHANGED
@@ -12,5 +12,5 @@ __version__: str
12
12
  __version_tuple__: VERSION_TUPLE
13
13
  version_tuple: VERSION_TUPLE
14
14
 
15
- __version__ = version = '0.6.15'
16
- __version_tuple__ = version_tuple = (0, 6, 15)
15
+ __version__ = version = '0.6.16'
16
+ __version_tuple__ = version_tuple = (0, 6, 16)
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: artefacts_cli
3
- Version: 0.6.15
3
+ Version: 0.6.16
4
4
  Author-email: FD <fabian@artefacts.com>, AGC <alejandro@artefacts.com>, TN <tomo@artefacts.com>, EP <eric@artefacts.com>
5
5
  Project-URL: Homepage, https://github.com/art-e-fact/artefacts-client
6
6
  Project-URL: Bug Tracker, https://github.com/art-e-fact/artefacts-client/issues
@@ -9,33 +9,33 @@ Classifier: License :: OSI Approved :: Apache Software License
9
9
  Classifier: Operating System :: OS Independent
10
10
  Requires-Python: >=3.8
11
11
  Description-Content-Type: text/markdown
12
- Requires-Dist: artefacts-copava >=0.1.11
13
- Requires-Dist: click >=8.0.4
14
- Requires-Dist: gitignore-parser >=0.1.11
15
- Requires-Dist: junitparser >=2.5
12
+ Requires-Dist: artefacts-copava>=0.1.11
13
+ Requires-Dist: click>=8.0.4
14
+ Requires-Dist: gitignore_parser>=0.1.11
15
+ Requires-Dist: junitparser>=2.5
16
16
  Requires-Dist: mcap
17
17
  Requires-Dist: mcap-ros2-support
18
- Requires-Dist: PyYAML >=6.0
19
- Requires-Dist: requests >=2.27.1
18
+ Requires-Dist: PyYAML>=6.0
19
+ Requires-Dist: requests>=2.27.1
20
20
  Requires-Dist: setuptools-scm
21
21
  Provides-Extra: dev
22
- Requires-Dist: awscli ; extra == 'dev'
23
- Requires-Dist: build ; extra == 'dev'
24
- Requires-Dist: docker ; extra == 'dev'
25
- Requires-Dist: lark ; extra == 'dev'
26
- Requires-Dist: pyre-check ; extra == 'dev'
27
- Requires-Dist: pytest ; extra == 'dev'
28
- Requires-Dist: pytest-cov ; extra == 'dev'
29
- Requires-Dist: pytest-env ; extra == 'dev'
30
- Requires-Dist: pytest-mock ; extra == 'dev'
31
- Requires-Dist: ruff ; extra == 'dev'
32
- Requires-Dist: twine ; extra == 'dev'
33
- Requires-Dist: mkdocs-click ==0.8.0 ; extra == 'dev'
34
- Requires-Dist: mkdocs-material ==8.5.6 ; extra == 'dev'
35
- Requires-Dist: mkdocs-mermaid2-plugin ==0.6.0 ; extra == 'dev'
36
- Requires-Dist: mkdocs ==1.4.2 ; extra == 'dev'
37
- Requires-Dist: pre-commit ; extra == 'dev'
38
- Requires-Dist: python-markdown-math ; extra == 'dev'
22
+ Requires-Dist: awscli; extra == "dev"
23
+ Requires-Dist: build; extra == "dev"
24
+ Requires-Dist: docker; extra == "dev"
25
+ Requires-Dist: lark; extra == "dev"
26
+ Requires-Dist: pyre-check; extra == "dev"
27
+ Requires-Dist: pytest; extra == "dev"
28
+ Requires-Dist: pytest-cov; extra == "dev"
29
+ Requires-Dist: pytest-env; extra == "dev"
30
+ Requires-Dist: pytest-mock; extra == "dev"
31
+ Requires-Dist: ruff; extra == "dev"
32
+ Requires-Dist: twine; extra == "dev"
33
+ Requires-Dist: mkdocs-click==0.8.0; extra == "dev"
34
+ Requires-Dist: mkdocs-material==8.5.6; extra == "dev"
35
+ Requires-Dist: mkdocs-mermaid2-plugin==0.6.0; extra == "dev"
36
+ Requires-Dist: mkdocs==1.4.2; extra == "dev"
37
+ Requires-Dist: pre-commit; extra == "dev"
38
+ Requires-Dist: python-markdown-math; extra == "dev"
39
39
 
40
40
  # Artefacts CLI
41
41
 
@@ -0,0 +1,21 @@
1
+ artefacts/cli/__init__.py,sha256=9rTAfBoS9ALJxKSqaUo32ThbDshbvNN4-EmoyUsPhRI,11643
2
+ artefacts/cli/app.py,sha256=597uPtK4A_wujvqhk5h4KkrXV_XVkDLpymedd2lZB5k,20140
3
+ artefacts/cli/app_containers.py,sha256=7OAtc4n9YeK8ZYUKvteOMbZr7lYjx_YMa6tu8Pnu9Yc,2280
4
+ artefacts/cli/bagparser.py,sha256=FE_QaztC9pg4hQzTjGSdyve6mzZbHJbyqa3wqvZSbxE,3702
5
+ artefacts/cli/constants.py,sha256=bvsVDwqkAc49IZN7j6k6IL6EG87bECHd_VINtKJqbv8,320
6
+ artefacts/cli/other.py,sha256=7NvzlspvG0zF7sryR-QznwdLupXLln1BKWxHB9VuEcc,1160
7
+ artefacts/cli/parameters.py,sha256=MDhrM7ur95wKTLDteqz2f-sLdCPcepi5wk0XjeLo6TU,788
8
+ artefacts/cli/ros1.py,sha256=RbtirCGarD9a0ikfuGK-pdpWYSXfqJhEt4rpA0uFsyU,9625
9
+ artefacts/cli/ros2.py,sha256=YaCi3HRuCdvCTjM0Ftnm-SLgMOy1OneIr0aU7KVTiAM,4476
10
+ artefacts/cli/utils.py,sha256=6yQJRzv-xaLbtcA73Tty9C9QZeV06n5pjXMYl3xsLPE,3156
11
+ artefacts/cli/utils_ros.py,sha256=pYbhAU9fK2VbnWm3nSLBwUMVBzsZuCn10SFZmVW3-Zo,2090
12
+ artefacts/cli/version.py,sha256=zbqzBVUYJbK8o4vMJuNyIN5tBM9QXVZa7XiEM2PNdR8,413
13
+ artefacts/cli/containers/__init__.py,sha256=S3DXLsb0csUdfjOZIngTfhMHrmYAaWBeu5EctLEEXbM,2057
14
+ artefacts/cli/containers/docker.py,sha256=RtUOMbtWHQumTtDRa0ALjJ29tSaa7Pp497Ah1aJ7nZ4,2964
15
+ artefacts/cli/containers/utils.py,sha256=5yUoREHM9AxnTkDNCY-DFUPSR5OWtu1rNxIVs6n5zZo,1816
16
+ artefacts/wrappers/artefacts_ros1_meta.launch,sha256=9tN7_0xLH8jW27KYFerhF3NuWDx2dED3ks_qoGVZAPw,1412
17
+ artefacts_cli-0.6.16.dist-info/METADATA,sha256=OLy7Jmo_RMo9CiktBZSKiZRN1HVILJkuhz-W24YB0RA,3021
18
+ artefacts_cli-0.6.16.dist-info/WHEEL,sha256=PZUExdf71Ui_so67QXpySuHtCi3-J3wvF4ORK6k_S8U,91
19
+ artefacts_cli-0.6.16.dist-info/entry_points.txt,sha256=nlTXRzilNjccbi53FgaRWCQPkG-pv61HRkaCkrKjlec,58
20
+ artefacts_cli-0.6.16.dist-info/top_level.txt,sha256=FdaMV1C9m36MWa-2Stm5xVODv7hss_nRYNwR83j_7ow,10
21
+ artefacts_cli-0.6.16.dist-info/RECORD,,
@@ -1,5 +1,5 @@
1
1
  Wheel-Version: 1.0
2
- Generator: setuptools (75.5.0)
2
+ Generator: setuptools (75.6.0)
3
3
  Root-Is-Purelib: true
4
4
  Tag: py3-none-any
5
5
 
@@ -1,21 +0,0 @@
1
- artefacts/cli/__init__.py,sha256=9rTAfBoS9ALJxKSqaUo32ThbDshbvNN4-EmoyUsPhRI,11643
2
- artefacts/cli/app.py,sha256=J9lBtYDrBx9vPam1hJWDXKwkTEP4IXIfNEGCrGBzEE8,20125
3
- artefacts/cli/app_containers.py,sha256=hHJvqjxirbLUxgAT8fsOAMjkPmN0XGIX73krr5TEm7I,2011
4
- artefacts/cli/bagparser.py,sha256=FE_QaztC9pg4hQzTjGSdyve6mzZbHJbyqa3wqvZSbxE,3702
5
- artefacts/cli/constants.py,sha256=vZxtUprVqqZx1k4-LFFDU2tI0AnENV2cBt655uR17R8,269
6
- artefacts/cli/other.py,sha256=7NvzlspvG0zF7sryR-QznwdLupXLln1BKWxHB9VuEcc,1160
7
- artefacts/cli/parameters.py,sha256=MDhrM7ur95wKTLDteqz2f-sLdCPcepi5wk0XjeLo6TU,788
8
- artefacts/cli/ros1.py,sha256=RbtirCGarD9a0ikfuGK-pdpWYSXfqJhEt4rpA0uFsyU,9625
9
- artefacts/cli/ros2.py,sha256=YaCi3HRuCdvCTjM0Ftnm-SLgMOy1OneIr0aU7KVTiAM,4476
10
- artefacts/cli/utils.py,sha256=6yQJRzv-xaLbtcA73Tty9C9QZeV06n5pjXMYl3xsLPE,3156
11
- artefacts/cli/utils_ros.py,sha256=pYbhAU9fK2VbnWm3nSLBwUMVBzsZuCn10SFZmVW3-Zo,2090
12
- artefacts/cli/version.py,sha256=mm-8uYlR9TBoYFbfyOehz69r2OAONIb8KypEpPRKVqU,413
13
- artefacts/cli/containers/__init__.py,sha256=xOVmjLw3um8joQmjK_se-D1S9juufA-1s-RqXYJ5EoQ,1875
14
- artefacts/cli/containers/docker.py,sha256=nHVZ4ZSge7oUCbwvIT1vI-GAxuiSdJ-MVvLHJ2Un_OY,2805
15
- artefacts/cli/containers/utils.py,sha256=yahjJr9Oh7NuvJvy5X_nREMupQZ8A6hrhss3mscyqio,1882
16
- artefacts/wrappers/artefacts_ros1_meta.launch,sha256=9tN7_0xLH8jW27KYFerhF3NuWDx2dED3ks_qoGVZAPw,1412
17
- artefacts_cli-0.6.15.dist-info/METADATA,sha256=JXVv2Yc_Q859rR3F1qxSUl-uVaHa_1PV5sZEUAQZHPQ,3048
18
- artefacts_cli-0.6.15.dist-info/WHEEL,sha256=R06PA3UVYHThwHvxuRWMqaGcr-PuniXahwjmQRFMEkY,91
19
- artefacts_cli-0.6.15.dist-info/entry_points.txt,sha256=nlTXRzilNjccbi53FgaRWCQPkG-pv61HRkaCkrKjlec,58
20
- artefacts_cli-0.6.15.dist-info/top_level.txt,sha256=FdaMV1C9m36MWa-2Stm5xVODv7hss_nRYNwR83j_7ow,10
21
- artefacts_cli-0.6.15.dist-info/RECORD,,