CHANGELOG.md
LICENSE
MANIFEST.in
README.md
pyproject.toml
src/main.py
src/pywats/__init__.py
src/pywats/exceptions.py
src/pywats/pywats.py
src/pywats/core/__init__.py
src/pywats/core/client.py
src/pywats/core/config.py
src/pywats/core/exceptions.py
src/pywats/core/logging.py
src/pywats/core/station.py
src/pywats/core/throttle.py
src/pywats/domains/__init__.py
src/pywats/domains/analytics/__init__.py
src/pywats/domains/analytics/enums.py
src/pywats/domains/analytics/models.py
src/pywats/domains/analytics/repository.py
src/pywats/domains/analytics/service.py
src/pywats/domains/asset/__init__.py
src/pywats/domains/asset/enums.py
src/pywats/domains/asset/models.py
src/pywats/domains/asset/repository.py
src/pywats/domains/asset/repository_internal.py
src/pywats/domains/asset/service.py
src/pywats/domains/asset/service_internal.py
src/pywats/domains/process/__init__.py
src/pywats/domains/process/models.py
src/pywats/domains/process/repository.py
src/pywats/domains/process/repository_internal.py
src/pywats/domains/process/service.py
src/pywats/domains/process/service_internal.py
src/pywats/domains/product/__init__.py
src/pywats/domains/product/box_build.py
src/pywats/domains/product/enums.py
src/pywats/domains/product/models.py
src/pywats/domains/product/repository.py
src/pywats/domains/product/repository_internal.py
src/pywats/domains/product/service.py
src/pywats/domains/product/service_internal.py
src/pywats/domains/production/__init__.py
src/pywats/domains/production/enums.py
src/pywats/domains/production/models.py
src/pywats/domains/production/repository.py
src/pywats/domains/production/repository_internal.py
src/pywats/domains/production/service.py
src/pywats/domains/production/service_internal.py
src/pywats/domains/report/__init__.py
src/pywats/domains/report/enums.py
src/pywats/domains/report/models.py
src/pywats/domains/report/repository.py
src/pywats/domains/report/service.py
src/pywats/domains/report/report_models/__init__.py
src/pywats/domains/report/report_models/additional_data.py
src/pywats/domains/report/report_models/asset.py
src/pywats/domains/report/report_models/attachment.py
src/pywats/domains/report/report_models/binary_data.py
src/pywats/domains/report/report_models/chart.py
src/pywats/domains/report/report_models/common_types.py
src/pywats/domains/report/report_models/constants.py
src/pywats/domains/report/report_models/deserialization_context.py
src/pywats/domains/report/report_models/misc_info.py
src/pywats/domains/report/report_models/report.py
src/pywats/domains/report/report_models/report_info.py
src/pywats/domains/report/report_models/sub_unit.py
src/pywats/domains/report/report_models/wats_base.py
src/pywats/domains/report/report_models/uur/UUR_IMPLEMENTATION_INSTRUCTIONS.md
src/pywats/domains/report/report_models/uur/__init__.py
src/pywats/domains/report/report_models/uur/fail_code.py
src/pywats/domains/report/report_models/uur/failure.py
src/pywats/domains/report/report_models/uur/misc_uur_info.py
src/pywats/domains/report/report_models/uur/sub_repair.py
src/pywats/domains/report/report_models/uur/uur_attachment.py
src/pywats/domains/report/report_models/uur/uur_info.py
src/pywats/domains/report/report_models/uur/uur_part_info.py
src/pywats/domains/report/report_models/uur/uur_report.py
src/pywats/domains/report/report_models/uur/uur_sub_unit.py
src/pywats/domains/report/report_models/uut/__init__.py
src/pywats/domains/report/report_models/uut/step.py
src/pywats/domains/report/report_models/uut/uut_info.py
src/pywats/domains/report/report_models/uut/uut_report.py
src/pywats/domains/report/report_models/uut/steps/__init__.py
src/pywats/domains/report/report_models/uut/steps/action_step.py
src/pywats/domains/report/report_models/uut/steps/boolean_step.py
src/pywats/domains/report/report_models/uut/steps/callexe_step.py
src/pywats/domains/report/report_models/uut/steps/chart_step.py
src/pywats/domains/report/report_models/uut/steps/comp_operator.py
src/pywats/domains/report/report_models/uut/steps/generic_step.py
src/pywats/domains/report/report_models/uut/steps/measurement.py
src/pywats/domains/report/report_models/uut/steps/message_popup_step.py
src/pywats/domains/report/report_models/uut/steps/numeric_step.py
src/pywats/domains/report/report_models/uut/steps/sequence_call.py
src/pywats/domains/report/report_models/uut/steps/string_step.py
src/pywats/domains/report/report_models/uut/steps/unknown_step.py
src/pywats/domains/rootcause/__init__.py
src/pywats/domains/rootcause/enums.py
src/pywats/domains/rootcause/models.py
src/pywats/domains/rootcause/repository.py
src/pywats/domains/rootcause/service.py
src/pywats/domains/software/__init__.py
src/pywats/domains/software/enums.py
src/pywats/domains/software/models.py
src/pywats/domains/software/repository.py
src/pywats/domains/software/service.py
src/pywats/models/__init__.py
src/pywats/shared/__init__.py
src/pywats/shared/base_model.py
src/pywats/shared/common_types.py
src/pywats/shared/discovery.py
src/pywats/shared/result.py
src/pywats/tools/__init__.py
src/pywats/tools/test_uut.py
src/pywats_agent/__init__.py
src/pywats_agent/autonomy.py
src/pywats_agent/context.py
src/pywats_agent/result.py
src/pywats_agent/testing.py
src/pywats_agent/visualization.py
src/pywats_agent/agent/__init__.py
src/pywats_agent/agent/datastore.py
src/pywats_agent/agent/defaults.py
src/pywats_agent/agent/envelope.py
src/pywats_agent/agent/executor.py
src/pywats_agent/agent/policy.py
src/pywats_agent/agent/registry.py
src/pywats_agent/agent/tooling.py
src/pywats_agent/agent/tools/__init__.py
src/pywats_agent/agent/tools/wrapped.py
src/pywats_agent/tools/__init__.py
src/pywats_agent/tools/_base.py
src/pywats_agent/tools/_registry.py
src/pywats_agent/tools/adaptive_time.py
src/pywats_agent/tools/debug_tool.py
src/pywats_agent/tools/dimensional_analysis.py
src/pywats_agent/tools/measurement_tool.py
src/pywats_agent/tools/process_capability.py
src/pywats_agent/tools/process_resolver.py
src/pywats_agent/tools/root_cause_analysis.py
src/pywats_agent/tools/step_analysis.py
src/pywats_agent/tools/test_step_analysis_tool.py
src/pywats_agent/tools/variant_config.py
src/pywats_agent/tools/variants.py
src/pywats_agent/tools/yield_tool.py
src/pywats_agent/tools/asset/__init__.py
src/pywats_agent/tools/asset/degradation_tool.py
src/pywats_agent/tools/asset/dimension_tool.py
src/pywats_agent/tools/asset/health_tool.py
src/pywats_agent/tools/asset/models.py
src/pywats_agent/tools/capability/__init__.py
src/pywats_agent/tools/capability/tool.py
src/pywats_agent/tools/control_panel/__init__.py
src/pywats_agent/tools/control_panel/control_panel_tool.py
src/pywats_agent/tools/experimental/__init__.py
src/pywats_agent/tools/experimental/tsa.py
src/pywats_agent/tools/measurement/__init__.py
src/pywats_agent/tools/measurement/aggregated_tool.py
src/pywats_agent/tools/measurement/data_tool.py
src/pywats_agent/tools/measurement/models.py
src/pywats_agent/tools/root_cause/__init__.py
src/pywats_agent/tools/root_cause/analysis_tool.py
src/pywats_agent/tools/root_cause/dimensional_tool.py
src/pywats_agent/tools/shared/__init__.py
src/pywats_agent/tools/shared/adaptive_time.py
src/pywats_agent/tools/shared/computations.py
src/pywats_agent/tools/shared/context.py
src/pywats_agent/tools/shared/process_resolver.py
src/pywats_agent/tools/shared/session.py
src/pywats_agent/tools/shared/statistics.py
src/pywats_agent/tools/step/__init__.py
src/pywats_agent/tools/step/analysis_tool.py
src/pywats_agent/tools/step/basic_tool.py
src/pywats_agent/tools/subunit/__init__.py
src/pywats_agent/tools/subunit/subunit_tool.py
src/pywats_agent/tools/unit/__init__.py
src/pywats_agent/tools/unit/unit_tool.py
src/pywats_agent/tools/yield_pkg/__init__.py
src/pywats_agent/tools/yield_pkg/deviation_tool.py
src/pywats_agent/tools/yield_pkg/discovery_tool.py
src/pywats_agent/tools/yield_pkg/tool.py
src/pywats_agent/tools/yield_pkg/trend_tool.py
src/pywats_client/GUI_CONFIGURATION.md
src/pywats_client/GUI_REDESIGN.md
src/pywats_client/__init__.py
src/pywats_client/__main__.py
src/pywats_client/app.py
src/pywats_client/control/HEADLESS_GUIDE.md
src/pywats_client/control/__init__.py
src/pywats_client/control/cli.py
src/pywats_client/control/http_api.py
src/pywats_client/control/service.py
src/pywats_client/converters/__init__.py
src/pywats_client/converters/base.py
src/pywats_client/converters/context.py
src/pywats_client/converters/example_csv.py
src/pywats_client/converters/example_csv_v2.py
src/pywats_client/converters/file_converter.py
src/pywats_client/converters/folder_converter.py
src/pywats_client/converters/models.py
src/pywats_client/converters/scheduled_converter.py
src/pywats_client/converters/standard/__init__.py
src/pywats_client/converters/standard/kitron_seica_xml_converter.py
src/pywats_client/converters/standard/kitron_seica_xml_converter_v2.py
src/pywats_client/converters/standard/teradyne_ict_converter.py
src/pywats_client/converters/standard/teradyne_ict_converter_v2.py
src/pywats_client/converters/standard/teradyne_spectrum_ict_converter.py
src/pywats_client/converters/standard/teradyne_spectrum_ict_converter_v2.py
src/pywats_client/converters/standard/wats_standard_json_converter.py
src/pywats_client/converters/standard/wats_standard_text_converter.py
src/pywats_client/converters/standard/wats_standard_xml_converter.py
src/pywats_client/core/__init__.py
src/pywats_client/core/client.py
src/pywats_client/core/config.py
src/pywats_client/core/connection_config.py
src/pywats_client/core/encryption.py
src/pywats_client/core/instance_manager.py
src/pywats_client/examples/service_application.py
src/pywats_client/gui/__init__.py
src/pywats_client/gui/app.py
src/pywats_client/gui/login_window.py
src/pywats_client/gui/main_window.py
src/pywats_client/gui/settings_dialog.py
src/pywats_client/gui/styles.py
src/pywats_client/gui/pages/__init__.py
src/pywats_client/gui/pages/about.py
src/pywats_client/gui/pages/asset.py
src/pywats_client/gui/pages/base.py
src/pywats_client/gui/pages/connection.py
src/pywats_client/gui/pages/converters.py
src/pywats_client/gui/pages/converters_v2.py
src/pywats_client/gui/pages/general.py
src/pywats_client/gui/pages/location.py
src/pywats_client/gui/pages/log.py
src/pywats_client/gui/pages/product.py
src/pywats_client/gui/pages/production.py
src/pywats_client/gui/pages/proxy_settings.py
src/pywats_client/gui/pages/rootcause.py
src/pywats_client/gui/pages/setup.py
src/pywats_client/gui/pages/sn_handler.py
src/pywats_client/gui/pages/software.py
src/pywats_client/gui/widgets/__init__.py
src/pywats_client/gui/widgets/new_converter_dialog.py
src/pywats_client/gui/widgets/script_editor.py
src/pywats_client/services/__init__.py
src/pywats_client/services/connection.py
src/pywats_client/services/converter_manager.py
src/pywats_client/services/converter_manager_v2.py
src/pywats_client/services/converter_processor.py
src/pywats_client/services/converter_processor_v2.py
src/pywats_client/services/file_monitor.py
src/pywats_client/services/process_sync.py
src/pywats_client/services/report_queue.py
src/pywats_client/services/serial_manager.py
src/pywats_client/services/settings_manager.py
src/pywats_client/services/windows_service.py
src/pywats_mcp/README.md
src/pywats_mcp/__init__.py
src/pywats_mcp/__main__.py
src/pywats_mcp/server.py