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 +1 -1
- artefacts/cli/app_containers.py +9 -1
- artefacts/cli/constants.py +2 -0
- artefacts/cli/containers/__init__.py +8 -1
- artefacts/cli/containers/docker.py +11 -5
- artefacts/cli/containers/utils.py +2 -4
- artefacts/cli/version.py +2 -2
- {artefacts_cli-0.6.15.dist-info → artefacts_cli-0.6.16.dist-info}/METADATA +24 -24
- artefacts_cli-0.6.16.dist-info/RECORD +21 -0
- {artefacts_cli-0.6.15.dist-info → artefacts_cli-0.6.16.dist-info}/WHEEL +1 -1
- artefacts_cli-0.6.15.dist-info/RECORD +0 -21
- {artefacts_cli-0.6.15.dist-info → artefacts_cli-0.6.16.dist-info}/entry_points.txt +0 -0
- {artefacts_cli-0.6.15.dist-info → artefacts_cli-0.6.16.dist-info}/top_level.txt +0 -0
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")
|
artefacts/cli/app_containers.py
CHANGED
@@ -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
|
-
|
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:
|
artefacts/cli/constants.py
CHANGED
@@ -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,
|
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 =
|
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
|
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
@@ -1,6 +1,6 @@
|
|
1
1
|
Metadata-Version: 2.1
|
2
2
|
Name: artefacts_cli
|
3
|
-
Version: 0.6.
|
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
|
13
|
-
Requires-Dist: click
|
14
|
-
Requires-Dist:
|
15
|
-
Requires-Dist: junitparser
|
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
|
19
|
-
Requires-Dist: requests
|
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
|
23
|
-
Requires-Dist: build
|
24
|
-
Requires-Dist: docker
|
25
|
-
Requires-Dist: lark
|
26
|
-
Requires-Dist: pyre-check
|
27
|
-
Requires-Dist: pytest
|
28
|
-
Requires-Dist: pytest-cov
|
29
|
-
Requires-Dist: pytest-env
|
30
|
-
Requires-Dist: pytest-mock
|
31
|
-
Requires-Dist: ruff
|
32
|
-
Requires-Dist: twine
|
33
|
-
Requires-Dist: mkdocs-click
|
34
|
-
Requires-Dist: mkdocs-material
|
35
|
-
Requires-Dist: mkdocs-mermaid2-plugin
|
36
|
-
Requires-Dist: mkdocs
|
37
|
-
Requires-Dist: pre-commit
|
38
|
-
Requires-Dist: python-markdown-math
|
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,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,,
|
File without changes
|
File without changes
|