CHANGELOG.md
LICENSE
MANIFEST.in
README.md
pyproject.toml
docs/ANALYTICS.md
docs/ASSET.md
docs/GETTING_STARTED.md
docs/INDEX.md
docs/PROCESS.md
docs/PRODUCT.md
docs/PRODUCTION.md
docs/README.md
docs/REPORT.md
docs/ROOTCAUSE.md
docs/SOFTWARE.md
docs/usage/ASSET_MODULE.md
docs/usage/BOX_BUILD_GUIDE.md
docs/usage/PROCESS_MODULE.md
docs/usage/PRODUCTION_MODULE.md
docs/usage/PRODUCT_MODULE.md
docs/usage/REPORT_MODULE.md
docs/usage/ROOTCAUSE_MODULE.md
docs/usage/SOFTWARE_MODULE.md
examples/README.md
examples/logging_demo.py
examples/analytics/__init__.py
examples/analytics/failure_analysis.py
examples/analytics/measurements.py
examples/analytics/oee_analysis.py
examples/analytics/unit_flow.py
examples/analytics/yield_analysis.py
examples/asset/__init__.py
examples/asset/basic_operations.py
examples/asset/calibration.py
examples/asset/maintenance.py
examples/asset/monitoring.py
examples/getting_started/01_connection.py
examples/getting_started/02_authentication.py
examples/getting_started/03_station_setup.py
examples/getting_started/__init__.py
examples/process/__init__.py
examples/process/operations.py
examples/product/__init__.py
examples/product/basic_operations.py
examples/product/bom_management.py
examples/product/product_groups.py
examples/product/revisions.py
examples/production/__init__.py
examples/production/assembly.py
examples/production/phase_management.py
examples/production/serial_numbers.py
examples/production/unit_tracking.py
examples/report/__init__.py
examples/report/attachments.py
examples/report/create_uur_report.py
examples/report/create_uut_report.py
examples/report/query_reports.py
examples/report/step_types.py
examples/rootcause/__init__.py
examples/rootcause/ticket_management.py
examples/software/__init__.py
examples/software/package_management.py
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/repository_internal.py
src/pywats/domains/analytics/service.py
src/pywats/domains/analytics/service_internal.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/__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/repository_internal.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_client/GUI_CONFIGURATION.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/__init__.py
src/pywats_mcp/__main__.py
src/pywats_mcp/server.py