artefacts-cli 0.17.2__tar.gz → 0.17.3__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 (191) hide show
  1. {artefacts_cli-0.17.2 → artefacts_cli-0.17.3}/CHANGELOG.md +13 -1
  2. {artefacts_cli-0.17.2/artefacts_cli.egg-info → artefacts_cli-0.17.3}/PKG-INFO +3 -14
  3. {artefacts_cli-0.17.2 → artefacts_cli-0.17.3}/README.md +1 -7
  4. {artefacts_cli-0.17.2 → artefacts_cli-0.17.3}/README_INTERNAL.md +1 -7
  5. {artefacts_cli-0.17.2 → artefacts_cli-0.17.3}/artefacts/cli/__init__.py +3 -2
  6. {artefacts_cli-0.17.2 → artefacts_cli-0.17.3}/artefacts/cli/blob/__init__.py +3 -2
  7. {artefacts_cli-0.17.2 → artefacts_cli-0.17.3}/artefacts/cli/version.py +3 -3
  8. {artefacts_cli-0.17.2 → artefacts_cli-0.17.3}/artefacts.yaml +1 -1
  9. {artefacts_cli-0.17.2 → artefacts_cli-0.17.3/artefacts_cli.egg-info}/PKG-INFO +3 -14
  10. {artefacts_cli-0.17.2 → artefacts_cli-0.17.3}/artefacts_cli.egg-info/SOURCES.txt +1 -0
  11. {artefacts_cli-0.17.2 → artefacts_cli-0.17.3}/artefacts_cli.egg-info/requires.txt +1 -6
  12. {artefacts_cli-0.17.2 → artefacts_cli-0.17.3}/artefacts_cli.egg-info/scm_file_list.json +1 -0
  13. artefacts_cli-0.17.3/artefacts_cli.egg-info/scm_version.json +8 -0
  14. {artefacts_cli-0.17.2 → artefacts_cli-0.17.3}/pyproject.toml +1 -6
  15. artefacts_cli-0.17.3/tests/cli/test_ros1_not_supported.py +48 -0
  16. {artefacts_cli-0.17.2 → artefacts_cli-0.17.3}/tests/cli/test_warp_run.py +24 -0
  17. artefacts_cli-0.17.2/artefacts_cli.egg-info/scm_version.json +0 -8
  18. {artefacts_cli-0.17.2 → artefacts_cli-0.17.3}/.coveragerc +0 -0
  19. {artefacts_cli-0.17.2 → artefacts_cli-0.17.3}/.pyre_configuration +0 -0
  20. {artefacts_cli-0.17.2 → artefacts_cli-0.17.3}/artefacts/__init__.py +0 -0
  21. {artefacts_cli-0.17.2 → artefacts_cli-0.17.3}/artefacts/api/__init__.py +0 -0
  22. {artefacts_cli-0.17.2 → artefacts_cli-0.17.3}/artefacts/api/api/__init__.py +0 -0
  23. {artefacts_cli-0.17.2 → artefacts_cli-0.17.3}/artefacts/api/api/default/__init__.py +0 -0
  24. {artefacts_cli-0.17.2 → artefacts_cli-0.17.3}/artefacts/api/api/default/get_artifact.py +0 -0
  25. {artefacts_cli-0.17.2 → artefacts_cli-0.17.3}/artefacts/api/api/framework/__init__.py +0 -0
  26. {artefacts_cli-0.17.2 → artefacts_cli-0.17.3}/artefacts/api/api/framework/list_frameworks.py +0 -0
  27. {artefacts_cli-0.17.2 → artefacts_cli-0.17.3}/artefacts/api/api/framework/list_simulators.py +0 -0
  28. {artefacts_cli-0.17.2 → artefacts_cli-0.17.3}/artefacts/api/api/job/__init__.py +0 -0
  29. {artefacts_cli-0.17.2 → artefacts_cli-0.17.3}/artefacts/api/api/job/api_project_new_job.py +0 -0
  30. {artefacts_cli-0.17.2 → artefacts_cli-0.17.3}/artefacts/api/api/job/get_artifact_downloads.py +0 -0
  31. {artefacts_cli-0.17.2 → artefacts_cli-0.17.3}/artefacts/api/api/job/get_job_by_commit.py +0 -0
  32. {artefacts_cli-0.17.2 → artefacts_cli-0.17.3}/artefacts/api/api/job/get_job_test_results.py +0 -0
  33. {artefacts_cli-0.17.2 → artefacts_cli-0.17.3}/artefacts/api/api/job/post_update_job_results.py +0 -0
  34. {artefacts_cli-0.17.2 → artefacts_cli-0.17.3}/artefacts/api/api/job/put_update_job_results.py +0 -0
  35. {artefacts_cli-0.17.2 → artefacts_cli-0.17.3}/artefacts/api/api/job/trigger_platform_launch.py +0 -0
  36. {artefacts_cli-0.17.2 → artefacts_cli-0.17.3}/artefacts/api/api/organization/__init__.py +0 -0
  37. {artefacts_cli-0.17.2 → artefacts_cli-0.17.3}/artefacts/api/api/organization/post_create_organization.py +0 -0
  38. {artefacts_cli-0.17.2 → artefacts_cli-0.17.3}/artefacts/api/api/project/__init__.py +0 -0
  39. {artefacts_cli-0.17.2 → artefacts_cli-0.17.3}/artefacts/api/api/project/api_project_info.py +0 -0
  40. {artefacts_cli-0.17.2 → artefacts_cli-0.17.3}/artefacts/api/api/project/create_remote.py +0 -0
  41. {artefacts_cli-0.17.2 → artefacts_cli-0.17.3}/artefacts/api/api/project/get_badge.py +0 -0
  42. {artefacts_cli-0.17.2 → artefacts_cli-0.17.3}/artefacts/api/api/project/get_config.py +0 -0
  43. {artefacts_cli-0.17.2 → artefacts_cli-0.17.3}/artefacts/api/api/project/get_last_jobs.py +0 -0
  44. {artefacts_cli-0.17.2 → artefacts_cli-0.17.3}/artefacts/api/api/project/upload_source.py +0 -0
  45. {artefacts_cli-0.17.2 → artefacts_cli-0.17.3}/artefacts/api/api/projects/__init__.py +0 -0
  46. {artefacts_cli-0.17.2 → artefacts_cli-0.17.3}/artefacts/api/api/projects/api_create_project.py +0 -0
  47. {artefacts_cli-0.17.2 → artefacts_cli-0.17.3}/artefacts/api/api/projects/api_list_projects.py +0 -0
  48. {artefacts_cli-0.17.2 → artefacts_cli-0.17.3}/artefacts/api/api/run/__init__.py +0 -0
  49. {artefacts_cli-0.17.2 → artefacts_cli-0.17.3}/artefacts/api/api/run/create_job_run.py +0 -0
  50. {artefacts_cli-0.17.2 → artefacts_cli-0.17.3}/artefacts/api/api/run/submit_run_results.py +0 -0
  51. {artefacts_cli-0.17.2 → artefacts_cli-0.17.3}/artefacts/api/api/user/__init__.py +0 -0
  52. {artefacts_cli-0.17.2 → artefacts_cli-0.17.3}/artefacts/api/api/user/get_user_organizations.py +0 -0
  53. {artefacts_cli-0.17.2 → artefacts_cli-0.17.3}/artefacts/api/client.py +0 -0
  54. {artefacts_cli-0.17.2 → artefacts_cli-0.17.3}/artefacts/api/errors.py +0 -0
  55. {artefacts_cli-0.17.2 → artefacts_cli-0.17.3}/artefacts/api/models/__init__.py +0 -0
  56. {artefacts_cli-0.17.2 → artefacts_cli-0.17.3}/artefacts/api/models/artifact_response.py +0 -0
  57. {artefacts_cli-0.17.2 → artefacts_cli-0.17.3}/artefacts/api/models/blob.py +0 -0
  58. {artefacts_cli-0.17.2 → artefacts_cli-0.17.3}/artefacts/api/models/create_new_job.py +0 -0
  59. {artefacts_cli-0.17.2 → artefacts_cli-0.17.3}/artefacts/api/models/create_organization.py +0 -0
  60. {artefacts_cli-0.17.2 → artefacts_cli-0.17.3}/artefacts/api/models/create_organization_errors.py +0 -0
  61. {artefacts_cli-0.17.2 → artefacts_cli-0.17.3}/artefacts/api/models/create_project.py +0 -0
  62. {artefacts_cli-0.17.2 → artefacts_cli-0.17.3}/artefacts/api/models/create_remote.py +0 -0
  63. {artefacts_cli-0.17.2 → artefacts_cli-0.17.3}/artefacts/api/models/create_remote_response.py +0 -0
  64. {artefacts_cli-0.17.2 → artefacts_cli-0.17.3}/artefacts/api/models/create_remote_response_blob_upload_urls.py +0 -0
  65. {artefacts_cli-0.17.2 → artefacts_cli-0.17.3}/artefacts/api/models/create_remote_response_upload_urls.py +0 -0
  66. {artefacts_cli-0.17.2 → artefacts_cli-0.17.3}/artefacts/api/models/error.py +0 -0
  67. {artefacts_cli-0.17.2 → artefacts_cli-0.17.3}/artefacts/api/models/error_errors.py +0 -0
  68. {artefacts_cli-0.17.2 → artefacts_cli-0.17.3}/artefacts/api/models/framework.py +0 -0
  69. {artefacts_cli-0.17.2 → artefacts_cli-0.17.3}/artefacts/api/models/frameworks_list.py +0 -0
  70. {artefacts_cli-0.17.2 → artefacts_cli-0.17.3}/artefacts/api/models/get_artifact_downloads_response.py +0 -0
  71. {artefacts_cli-0.17.2 → artefacts_cli-0.17.3}/artefacts/api/models/job.py +0 -0
  72. {artefacts_cli-0.17.2 → artefacts_cli-0.17.3}/artefacts/api/models/last_jobs_response.py +0 -0
  73. {artefacts_cli-0.17.2 → artefacts_cli-0.17.3}/artefacts/api/models/list_projects_response.py +0 -0
  74. {artefacts_cli-0.17.2 → artefacts_cli-0.17.3}/artefacts/api/models/organization.py +0 -0
  75. {artefacts_cli-0.17.2 → artefacts_cli-0.17.3}/artefacts/api/models/presigned_url.py +0 -0
  76. {artefacts_cli-0.17.2 → artefacts_cli-0.17.3}/artefacts/api/models/presigned_url_fields.py +0 -0
  77. {artefacts_cli-0.17.2 → artefacts_cli-0.17.3}/artefacts/api/models/project.py +0 -0
  78. {artefacts_cli-0.17.2 → artefacts_cli-0.17.3}/artefacts/api/models/register_run.py +0 -0
  79. {artefacts_cli-0.17.2 → artefacts_cli-0.17.3}/artefacts/api/models/register_run_tests_item.py +0 -0
  80. {artefacts_cli-0.17.2 → artefacts_cli-0.17.3}/artefacts/api/models/scenario_map_response.py +0 -0
  81. {artefacts_cli-0.17.2 → artefacts_cli-0.17.3}/artefacts/api/models/simulator.py +0 -0
  82. {artefacts_cli-0.17.2 → artefacts_cli-0.17.3}/artefacts/api/models/simulators_list.py +0 -0
  83. {artefacts_cli-0.17.2 → artefacts_cli-0.17.3}/artefacts/api/models/submit_run_results.py +0 -0
  84. {artefacts_cli-0.17.2 → artefacts_cli-0.17.3}/artefacts/api/models/submit_run_results_metrics.py +0 -0
  85. {artefacts_cli-0.17.2 → artefacts_cli-0.17.3}/artefacts/api/models/submit_run_results_response.py +0 -0
  86. {artefacts_cli-0.17.2 → artefacts_cli-0.17.3}/artefacts/api/models/submit_run_results_response_upload_urls.py +0 -0
  87. {artefacts_cli-0.17.2 → artefacts_cli-0.17.3}/artefacts/api/models/submit_run_results_tests_item.py +0 -0
  88. {artefacts_cli-0.17.2 → artefacts_cli-0.17.3}/artefacts/api/models/submit_run_results_uploads.py +0 -0
  89. {artefacts_cli-0.17.2 → artefacts_cli-0.17.3}/artefacts/api/models/update_job_results.py +0 -0
  90. {artefacts_cli-0.17.2 → artefacts_cli-0.17.3}/artefacts/api/models/upload_source_response.py +0 -0
  91. {artefacts_cli-0.17.2 → artefacts_cli-0.17.3}/artefacts/api/models/upload_source_response_upload_urls.py +0 -0
  92. {artefacts_cli-0.17.2 → artefacts_cli-0.17.3}/artefacts/api/models/user_organizations_response.py +0 -0
  93. {artefacts_cli-0.17.2 → artefacts_cli-0.17.3}/artefacts/api/types.py +0 -0
  94. {artefacts_cli-0.17.2 → artefacts_cli-0.17.3}/artefacts/cli/app.py +0 -0
  95. {artefacts_cli-0.17.2 → artefacts_cli-0.17.3}/artefacts/cli/app_auth.py +0 -0
  96. {artefacts_cli-0.17.2 → artefacts_cli-0.17.3}/artefacts/cli/app_containers.py +0 -0
  97. {artefacts_cli-0.17.2 → artefacts_cli-0.17.3}/artefacts/cli/app_containers.pyi +0 -0
  98. {artefacts_cli-0.17.2 → artefacts_cli-0.17.3}/artefacts/cli/app_experimental.py +0 -0
  99. {artefacts_cli-0.17.2 → artefacts_cli-0.17.3}/artefacts/cli/app_project.py +0 -0
  100. {artefacts_cli-0.17.2 → artefacts_cli-0.17.3}/artefacts/cli/blob/filetree_classifyer.py +0 -0
  101. {artefacts_cli-0.17.2 → artefacts_cli-0.17.3}/artefacts/cli/blob/hash_cache.py +0 -0
  102. {artefacts_cli-0.17.2 → artefacts_cli-0.17.3}/artefacts/cli/blob/helpers.py +0 -0
  103. {artefacts_cli-0.17.2 → artefacts_cli-0.17.3}/artefacts/cli/blob/types.py +0 -0
  104. {artefacts_cli-0.17.2 → artefacts_cli-0.17.3}/artefacts/cli/config.py +0 -0
  105. {artefacts_cli-0.17.2 → artefacts_cli-0.17.3}/artefacts/cli/constants.py +0 -0
  106. {artefacts_cli-0.17.2 → artefacts_cli-0.17.3}/artefacts/cli/containers/__init__.py +0 -0
  107. {artefacts_cli-0.17.2 → artefacts_cli-0.17.3}/artefacts/cli/containers/docker_cm.py +0 -0
  108. {artefacts_cli-0.17.2 → artefacts_cli-0.17.3}/artefacts/cli/containers/docker_utils.py +0 -0
  109. {artefacts_cli-0.17.2 → artefacts_cli-0.17.3}/artefacts/cli/containers/utils.py +0 -0
  110. {artefacts_cli-0.17.2 → artefacts_cli-0.17.3}/artefacts/cli/core/__init__.py +0 -0
  111. {artefacts_cli-0.17.2 → artefacts_cli-0.17.3}/artefacts/cli/core/code_environment.py +0 -0
  112. {artefacts_cli-0.17.2 → artefacts_cli-0.17.3}/artefacts/cli/doctor.py +0 -0
  113. {artefacts_cli-0.17.2 → artefacts_cli-0.17.3}/artefacts/cli/download.py +0 -0
  114. {artefacts_cli-0.17.2 → artefacts_cli-0.17.3}/artefacts/cli/errors.py +0 -0
  115. {artefacts_cli-0.17.2 → artefacts_cli-0.17.3}/artefacts/cli/i18n.py +0 -0
  116. {artefacts_cli-0.17.2 → artefacts_cli-0.17.3}/artefacts/cli/locales/art.pot +0 -0
  117. {artefacts_cli-0.17.2 → artefacts_cli-0.17.3}/artefacts/cli/locales/base.pot +0 -0
  118. {artefacts_cli-0.17.2 → artefacts_cli-0.17.3}/artefacts/cli/locales/click.pot +0 -0
  119. {artefacts_cli-0.17.2 → artefacts_cli-0.17.3}/artefacts/cli/locales/ja_JP/LC_MESSAGES/artefacts.po +0 -0
  120. {artefacts_cli-0.17.2 → artefacts_cli-0.17.3}/artefacts/cli/logger.py +0 -0
  121. {artefacts_cli-0.17.2 → artefacts_cli-0.17.3}/artefacts/cli/reporter.py +0 -0
  122. {artefacts_cli-0.17.2 → artefacts_cli-0.17.3}/artefacts/cli/runners/__init__.py +0 -0
  123. {artefacts_cli-0.17.2 → artefacts_cli-0.17.3}/artefacts/cli/runners/base_runner.py +0 -0
  124. {artefacts_cli-0.17.2 → artefacts_cli-0.17.3}/artefacts/cli/runners/launch_test_runner.py +0 -0
  125. {artefacts_cli-0.17.2 → artefacts_cli-0.17.3}/artefacts/cli/runners/pytest_runner.py +0 -0
  126. {artefacts_cli-0.17.2 → artefacts_cli-0.17.3}/artefacts/cli/shell_completion.py +0 -0
  127. {artefacts_cli-0.17.2 → artefacts_cli-0.17.3}/artefacts/cli/templates/sample_config.yaml +0 -0
  128. {artefacts_cli-0.17.2 → artefacts_cli-0.17.3}/artefacts/cli/utils/__init__.py +0 -0
  129. {artefacts_cli-0.17.2 → artefacts_cli-0.17.3}/artefacts/cli/utils/api.py +0 -0
  130. {artefacts_cli-0.17.2 → artefacts_cli-0.17.3}/artefacts/cli/utils/auth.py +0 -0
  131. {artefacts_cli-0.17.2 → artefacts_cli-0.17.3}/artefacts/cli/utils/click_net_watch.py +0 -0
  132. {artefacts_cli-0.17.2 → artefacts_cli-0.17.3}/artefacts/cli/utils/common.py +0 -0
  133. {artefacts_cli-0.17.2 → artefacts_cli-0.17.3}/artefacts/cli/utils/config.py +0 -0
  134. {artefacts_cli-0.17.2 → artefacts_cli-0.17.3}/artefacts/cli/utils/formatting.py +0 -0
  135. {artefacts_cli-0.17.2 → artefacts_cli-0.17.3}/artefacts/cli/utils/junit.py +0 -0
  136. {artefacts_cli-0.17.2 → artefacts_cli-0.17.3}/artefacts/cli/utils/parameters.py +0 -0
  137. {artefacts_cli-0.17.2 → artefacts_cli-0.17.3}/artefacts/cli/utils/proc_tree_tracker.py +0 -0
  138. {artefacts_cli-0.17.2 → artefacts_cli-0.17.3}/artefacts/cli/utils/ros/__init__.py +0 -0
  139. {artefacts_cli-0.17.2 → artefacts_cli-0.17.3}/artefacts/cli/utils/ros/bagparser.py +0 -0
  140. {artefacts_cli-0.17.2 → artefacts_cli-0.17.3}/artefacts/cli/utils/ros/rosbags.py +0 -0
  141. {artefacts_cli-0.17.2 → artefacts_cli-0.17.3}/artefacts/copava/__init__.py +0 -0
  142. {artefacts_cli-0.17.2 → artefacts_cli-0.17.3}/artefacts_cli.egg-info/dependency_links.txt +0 -0
  143. {artefacts_cli-0.17.2 → artefacts_cli-0.17.3}/artefacts_cli.egg-info/entry_points.txt +0 -0
  144. {artefacts_cli-0.17.2 → artefacts_cli-0.17.3}/artefacts_cli.egg-info/top_level.txt +0 -0
  145. {artefacts_cli-0.17.2 → artefacts_cli-0.17.3}/bin/release +0 -0
  146. {artefacts_cli-0.17.2 → artefacts_cli-0.17.3}/infra-tests/test_run_remote.yaml +0 -0
  147. {artefacts_cli-0.17.2 → artefacts_cli-0.17.3}/infra-tests/turtlesim2/launch_turtle.py +0 -0
  148. {artefacts_cli-0.17.2 → artefacts_cli-0.17.3}/infra-tests/turtlesim2/sample_node.py +0 -0
  149. {artefacts_cli-0.17.2 → artefacts_cli-0.17.3}/pytest.ini +0 -0
  150. {artefacts_cli-0.17.2 → artefacts_cli-0.17.3}/scripts/dev_version.py +0 -0
  151. {artefacts_cli-0.17.2 → artefacts_cli-0.17.3}/scripts/whats_latest.rb +0 -0
  152. {artefacts_cli-0.17.2 → artefacts_cli-0.17.3}/setup.cfg +0 -0
  153. {artefacts_cli-0.17.2 → artefacts_cli-0.17.3}/tests/__init__.py +0 -0
  154. {artefacts_cli-0.17.2 → artefacts_cli-0.17.3}/tests/cli/__init__.py +0 -0
  155. {artefacts_cli-0.17.2 → artefacts_cli-0.17.3}/tests/cli/blob/__init__.py +0 -0
  156. {artefacts_cli-0.17.2 → artefacts_cli-0.17.3}/tests/cli/blob/conftest.py +0 -0
  157. {artefacts_cli-0.17.2 → artefacts_cli-0.17.3}/tests/cli/blob/test_compression.py +0 -0
  158. {artefacts_cli-0.17.2 → artefacts_cli-0.17.3}/tests/cli/blob/test_dir_crawl.py +0 -0
  159. {artefacts_cli-0.17.2 → artefacts_cli-0.17.3}/tests/cli/blob/test_hash_cache.py +0 -0
  160. {artefacts_cli-0.17.2 → artefacts_cli-0.17.3}/tests/cli/blob/test_manifest.py +0 -0
  161. {artefacts_cli-0.17.2 → artefacts_cli-0.17.3}/tests/cli/blob/test_scan_and_hash.py +0 -0
  162. {artefacts_cli-0.17.2 → artefacts_cli-0.17.3}/tests/cli/containers/__init__.py +0 -0
  163. {artefacts_cli-0.17.2 → artefacts_cli-0.17.3}/tests/cli/containers/test_docker.py +0 -0
  164. {artefacts_cli-0.17.2 → artefacts_cli-0.17.3}/tests/cli/containers/test_docker_cm.py +0 -0
  165. {artefacts_cli-0.17.2 → artefacts_cli-0.17.3}/tests/cli/containers/test_utils.py +0 -0
  166. {artefacts_cli-0.17.2 → artefacts_cli-0.17.3}/tests/cli/core/test_code_environment.py +0 -0
  167. {artefacts_cli-0.17.2 → artefacts_cli-0.17.3}/tests/cli/test_app_auth.py +0 -0
  168. {artefacts_cli-0.17.2 → artefacts_cli-0.17.3}/tests/cli/test_app_containers.py +0 -0
  169. {artefacts_cli-0.17.2 → artefacts_cli-0.17.3}/tests/cli/test_app_project.py +0 -0
  170. {artefacts_cli-0.17.2 → artefacts_cli-0.17.3}/tests/cli/test_cli.py +0 -0
  171. {artefacts_cli-0.17.2 → artefacts_cli-0.17.3}/tests/cli/test_config.py +0 -0
  172. {artefacts_cli-0.17.2 → artefacts_cli-0.17.3}/tests/cli/test_config_validation.py +0 -0
  173. {artefacts_cli-0.17.2 → artefacts_cli-0.17.3}/tests/cli/test_download.py +0 -0
  174. {artefacts_cli-0.17.2 → artefacts_cli-0.17.3}/tests/cli/test_init.py +0 -0
  175. {artefacts_cli-0.17.2 → artefacts_cli-0.17.3}/tests/cli/test_other.py +0 -0
  176. {artefacts_cli-0.17.2 → artefacts_cli-0.17.3}/tests/cli/test_parameters.py +0 -0
  177. {artefacts_cli-0.17.2 → artefacts_cli-0.17.3}/tests/cli/test_pytest.py +0 -0
  178. {artefacts_cli-0.17.2 → artefacts_cli-0.17.3}/tests/cli/test_reporter.py +0 -0
  179. {artefacts_cli-0.17.2 → artefacts_cli-0.17.3}/tests/cli/test_ros2.py +0 -0
  180. {artefacts_cli-0.17.2 → artefacts_cli-0.17.3}/tests/cli/test_signals.py +0 -0
  181. {artefacts_cli-0.17.2 → artefacts_cli-0.17.3}/tests/cli/test_utils.py +0 -0
  182. {artefacts_cli-0.17.2 → artefacts_cli-0.17.3}/tests/cli/test_utils_ros.py +0 -0
  183. {artefacts_cli-0.17.2 → artefacts_cli-0.17.3}/tests/cli/test_warp.py +0 -0
  184. {artefacts_cli-0.17.2 → artefacts_cli-0.17.3}/tests/conftest.py +0 -0
  185. {artefacts_cli-0.17.2 → artefacts_cli-0.17.3}/tests/fixtures/artefacts-env-param.yaml +0 -0
  186. {artefacts_cli-0.17.2 → artefacts_cli-0.17.3}/tests/fixtures/artefacts.yaml.template +0 -0
  187. {artefacts_cli-0.17.2 → artefacts_cli-0.17.3}/tests/fixtures/artefacts_deprecated.yaml +0 -0
  188. {artefacts_cli-0.17.2 → artefacts_cli-0.17.3}/tests/fixtures/bad_launch_test.py +0 -0
  189. {artefacts_cli-0.17.2 → artefacts_cli-0.17.3}/tests/fixtures/sample_pytest_file.py +0 -0
  190. {artefacts_cli-0.17.2 → artefacts_cli-0.17.3}/tests/fixtures/test_junit.xml +0 -0
  191. {artefacts_cli-0.17.2 → artefacts_cli-0.17.3}/tests/utils/docker_mock.py +0 -0
