CHANGELOG.md
LICENSE
MANIFEST.in
README.md
pyproject.toml
docs/BETA_DISCLAIMER.md
docs/README.md
docs/getting-started.md
docs/guides/MERMAID_EXPORT_GUIDE.md
docs/guides/TESTING_WITHOUT_HARDWARE.md
docs/guides/architecture.md
docs/guides/client-service-architecture.md
docs/guides/converter-architecture.md
docs/guides/converter-best-practices.md
docs/guides/converter-development-guide.md
docs/guides/converter-known-issues.md
docs/guides/converter-priority.md
docs/guides/exception-handling.md
docs/guides/installation.md
docs/guides/integration-patterns.md
docs/guides/llm-converter-guide.md
docs/guides/logging.md
docs/guides/observability.md
docs/guides/performance.md
docs/guides/queue-architecture.md
docs/guides/security.md
docs/guides/sync-vs-async.md
docs/guides/thread-safety.md
docs/guides/wats-concepts.md
docs/platforms/platform-compatibility.md
docs/platforms/windows-iot-ltsc.md
docs/reference/env-variables.md
docs/reference/error-catalog.md
docs/reference/quick-reference.md
docs/reference/type-hints.md
examples/README.md
examples/async_client_example.py
examples/attachment_io_example.py
examples/logging_demo.py
examples/performance_optimization.py
examples/sync_with_config.py
examples/analytics/__init__.py
examples/analytics/alarm_monitor.py
examples/analytics/dimension_builder_example.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/client/README.md
examples/client/attachment_io.py
examples/client/batch_operations.py
examples/client/configuration.py
examples/client/error_handling.py
examples/converters/README.md
examples/converters/atml_example.py
examples/converters/converter_template.py
examples/converters/csv_converter.py
examples/converters/json_converter.py
examples/converters/logging_example_converter.py
examples/converters/simple_builder_converter.py
examples/converters/xml_converter.py
examples/domains/README.md
examples/domains/analytics_examples.py
examples/domains/asset_examples.py
examples/domains/box_build_examples.py
examples/domains/process_examples.py
examples/domains/product_examples.py
examples/domains/production_examples.py
examples/domains/report_examples.py
examples/domains/rootcause_examples.py
examples/domains/software_examples.py
examples/getting_started/01_connection.py
examples/getting_started/02_authentication.py
examples/getting_started/03_station_setup.py
examples/getting_started/04_async_usage.py
examples/getting_started/05_caching_performance.py
examples/getting_started/__init__.py
examples/getting_started/zero_config_station.py
examples/observability/prometheus_monitoring.py
examples/observability/structured_logging.py
examples/performance/benchmarks.py
examples/performance/http_caching.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/scim/__init__.py
examples/scim/scim_users.py
examples/software/__init__.py
examples/software/package_management.py
examples/testing/test_file_generator_demo.py
src/main.py
src/pywats/__init__.py
src/pywats/async_wats.py
src/pywats/exceptions.py
src/pywats/py.typed
src/pywats/pywats.py
src/pywats/pywats.pyi
src/pywats/sync.py
src/pywats/core/__init__.py
src/pywats/core/async_client.py
src/pywats/core/cache.py
src/pywats/core/circuit_breaker.py
src/pywats/core/client.py
src/pywats/core/coalesce.py
src/pywats/core/config.py
src/pywats/core/event_loop_pool.py
src/pywats/core/exceptions.py
src/pywats/core/logging.py
src/pywats/core/metrics.py
src/pywats/core/pagination.py
src/pywats/core/parallel.py
src/pywats/core/performance.py
src/pywats/core/retry.py
src/pywats/core/retry_handler.py
src/pywats/core/routes.py
src/pywats/core/station.py
src/pywats/core/sync_runner.py
src/pywats/core/throttle.py
src/pywats/core/validation.py
src/pywats/domains/__init__.py
src/pywats/domains/analytics/__init__.py
src/pywats/domains/analytics/async_repository.py
src/pywats/domains/analytics/async_service.py
src/pywats/domains/analytics/enums.py
src/pywats/domains/analytics/models.py
src/pywats/domains/analytics/service.pyi
src/pywats/domains/asset/__init__.py
src/pywats/domains/asset/async_repository.py
src/pywats/domains/asset/async_service.py
src/pywats/domains/asset/enums.py
src/pywats/domains/asset/models.py
src/pywats/domains/asset/service.pyi
src/pywats/domains/process/__init__.py
src/pywats/domains/process/async_repository.py
src/pywats/domains/process/async_service.py
src/pywats/domains/process/models.py
src/pywats/domains/process/service.pyi
src/pywats/domains/product/__init__.py
src/pywats/domains/product/async_box_build.py
src/pywats/domains/product/async_repository.py
src/pywats/domains/product/async_service.py
src/pywats/domains/product/box_build.py
src/pywats/domains/product/enums.py
src/pywats/domains/product/models.py
src/pywats/domains/product/service.pyi
src/pywats/domains/product/sync_box_build.py
src/pywats/domains/production/__init__.py
src/pywats/domains/production/async_repository.py
src/pywats/domains/production/async_service.py
src/pywats/domains/production/enums.py
src/pywats/domains/production/models.py
src/pywats/domains/production/service.pyi
src/pywats/domains/report/__init__.py
src/pywats/domains/report/async_repository.py
src/pywats/domains/report/async_service.py
src/pywats/domains/report/enums.py
src/pywats/domains/report/filter_builders.py
src/pywats/domains/report/import_mode.py
src/pywats/domains/report/models.py
src/pywats/domains/report/query_helpers.py
src/pywats/domains/report/service.pyi
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/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/uur_failure.py
src/pywats/domains/report/report_models/uur/uur_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/generic_step.py
src/pywats/domains/report/report_models/uut/steps/limit_measurement.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/step_discriminator.py
src/pywats/domains/report/report_models/uut/steps/step_list.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/async_repository.py
src/pywats/domains/rootcause/async_service.py
src/pywats/domains/rootcause/enums.py
src/pywats/domains/rootcause/models.py
src/pywats/domains/rootcause/service.pyi
src/pywats/domains/scim/__init__.py
src/pywats/domains/scim/async_repository.py
src/pywats/domains/scim/async_service.py
src/pywats/domains/scim/models.py
src/pywats/domains/scim/service.pyi
src/pywats/domains/software/__init__.py
src/pywats/domains/software/async_repository.py
src/pywats/domains/software/async_service.py
src/pywats/domains/software/enums.py
src/pywats/domains/software/models.py
src/pywats/domains/software/service.pyi
src/pywats/models/__init__.py
src/pywats/queue/__init__.py
src/pywats/queue/async_adapter.py
src/pywats/queue/formats.py
src/pywats/queue/memory_queue.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/enums.py
src/pywats/shared/odata.py
src/pywats/shared/paths.py
src/pywats/shared/result.py
src/pywats/shared/stats.py
src/pywats/tools/__init__.py
src/pywats/tools/test_uut.py
src/pywats_cfx/__init__.py
src/pywats_cfx/explorer.py
src/pywats_cfx/adapters/__init__.py
src/pywats_cfx/adapters/material_adapter.py
src/pywats_cfx/adapters/production_adapter.py
src/pywats_cfx/adapters/resource_adapter.py
src/pywats_cfx/adapters/test_adapter.py
src/pywats_cfx/config/__init__.py
src/pywats_cfx/config/cfx_config.py
src/pywats_cfx/models/__init__.py
src/pywats_cfx/models/cfx_messages.py
src/pywats_cfx/samples/__init__.py
src/pywats_cfx/samples/generator.py
src/pywats_cfx/samples/material_samples.py
src/pywats_cfx/samples/production_samples.py
src/pywats_cfx/samples/resource_samples.py
src/pywats_cfx/samples/test_samples.py
src/pywats_cfx/transport/__init__.py
src/pywats_cfx/transport/cfx_transport.py
src/pywats_client/GUI_CONFIGURATION.md
src/pywats_client/__init__.py
src/pywats_client/__main__.py
src/pywats_client/cli.py
src/pywats_client/diagnostics.py
src/pywats_client/exceptions.py
src/pywats_client/io.py
src/pywats_client/service_manager.py
src/pywats_client/control/HEADLESS_GUIDE.md
src/pywats_client/control/__init__.py
src/pywats_client/control/cli.py
src/pywats_client/control/exit_codes.py
src/pywats_client/control/service.py
src/pywats_client/control/service_adapter.py
src/pywats_client/control/unix_service.py
src/pywats_client/control/windows_native_service.py
src/pywats_client/control/windows_service.py
src/pywats_client/converters/__init__.py
src/pywats_client/converters/base.py
src/pywats_client/converters/context.py
src/pywats_client/converters/conversion_log.py
src/pywats_client/converters/example_csv.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/sandbox.py
src/pywats_client/converters/sandbox_runner.py
src/pywats_client/converters/scheduled_converter.py
src/pywats_client/converters/standard/__init__.py
src/pywats_client/converters/standard/ai_converter.py
src/pywats_client/converters/standard/atml_converter.py
src/pywats_client/converters/standard/keysight_testexec_sl_converter.py
src/pywats_client/converters/standard/klippel_converter.py
src/pywats_client/converters/standard/seica_xml_converter.py
src/pywats_client/converters/standard/spea_converter.py
src/pywats_client/converters/standard/teradyne_ict_converter.py
src/pywats_client/converters/standard/teradyne_spectrum_ict_converter.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/converters/standard/xjtag_converter.py
src/pywats_client/core/__init__.py
src/pywats_client/core/async_runner.py
src/pywats_client/core/auth.py
src/pywats_client/core/config.py
src/pywats_client/core/config_manager.py
src/pywats_client/core/connection_config.py
src/pywats_client/core/constants.py
src/pywats_client/core/encryption.py
src/pywats_client/core/event_bus.py
src/pywats_client/core/file_utils.py
src/pywats_client/core/instance_manager.py
src/pywats_client/core/logging.py
src/pywats_client/core/security.py
src/pywats_client/core/service_manager.py
src/pywats_client/examples/service_application.py
src/pywats_client/gui_OLD/__init__.py
src/pywats_client/gui_OLD/app.py
src/pywats_client/queue/__init__.py
src/pywats_client/queue/persistent_queue.py
src/pywats_client/service/__init__.py
src/pywats_client/service/async_client_service.py
src/pywats_client/service/async_converter_pool.py
src/pywats_client/service/async_ipc_client.py
src/pywats_client/service/async_ipc_server.py
src/pywats_client/service/async_pending_queue.py
src/pywats_client/service/client_service.py
src/pywats_client/service/health_server.py
src/pywats_client/service/ipc_protocol.py
src/pywats_client/service/service_tray.py
src/pywats_client/service/windows_service.py
src/pywats_dev/__init__.py
src/pywats_dev/endpoint_scanner/__init__.py
src/pywats_dev/endpoint_scanner/analyzer.py
src/pywats_dev/endpoint_scanner/classifier.py
src/pywats_dev/endpoint_scanner/cli.py
src/pywats_dev/endpoint_scanner/report_generator.py
src/pywats_dev/endpoint_scanner/scanner.py
src/pywats_events/__init__.py
src/pywats_events/bus/__init__.py
src/pywats_events/bus/async_event_bus.py
src/pywats_events/bus/event_bus.py
src/pywats_events/handlers/__init__.py
src/pywats_events/handlers/base_handler.py
src/pywats_events/handlers/handler_chain.py
src/pywats_events/handlers/handler_registry.py
src/pywats_events/lifecycle/__init__.py
src/pywats_events/lifecycle/manager.py
src/pywats_events/models/__init__.py
src/pywats_events/models/domain_events.py
src/pywats_events/models/event.py
src/pywats_events/models/event_types.py
src/pywats_events/policies/__init__.py
src/pywats_events/policies/error_policy.py
src/pywats_events/policies/retry_policy.py
src/pywats_events/routing/__init__.py
src/pywats_events/routing/filter.py
src/pywats_events/routing/router.py
src/pywats_events/telemetry/__init__.py
src/pywats_events/telemetry/metrics.py
src/pywats_events/telemetry/tracing.py
src/pywats_events/transports/__init__.py
src/pywats_events/transports/base_transport.py
src/pywats_events/transports/mock_transport.py
src/pywats_ui/__init__.py
src/pywats_ui/launcher.py
src/pywats_ui/apps/__init__.py
src/pywats_ui/apps/aichat/__init__.py
src/pywats_ui/apps/aichat/main.py
src/pywats_ui/apps/client_monitor/__init__.py
src/pywats_ui/apps/client_monitor/main.py
src/pywats_ui/apps/client_monitor/main_window.py
src/pywats_ui/apps/configurator/__init__.py
src/pywats_ui/apps/configurator/config.py
src/pywats_ui/apps/configurator/main.py
src/pywats_ui/apps/configurator/main_window.py
src/pywats_ui/apps/configurator/pages/__init__.py
src/pywats_ui/apps/configurator/pages/about.py
src/pywats_ui/apps/configurator/pages/api_settings.py
src/pywats_ui/apps/configurator/pages/connection.py
src/pywats_ui/apps/configurator/pages/converters.py
src/pywats_ui/apps/configurator/pages/dashboard.py
src/pywats_ui/apps/configurator/pages/location.py
src/pywats_ui/apps/configurator/pages/log.py
src/pywats_ui/apps/configurator/pages/proxy_settings.py
src/pywats_ui/apps/configurator/pages/setup.py
src/pywats_ui/apps/configurator/pages/sn_handler.py
src/pywats_ui/apps/configurator/pages/software.py
src/pywats_ui/apps/package_manager/__init__.py
src/pywats_ui/apps/package_manager/main.py
src/pywats_ui/apps/package_manager/main_window.py
src/pywats_ui/apps/yield_monitor/__init__.py
src/pywats_ui/apps/yield_monitor/main.py
src/pywats_ui/apps/yield_monitor/main_window.py
src/pywats_ui/dialogs/__init__.py
src/pywats_ui/dialogs/login_window.py
src/pywats_ui/dialogs/settings_dialog.py
src/pywats_ui/framework/__init__.py
src/pywats_ui/framework/async_api_runner.py
src/pywats_ui/framework/base_page.py
src/pywats_ui/framework/error_mixin.py
src/pywats_ui/framework/system_tray.py
src/pywats_ui/framework/reliability/__init__.py
src/pywats_ui/framework/reliability/connection_monitor.py
src/pywats_ui/framework/reliability/offline_capability.py
src/pywats_ui/framework/reliability/queue_manager.py
src/pywats_ui/framework/themes/__init__.py
src/pywats_ui/framework/themes/dark.py
src/pywats_ui/template/__init__.py
src/pywats_ui/template/config.py
src/pywats_ui/template/main.py
src/pywats_ui/template/main_window.py
src/pywats_ui/template/tests/test_template.py
src/pywats_ui/widgets/__init__.py
src/pywats_ui/widgets/new_converter_dialog.py
src/pywats_ui/widgets/script_editor.py