pyplaykit 1.20.2__tar.gz → 1.20.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.
- {pyplaykit-1.20.2 → pyplaykit-1.20.3}/CHANGELOG.md +8 -0
- {pyplaykit-1.20.2/pyplaykit.egg-info → pyplaykit-1.20.3}/PKG-INFO +5 -5
- {pyplaykit-1.20.2 → pyplaykit-1.20.3}/README.md +4 -4
- {pyplaykit-1.20.2 → pyplaykit-1.20.3/pyplaykit.egg-info}/PKG-INFO +5 -5
- {pyplaykit-1.20.2 → pyplaykit-1.20.3}/pyproject.toml +1 -1
- {pyplaykit-1.20.2 → pyplaykit-1.20.3}/.github/copilot-instructions.md +0 -0
- {pyplaykit-1.20.2 → pyplaykit-1.20.3}/.github/prompts/review-execution-plan-and-implement-next-task.prompt.md +0 -0
- {pyplaykit-1.20.2 → pyplaykit-1.20.3}/.github/prompts/run-unit-tests-and-coverage.prompt.md +0 -0
- {pyplaykit-1.20.2 → pyplaykit-1.20.3}/.github/prompts/security-audit-and-consolidated-report.prompt.md +0 -0
- {pyplaykit-1.20.2 → pyplaykit-1.20.3}/CHOOSE_YOUR_STRUCTURE.md +0 -0
- {pyplaykit-1.20.2 → pyplaykit-1.20.3}/CLAUDE.md +0 -0
- {pyplaykit-1.20.2 → pyplaykit-1.20.3}/COLUMN_MAPPING_AND_IGNORE_FIELDS_GUIDE.md +0 -0
- {pyplaykit-1.20.2 → pyplaykit-1.20.3}/COMMANDS_FOR_YOUR_PROJECTS.md +0 -0
- {pyplaykit-1.20.2 → pyplaykit-1.20.3}/COMMIT_SUMMARY.md +0 -0
- {pyplaykit-1.20.2 → pyplaykit-1.20.3}/CONTRIBUTING.md +0 -0
- {pyplaykit-1.20.2 → pyplaykit-1.20.3}/CORRECTED_PROJECT_NAMES.md +0 -0
- {pyplaykit-1.20.2 → pyplaykit-1.20.3}/DATABASE_IMPLEMENTATION_SUMMARY.md +0 -0
- {pyplaykit-1.20.2 → pyplaykit-1.20.3}/DELIVERABLES_SUMMARY.md +0 -0
- {pyplaykit-1.20.2 → pyplaykit-1.20.3}/ENTERPRISE_TEST_STRUCTURE.md +0 -0
- {pyplaykit-1.20.2 → pyplaykit-1.20.3}/FINAL_PROJECT_SETUP.md +0 -0
- {pyplaykit-1.20.2 → pyplaykit-1.20.3}/GAP_TRACKER.md +0 -0
- {pyplaykit-1.20.2 → pyplaykit-1.20.3}/HOW_TO_ACCESS_DOCS.md +0 -0
- {pyplaykit-1.20.2 → pyplaykit-1.20.3}/INIT_COMMAND_EXAMPLES.md +0 -0
- {pyplaykit-1.20.2 → pyplaykit-1.20.3}/KEY_BASED_MATCHING_SOLUTION.md +0 -0
- {pyplaykit-1.20.2 → pyplaykit-1.20.3}/MANIFEST.in +0 -0
- {pyplaykit-1.20.2 → pyplaykit-1.20.3}/MIGRATION_COMPLETE.md +0 -0
- {pyplaykit-1.20.2 → pyplaykit-1.20.3}/MIGRATION_PLAN.md +0 -0
- {pyplaykit-1.20.2 → pyplaykit-1.20.3}/PIP_INSTALL_GUIDE.md +0 -0
- {pyplaykit-1.20.2 → pyplaykit-1.20.3}/PYPLAYKIT_CLIENT_OVERVIEW.md +0 -0
- {pyplaykit-1.20.2 → pyplaykit-1.20.3}/QUICK_DB_REFERENCE.md +0 -0
- {pyplaykit-1.20.2 → pyplaykit-1.20.3}/QUICK_REFERENCE_COMPARISON_FEATURES.md +0 -0
- {pyplaykit-1.20.2 → pyplaykit-1.20.3}/QUICK_START_QE.md +0 -0
- {pyplaykit-1.20.2 → pyplaykit-1.20.3}/STRUCTURE_COMPARISON.md +0 -0
- {pyplaykit-1.20.2 → pyplaykit-1.20.3}/TEST_LOCATION_CHEATSHEET.md +0 -0
- {pyplaykit-1.20.2 → pyplaykit-1.20.3}/VISUAL_COMPARISON.md +0 -0
- {pyplaykit-1.20.2 → pyplaykit-1.20.3}/WINDOWS_INSTALL_GUIDE.md +0 -0
- {pyplaykit-1.20.2 → pyplaykit-1.20.3}/YOUR_PROJECTS_IMPLEMENTATION_GUIDE.md +0 -0
- {pyplaykit-1.20.2 → pyplaykit-1.20.3}/YOUR_SETUP_SUMMARY.md +0 -0
- {pyplaykit-1.20.2 → pyplaykit-1.20.3}/bin/README.md +0 -0
- {pyplaykit-1.20.2 → pyplaykit-1.20.3}/components/__init__.py +0 -0
- {pyplaykit-1.20.2 → pyplaykit-1.20.3}/components/base_component.py +0 -0
- {pyplaykit-1.20.2 → pyplaykit-1.20.3}/components/data_table.py +0 -0
- {pyplaykit-1.20.2 → pyplaykit-1.20.3}/components/form_field.py +0 -0
- {pyplaykit-1.20.2 → pyplaykit-1.20.3}/components/modal.py +0 -0
- {pyplaykit-1.20.2 → pyplaykit-1.20.3}/config/config.yaml +0 -0
- {pyplaykit-1.20.2 → pyplaykit-1.20.3}/config/data_comparison_profiles.yaml +0 -0
- {pyplaykit-1.20.2 → pyplaykit-1.20.3}/config/environments.yaml +0 -0
- {pyplaykit-1.20.2 → pyplaykit-1.20.3}/config/projects/customs_modernization.yaml +0 -0
- {pyplaykit-1.20.2 → pyplaykit-1.20.3}/config/projects/dispatcho.yaml +0 -0
- {pyplaykit-1.20.2 → pyplaykit-1.20.3}/config/projects/timelyquote.yaml +0 -0
- {pyplaykit-1.20.2 → pyplaykit-1.20.3}/core/__init__.py +0 -0
- {pyplaykit-1.20.2 → pyplaykit-1.20.3}/core/base_page.py +0 -0
- {pyplaykit-1.20.2 → pyplaykit-1.20.3}/core/base_test.py +0 -0
- {pyplaykit-1.20.2 → pyplaykit-1.20.3}/core/browser_factory.py +0 -0
- {pyplaykit-1.20.2 → pyplaykit-1.20.3}/core/playwright_manager.py +0 -0
- {pyplaykit-1.20.2 → pyplaykit-1.20.3}/demo/README.md +0 -0
- {pyplaykit-1.20.2 → pyplaykit-1.20.3}/demo/functional/database/file_comparison/README.md +0 -0
- {pyplaykit-1.20.2 → pyplaykit-1.20.3}/demo/functional/database/postgres_src_tgt/README.md +0 -0
- {pyplaykit-1.20.2 → pyplaykit-1.20.3}/dist_pkg/__init__.py +0 -0
- {pyplaykit-1.20.2 → pyplaykit-1.20.3}/dist_pkg/distribution.py +0 -0
- {pyplaykit-1.20.2 → pyplaykit-1.20.3}/docs/API_TESTING_GUIDE.md +0 -0
- {pyplaykit-1.20.2 → pyplaykit-1.20.3}/docs/ARCHITECTURE.md +0 -0
- {pyplaykit-1.20.2 → pyplaykit-1.20.3}/docs/CLI_REFERENCE.md +0 -0
- {pyplaykit-1.20.2 → pyplaykit-1.20.3}/docs/COMPETITIVE_ANALYSIS.md +0 -0
- {pyplaykit-1.20.2 → pyplaykit-1.20.3}/docs/COVERAGE_IMPROVEMENTS.md +0 -0
- {pyplaykit-1.20.2 → pyplaykit-1.20.3}/docs/CUSTOMER_SCENARIOS.md +0 -0
- {pyplaykit-1.20.2 → pyplaykit-1.20.3}/docs/DATABASE_SUPPORT.md +0 -0
- {pyplaykit-1.20.2 → pyplaykit-1.20.3}/docs/DATA_VALIDATION_GUIDE.md +0 -0
- {pyplaykit-1.20.2 → pyplaykit-1.20.3}/docs/DELIVERABLES_INDEX.md +0 -0
- {pyplaykit-1.20.2 → pyplaykit-1.20.3}/docs/EXAMPLE_TESTS_SUMMARY.md +0 -0
- {pyplaykit-1.20.2 → pyplaykit-1.20.3}/docs/Enterprise-Framework-Assessment-REVISED.md +0 -0
- {pyplaykit-1.20.2 → pyplaykit-1.20.3}/docs/Enterprise-Readiness-Assessment.md +0 -0
- {pyplaykit-1.20.2 → pyplaykit-1.20.3}/docs/Example-Tests-Guide.md +0 -0
- {pyplaykit-1.20.2 → pyplaykit-1.20.3}/docs/Execution-Plan-Backlog-and-Closure-Tracker.md +0 -0
- {pyplaykit-1.20.2 → pyplaykit-1.20.3}/docs/FRAMEWORK_CONTRIBUTION_GUIDE.md +0 -0
- {pyplaykit-1.20.2 → pyplaykit-1.20.3}/docs/KT/01_ARCHITECTURE.md +0 -0
- {pyplaykit-1.20.2 → pyplaykit-1.20.3}/docs/KT/02_DEPLOYMENT_RUNBOOK.md +0 -0
- {pyplaykit-1.20.2 → pyplaykit-1.20.3}/docs/KT/03_ACCESS_MATRIX.md +0 -0
- {pyplaykit-1.20.2 → pyplaykit-1.20.3}/docs/KT/04_CLIENT_CONTACT_MATRIX.md +0 -0
- {pyplaykit-1.20.2 → pyplaykit-1.20.3}/docs/KT/05_OPEN_RISKS_REGISTER.md +0 -0
- {pyplaykit-1.20.2 → pyplaykit-1.20.3}/docs/KT/06_PENDING_ENHANCEMENTS.md +0 -0
- {pyplaykit-1.20.2 → pyplaykit-1.20.3}/docs/KT/07_PRODUCT_ROADMAP.md +0 -0
- {pyplaykit-1.20.2 → pyplaykit-1.20.3}/docs/KT/08_ENVIRONMENT_DETAILS.md +0 -0
- {pyplaykit-1.20.2 → pyplaykit-1.20.3}/docs/KT/09_OPERATIONAL_SOPS.md +0 -0
- {pyplaykit-1.20.2 → pyplaykit-1.20.3}/docs/KT/10_ESCALATION_MATRIX.md +0 -0
- {pyplaykit-1.20.2 → pyplaykit-1.20.3}/docs/KT/11_KT_RECORDINGS_INDEX.md +0 -0
- {pyplaykit-1.20.2 → pyplaykit-1.20.3}/docs/KT/12_REVERSE_KT_SIGNOFF.md +0 -0
- {pyplaykit-1.20.2 → pyplaykit-1.20.3}/docs/KT/13_LEADERSHIP_SIGNOFF.md +0 -0
- {pyplaykit-1.20.2 → pyplaykit-1.20.3}/docs/KT/README.md +0 -0
- {pyplaykit-1.20.2 → pyplaykit-1.20.3}/docs/MCP_SERVER_DESIGN.md +0 -0
- {pyplaykit-1.20.2 → pyplaykit-1.20.3}/docs/MULTI_DB_VALIDATION_GUIDE.md +0 -0
- {pyplaykit-1.20.2 → pyplaykit-1.20.3}/docs/MULTI_PROJECT_STRUCTURE.md +0 -0
- {pyplaykit-1.20.2 → pyplaykit-1.20.3}/docs/PIP_INSTALL_GUIDE.md +0 -0
- {pyplaykit-1.20.2 → pyplaykit-1.20.3}/docs/PyPlayKit-Framework-Overview.md +0 -0
- {pyplaykit-1.20.2 → pyplaykit-1.20.3}/docs/PyPlayKit-Usage-Scenarios.md +0 -0
- {pyplaykit-1.20.2 → pyplaykit-1.20.3}/docs/QE_VISUAL_GUIDE.md +0 -0
- {pyplaykit-1.20.2 → pyplaykit-1.20.3}/docs/RESILIENCE_GUIDE.md +0 -0
- {pyplaykit-1.20.2 → pyplaykit-1.20.3}/docs/RUN_TESTS_QUICK_REFERENCE.md +0 -0
- {pyplaykit-1.20.2 → pyplaykit-1.20.3}/docs/TEST_ORGANIZATION.md +0 -0
- {pyplaykit-1.20.2 → pyplaykit-1.20.3}/docs/Usage-Scenarios-Feasibility-Analysis.md +0 -0
- {pyplaykit-1.20.2 → pyplaykit-1.20.3}/integrations/__init__.py +0 -0
- {pyplaykit-1.20.2 → pyplaykit-1.20.3}/integrations/adapters.py +0 -0
- {pyplaykit-1.20.2 → pyplaykit-1.20.3}/mcp_server/__init__.py +0 -0
- {pyplaykit-1.20.2 → pyplaykit-1.20.3}/mcp_server/_ast_utils.py +0 -0
- {pyplaykit-1.20.2 → pyplaykit-1.20.3}/mcp_server/_config_utils.py +0 -0
- {pyplaykit-1.20.2 → pyplaykit-1.20.3}/mcp_server/cli.py +0 -0
- {pyplaykit-1.20.2 → pyplaykit-1.20.3}/mcp_server/server.py +0 -0
- {pyplaykit-1.20.2 → pyplaykit-1.20.3}/mcp_server/tools/__init__.py +0 -0
- {pyplaykit-1.20.2 → pyplaykit-1.20.3}/mcp_server/tools/package_discovery.py +0 -0
- {pyplaykit-1.20.2 → pyplaykit-1.20.3}/mcp_server/tools/project_introspection.py +0 -0
- {pyplaykit-1.20.2 → pyplaykit-1.20.3}/mcp_server/tools/project_state.py +0 -0
- {pyplaykit-1.20.2 → pyplaykit-1.20.3}/orchestration/__init__.py +0 -0
- {pyplaykit-1.20.2 → pyplaykit-1.20.3}/orchestration/enforcer.py +0 -0
- {pyplaykit-1.20.2 → pyplaykit-1.20.3}/orchestration/planner.py +0 -0
- {pyplaykit-1.20.2 → pyplaykit-1.20.3}/pages/__init__.py +0 -0
- {pyplaykit-1.20.2 → pyplaykit-1.20.3}/pages/dashboard_page.py +0 -0
- {pyplaykit-1.20.2 → pyplaykit-1.20.3}/pages/login_page.py +0 -0
- {pyplaykit-1.20.2 → pyplaykit-1.20.3}/pages/orangehrm_login_page.py +0 -0
- {pyplaykit-1.20.2 → pyplaykit-1.20.3}/pages/saucedemo_inventory_page.py +0 -0
- {pyplaykit-1.20.2 → pyplaykit-1.20.3}/pages/saucedemo_login_page.py +0 -0
- {pyplaykit-1.20.2 → pyplaykit-1.20.3}/plugins/__init__.py +0 -0
- {pyplaykit-1.20.2 → pyplaykit-1.20.3}/plugins/api_plugin.py +0 -0
- {pyplaykit-1.20.2 → pyplaykit-1.20.3}/plugins/base.py +0 -0
- {pyplaykit-1.20.2 → pyplaykit-1.20.3}/plugins/data_plugin.py +0 -0
- {pyplaykit-1.20.2 → pyplaykit-1.20.3}/plugins/registry.py +0 -0
- {pyplaykit-1.20.2 → pyplaykit-1.20.3}/plugins/security_plugin.py +0 -0
- {pyplaykit-1.20.2 → pyplaykit-1.20.3}/pyplaykit/PIP_INSTALL_GUIDE.md +0 -0
- {pyplaykit-1.20.2 → pyplaykit-1.20.3}/pyplaykit/README.md +0 -0
- {pyplaykit-1.20.2 → pyplaykit-1.20.3}/pyplaykit/__init__.py +0 -0
- {pyplaykit-1.20.2 → pyplaykit-1.20.3}/pyplaykit/cli.py +0 -0
- {pyplaykit-1.20.2 → pyplaykit-1.20.3}/pyplaykit/config/__init__.py +0 -0
- {pyplaykit-1.20.2 → pyplaykit-1.20.3}/pyplaykit/config/config.yaml +0 -0
- {pyplaykit-1.20.2 → pyplaykit-1.20.3}/pyplaykit/config/environments.yaml +0 -0
- {pyplaykit-1.20.2 → pyplaykit-1.20.3}/pyplaykit/config/projects/customs_modernization.yaml +0 -0
- {pyplaykit-1.20.2 → pyplaykit-1.20.3}/pyplaykit/config/projects/dispatcho.yaml +0 -0
- {pyplaykit-1.20.2 → pyplaykit-1.20.3}/pyplaykit/config/projects/timelyquote.yaml +0 -0
- {pyplaykit-1.20.2 → pyplaykit-1.20.3}/pyplaykit/plugin.py +0 -0
- {pyplaykit-1.20.2 → pyplaykit-1.20.3}/pyplaykit/show_docs.py +0 -0
- {pyplaykit-1.20.2 → pyplaykit-1.20.3}/pyplaykit.egg-info/SOURCES.txt +0 -0
- {pyplaykit-1.20.2 → pyplaykit-1.20.3}/pyplaykit.egg-info/dependency_links.txt +0 -0
- {pyplaykit-1.20.2 → pyplaykit-1.20.3}/pyplaykit.egg-info/entry_points.txt +0 -0
- {pyplaykit-1.20.2 → pyplaykit-1.20.3}/pyplaykit.egg-info/requires.txt +0 -0
- {pyplaykit-1.20.2 → pyplaykit-1.20.3}/pyplaykit.egg-info/top_level.txt +0 -0
- {pyplaykit-1.20.2 → pyplaykit-1.20.3}/resilience/__init__.py +0 -0
- {pyplaykit-1.20.2 → pyplaykit-1.20.3}/resilience/locator_recovery.py +0 -0
- {pyplaykit-1.20.2 → pyplaykit-1.20.3}/setup.cfg +0 -0
- {pyplaykit-1.20.2 → pyplaykit-1.20.3}/test_data/api/ecom/auth_payloads.json +0 -0
- {pyplaykit-1.20.2 → pyplaykit-1.20.3}/test_data/api/ecom/product_payloads.json +0 -0
- {pyplaykit-1.20.2 → pyplaykit-1.20.3}/test_data/api_test_data.json +0 -0
- {pyplaykit-1.20.2 → pyplaykit-1.20.3}/test_data/data_validation_test_data.json +0 -0
- {pyplaykit-1.20.2 → pyplaykit-1.20.3}/test_data/login_test_data.json +0 -0
- {pyplaykit-1.20.2 → pyplaykit-1.20.3}/test_data/orangehrm_login_data.json +0 -0
- {pyplaykit-1.20.2 → pyplaykit-1.20.3}/test_data/ui_test_data.json +0 -0
- {pyplaykit-1.20.2 → pyplaykit-1.20.3}/tests/projects/README.md +0 -0
- {pyplaykit-1.20.2 → pyplaykit-1.20.3}/tests/projects/customs_modernization/README.md +0 -0
- {pyplaykit-1.20.2 → pyplaykit-1.20.3}/tests/projects/demo/functional/README.md +0 -0
- {pyplaykit-1.20.2 → pyplaykit-1.20.3}/tests/projects/demo/functional/api/README.md +0 -0
- {pyplaykit-1.20.2 → pyplaykit-1.20.3}/tests/projects/demo/functional/database/README.md +0 -0
- {pyplaykit-1.20.2 → pyplaykit-1.20.3}/tests/projects/demo/functional/ui/README.md +0 -0
- {pyplaykit-1.20.2 → pyplaykit-1.20.3}/tests/projects/demo/integration/README.md +0 -0
- {pyplaykit-1.20.2 → pyplaykit-1.20.3}/tests/projects/dispatcho/README.md +0 -0
- {pyplaykit-1.20.2 → pyplaykit-1.20.3}/tests/projects/timelyquote/README.md +0 -0
- {pyplaykit-1.20.2 → pyplaykit-1.20.3}/utils/__init__.py +0 -0
- {pyplaykit-1.20.2 → pyplaykit-1.20.3}/utils/api_client.py +0 -0
- {pyplaykit-1.20.2 → pyplaykit-1.20.3}/utils/api_test_helper.py +0 -0
- {pyplaykit-1.20.2 → pyplaykit-1.20.3}/utils/assertion_helper.py +0 -0
- {pyplaykit-1.20.2 → pyplaykit-1.20.3}/utils/auth_manager.py +0 -0
- {pyplaykit-1.20.2 → pyplaykit-1.20.3}/utils/comparison_config_loader.py +0 -0
- {pyplaykit-1.20.2 → pyplaykit-1.20.3}/utils/data_comparison_report.py +0 -0
- {pyplaykit-1.20.2 → pyplaykit-1.20.3}/utils/data_comparison_utils.py +0 -0
- {pyplaykit-1.20.2 → pyplaykit-1.20.3}/utils/data_loader.py +0 -0
- {pyplaykit-1.20.2 → pyplaykit-1.20.3}/utils/data_source.py +0 -0
- {pyplaykit-1.20.2 → pyplaykit-1.20.3}/utils/data_validator.py +0 -0
- {pyplaykit-1.20.2 → pyplaykit-1.20.3}/utils/database_clients.py +0 -0
- {pyplaykit-1.20.2 → pyplaykit-1.20.3}/utils/db_client.py +0 -0
- {pyplaykit-1.20.2 → pyplaykit-1.20.3}/utils/db_drivers/__init__.py +0 -0
- {pyplaykit-1.20.2 → pyplaykit-1.20.3}/utils/db_drivers/db2.py +0 -0
- {pyplaykit-1.20.2 → pyplaykit-1.20.3}/utils/db_drivers/informix.py +0 -0
- {pyplaykit-1.20.2 → pyplaykit-1.20.3}/utils/db_drivers/mysql.py +0 -0
- {pyplaykit-1.20.2 → pyplaykit-1.20.3}/utils/db_drivers/oracle.py +0 -0
- {pyplaykit-1.20.2 → pyplaykit-1.20.3}/utils/db_drivers/snowflake.py +0 -0
- {pyplaykit-1.20.2 → pyplaykit-1.20.3}/utils/db_drivers/sqlite.py +0 -0
- {pyplaykit-1.20.2 → pyplaykit-1.20.3}/utils/db_drivers/sqlserver.py +0 -0
- {pyplaykit-1.20.2 → pyplaykit-1.20.3}/utils/db_factory.py +0 -0
- {pyplaykit-1.20.2 → pyplaykit-1.20.3}/utils/db_fixtures.py +0 -0
- {pyplaykit-1.20.2 → pyplaykit-1.20.3}/utils/db_pool.py +0 -0
- {pyplaykit-1.20.2 → pyplaykit-1.20.3}/utils/db_validation_helper.py +0 -0
- {pyplaykit-1.20.2 → pyplaykit-1.20.3}/utils/environment_validator.py +0 -0
- {pyplaykit-1.20.2 → pyplaykit-1.20.3}/utils/file_reader.py +0 -0
- {pyplaykit-1.20.2 → pyplaykit-1.20.3}/utils/graphql_client.py +0 -0
- {pyplaykit-1.20.2 → pyplaykit-1.20.3}/utils/logger.py +0 -0
- {pyplaykit-1.20.2 → pyplaykit-1.20.3}/utils/observability.py +0 -0
- {pyplaykit-1.20.2 → pyplaykit-1.20.3}/utils/observability_report.py +0 -0
- {pyplaykit-1.20.2 → pyplaykit-1.20.3}/utils/project_config.py +0 -0
- {pyplaykit-1.20.2 → pyplaykit-1.20.3}/utils/response_validator.py +0 -0
- {pyplaykit-1.20.2 → pyplaykit-1.20.3}/utils/screenshot_helper.py +0 -0
- {pyplaykit-1.20.2 → pyplaykit-1.20.3}/utils/soap_client.py +0 -0
- {pyplaykit-1.20.2 → pyplaykit-1.20.3}/utils/tdm.py +0 -0
- {pyplaykit-1.20.2 → pyplaykit-1.20.3}/utils/transformation_validator.py +0 -0
- {pyplaykit-1.20.2 → pyplaykit-1.20.3}/utils/ui_db_validator.py +0 -0
- {pyplaykit-1.20.2 → pyplaykit-1.20.3}/utils/version_checker.py +0 -0
- {pyplaykit-1.20.2 → pyplaykit-1.20.3}/utils/yaml_config_reader.py +0 -0
|
@@ -11,6 +11,14 @@ Versioning follows [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
|
|
|
11
11
|
|
|
12
12
|
---
|
|
13
13
|
|
|
14
|
+
## [1.20.3] — 2026-08-19
|
|
15
|
+
|
|
16
|
+
### Fixed
|
|
17
|
+
|
|
18
|
+
- **Architecture diagrams now render on the PyPI project page.** The `1.20.2` README embedded the diagram PNGs from the (private) source repo's `raw.githubusercontent.com` URLs, which return 404 to anonymous requests — so the images did not appear on PyPI. The README now references the PNGs from the public [ShansDocsForPublicUsage](https://github.com/ShanKonduru/ShansDocsForPublicUsage/tree/main/pyplaykit) repository, and the click-through links point to those public pages instead of private-repo blobs.
|
|
19
|
+
|
|
20
|
+
---
|
|
21
|
+
|
|
14
22
|
## [1.20.2] — 2026-08-19
|
|
15
23
|
|
|
16
24
|
### Documentation
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: pyplaykit
|
|
3
|
-
Version: 1.20.
|
|
3
|
+
Version: 1.20.3
|
|
4
4
|
Summary: Enterprise Python + Playwright automation framework
|
|
5
5
|
Author-email: Shan Konduru <shankonduru@gmail.com>
|
|
6
6
|
License: MIT
|
|
@@ -211,17 +211,17 @@ tests/
|
|
|
211
211
|
|
|
212
212
|
**Architecture Overview** — the full layered dependency stack, cross-cutting layers (plugins, orchestration, resilience), the MCP read-only sidecar, and the security & governance rail:
|
|
213
213
|
|
|
214
|
-
[](https://github.com/ShanKonduru/ShansDocsForPublicUsage/blob/main/pyplaykit/architecture_overview.png)
|
|
215
215
|
|
|
216
216
|
**Data Comparison Flow** — config-driven Excel / CSV / DB comparison: sources → loader → comparison engine → result + HTML report:
|
|
217
217
|
|
|
218
|
-
[](https://github.com/ShanKonduru/ShansDocsForPublicUsage/blob/main/pyplaykit/data_comparison_flow.png)
|
|
219
219
|
|
|
220
220
|
**Security Posture** — defense-in-depth: runtime secrets/masking/auth controls plus the bandit / pip-audit / gitleaks CI scanning pipeline:
|
|
221
221
|
|
|
222
|
-
[](https://github.com/ShanKonduru/ShansDocsForPublicUsage/blob/main/pyplaykit/security_posture.png)
|
|
223
223
|
|
|
224
|
-
>
|
|
224
|
+
> Diagrams are hosted in the public [ShansDocsForPublicUsage](https://github.com/ShanKonduru/ShansDocsForPublicUsage/tree/main/pyplaykit) repository so they render on the PyPI page. The source SVGs and the full architecture reference (`docs/ARCHITECTURE.md` — 9 Mermaid views covering layers, runtime lifecycle, config resolution, data engineering, plugins/observability, MCP, and security) live in the project's `docs/` tree; regenerate the PNGs after editing an SVG with `python scripts/svg_to_png.py`.
|
|
225
225
|
|
|
226
226
|
---
|
|
227
227
|
|
|
@@ -114,17 +114,17 @@ tests/
|
|
|
114
114
|
|
|
115
115
|
**Architecture Overview** — the full layered dependency stack, cross-cutting layers (plugins, orchestration, resilience), the MCP read-only sidecar, and the security & governance rail:
|
|
116
116
|
|
|
117
|
-
[](https://github.com/ShanKonduru/ShansDocsForPublicUsage/blob/main/pyplaykit/architecture_overview.png)
|
|
118
118
|
|
|
119
119
|
**Data Comparison Flow** — config-driven Excel / CSV / DB comparison: sources → loader → comparison engine → result + HTML report:
|
|
120
120
|
|
|
121
|
-
[](https://github.com/ShanKonduru/ShansDocsForPublicUsage/blob/main/pyplaykit/data_comparison_flow.png)
|
|
122
122
|
|
|
123
123
|
**Security Posture** — defense-in-depth: runtime secrets/masking/auth controls plus the bandit / pip-audit / gitleaks CI scanning pipeline:
|
|
124
124
|
|
|
125
|
-
[](https://github.com/ShanKonduru/ShansDocsForPublicUsage/blob/main/pyplaykit/security_posture.png)
|
|
126
126
|
|
|
127
|
-
>
|
|
127
|
+
> Diagrams are hosted in the public [ShansDocsForPublicUsage](https://github.com/ShanKonduru/ShansDocsForPublicUsage/tree/main/pyplaykit) repository so they render on the PyPI page. The source SVGs and the full architecture reference (`docs/ARCHITECTURE.md` — 9 Mermaid views covering layers, runtime lifecycle, config resolution, data engineering, plugins/observability, MCP, and security) live in the project's `docs/` tree; regenerate the PNGs after editing an SVG with `python scripts/svg_to_png.py`.
|
|
128
128
|
|
|
129
129
|
---
|
|
130
130
|
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: pyplaykit
|
|
3
|
-
Version: 1.20.
|
|
3
|
+
Version: 1.20.3
|
|
4
4
|
Summary: Enterprise Python + Playwright automation framework
|
|
5
5
|
Author-email: Shan Konduru <shankonduru@gmail.com>
|
|
6
6
|
License: MIT
|
|
@@ -211,17 +211,17 @@ tests/
|
|
|
211
211
|
|
|
212
212
|
**Architecture Overview** — the full layered dependency stack, cross-cutting layers (plugins, orchestration, resilience), the MCP read-only sidecar, and the security & governance rail:
|
|
213
213
|
|
|
214
|
-
[](https://github.com/ShanKonduru/ShansDocsForPublicUsage/blob/main/pyplaykit/architecture_overview.png)
|
|
215
215
|
|
|
216
216
|
**Data Comparison Flow** — config-driven Excel / CSV / DB comparison: sources → loader → comparison engine → result + HTML report:
|
|
217
217
|
|
|
218
|
-
[](https://github.com/ShanKonduru/ShansDocsForPublicUsage/blob/main/pyplaykit/data_comparison_flow.png)
|
|
219
219
|
|
|
220
220
|
**Security Posture** — defense-in-depth: runtime secrets/masking/auth controls plus the bandit / pip-audit / gitleaks CI scanning pipeline:
|
|
221
221
|
|
|
222
|
-
[](https://github.com/ShanKonduru/ShansDocsForPublicUsage/blob/main/pyplaykit/security_posture.png)
|
|
223
223
|
|
|
224
|
-
>
|
|
224
|
+
> Diagrams are hosted in the public [ShansDocsForPublicUsage](https://github.com/ShanKonduru/ShansDocsForPublicUsage/tree/main/pyplaykit) repository so they render on the PyPI page. The source SVGs and the full architecture reference (`docs/ARCHITECTURE.md` — 9 Mermaid views covering layers, runtime lifecycle, config resolution, data engineering, plugins/observability, MCP, and security) live in the project's `docs/` tree; regenerate the PNGs after editing an SVG with `python scripts/svg_to_png.py`.
|
|
225
225
|
|
|
226
226
|
---
|
|
227
227
|
|
|
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
|
|
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
|
|
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
|