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.
- {artefacts_cli-0.17.2 → artefacts_cli-0.17.3}/CHANGELOG.md +13 -1
- {artefacts_cli-0.17.2/artefacts_cli.egg-info → artefacts_cli-0.17.3}/PKG-INFO +3 -14
- {artefacts_cli-0.17.2 → artefacts_cli-0.17.3}/README.md +1 -7
- {artefacts_cli-0.17.2 → artefacts_cli-0.17.3}/README_INTERNAL.md +1 -7
- {artefacts_cli-0.17.2 → artefacts_cli-0.17.3}/artefacts/cli/__init__.py +3 -2
- {artefacts_cli-0.17.2 → artefacts_cli-0.17.3}/artefacts/cli/blob/__init__.py +3 -2
- {artefacts_cli-0.17.2 → artefacts_cli-0.17.3}/artefacts/cli/version.py +3 -3
- {artefacts_cli-0.17.2 → artefacts_cli-0.17.3}/artefacts.yaml +1 -1
- {artefacts_cli-0.17.2 → artefacts_cli-0.17.3/artefacts_cli.egg-info}/PKG-INFO +3 -14
- {artefacts_cli-0.17.2 → artefacts_cli-0.17.3}/artefacts_cli.egg-info/SOURCES.txt +1 -0
- {artefacts_cli-0.17.2 → artefacts_cli-0.17.3}/artefacts_cli.egg-info/requires.txt +1 -6
- {artefacts_cli-0.17.2 → artefacts_cli-0.17.3}/artefacts_cli.egg-info/scm_file_list.json +1 -0
- artefacts_cli-0.17.3/artefacts_cli.egg-info/scm_version.json +8 -0
- {artefacts_cli-0.17.2 → artefacts_cli-0.17.3}/pyproject.toml +1 -6
- artefacts_cli-0.17.3/tests/cli/test_ros1_not_supported.py +48 -0
- {artefacts_cli-0.17.2 → artefacts_cli-0.17.3}/tests/cli/test_warp_run.py +24 -0
- artefacts_cli-0.17.2/artefacts_cli.egg-info/scm_version.json +0 -8
- {artefacts_cli-0.17.2 → artefacts_cli-0.17.3}/.coveragerc +0 -0
- {artefacts_cli-0.17.2 → artefacts_cli-0.17.3}/.pyre_configuration +0 -0
- {artefacts_cli-0.17.2 → artefacts_cli-0.17.3}/artefacts/__init__.py +0 -0
- {artefacts_cli-0.17.2 → artefacts_cli-0.17.3}/artefacts/api/__init__.py +0 -0
- {artefacts_cli-0.17.2 → artefacts_cli-0.17.3}/artefacts/api/api/__init__.py +0 -0
- {artefacts_cli-0.17.2 → artefacts_cli-0.17.3}/artefacts/api/api/default/__init__.py +0 -0
- {artefacts_cli-0.17.2 → artefacts_cli-0.17.3}/artefacts/api/api/default/get_artifact.py +0 -0
- {artefacts_cli-0.17.2 → artefacts_cli-0.17.3}/artefacts/api/api/framework/__init__.py +0 -0
- {artefacts_cli-0.17.2 → artefacts_cli-0.17.3}/artefacts/api/api/framework/list_frameworks.py +0 -0
- {artefacts_cli-0.17.2 → artefacts_cli-0.17.3}/artefacts/api/api/framework/list_simulators.py +0 -0
- {artefacts_cli-0.17.2 → artefacts_cli-0.17.3}/artefacts/api/api/job/__init__.py +0 -0
- {artefacts_cli-0.17.2 → artefacts_cli-0.17.3}/artefacts/api/api/job/api_project_new_job.py +0 -0
- {artefacts_cli-0.17.2 → artefacts_cli-0.17.3}/artefacts/api/api/job/get_artifact_downloads.py +0 -0
- {artefacts_cli-0.17.2 → artefacts_cli-0.17.3}/artefacts/api/api/job/get_job_by_commit.py +0 -0
- {artefacts_cli-0.17.2 → artefacts_cli-0.17.3}/artefacts/api/api/job/get_job_test_results.py +0 -0
- {artefacts_cli-0.17.2 → artefacts_cli-0.17.3}/artefacts/api/api/job/post_update_job_results.py +0 -0
- {artefacts_cli-0.17.2 → artefacts_cli-0.17.3}/artefacts/api/api/job/put_update_job_results.py +0 -0
- {artefacts_cli-0.17.2 → artefacts_cli-0.17.3}/artefacts/api/api/job/trigger_platform_launch.py +0 -0
- {artefacts_cli-0.17.2 → artefacts_cli-0.17.3}/artefacts/api/api/organization/__init__.py +0 -0
- {artefacts_cli-0.17.2 → artefacts_cli-0.17.3}/artefacts/api/api/organization/post_create_organization.py +0 -0
- {artefacts_cli-0.17.2 → artefacts_cli-0.17.3}/artefacts/api/api/project/__init__.py +0 -0
- {artefacts_cli-0.17.2 → artefacts_cli-0.17.3}/artefacts/api/api/project/api_project_info.py +0 -0
- {artefacts_cli-0.17.2 → artefacts_cli-0.17.3}/artefacts/api/api/project/create_remote.py +0 -0
- {artefacts_cli-0.17.2 → artefacts_cli-0.17.3}/artefacts/api/api/project/get_badge.py +0 -0
- {artefacts_cli-0.17.2 → artefacts_cli-0.17.3}/artefacts/api/api/project/get_config.py +0 -0
- {artefacts_cli-0.17.2 → artefacts_cli-0.17.3}/artefacts/api/api/project/get_last_jobs.py +0 -0
- {artefacts_cli-0.17.2 → artefacts_cli-0.17.3}/artefacts/api/api/project/upload_source.py +0 -0
- {artefacts_cli-0.17.2 → artefacts_cli-0.17.3}/artefacts/api/api/projects/__init__.py +0 -0
- {artefacts_cli-0.17.2 → artefacts_cli-0.17.3}/artefacts/api/api/projects/api_create_project.py +0 -0
- {artefacts_cli-0.17.2 → artefacts_cli-0.17.3}/artefacts/api/api/projects/api_list_projects.py +0 -0
- {artefacts_cli-0.17.2 → artefacts_cli-0.17.3}/artefacts/api/api/run/__init__.py +0 -0
- {artefacts_cli-0.17.2 → artefacts_cli-0.17.3}/artefacts/api/api/run/create_job_run.py +0 -0
- {artefacts_cli-0.17.2 → artefacts_cli-0.17.3}/artefacts/api/api/run/submit_run_results.py +0 -0
- {artefacts_cli-0.17.2 → artefacts_cli-0.17.3}/artefacts/api/api/user/__init__.py +0 -0
- {artefacts_cli-0.17.2 → artefacts_cli-0.17.3}/artefacts/api/api/user/get_user_organizations.py +0 -0
- {artefacts_cli-0.17.2 → artefacts_cli-0.17.3}/artefacts/api/client.py +0 -0
- {artefacts_cli-0.17.2 → artefacts_cli-0.17.3}/artefacts/api/errors.py +0 -0
- {artefacts_cli-0.17.2 → artefacts_cli-0.17.3}/artefacts/api/models/__init__.py +0 -0
- {artefacts_cli-0.17.2 → artefacts_cli-0.17.3}/artefacts/api/models/artifact_response.py +0 -0
- {artefacts_cli-0.17.2 → artefacts_cli-0.17.3}/artefacts/api/models/blob.py +0 -0
- {artefacts_cli-0.17.2 → artefacts_cli-0.17.3}/artefacts/api/models/create_new_job.py +0 -0
- {artefacts_cli-0.17.2 → artefacts_cli-0.17.3}/artefacts/api/models/create_organization.py +0 -0
- {artefacts_cli-0.17.2 → artefacts_cli-0.17.3}/artefacts/api/models/create_organization_errors.py +0 -0
- {artefacts_cli-0.17.2 → artefacts_cli-0.17.3}/artefacts/api/models/create_project.py +0 -0
- {artefacts_cli-0.17.2 → artefacts_cli-0.17.3}/artefacts/api/models/create_remote.py +0 -0
- {artefacts_cli-0.17.2 → artefacts_cli-0.17.3}/artefacts/api/models/create_remote_response.py +0 -0
- {artefacts_cli-0.17.2 → artefacts_cli-0.17.3}/artefacts/api/models/create_remote_response_blob_upload_urls.py +0 -0
- {artefacts_cli-0.17.2 → artefacts_cli-0.17.3}/artefacts/api/models/create_remote_response_upload_urls.py +0 -0
- {artefacts_cli-0.17.2 → artefacts_cli-0.17.3}/artefacts/api/models/error.py +0 -0
- {artefacts_cli-0.17.2 → artefacts_cli-0.17.3}/artefacts/api/models/error_errors.py +0 -0
- {artefacts_cli-0.17.2 → artefacts_cli-0.17.3}/artefacts/api/models/framework.py +0 -0
- {artefacts_cli-0.17.2 → artefacts_cli-0.17.3}/artefacts/api/models/frameworks_list.py +0 -0
- {artefacts_cli-0.17.2 → artefacts_cli-0.17.3}/artefacts/api/models/get_artifact_downloads_response.py +0 -0
- {artefacts_cli-0.17.2 → artefacts_cli-0.17.3}/artefacts/api/models/job.py +0 -0
- {artefacts_cli-0.17.2 → artefacts_cli-0.17.3}/artefacts/api/models/last_jobs_response.py +0 -0
- {artefacts_cli-0.17.2 → artefacts_cli-0.17.3}/artefacts/api/models/list_projects_response.py +0 -0
- {artefacts_cli-0.17.2 → artefacts_cli-0.17.3}/artefacts/api/models/organization.py +0 -0
- {artefacts_cli-0.17.2 → artefacts_cli-0.17.3}/artefacts/api/models/presigned_url.py +0 -0
- {artefacts_cli-0.17.2 → artefacts_cli-0.17.3}/artefacts/api/models/presigned_url_fields.py +0 -0
- {artefacts_cli-0.17.2 → artefacts_cli-0.17.3}/artefacts/api/models/project.py +0 -0
- {artefacts_cli-0.17.2 → artefacts_cli-0.17.3}/artefacts/api/models/register_run.py +0 -0
- {artefacts_cli-0.17.2 → artefacts_cli-0.17.3}/artefacts/api/models/register_run_tests_item.py +0 -0
- {artefacts_cli-0.17.2 → artefacts_cli-0.17.3}/artefacts/api/models/scenario_map_response.py +0 -0
- {artefacts_cli-0.17.2 → artefacts_cli-0.17.3}/artefacts/api/models/simulator.py +0 -0
- {artefacts_cli-0.17.2 → artefacts_cli-0.17.3}/artefacts/api/models/simulators_list.py +0 -0
- {artefacts_cli-0.17.2 → artefacts_cli-0.17.3}/artefacts/api/models/submit_run_results.py +0 -0
- {artefacts_cli-0.17.2 → artefacts_cli-0.17.3}/artefacts/api/models/submit_run_results_metrics.py +0 -0
- {artefacts_cli-0.17.2 → artefacts_cli-0.17.3}/artefacts/api/models/submit_run_results_response.py +0 -0
- {artefacts_cli-0.17.2 → artefacts_cli-0.17.3}/artefacts/api/models/submit_run_results_response_upload_urls.py +0 -0
- {artefacts_cli-0.17.2 → artefacts_cli-0.17.3}/artefacts/api/models/submit_run_results_tests_item.py +0 -0
- {artefacts_cli-0.17.2 → artefacts_cli-0.17.3}/artefacts/api/models/submit_run_results_uploads.py +0 -0
- {artefacts_cli-0.17.2 → artefacts_cli-0.17.3}/artefacts/api/models/update_job_results.py +0 -0
- {artefacts_cli-0.17.2 → artefacts_cli-0.17.3}/artefacts/api/models/upload_source_response.py +0 -0
- {artefacts_cli-0.17.2 → artefacts_cli-0.17.3}/artefacts/api/models/upload_source_response_upload_urls.py +0 -0
- {artefacts_cli-0.17.2 → artefacts_cli-0.17.3}/artefacts/api/models/user_organizations_response.py +0 -0
- {artefacts_cli-0.17.2 → artefacts_cli-0.17.3}/artefacts/api/types.py +0 -0
- {artefacts_cli-0.17.2 → artefacts_cli-0.17.3}/artefacts/cli/app.py +0 -0
- {artefacts_cli-0.17.2 → artefacts_cli-0.17.3}/artefacts/cli/app_auth.py +0 -0
- {artefacts_cli-0.17.2 → artefacts_cli-0.17.3}/artefacts/cli/app_containers.py +0 -0
- {artefacts_cli-0.17.2 → artefacts_cli-0.17.3}/artefacts/cli/app_containers.pyi +0 -0
- {artefacts_cli-0.17.2 → artefacts_cli-0.17.3}/artefacts/cli/app_experimental.py +0 -0
- {artefacts_cli-0.17.2 → artefacts_cli-0.17.3}/artefacts/cli/app_project.py +0 -0
- {artefacts_cli-0.17.2 → artefacts_cli-0.17.3}/artefacts/cli/blob/filetree_classifyer.py +0 -0
- {artefacts_cli-0.17.2 → artefacts_cli-0.17.3}/artefacts/cli/blob/hash_cache.py +0 -0
- {artefacts_cli-0.17.2 → artefacts_cli-0.17.3}/artefacts/cli/blob/helpers.py +0 -0
- {artefacts_cli-0.17.2 → artefacts_cli-0.17.3}/artefacts/cli/blob/types.py +0 -0
- {artefacts_cli-0.17.2 → artefacts_cli-0.17.3}/artefacts/cli/config.py +0 -0
- {artefacts_cli-0.17.2 → artefacts_cli-0.17.3}/artefacts/cli/constants.py +0 -0
- {artefacts_cli-0.17.2 → artefacts_cli-0.17.3}/artefacts/cli/containers/__init__.py +0 -0
- {artefacts_cli-0.17.2 → artefacts_cli-0.17.3}/artefacts/cli/containers/docker_cm.py +0 -0
- {artefacts_cli-0.17.2 → artefacts_cli-0.17.3}/artefacts/cli/containers/docker_utils.py +0 -0
- {artefacts_cli-0.17.2 → artefacts_cli-0.17.3}/artefacts/cli/containers/utils.py +0 -0
- {artefacts_cli-0.17.2 → artefacts_cli-0.17.3}/artefacts/cli/core/__init__.py +0 -0
- {artefacts_cli-0.17.2 → artefacts_cli-0.17.3}/artefacts/cli/core/code_environment.py +0 -0
- {artefacts_cli-0.17.2 → artefacts_cli-0.17.3}/artefacts/cli/doctor.py +0 -0
- {artefacts_cli-0.17.2 → artefacts_cli-0.17.3}/artefacts/cli/download.py +0 -0
- {artefacts_cli-0.17.2 → artefacts_cli-0.17.3}/artefacts/cli/errors.py +0 -0
- {artefacts_cli-0.17.2 → artefacts_cli-0.17.3}/artefacts/cli/i18n.py +0 -0
- {artefacts_cli-0.17.2 → artefacts_cli-0.17.3}/artefacts/cli/locales/art.pot +0 -0
- {artefacts_cli-0.17.2 → artefacts_cli-0.17.3}/artefacts/cli/locales/base.pot +0 -0
- {artefacts_cli-0.17.2 → artefacts_cli-0.17.3}/artefacts/cli/locales/click.pot +0 -0
- {artefacts_cli-0.17.2 → artefacts_cli-0.17.3}/artefacts/cli/locales/ja_JP/LC_MESSAGES/artefacts.po +0 -0
- {artefacts_cli-0.17.2 → artefacts_cli-0.17.3}/artefacts/cli/logger.py +0 -0
- {artefacts_cli-0.17.2 → artefacts_cli-0.17.3}/artefacts/cli/reporter.py +0 -0
- {artefacts_cli-0.17.2 → artefacts_cli-0.17.3}/artefacts/cli/runners/__init__.py +0 -0
- {artefacts_cli-0.17.2 → artefacts_cli-0.17.3}/artefacts/cli/runners/base_runner.py +0 -0
- {artefacts_cli-0.17.2 → artefacts_cli-0.17.3}/artefacts/cli/runners/launch_test_runner.py +0 -0
- {artefacts_cli-0.17.2 → artefacts_cli-0.17.3}/artefacts/cli/runners/pytest_runner.py +0 -0
- {artefacts_cli-0.17.2 → artefacts_cli-0.17.3}/artefacts/cli/shell_completion.py +0 -0
- {artefacts_cli-0.17.2 → artefacts_cli-0.17.3}/artefacts/cli/templates/sample_config.yaml +0 -0
- {artefacts_cli-0.17.2 → artefacts_cli-0.17.3}/artefacts/cli/utils/__init__.py +0 -0
- {artefacts_cli-0.17.2 → artefacts_cli-0.17.3}/artefacts/cli/utils/api.py +0 -0
- {artefacts_cli-0.17.2 → artefacts_cli-0.17.3}/artefacts/cli/utils/auth.py +0 -0
- {artefacts_cli-0.17.2 → artefacts_cli-0.17.3}/artefacts/cli/utils/click_net_watch.py +0 -0
- {artefacts_cli-0.17.2 → artefacts_cli-0.17.3}/artefacts/cli/utils/common.py +0 -0
- {artefacts_cli-0.17.2 → artefacts_cli-0.17.3}/artefacts/cli/utils/config.py +0 -0
- {artefacts_cli-0.17.2 → artefacts_cli-0.17.3}/artefacts/cli/utils/formatting.py +0 -0
- {artefacts_cli-0.17.2 → artefacts_cli-0.17.3}/artefacts/cli/utils/junit.py +0 -0
- {artefacts_cli-0.17.2 → artefacts_cli-0.17.3}/artefacts/cli/utils/parameters.py +0 -0
- {artefacts_cli-0.17.2 → artefacts_cli-0.17.3}/artefacts/cli/utils/proc_tree_tracker.py +0 -0
- {artefacts_cli-0.17.2 → artefacts_cli-0.17.3}/artefacts/cli/utils/ros/__init__.py +0 -0
- {artefacts_cli-0.17.2 → artefacts_cli-0.17.3}/artefacts/cli/utils/ros/bagparser.py +0 -0
- {artefacts_cli-0.17.2 → artefacts_cli-0.17.3}/artefacts/cli/utils/ros/rosbags.py +0 -0
- {artefacts_cli-0.17.2 → artefacts_cli-0.17.3}/artefacts/copava/__init__.py +0 -0
- {artefacts_cli-0.17.2 → artefacts_cli-0.17.3}/artefacts_cli.egg-info/dependency_links.txt +0 -0
- {artefacts_cli-0.17.2 → artefacts_cli-0.17.3}/artefacts_cli.egg-info/entry_points.txt +0 -0
- {artefacts_cli-0.17.2 → artefacts_cli-0.17.3}/artefacts_cli.egg-info/top_level.txt +0 -0
- {artefacts_cli-0.17.2 → artefacts_cli-0.17.3}/bin/release +0 -0
- {artefacts_cli-0.17.2 → artefacts_cli-0.17.3}/infra-tests/test_run_remote.yaml +0 -0
- {artefacts_cli-0.17.2 → artefacts_cli-0.17.3}/infra-tests/turtlesim2/launch_turtle.py +0 -0
- {artefacts_cli-0.17.2 → artefacts_cli-0.17.3}/infra-tests/turtlesim2/sample_node.py +0 -0
- {artefacts_cli-0.17.2 → artefacts_cli-0.17.3}/pytest.ini +0 -0
- {artefacts_cli-0.17.2 → artefacts_cli-0.17.3}/scripts/dev_version.py +0 -0
- {artefacts_cli-0.17.2 → artefacts_cli-0.17.3}/scripts/whats_latest.rb +0 -0
- {artefacts_cli-0.17.2 → artefacts_cli-0.17.3}/setup.cfg +0 -0
- {artefacts_cli-0.17.2 → artefacts_cli-0.17.3}/tests/__init__.py +0 -0
- {artefacts_cli-0.17.2 → artefacts_cli-0.17.3}/tests/cli/__init__.py +0 -0
- {artefacts_cli-0.17.2 → artefacts_cli-0.17.3}/tests/cli/blob/__init__.py +0 -0
- {artefacts_cli-0.17.2 → artefacts_cli-0.17.3}/tests/cli/blob/conftest.py +0 -0
- {artefacts_cli-0.17.2 → artefacts_cli-0.17.3}/tests/cli/blob/test_compression.py +0 -0
- {artefacts_cli-0.17.2 → artefacts_cli-0.17.3}/tests/cli/blob/test_dir_crawl.py +0 -0
- {artefacts_cli-0.17.2 → artefacts_cli-0.17.3}/tests/cli/blob/test_hash_cache.py +0 -0
- {artefacts_cli-0.17.2 → artefacts_cli-0.17.3}/tests/cli/blob/test_manifest.py +0 -0
- {artefacts_cli-0.17.2 → artefacts_cli-0.17.3}/tests/cli/blob/test_scan_and_hash.py +0 -0
- {artefacts_cli-0.17.2 → artefacts_cli-0.17.3}/tests/cli/containers/__init__.py +0 -0
- {artefacts_cli-0.17.2 → artefacts_cli-0.17.3}/tests/cli/containers/test_docker.py +0 -0
- {artefacts_cli-0.17.2 → artefacts_cli-0.17.3}/tests/cli/containers/test_docker_cm.py +0 -0
- {artefacts_cli-0.17.2 → artefacts_cli-0.17.3}/tests/cli/containers/test_utils.py +0 -0
- {artefacts_cli-0.17.2 → artefacts_cli-0.17.3}/tests/cli/core/test_code_environment.py +0 -0
- {artefacts_cli-0.17.2 → artefacts_cli-0.17.3}/tests/cli/test_app_auth.py +0 -0
- {artefacts_cli-0.17.2 → artefacts_cli-0.17.3}/tests/cli/test_app_containers.py +0 -0
- {artefacts_cli-0.17.2 → artefacts_cli-0.17.3}/tests/cli/test_app_project.py +0 -0
- {artefacts_cli-0.17.2 → artefacts_cli-0.17.3}/tests/cli/test_cli.py +0 -0
- {artefacts_cli-0.17.2 → artefacts_cli-0.17.3}/tests/cli/test_config.py +0 -0
- {artefacts_cli-0.17.2 → artefacts_cli-0.17.3}/tests/cli/test_config_validation.py +0 -0
- {artefacts_cli-0.17.2 → artefacts_cli-0.17.3}/tests/cli/test_download.py +0 -0
- {artefacts_cli-0.17.2 → artefacts_cli-0.17.3}/tests/cli/test_init.py +0 -0
- {artefacts_cli-0.17.2 → artefacts_cli-0.17.3}/tests/cli/test_other.py +0 -0
- {artefacts_cli-0.17.2 → artefacts_cli-0.17.3}/tests/cli/test_parameters.py +0 -0
- {artefacts_cli-0.17.2 → artefacts_cli-0.17.3}/tests/cli/test_pytest.py +0 -0
- {artefacts_cli-0.17.2 → artefacts_cli-0.17.3}/tests/cli/test_reporter.py +0 -0
- {artefacts_cli-0.17.2 → artefacts_cli-0.17.3}/tests/cli/test_ros2.py +0 -0
- {artefacts_cli-0.17.2 → artefacts_cli-0.17.3}/tests/cli/test_signals.py +0 -0
- {artefacts_cli-0.17.2 → artefacts_cli-0.17.3}/tests/cli/test_utils.py +0 -0
- {artefacts_cli-0.17.2 → artefacts_cli-0.17.3}/tests/cli/test_utils_ros.py +0 -0
- {artefacts_cli-0.17.2 → artefacts_cli-0.17.3}/tests/cli/test_warp.py +0 -0
- {artefacts_cli-0.17.2 → artefacts_cli-0.17.3}/tests/conftest.py +0 -0
- {artefacts_cli-0.17.2 → artefacts_cli-0.17.3}/tests/fixtures/artefacts-env-param.yaml +0 -0
- {artefacts_cli-0.17.2 → artefacts_cli-0.17.3}/tests/fixtures/artefacts.yaml.template +0 -0
- {artefacts_cli-0.17.2 → artefacts_cli-0.17.3}/tests/fixtures/artefacts_deprecated.yaml +0 -0
- {artefacts_cli-0.17.2 → artefacts_cli-0.17.3}/tests/fixtures/bad_launch_test.py +0 -0
- {artefacts_cli-0.17.2 → artefacts_cli-0.17.3}/tests/fixtures/sample_pytest_file.py +0 -0
- {artefacts_cli-0.17.2 → artefacts_cli-0.17.3}/tests/fixtures/test_junit.xml +0 -0
- {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.
|
|
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.
|
|
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
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
|
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 = ".
|
|
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.
|
|
22
|
-
__version_tuple__ = version_tuple = (0, 17,
|
|
21
|
+
__version__ = version = '0.17.3'
|
|
22
|
+
__version_tuple__ = version_tuple = (0, 17, 3)
|
|
23
23
|
|
|
24
|
-
__commit_id__ = commit_id = '
|
|
24
|
+
__commit_id__ = commit_id = 'geafac1697'
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: artefacts_cli
|
|
3
|
-
Version: 0.17.
|
|
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
|
|
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
|
-
|
|
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
|
|
|
@@ -9,10 +9,9 @@ junitparser>=2.5
|
|
|
9
9
|
pyjwt
|
|
10
10
|
mcap
|
|
11
11
|
mcap-ros2-support
|
|
12
|
-
psutil
|
|
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
|
|
@@ -30,10 +30,9 @@ dependencies = [
|
|
|
30
30
|
"pyjwt",
|
|
31
31
|
"mcap",
|
|
32
32
|
"mcap-ros2-support",
|
|
33
|
-
"psutil
|
|
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
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{artefacts_cli-0.17.2 → artefacts_cli-0.17.3}/artefacts/api/api/framework/list_frameworks.py
RENAMED
|
File without changes
|
{artefacts_cli-0.17.2 → artefacts_cli-0.17.3}/artefacts/api/api/framework/list_simulators.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{artefacts_cli-0.17.2 → artefacts_cli-0.17.3}/artefacts/api/api/job/get_artifact_downloads.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{artefacts_cli-0.17.2 → artefacts_cli-0.17.3}/artefacts/api/api/job/post_update_job_results.py
RENAMED
|
File without changes
|
{artefacts_cli-0.17.2 → artefacts_cli-0.17.3}/artefacts/api/api/job/put_update_job_results.py
RENAMED
|
File without changes
|
{artefacts_cli-0.17.2 → artefacts_cli-0.17.3}/artefacts/api/api/job/trigger_platform_launch.py
RENAMED
|
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
|
|
File without changes
|
|
File without changes
|
{artefacts_cli-0.17.2 → artefacts_cli-0.17.3}/artefacts/api/api/projects/api_create_project.py
RENAMED
|
File without changes
|
{artefacts_cli-0.17.2 → artefacts_cli-0.17.3}/artefacts/api/api/projects/api_list_projects.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{artefacts_cli-0.17.2 → artefacts_cli-0.17.3}/artefacts/api/api/user/get_user_organizations.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{artefacts_cli-0.17.2 → artefacts_cli-0.17.3}/artefacts/api/models/create_organization_errors.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{artefacts_cli-0.17.2 → artefacts_cli-0.17.3}/artefacts/api/models/create_remote_response.py
RENAMED
|
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
|
|
File without changes
|
{artefacts_cli-0.17.2 → artefacts_cli-0.17.3}/artefacts/api/models/list_projects_response.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{artefacts_cli-0.17.2 → artefacts_cli-0.17.3}/artefacts/api/models/register_run_tests_item.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{artefacts_cli-0.17.2 → artefacts_cli-0.17.3}/artefacts/api/models/submit_run_results_metrics.py
RENAMED
|
File without changes
|
{artefacts_cli-0.17.2 → artefacts_cli-0.17.3}/artefacts/api/models/submit_run_results_response.py
RENAMED
|
File without changes
|
|
File without changes
|
{artefacts_cli-0.17.2 → artefacts_cli-0.17.3}/artefacts/api/models/submit_run_results_tests_item.py
RENAMED
|
File without changes
|
{artefacts_cli-0.17.2 → artefacts_cli-0.17.3}/artefacts/api/models/submit_run_results_uploads.py
RENAMED
|
File without changes
|
|
File without changes
|
{artefacts_cli-0.17.2 → artefacts_cli-0.17.3}/artefacts/api/models/upload_source_response.py
RENAMED
|
File without changes
|
|
File without changes
|
{artefacts_cli-0.17.2 → artefacts_cli-0.17.3}/artefacts/api/models/user_organizations_response.py
RENAMED
|
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
|
|
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
|
|
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
|
{artefacts_cli-0.17.2 → artefacts_cli-0.17.3}/artefacts/cli/locales/ja_JP/LC_MESSAGES/artefacts.po
RENAMED
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
File without changes
|