@@ -7,6 +7,17 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
7
7
 
8
8
  ## [Unreleased]
9
9
 
10
+ ## [0.17.3] - 2026-11-12
11
+
12
+ ### Fixed
13
+
14
+ - Fixed bug where client may in some cases upload `artefacts.yaml` twice.
15
+ - `artefacts run` crashed with `ValueError: placeholder too large for max width` before uploading any artifact when the terminal left the progress bar 1-2 columns for the file name (#576)
16
+
17
+ ### Removed
18
+
19
+ - Last remnants of ROS1 support: The unused `rospkg` dependency and ROS1-specific documentation and support files (#572)
20
+
10
21
  ## [0.17.2] - 2026-09-15
11
22
 
12
23
  ### Fixed
@@ -336,7 +347,8 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
336
347
  - Local metrics errors do not block publication of results.
337
348
  - Introduction of Black formatting.
338
349
 
339
- [unreleased]: https://github.com/art-e-fact/artefacts-client/compare/0.16.0...HEAD
350
+ [unreleased]: https://github.com/art-e-fact/artefacts-client/compare/0.17.3...HEAD
351
+ [0.17.3]: https://github.com/art-e-fact/artefacts-client/releases/tag/0.17.3
340
352
  [0.16.0]: https://github.com/art-e-fact/artefacts-client/releases/tag/0.16.0
341
353
  [0.15.0]: https://github.com/art-e-fact/artefacts-client/releases/tag/0.15.0
342
354
  [0.14.0]: https://github.com/art-e-fact/artefacts-client/releases/tag/0.14.0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: artefacts_cli
3
- Version: 0.17.2
3
+ Version: 0.17.3
4
4
  Author-email: FD <fabian@artefacts.com>, AGC <alejandro@artefacts.com>, TN <tomo@artefacts.com>, EP <eric@artefacts.com>
5
5
  License-Expression: Apache-2.0
6
6
  Project-URL: Homepage, https://github.com/art-e-fact/artefacts-client
@@ -21,10 +21,9 @@ Requires-Dist: junitparser>=2.5
21
21
  Requires-Dist: pyjwt
22
22
  Requires-Dist: mcap
23
23
  Requires-Dist: mcap-ros2-support
24
- Requires-Dist: psutil==7.0.0
24
+ Requires-Dist: psutil<7.3,>=7.2
25
25
  Requires-Dist: PyYAML>=6.0
26
26
  Requires-Dist: requests>=2.27.1
27
- Requires-Dist: rospkg
28
27
  Requires-Dist: semver==3.0.4
29
28
  Requires-Dist: urllib3>=2.4.0
30
29
  Requires-Dist: attrs>=21.3.0
@@ -36,10 +35,6 @@ Requires-Dist: awscli; extra == "dev"
36
35
  Requires-Dist: babel==2.17.0; extra == "dev"
37
36
  Requires-Dist: build; extra == "dev"
38
37
  Requires-Dist: lark; extra == "dev"
39
- Requires-Dist: mkdocs-click==0.8.0; extra == "dev"
40
- Requires-Dist: mkdocs-material==8.5.6; extra == "dev"
41
- Requires-Dist: mkdocs-mermaid2-plugin==0.6.0; extra == "dev"
42
- Requires-Dist: mkdocs==1.4.2; extra == "dev"
43
38
  Requires-Dist: packaging; extra == "dev"
44
39
  Requires-Dist: pre-commit; extra == "dev"
45
40
  Requires-Dist: pyre-check; extra == "dev"
@@ -116,13 +111,7 @@ See [the configuration syntax documentation](docs/configuration-syntax.md)
116
111
 
117
112
  ## User docs
118
113
 
119
- You can serve docs locally using mkdocs:
120
-
121
- ```
122
- mkdocs serve -a 127.0.0.1:7000
123
- ```
124
-
125
- The docs are automatically deployed by the documentation workflow.
114
+ Docs are managed in a [separate dedicated repository](https://github.com/art-e-fact/artefacts-docs), and available for consulation at https://docs.artefacts.com.
126
115
 
127
116
  ## Development notes
128
117
 
@@ -58,13 +58,7 @@ See [the configuration syntax documentation](docs/configuration-syntax.md)
58
58
 
59
59
  ## User docs
60
60
 
61
- You can serve docs locally using mkdocs:
62
-
63
- ```
64
- mkdocs serve -a 127.0.0.1:7000
65
- ```
66
-
67
- The docs are automatically deployed by the documentation workflow.
61
+ Docs are managed in a [separate dedicated repository](https://github.com/art-e-fact/artefacts-docs), and available for consulation at https://docs.artefacts.com.
68
62
 
69
63
  ## Development notes
70
64
 
@@ -98,10 +98,4 @@ Releases are managed with Twine through the `bin/release` script. By default it
98
98
 
99
99
  ## User docs
100
100
 
101
- You can serve docs locally using mkdocs:
102
-
103
- ```
104
- mkdocs serve -a 127.0.0.1:7000
105
- ```
106
-
107
- The docs are automatically deployed by the documentation workflow.
101
+ Docs are managed in a [separate dedicated repository](https://github.com/art-e-fact/artefacts-docs), and available for consulation at https://docs.artefacts.com.
@@ -410,11 +410,12 @@ class Run:
410
410
  terminal_width, _ = shutil.get_terminal_size()
411
411
  width = 30
412
412
  file_name_max = max([0, terminal_width - len(label) - width - 10])
413
+ placeholder = "..."
413
414
 
414
415
  def clip_file_name(fname: str) -> str:
415
- if file_name_max > 0:
416
+ if file_name_max >= len(placeholder):
416
417
  return textwrap.shorten(
417
- fname, width=file_name_max, placeholder="..."
418
+ fname, width=file_name_max, placeholder=placeholder
418
419
  )
419
420
  else:
420
421
  return ""
@@ -173,7 +173,7 @@ def scan_and_hash(
173
173
  """
174
174
 
175
175
  # Parse .artefactsignore
176
- ignore_list_str = ".git"
176
+ ignore_list_str = "\n".join(ALWAYS_IGNORED)
177
177
 
178
178
  dotartefactsignore = Path(folder) / Path(".artefactsignore")
179
179
 
@@ -216,9 +216,10 @@ def scan_and_hash(
216
216
  )
217
217
  else:
218
218
  logger.debug(
219
- "file blob %s dest %s",
219
+ "file blob %s dest %s: %s",
220
220
  blob.short_hash,
221
221
  blob.destination,
222
+ blob.files,
222
223
  )
223
224
  if blob.short_hash in existing:
224
225
  final_blobs.append(Blob.from_metadata(blob, existing[blob.short_hash]))
@@ -18,7 +18,7 @@ version_tuple: tuple[int | str, ...]
18
18
  commit_id: str | None
19
19
  __commit_id__: str | None
20
20
 
21
- __version__ = version = '0.17.2'
22
- __version_tuple__ = version_tuple = (0, 17, 2)
21
+ __version__ = version = '0.17.3'
22
+ __version_tuple__ = version_tuple = (0, 17, 3)
23
23
 
24
- __commit_id__ = commit_id = 'gdf013aa6f'
24
+ __commit_id__ = commit_id = 'geafac1697'
@@ -1,6 +1,6 @@
1
1
  version: 0.1.0
2
2
 
3
- project: artefacts/cli-run-remote-testing
3
+ project: artefacts-testing/cli-run-remote-testing
4
4
 
5
5
  on:
6
6
  push:
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: artefacts_cli
3
- Version: 0.17.2
3
+ Version: 0.17.3
4
4
  Author-email: FD <fabian@artefacts.com>, AGC <alejandro@artefacts.com>, TN <tomo@artefacts.com>, EP <eric@artefacts.com>
5
5
  License-Expression: Apache-2.0
6
6
  Project-URL: Homepage, https://github.com/art-e-fact/artefacts-client
@@ -21,10 +21,9 @@ Requires-Dist: junitparser>=2.5
21
21
  Requires-Dist: pyjwt
22
22
  Requires-Dist: mcap
23
23
  Requires-Dist: mcap-ros2-support
24
- Requires-Dist: psutil==7.0.0
24
+ Requires-Dist: psutil<7.3,>=7.2
25
25
  Requires-Dist: PyYAML>=6.0
26
26
  Requires-Dist: requests>=2.27.1
27
- Requires-Dist: rospkg
28
27
  Requires-Dist: semver==3.0.4
29
28
  Requires-Dist: urllib3>=2.4.0
30
29
  Requires-Dist: attrs>=21.3.0
@@ -36,10 +35,6 @@ Requires-Dist: awscli; extra == "dev"
36
35
  Requires-Dist: babel==2.17.0; extra == "dev"
37
36
  Requires-Dist: build; extra == "dev"
38
37
  Requires-Dist: lark; extra == "dev"
39
- Requires-Dist: mkdocs-click==0.8.0; extra == "dev"
40
- Requires-Dist: mkdocs-material==8.5.6; extra == "dev"
41
- Requires-Dist: mkdocs-mermaid2-plugin==0.6.0; extra == "dev"
42
- Requires-Dist: mkdocs==1.4.2; extra == "dev"
43
38
  Requires-Dist: packaging; extra == "dev"
44
39
  Requires-Dist: pre-commit; extra == "dev"
45
40
  Requires-Dist: pyre-check; extra == "dev"
@@ -116,13 +111,7 @@ See [the configuration syntax documentation](docs/configuration-syntax.md)
116
111
 
117
112
  ## User docs
118
113
 
119
- You can serve docs locally using mkdocs:
120
-
121
- ```
122
- mkdocs serve -a 127.0.0.1:7000
123
- ```
124
-
125
- The docs are automatically deployed by the documentation workflow.
114
+ Docs are managed in a [separate dedicated repository](https://github.com/art-e-fact/artefacts-docs), and available for consulation at https://docs.artefacts.com.
126
115
 
127
116
  ## Development notes
128
117
 
@@ -160,6 +160,7 @@ tests/cli/test_other.py
160
160
  tests/cli/test_parameters.py
161
161
  tests/cli/test_pytest.py
162
162
  tests/cli/test_reporter.py
163
+ tests/cli/test_ros1_not_supported.py
163
164
  tests/cli/test_ros2.py
164
165
  tests/cli/test_signals.py
165
166
  tests/cli/test_utils.py
@@ -9,10 +9,9 @@ junitparser>=2.5
9
9
  pyjwt
10
10
  mcap
11
11
  mcap-ros2-support
12
- psutil==7.0.0
12
+ psutil<7.3,>=7.2
13
13
  PyYAML>=6.0
14
14
  requests>=2.27.1
15
- rospkg
16
15
  semver==3.0.4
17
16
  urllib3>=2.4.0
18
17
  attrs>=21.3.0
@@ -25,10 +24,6 @@ awscli
25
24
  babel==2.17.0
26
25
  build
27
26
  lark
28
- mkdocs-click==0.8.0
29
- mkdocs-material==8.5.6
30
- mkdocs-mermaid2-plugin==0.6.0
31
- mkdocs==1.4.2
32
27
  packaging
33
28
  pre-commit
34
29
  pyre-check
@@ -163,6 +163,7 @@
163
163
  "tests/cli/test_parameters.py",
164
164
  "tests/cli/test_pytest.py",
165
165
  "tests/cli/test_reporter.py",
166
+ "tests/cli/test_ros1_not_supported.py",
166
167
  "tests/cli/test_ros2.py",
167
168
  "tests/cli/test_signals.py",
168
169
  "tests/cli/test_utils.py",
@@ -0,0 +1,8 @@
1
+ {
2
+ "tag": "0.17.3",
3
+ "distance": 0,
4
+ "node": "geafac16970f8a2a1da60b1b53c945f67baa8980a",
5
+ "dirty": false,
6
+ "branch": "HEAD",
7
+ "node_date": "2026-11-12"
8
+ }
@@ -30,10 +30,9 @@ dependencies = [
30
30
  "pyjwt",
31
31
  "mcap",
32
32
  "mcap-ros2-support",
33
- "psutil==7.0.0",
33
+ "psutil>=7.2,<7.3",
34
34
  "PyYAML>=6.0",
35
35
  "requests>=2.27.1",
36
- "rospkg",
37
36
  "semver==3.0.4",
38
37
  "urllib3>=2.4.0",
39
38
 
@@ -62,10 +61,6 @@ dev = [
62
61
  "babel==2.17.0",
63
62
  "build",
64
63
  "lark",
65
- "mkdocs-click==0.8.0",
66
- "mkdocs-material==8.5.6",
67
- "mkdocs-mermaid2-plugin==0.6.0",
68
- "mkdocs==1.4.2",
69
64
  "packaging",
70
65
  "pre-commit",
71
66
  "pyre-check",
@@ -0,0 +1,48 @@
1
+ from pathlib import Path
2
+
3
+ from artefacts.cli.app import run
4
+ from artefacts.cli.constants import DEPRECATED_FRAMEWORKS, SUPPORTED_FRAMEWORKS
5
+
6
+
7
+ def test_no_ros1_framework_in_supported_frameworks():
8
+ """ROS1 frameworks are no longer officially supported."""
9
+ ros1_frameworks = [f for f in SUPPORTED_FRAMEWORKS if "ros1" in str(f).lower()]
10
+
11
+ assert ros1_frameworks == []
12
+
13
+
14
+ def test_no_ros1_framework_in_deprecated_frameworks():
15
+ """ROS1 frameworks have no deprecated migration path either."""
16
+ ros1_frameworks = [f for f in DEPRECATED_FRAMEWORKS if "ros1" in str(f).lower()]
17
+
18
+ assert ros1_frameworks == []
19
+
20
+
21
+ def test_run_with_ros1_framework_warns_not_supported(
22
+ cli_runner, authorised_project_with_editable_conf
23
+ ):
24
+ """A job configured with a ROS1 framework is treated as not supported."""
25
+ authorised_project_with_editable_conf.config["jobs"]["simple_job"]["runtime"] = {
26
+ "framework": "ros1:noetic",
27
+ "simulator": "turtlesim",
28
+ }
29
+
30
+ with authorised_project_with_editable_conf as config_path:
31
+ result = cli_runner.invoke(
32
+ run,
33
+ ["simple_job", "--config", config_path, "--dryrun"],
34
+ )
35
+
36
+ assert result.exit_code == 0
37
+ assert (
38
+ "WARNING: framework: 'ros1:noetic' is not officially supported. Attempting run."
39
+ in result.output
40
+ )
41
+
42
+
43
+ def test_rospkg_not_a_project_dependency():
44
+ """The ROS1 Python package manager must not be a declared dependency."""
45
+ pyproject = Path(__file__).parents[2] / "pyproject.toml"
46
+ content = pyproject.read_text()
47
+
48
+ assert '"rospkg"' not in content
@@ -28,6 +28,30 @@ def test_run_with_upload_on_stop(mocker, artefacts_run):
28
28
  assert spy.call_args.kwargs["body"].uploads
29
29
 
30
30
 
31
+ @pytest.mark.parametrize("columns", range(60, 90))
32
+ def test_run_upload_progress_fits_terminal_width(
33
+ mocker, monkeypatch, artefacts_run, tmp_path, columns
34
+ ):
35
+ """
36
+ Check that uploading works at any terminal width, including the widths
37
+ where the progress bar leaves the file name less room than the "..."
38
+ placeholder needs (1-2 columns: 71-72 for this 30-character label).
39
+ """
40
+ artifact = tmp_path / "artifact.txt"
41
+ artifact.write_text("content")
42
+ artefacts_run.log_single_artifact(artifact)
43
+ monkeypatch.setenv("COLUMNS", str(columns))
44
+ # Click only draws the bar, and the file name in it, on a TTY
45
+ mocker.patch("click._termui_impl.isatty", return_value=True)
46
+ mocker.patch.object(artefacts_run.job.api_conf, "sdk")
47
+ upload = mocker.patch.object(artefacts_run.job.api_conf, "upload")
48
+ artefacts_run.job.dryrun = False
49
+
50
+ artefacts_run.stop()
51
+
52
+ upload.assert_called_once()
53
+
54
+
31
55
  def test_run_without_upload_on_stop(mocker, artefacts_run):
32
56
  """
33
57
  Check that `uploads` list is not registered to the API when stopping a run
@@ -1,8 +0,0 @@
1
- {
2
- "tag": "0.17.2",
3
- "distance": 0,
4
- "node": "gdf013aa6f0b30d038848380fa8ea79e5de5190f7",
5
- "dirty": false,
6
- "branch": "HEAD",
7
- "node_date": "2026-09-15"
8
- }
File without changes