wsba-hockey 1.1.1__tar.gz → 1.1.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.
- {wsba_hockey-1.1.1/src/wsba_hockey.egg-info → wsba_hockey-1.1.3}/PKG-INFO +1 -1
- {wsba_hockey-1.1.1 → wsba_hockey-1.1.3}/pyproject.toml +1 -1
- {wsba_hockey-1.1.1 → wsba_hockey-1.1.3}/src/wsba_hockey/api/api/index.py +1 -1
- {wsba_hockey-1.1.1 → wsba_hockey-1.1.3}/src/wsba_hockey/tools/plotting.py +1 -1
- {wsba_hockey-1.1.1/src/wsba_hockey/api/api → wsba_hockey-1.1.3/src/wsba_hockey}/tools/scraping.py +1 -1
- {wsba_hockey-1.1.1 → wsba_hockey-1.1.3/src/wsba_hockey.egg-info}/PKG-INFO +1 -1
- {wsba_hockey-1.1.1 → wsba_hockey-1.1.3}/src/wsba_hockey.egg-info/SOURCES.txt +0 -12
- wsba_hockey-1.1.1/src/wsba_hockey/api/api/main.py +0 -4
- wsba_hockey-1.1.1/src/wsba_hockey/api/api/tools/plotting.py +0 -144
- wsba_hockey-1.1.1/src/wsba_hockey/api/api/wsba_main.py +0 -1213
- wsba_hockey-1.1.1/src/wsba_hockey/tools/__init__.py +0 -0
- wsba_hockey-1.1.1/src/wsba_hockey/tools/agg.py +0 -374
- wsba_hockey-1.1.1/src/wsba_hockey/tools/archive/old_scraping.py +0 -1104
- wsba_hockey-1.1.1/src/wsba_hockey/tools/scraping.py +0 -1000
- wsba_hockey-1.1.1/src/wsba_hockey/tools/utils/__init__.py +0 -1
- wsba_hockey-1.1.1/src/wsba_hockey/tools/utils/config.py +0 -14
- wsba_hockey-1.1.1/src/wsba_hockey/tools/utils/save_pages.py +0 -133
- wsba_hockey-1.1.1/src/wsba_hockey/tools/utils/shared.py +0 -450
- wsba_hockey-1.1.1/src/wsba_hockey/tools/xg_model.py +0 -455
- {wsba_hockey-1.1.1 → wsba_hockey-1.1.3}/LICENSE +0 -0
- {wsba_hockey-1.1.1 → wsba_hockey-1.1.3}/README.md +0 -0
- {wsba_hockey-1.1.1 → wsba_hockey-1.1.3}/setup.cfg +0 -0
- {wsba_hockey-1.1.1 → wsba_hockey-1.1.3}/src/wsba_hockey/__init__.py +0 -0
- {wsba_hockey-1.1.1 → wsba_hockey-1.1.3}/src/wsba_hockey/data_pipelines.py +0 -0
- {wsba_hockey-1.1.1 → wsba_hockey-1.1.3}/src/wsba_hockey/evidence/weakside-breakout/node_modules/duckdb/vendor.py +0 -0
- {wsba_hockey-1.1.1 → wsba_hockey-1.1.3}/src/wsba_hockey/evidence/weakside-breakout/node_modules/flatted/python/flatted.py +0 -0
- {wsba_hockey-1.1.1 → wsba_hockey-1.1.3}/src/wsba_hockey/evidence/weakside-breakout/node_modules/flatted/python/test.py +0 -0
- {wsba_hockey-1.1.1 → wsba_hockey-1.1.3}/src/wsba_hockey/evidence/weakside-breakout/node_modules/node-gyp/gyp/gyp_main.py +0 -0
- {wsba_hockey-1.1.1 → wsba_hockey-1.1.3}/src/wsba_hockey/evidence/weakside-breakout/node_modules/node-gyp/gyp/pylib/gyp/MSVSNew.py +0 -0
- {wsba_hockey-1.1.1 → wsba_hockey-1.1.3}/src/wsba_hockey/evidence/weakside-breakout/node_modules/node-gyp/gyp/pylib/gyp/MSVSProject.py +0 -0
- {wsba_hockey-1.1.1 → wsba_hockey-1.1.3}/src/wsba_hockey/evidence/weakside-breakout/node_modules/node-gyp/gyp/pylib/gyp/MSVSSettings.py +0 -0
- {wsba_hockey-1.1.1 → wsba_hockey-1.1.3}/src/wsba_hockey/evidence/weakside-breakout/node_modules/node-gyp/gyp/pylib/gyp/MSVSSettings_test.py +0 -0
- {wsba_hockey-1.1.1 → wsba_hockey-1.1.3}/src/wsba_hockey/evidence/weakside-breakout/node_modules/node-gyp/gyp/pylib/gyp/MSVSToolFile.py +0 -0
- {wsba_hockey-1.1.1 → wsba_hockey-1.1.3}/src/wsba_hockey/evidence/weakside-breakout/node_modules/node-gyp/gyp/pylib/gyp/MSVSUserFile.py +0 -0
- {wsba_hockey-1.1.1 → wsba_hockey-1.1.3}/src/wsba_hockey/evidence/weakside-breakout/node_modules/node-gyp/gyp/pylib/gyp/MSVSUtil.py +0 -0
- {wsba_hockey-1.1.1 → wsba_hockey-1.1.3}/src/wsba_hockey/evidence/weakside-breakout/node_modules/node-gyp/gyp/pylib/gyp/MSVSVersion.py +0 -0
- {wsba_hockey-1.1.1 → wsba_hockey-1.1.3}/src/wsba_hockey/evidence/weakside-breakout/node_modules/node-gyp/gyp/pylib/gyp/__init__.py +0 -0
- {wsba_hockey-1.1.1 → wsba_hockey-1.1.3}/src/wsba_hockey/evidence/weakside-breakout/node_modules/node-gyp/gyp/pylib/gyp/common.py +0 -0
- {wsba_hockey-1.1.1 → wsba_hockey-1.1.3}/src/wsba_hockey/evidence/weakside-breakout/node_modules/node-gyp/gyp/pylib/gyp/common_test.py +0 -0
- {wsba_hockey-1.1.1 → wsba_hockey-1.1.3}/src/wsba_hockey/evidence/weakside-breakout/node_modules/node-gyp/gyp/pylib/gyp/easy_xml.py +0 -0
- {wsba_hockey-1.1.1 → wsba_hockey-1.1.3}/src/wsba_hockey/evidence/weakside-breakout/node_modules/node-gyp/gyp/pylib/gyp/easy_xml_test.py +0 -0
- {wsba_hockey-1.1.1 → wsba_hockey-1.1.3}/src/wsba_hockey/evidence/weakside-breakout/node_modules/node-gyp/gyp/pylib/gyp/flock_tool.py +0 -0
- {wsba_hockey-1.1.1/src/wsba_hockey/api/api/tools → wsba_hockey-1.1.3/src/wsba_hockey/evidence/weakside-breakout/node_modules/node-gyp/gyp/pylib/gyp/generator}/__init__.py +0 -0
- {wsba_hockey-1.1.1 → wsba_hockey-1.1.3}/src/wsba_hockey/evidence/weakside-breakout/node_modules/node-gyp/gyp/pylib/gyp/generator/analyzer.py +0 -0
- {wsba_hockey-1.1.1 → wsba_hockey-1.1.3}/src/wsba_hockey/evidence/weakside-breakout/node_modules/node-gyp/gyp/pylib/gyp/generator/android.py +0 -0
- {wsba_hockey-1.1.1 → wsba_hockey-1.1.3}/src/wsba_hockey/evidence/weakside-breakout/node_modules/node-gyp/gyp/pylib/gyp/generator/cmake.py +0 -0
- {wsba_hockey-1.1.1 → wsba_hockey-1.1.3}/src/wsba_hockey/evidence/weakside-breakout/node_modules/node-gyp/gyp/pylib/gyp/generator/compile_commands_json.py +0 -0
- {wsba_hockey-1.1.1 → wsba_hockey-1.1.3}/src/wsba_hockey/evidence/weakside-breakout/node_modules/node-gyp/gyp/pylib/gyp/generator/dump_dependency_json.py +0 -0
- {wsba_hockey-1.1.1 → wsba_hockey-1.1.3}/src/wsba_hockey/evidence/weakside-breakout/node_modules/node-gyp/gyp/pylib/gyp/generator/eclipse.py +0 -0
- {wsba_hockey-1.1.1 → wsba_hockey-1.1.3}/src/wsba_hockey/evidence/weakside-breakout/node_modules/node-gyp/gyp/pylib/gyp/generator/gypd.py +0 -0
- {wsba_hockey-1.1.1 → wsba_hockey-1.1.3}/src/wsba_hockey/evidence/weakside-breakout/node_modules/node-gyp/gyp/pylib/gyp/generator/gypsh.py +0 -0
- {wsba_hockey-1.1.1 → wsba_hockey-1.1.3}/src/wsba_hockey/evidence/weakside-breakout/node_modules/node-gyp/gyp/pylib/gyp/generator/make.py +0 -0
- {wsba_hockey-1.1.1 → wsba_hockey-1.1.3}/src/wsba_hockey/evidence/weakside-breakout/node_modules/node-gyp/gyp/pylib/gyp/generator/msvs.py +0 -0
- {wsba_hockey-1.1.1 → wsba_hockey-1.1.3}/src/wsba_hockey/evidence/weakside-breakout/node_modules/node-gyp/gyp/pylib/gyp/generator/msvs_test.py +0 -0
- {wsba_hockey-1.1.1 → wsba_hockey-1.1.3}/src/wsba_hockey/evidence/weakside-breakout/node_modules/node-gyp/gyp/pylib/gyp/generator/ninja.py +0 -0
- {wsba_hockey-1.1.1 → wsba_hockey-1.1.3}/src/wsba_hockey/evidence/weakside-breakout/node_modules/node-gyp/gyp/pylib/gyp/generator/ninja_test.py +0 -0
- {wsba_hockey-1.1.1 → wsba_hockey-1.1.3}/src/wsba_hockey/evidence/weakside-breakout/node_modules/node-gyp/gyp/pylib/gyp/generator/xcode.py +0 -0
- {wsba_hockey-1.1.1 → wsba_hockey-1.1.3}/src/wsba_hockey/evidence/weakside-breakout/node_modules/node-gyp/gyp/pylib/gyp/generator/xcode_test.py +0 -0
- {wsba_hockey-1.1.1 → wsba_hockey-1.1.3}/src/wsba_hockey/evidence/weakside-breakout/node_modules/node-gyp/gyp/pylib/gyp/input.py +0 -0
- {wsba_hockey-1.1.1 → wsba_hockey-1.1.3}/src/wsba_hockey/evidence/weakside-breakout/node_modules/node-gyp/gyp/pylib/gyp/input_test.py +0 -0
- {wsba_hockey-1.1.1 → wsba_hockey-1.1.3}/src/wsba_hockey/evidence/weakside-breakout/node_modules/node-gyp/gyp/pylib/gyp/mac_tool.py +0 -0
- {wsba_hockey-1.1.1 → wsba_hockey-1.1.3}/src/wsba_hockey/evidence/weakside-breakout/node_modules/node-gyp/gyp/pylib/gyp/msvs_emulation.py +0 -0
- {wsba_hockey-1.1.1 → wsba_hockey-1.1.3}/src/wsba_hockey/evidence/weakside-breakout/node_modules/node-gyp/gyp/pylib/gyp/ninja_syntax.py +0 -0
- {wsba_hockey-1.1.1 → wsba_hockey-1.1.3}/src/wsba_hockey/evidence/weakside-breakout/node_modules/node-gyp/gyp/pylib/gyp/simple_copy.py +0 -0
- {wsba_hockey-1.1.1 → wsba_hockey-1.1.3}/src/wsba_hockey/evidence/weakside-breakout/node_modules/node-gyp/gyp/pylib/gyp/win_tool.py +0 -0
- {wsba_hockey-1.1.1 → wsba_hockey-1.1.3}/src/wsba_hockey/evidence/weakside-breakout/node_modules/node-gyp/gyp/pylib/gyp/xcode_emulation.py +0 -0
- {wsba_hockey-1.1.1 → wsba_hockey-1.1.3}/src/wsba_hockey/evidence/weakside-breakout/node_modules/node-gyp/gyp/pylib/gyp/xcode_ninja.py +0 -0
- {wsba_hockey-1.1.1 → wsba_hockey-1.1.3}/src/wsba_hockey/evidence/weakside-breakout/node_modules/node-gyp/gyp/pylib/gyp/xcodeproj_file.py +0 -0
- {wsba_hockey-1.1.1 → wsba_hockey-1.1.3}/src/wsba_hockey/evidence/weakside-breakout/node_modules/node-gyp/gyp/pylib/gyp/xml_fix.py +0 -0
- {wsba_hockey-1.1.1 → wsba_hockey-1.1.3}/src/wsba_hockey/evidence/weakside-breakout/node_modules/node-gyp/gyp/test_gyp.py +0 -0
- {wsba_hockey-1.1.1 → wsba_hockey-1.1.3}/src/wsba_hockey/evidence/weakside-breakout/node_modules/node-gyp/gyp/tools/graphviz.py +0 -0
- {wsba_hockey-1.1.1 → wsba_hockey-1.1.3}/src/wsba_hockey/evidence/weakside-breakout/node_modules/node-gyp/gyp/tools/pretty_gyp.py +0 -0
- {wsba_hockey-1.1.1 → wsba_hockey-1.1.3}/src/wsba_hockey/evidence/weakside-breakout/node_modules/node-gyp/gyp/tools/pretty_sln.py +0 -0
- {wsba_hockey-1.1.1 → wsba_hockey-1.1.3}/src/wsba_hockey/evidence/weakside-breakout/node_modules/node-gyp/gyp/tools/pretty_vcproj.py +0 -0
- {wsba_hockey-1.1.1 → wsba_hockey-1.1.3}/src/wsba_hockey/evidence/weakside-breakout/node_modules/node-gyp/test/fixtures/test-charmap.py +0 -0
- {wsba_hockey-1.1.1 → wsba_hockey-1.1.3}/src/wsba_hockey/evidence/weakside-breakout/node_modules/node-gyp/update-gyp.py +0 -0
- {wsba_hockey-1.1.1 → wsba_hockey-1.1.3}/src/wsba_hockey/evidence/weakside-breakout/node_modules/sqlite3/node_modules/node-gyp/gyp/gyp_main.py +0 -0
- {wsba_hockey-1.1.1 → wsba_hockey-1.1.3}/src/wsba_hockey/evidence/weakside-breakout/node_modules/sqlite3/node_modules/node-gyp/gyp/pylib/gyp/MSVSNew.py +0 -0
- {wsba_hockey-1.1.1 → wsba_hockey-1.1.3}/src/wsba_hockey/evidence/weakside-breakout/node_modules/sqlite3/node_modules/node-gyp/gyp/pylib/gyp/MSVSProject.py +0 -0
- {wsba_hockey-1.1.1 → wsba_hockey-1.1.3}/src/wsba_hockey/evidence/weakside-breakout/node_modules/sqlite3/node_modules/node-gyp/gyp/pylib/gyp/MSVSSettings.py +0 -0
- {wsba_hockey-1.1.1 → wsba_hockey-1.1.3}/src/wsba_hockey/evidence/weakside-breakout/node_modules/sqlite3/node_modules/node-gyp/gyp/pylib/gyp/MSVSSettings_test.py +0 -0
- {wsba_hockey-1.1.1 → wsba_hockey-1.1.3}/src/wsba_hockey/evidence/weakside-breakout/node_modules/sqlite3/node_modules/node-gyp/gyp/pylib/gyp/MSVSToolFile.py +0 -0
- {wsba_hockey-1.1.1 → wsba_hockey-1.1.3}/src/wsba_hockey/evidence/weakside-breakout/node_modules/sqlite3/node_modules/node-gyp/gyp/pylib/gyp/MSVSUserFile.py +0 -0
- {wsba_hockey-1.1.1 → wsba_hockey-1.1.3}/src/wsba_hockey/evidence/weakside-breakout/node_modules/sqlite3/node_modules/node-gyp/gyp/pylib/gyp/MSVSUtil.py +0 -0
- {wsba_hockey-1.1.1 → wsba_hockey-1.1.3}/src/wsba_hockey/evidence/weakside-breakout/node_modules/sqlite3/node_modules/node-gyp/gyp/pylib/gyp/MSVSVersion.py +0 -0
- {wsba_hockey-1.1.1 → wsba_hockey-1.1.3}/src/wsba_hockey/evidence/weakside-breakout/node_modules/sqlite3/node_modules/node-gyp/gyp/pylib/gyp/__init__.py +0 -0
- {wsba_hockey-1.1.1 → wsba_hockey-1.1.3}/src/wsba_hockey/evidence/weakside-breakout/node_modules/sqlite3/node_modules/node-gyp/gyp/pylib/gyp/common.py +0 -0
- {wsba_hockey-1.1.1 → wsba_hockey-1.1.3}/src/wsba_hockey/evidence/weakside-breakout/node_modules/sqlite3/node_modules/node-gyp/gyp/pylib/gyp/common_test.py +0 -0
- {wsba_hockey-1.1.1 → wsba_hockey-1.1.3}/src/wsba_hockey/evidence/weakside-breakout/node_modules/sqlite3/node_modules/node-gyp/gyp/pylib/gyp/easy_xml.py +0 -0
- {wsba_hockey-1.1.1 → wsba_hockey-1.1.3}/src/wsba_hockey/evidence/weakside-breakout/node_modules/sqlite3/node_modules/node-gyp/gyp/pylib/gyp/easy_xml_test.py +0 -0
- {wsba_hockey-1.1.1 → wsba_hockey-1.1.3}/src/wsba_hockey/evidence/weakside-breakout/node_modules/sqlite3/node_modules/node-gyp/gyp/pylib/gyp/flock_tool.py +0 -0
- {wsba_hockey-1.1.1/src/wsba_hockey/evidence/weakside-breakout → wsba_hockey-1.1.3/src/wsba_hockey/evidence/weakside-breakout/node_modules/sqlite3}/node_modules/node-gyp/gyp/pylib/gyp/generator/__init__.py +0 -0
- {wsba_hockey-1.1.1 → wsba_hockey-1.1.3}/src/wsba_hockey/evidence/weakside-breakout/node_modules/sqlite3/node_modules/node-gyp/gyp/pylib/gyp/generator/analyzer.py +0 -0
- {wsba_hockey-1.1.1 → wsba_hockey-1.1.3}/src/wsba_hockey/evidence/weakside-breakout/node_modules/sqlite3/node_modules/node-gyp/gyp/pylib/gyp/generator/android.py +0 -0
- {wsba_hockey-1.1.1 → wsba_hockey-1.1.3}/src/wsba_hockey/evidence/weakside-breakout/node_modules/sqlite3/node_modules/node-gyp/gyp/pylib/gyp/generator/cmake.py +0 -0
- {wsba_hockey-1.1.1 → wsba_hockey-1.1.3}/src/wsba_hockey/evidence/weakside-breakout/node_modules/sqlite3/node_modules/node-gyp/gyp/pylib/gyp/generator/compile_commands_json.py +0 -0
- {wsba_hockey-1.1.1 → wsba_hockey-1.1.3}/src/wsba_hockey/evidence/weakside-breakout/node_modules/sqlite3/node_modules/node-gyp/gyp/pylib/gyp/generator/dump_dependency_json.py +0 -0
- {wsba_hockey-1.1.1 → wsba_hockey-1.1.3}/src/wsba_hockey/evidence/weakside-breakout/node_modules/sqlite3/node_modules/node-gyp/gyp/pylib/gyp/generator/eclipse.py +0 -0
- {wsba_hockey-1.1.1 → wsba_hockey-1.1.3}/src/wsba_hockey/evidence/weakside-breakout/node_modules/sqlite3/node_modules/node-gyp/gyp/pylib/gyp/generator/gypd.py +0 -0
- {wsba_hockey-1.1.1 → wsba_hockey-1.1.3}/src/wsba_hockey/evidence/weakside-breakout/node_modules/sqlite3/node_modules/node-gyp/gyp/pylib/gyp/generator/gypsh.py +0 -0
- {wsba_hockey-1.1.1 → wsba_hockey-1.1.3}/src/wsba_hockey/evidence/weakside-breakout/node_modules/sqlite3/node_modules/node-gyp/gyp/pylib/gyp/generator/make.py +0 -0
- {wsba_hockey-1.1.1 → wsba_hockey-1.1.3}/src/wsba_hockey/evidence/weakside-breakout/node_modules/sqlite3/node_modules/node-gyp/gyp/pylib/gyp/generator/msvs.py +0 -0
- {wsba_hockey-1.1.1 → wsba_hockey-1.1.3}/src/wsba_hockey/evidence/weakside-breakout/node_modules/sqlite3/node_modules/node-gyp/gyp/pylib/gyp/generator/msvs_test.py +0 -0
- {wsba_hockey-1.1.1 → wsba_hockey-1.1.3}/src/wsba_hockey/evidence/weakside-breakout/node_modules/sqlite3/node_modules/node-gyp/gyp/pylib/gyp/generator/ninja.py +0 -0
- {wsba_hockey-1.1.1 → wsba_hockey-1.1.3}/src/wsba_hockey/evidence/weakside-breakout/node_modules/sqlite3/node_modules/node-gyp/gyp/pylib/gyp/generator/ninja_test.py +0 -0
- {wsba_hockey-1.1.1 → wsba_hockey-1.1.3}/src/wsba_hockey/evidence/weakside-breakout/node_modules/sqlite3/node_modules/node-gyp/gyp/pylib/gyp/generator/xcode.py +0 -0
- {wsba_hockey-1.1.1 → wsba_hockey-1.1.3}/src/wsba_hockey/evidence/weakside-breakout/node_modules/sqlite3/node_modules/node-gyp/gyp/pylib/gyp/generator/xcode_test.py +0 -0
- {wsba_hockey-1.1.1 → wsba_hockey-1.1.3}/src/wsba_hockey/evidence/weakside-breakout/node_modules/sqlite3/node_modules/node-gyp/gyp/pylib/gyp/input.py +0 -0
- {wsba_hockey-1.1.1 → wsba_hockey-1.1.3}/src/wsba_hockey/evidence/weakside-breakout/node_modules/sqlite3/node_modules/node-gyp/gyp/pylib/gyp/input_test.py +0 -0
- {wsba_hockey-1.1.1 → wsba_hockey-1.1.3}/src/wsba_hockey/evidence/weakside-breakout/node_modules/sqlite3/node_modules/node-gyp/gyp/pylib/gyp/mac_tool.py +0 -0
- {wsba_hockey-1.1.1 → wsba_hockey-1.1.3}/src/wsba_hockey/evidence/weakside-breakout/node_modules/sqlite3/node_modules/node-gyp/gyp/pylib/gyp/msvs_emulation.py +0 -0
- {wsba_hockey-1.1.1 → wsba_hockey-1.1.3}/src/wsba_hockey/evidence/weakside-breakout/node_modules/sqlite3/node_modules/node-gyp/gyp/pylib/gyp/ninja_syntax.py +0 -0
- {wsba_hockey-1.1.1 → wsba_hockey-1.1.3}/src/wsba_hockey/evidence/weakside-breakout/node_modules/sqlite3/node_modules/node-gyp/gyp/pylib/gyp/simple_copy.py +0 -0
- {wsba_hockey-1.1.1 → wsba_hockey-1.1.3}/src/wsba_hockey/evidence/weakside-breakout/node_modules/sqlite3/node_modules/node-gyp/gyp/pylib/gyp/win_tool.py +0 -0
- {wsba_hockey-1.1.1 → wsba_hockey-1.1.3}/src/wsba_hockey/evidence/weakside-breakout/node_modules/sqlite3/node_modules/node-gyp/gyp/pylib/gyp/xcode_emulation.py +0 -0
- {wsba_hockey-1.1.1 → wsba_hockey-1.1.3}/src/wsba_hockey/evidence/weakside-breakout/node_modules/sqlite3/node_modules/node-gyp/gyp/pylib/gyp/xcode_ninja.py +0 -0
- {wsba_hockey-1.1.1 → wsba_hockey-1.1.3}/src/wsba_hockey/evidence/weakside-breakout/node_modules/sqlite3/node_modules/node-gyp/gyp/pylib/gyp/xcodeproj_file.py +0 -0
- {wsba_hockey-1.1.1 → wsba_hockey-1.1.3}/src/wsba_hockey/evidence/weakside-breakout/node_modules/sqlite3/node_modules/node-gyp/gyp/pylib/gyp/xml_fix.py +0 -0
- {wsba_hockey-1.1.1 → wsba_hockey-1.1.3}/src/wsba_hockey/evidence/weakside-breakout/node_modules/sqlite3/node_modules/node-gyp/gyp/setup.py +0 -0
- {wsba_hockey-1.1.1 → wsba_hockey-1.1.3}/src/wsba_hockey/evidence/weakside-breakout/node_modules/sqlite3/node_modules/node-gyp/gyp/test_gyp.py +0 -0
- {wsba_hockey-1.1.1 → wsba_hockey-1.1.3}/src/wsba_hockey/evidence/weakside-breakout/node_modules/sqlite3/node_modules/node-gyp/gyp/tools/graphviz.py +0 -0
- {wsba_hockey-1.1.1 → wsba_hockey-1.1.3}/src/wsba_hockey/evidence/weakside-breakout/node_modules/sqlite3/node_modules/node-gyp/gyp/tools/pretty_gyp.py +0 -0
- {wsba_hockey-1.1.1 → wsba_hockey-1.1.3}/src/wsba_hockey/evidence/weakside-breakout/node_modules/sqlite3/node_modules/node-gyp/gyp/tools/pretty_sln.py +0 -0
- {wsba_hockey-1.1.1 → wsba_hockey-1.1.3}/src/wsba_hockey/evidence/weakside-breakout/node_modules/sqlite3/node_modules/node-gyp/gyp/tools/pretty_vcproj.py +0 -0
- {wsba_hockey-1.1.1 → wsba_hockey-1.1.3}/src/wsba_hockey/evidence/weakside-breakout/node_modules/sqlite3/node_modules/node-gyp/test/fixtures/test-charmap.py +0 -0
- {wsba_hockey-1.1.1 → wsba_hockey-1.1.3}/src/wsba_hockey/evidence/weakside-breakout/node_modules/sqlite3/node_modules/node-gyp/update-gyp.py +0 -0
- {wsba_hockey-1.1.1 → wsba_hockey-1.1.3}/src/wsba_hockey/evidence/weakside-breakout/wsba_nhl_apps/wsba_nhl_apps/game_stats/app.py +0 -0
- {wsba_hockey-1.1.1 → wsba_hockey-1.1.3}/src/wsba_hockey/evidence/weakside-breakout/wsba_nhl_apps/wsba_nhl_apps/game_stats/name_fix.py +0 -0
- {wsba_hockey-1.1.1 → wsba_hockey-1.1.3}/src/wsba_hockey/evidence/weakside-breakout/wsba_nhl_apps/wsba_nhl_apps/goalie/app.py +0 -0
- {wsba_hockey-1.1.1 → wsba_hockey-1.1.3}/src/wsba_hockey/evidence/weakside-breakout/wsba_nhl_apps/wsba_nhl_apps/goalie/plot.py +0 -0
- {wsba_hockey-1.1.1 → wsba_hockey-1.1.3}/src/wsba_hockey/evidence/weakside-breakout/wsba_nhl_apps/wsba_nhl_apps/goalie/rink_plot.py +0 -0
- {wsba_hockey-1.1.1 → wsba_hockey-1.1.3}/src/wsba_hockey/evidence/weakside-breakout/wsba_nhl_apps/wsba_nhl_apps/heatmaps/app.py +0 -0
- {wsba_hockey-1.1.1 → wsba_hockey-1.1.3}/src/wsba_hockey/evidence/weakside-breakout/wsba_nhl_apps/wsba_nhl_apps/heatmaps/plot.py +0 -0
- {wsba_hockey-1.1.1 → wsba_hockey-1.1.3}/src/wsba_hockey/evidence/weakside-breakout/wsba_nhl_apps/wsba_nhl_apps/heatmaps/rink_plot.py +0 -0
- {wsba_hockey-1.1.1 → wsba_hockey-1.1.3}/src/wsba_hockey/evidence/weakside-breakout/wsba_nhl_apps/wsba_nhl_apps/matchups/app.py +0 -0
- {wsba_hockey-1.1.1 → wsba_hockey-1.1.3}/src/wsba_hockey/evidence/weakside-breakout/wsba_nhl_apps/wsba_nhl_apps/matchups/plot.py +0 -0
- {wsba_hockey-1.1.1 → wsba_hockey-1.1.3}/src/wsba_hockey/evidence/weakside-breakout/wsba_nhl_apps/wsba_nhl_apps/matchups/rink_plot.py +0 -0
- {wsba_hockey-1.1.1 → wsba_hockey-1.1.3}/src/wsba_hockey/evidence/weakside-breakout/wsba_nhl_apps/wsba_nhl_apps/pbp/app.py +0 -0
- {wsba_hockey-1.1.1 → wsba_hockey-1.1.3}/src/wsba_hockey/evidence/weakside-breakout/wsba_nhl_apps/wsba_nhl_apps/pbp/plot.py +0 -0
- {wsba_hockey-1.1.1 → wsba_hockey-1.1.3}/src/wsba_hockey/evidence/weakside-breakout/wsba_nhl_apps/wsba_nhl_apps/pbp/rink_plot.py +0 -0
- {wsba_hockey-1.1.1 → wsba_hockey-1.1.3}/src/wsba_hockey/evidence/weakside-breakout/wsba_nhl_apps/wsba_nhl_apps/skater/app.py +0 -0
- {wsba_hockey-1.1.1 → wsba_hockey-1.1.3}/src/wsba_hockey/evidence/weakside-breakout/wsba_nhl_apps/wsba_nhl_apps/skater/plot.py +0 -0
- {wsba_hockey-1.1.1 → wsba_hockey-1.1.3}/src/wsba_hockey/evidence/weakside-breakout/wsba_nhl_apps/wsba_nhl_apps/skater/rink_plot.py +0 -0
- {wsba_hockey-1.1.1 → wsba_hockey-1.1.3}/src/wsba_hockey/evidence/weakside-breakout/wsba_nhl_apps/wsba_nhl_apps/team_heatmaps/app.py +0 -0
- {wsba_hockey-1.1.1 → wsba_hockey-1.1.3}/src/wsba_hockey/evidence/weakside-breakout/wsba_nhl_apps/wsba_nhl_apps/team_heatmaps/plot.py +0 -0
- {wsba_hockey-1.1.1 → wsba_hockey-1.1.3}/src/wsba_hockey/evidence/weakside-breakout/wsba_nhl_apps/wsba_nhl_apps/team_heatmaps/rink_plot.py +0 -0
- {wsba_hockey-1.1.1 → wsba_hockey-1.1.3}/src/wsba_hockey/flask/app.py +0 -0
- {wsba_hockey-1.1.1/src/wsba_hockey/evidence/weakside-breakout/node_modules/sqlite3/node_modules/node-gyp/gyp/pylib/gyp/generator → wsba_hockey-1.1.3/src/wsba_hockey/tools}/__init__.py +0 -0
- {wsba_hockey-1.1.1/src/wsba_hockey/api/api → wsba_hockey-1.1.3/src/wsba_hockey}/tools/agg.py +0 -0
- {wsba_hockey-1.1.1/src/wsba_hockey/api/api → wsba_hockey-1.1.3/src/wsba_hockey}/tools/archive/old_scraping.py +0 -0
- {wsba_hockey-1.1.1/src/wsba_hockey/api/api → wsba_hockey-1.1.3/src/wsba_hockey}/tools/utils/__init__.py +0 -0
- {wsba_hockey-1.1.1/src/wsba_hockey/api/api → wsba_hockey-1.1.3/src/wsba_hockey}/tools/utils/config.py +0 -0
- {wsba_hockey-1.1.1/src/wsba_hockey/api/api → wsba_hockey-1.1.3/src/wsba_hockey}/tools/utils/save_pages.py +0 -0
- {wsba_hockey-1.1.1/src/wsba_hockey/api/api → wsba_hockey-1.1.3/src/wsba_hockey}/tools/utils/shared.py +0 -0
- {wsba_hockey-1.1.1/src/wsba_hockey/api/api → wsba_hockey-1.1.3/src/wsba_hockey}/tools/xg_model.py +0 -0
- {wsba_hockey-1.1.1 → wsba_hockey-1.1.3}/src/wsba_hockey/workspace.py +0 -0
- {wsba_hockey-1.1.1 → wsba_hockey-1.1.3}/src/wsba_hockey/wsba_main.py +0 -0
- {wsba_hockey-1.1.1 → wsba_hockey-1.1.3}/src/wsba_hockey.egg-info/dependency_links.txt +0 -0
- {wsba_hockey-1.1.1 → wsba_hockey-1.1.3}/src/wsba_hockey.egg-info/top_level.txt +0 -0
@@ -1,6 +1,6 @@
|
|
1
1
|
Metadata-Version: 2.4
|
2
2
|
Name: wsba_hockey
|
3
|
-
Version: 1.1.
|
3
|
+
Version: 1.1.3
|
4
4
|
Summary: WeakSide Breakout's complete Python package of access to hockey data, primairly including the scraping of National Hockey League schedule, play-by-play, and shifts information.
|
5
5
|
Author-email: Owen Singh <owenbksingh@gmail.com>
|
6
6
|
Project-URL: Homepage, https://github.com/owensingh38/wsba_hockey/
|
@@ -6,7 +6,7 @@ from hockey_rink import NHLRink
|
|
6
6
|
from hockey_rink import CircularImage
|
7
7
|
from scipy.interpolate import griddata
|
8
8
|
from scipy.ndimage import gaussian_filter
|
9
|
-
from tools.xg_model import *
|
9
|
+
from wsba_hockey.tools.xg_model import *
|
10
10
|
|
11
11
|
### PLOTTING FUNCTIONS ###
|
12
12
|
# Provided in this file are basic plotting functions for the WSBA Hockey Python package. #
|
@@ -1,6 +1,6 @@
|
|
1
1
|
Metadata-Version: 2.4
|
2
2
|
Name: wsba_hockey
|
3
|
-
Version: 1.1.
|
3
|
+
Version: 1.1.3
|
4
4
|
Summary: WeakSide Breakout's complete Python package of access to hockey data, primairly including the scraping of National Hockey League schedule, play-by-play, and shifts information.
|
5
5
|
Author-email: Owen Singh <owenbksingh@gmail.com>
|
6
6
|
Project-URL: Homepage, https://github.com/owensingh38/wsba_hockey/
|
@@ -10,18 +10,6 @@ src/wsba_hockey.egg-info/SOURCES.txt
|
|
10
10
|
src/wsba_hockey.egg-info/dependency_links.txt
|
11
11
|
src/wsba_hockey.egg-info/top_level.txt
|
12
12
|
src/wsba_hockey/api/api/index.py
|
13
|
-
src/wsba_hockey/api/api/main.py
|
14
|
-
src/wsba_hockey/api/api/wsba_main.py
|
15
|
-
src/wsba_hockey/api/api/tools/__init__.py
|
16
|
-
src/wsba_hockey/api/api/tools/agg.py
|
17
|
-
src/wsba_hockey/api/api/tools/plotting.py
|
18
|
-
src/wsba_hockey/api/api/tools/scraping.py
|
19
|
-
src/wsba_hockey/api/api/tools/xg_model.py
|
20
|
-
src/wsba_hockey/api/api/tools/archive/old_scraping.py
|
21
|
-
src/wsba_hockey/api/api/tools/utils/__init__.py
|
22
|
-
src/wsba_hockey/api/api/tools/utils/config.py
|
23
|
-
src/wsba_hockey/api/api/tools/utils/save_pages.py
|
24
|
-
src/wsba_hockey/api/api/tools/utils/shared.py
|
25
13
|
src/wsba_hockey/evidence/weakside-breakout/node_modules/duckdb/vendor.py
|
26
14
|
src/wsba_hockey/evidence/weakside-breakout/node_modules/flatted/python/flatted.py
|
27
15
|
src/wsba_hockey/evidence/weakside-breakout/node_modules/flatted/python/test.py
|
@@ -1,144 +0,0 @@
|
|
1
|
-
import os
|
2
|
-
import matplotlib.pyplot as plt
|
3
|
-
import numpy as np
|
4
|
-
import pandas as pd
|
5
|
-
from hockey_rink import NHLRink
|
6
|
-
from hockey_rink import CircularImage
|
7
|
-
from scipy.interpolate import griddata
|
8
|
-
from scipy.ndimage import gaussian_filter
|
9
|
-
from tools.xg_model import *
|
10
|
-
|
11
|
-
### PLOTTING FUNCTIONS ###
|
12
|
-
# Provided in this file are basic plotting functions for the WSBA Hockey Python package. #
|
13
|
-
|
14
|
-
## GLOBAL VARIABLES ##
|
15
|
-
|
16
|
-
event_markers = {
|
17
|
-
'faceoff':'X',
|
18
|
-
'hit':'P',
|
19
|
-
'blocked-shot':'v',
|
20
|
-
'missed-shot':'o',
|
21
|
-
'shot-on-goal':'D',
|
22
|
-
'goal':'*',
|
23
|
-
'giveaway':'1',
|
24
|
-
'takeaway':'2',
|
25
|
-
}
|
26
|
-
|
27
|
-
dir = os.path.dirname(os.path.realpath(__file__))
|
28
|
-
info_path = os.path.join(dir,'teaminfo\\nhl_teaminfo.csv')
|
29
|
-
img_path = os.path.join(dir,'utils\\wsba.png')
|
30
|
-
|
31
|
-
def wsba_rink(display_range='offense',rotation = 0):
|
32
|
-
rink = NHLRink(center_logo={
|
33
|
-
"feature_class": CircularImage,
|
34
|
-
"image_path": img_path,
|
35
|
-
"length": 25, "width": 25,
|
36
|
-
"x": 0, "y": 0,
|
37
|
-
"radius": 14,
|
38
|
-
"zorder": 11,
|
39
|
-
}
|
40
|
-
)
|
41
|
-
rink.draw(
|
42
|
-
display_range=display_range,
|
43
|
-
rotation=rotation,
|
44
|
-
despine=True
|
45
|
-
)
|
46
|
-
|
47
|
-
def prep_plot_data(pbp,events,strengths,marker_dict=event_markers):
|
48
|
-
try: pbp['xG']
|
49
|
-
except:
|
50
|
-
pbp = wsba_xG(pbp)
|
51
|
-
pbp['xG'] = np.where(pbp['xG'].isna(),0,pbp['xG'])
|
52
|
-
|
53
|
-
pbp['WSBA'] = pbp['event_player_1_name']+pbp['season'].astype(str)+pbp['event_team_abbr']
|
54
|
-
|
55
|
-
pbp['x_plot'] = np.where(pbp['x']<0,-pbp['y_adj'],pbp['y_adj'])
|
56
|
-
pbp['y_plot'] = abs(pbp['x_adj'])
|
57
|
-
|
58
|
-
pbp['home_on_ice'] = pbp['home_on_1'].astype(str) + ";" + pbp['home_on_2'].astype(str) + ";" + pbp['home_on_3'].astype(str) + ";" + pbp['home_on_4'].astype(str) + ";" + pbp['home_on_5'].astype(str) + ";" + pbp['home_on_6'].astype(str)
|
59
|
-
pbp['away_on_ice'] = pbp['away_on_1'].astype(str) + ";" + pbp['away_on_2'].astype(str) + ";" + pbp['away_on_3'].astype(str) + ";" + pbp['away_on_4'].astype(str) + ";" + pbp['away_on_5'].astype(str) + ";" + pbp['away_on_6'].astype(str)
|
60
|
-
|
61
|
-
pbp['onice_for'] = np.where(pbp['home_team_abbr']==pbp['event_team_abbr'],pbp['home_on_ice'],pbp['away_on_ice'])
|
62
|
-
pbp['onice_against'] = np.where(pbp['away_team_abbr']==pbp['event_team_abbr'],pbp['home_on_ice'],pbp['away_on_ice'])
|
63
|
-
|
64
|
-
pbp['size'] = np.where(pbp['xG']<=0,40,pbp['xG']*400)
|
65
|
-
pbp['marker'] = pbp['event_type'].replace(marker_dict)
|
66
|
-
|
67
|
-
pbp = pbp.loc[(pbp['event_type'].isin(events))]
|
68
|
-
|
69
|
-
if strengths != 'all':
|
70
|
-
pbp = pbp.loc[(pbp['strength_state'].isin(strengths))]
|
71
|
-
|
72
|
-
return pbp
|
73
|
-
|
74
|
-
def league_shots(pbp,events,strengths):
|
75
|
-
pbp = prep_plot_data(pbp,events,strengths)
|
76
|
-
|
77
|
-
print(pbp[['event_player_1_name','xG','x_plot','y_plot']].head(10))
|
78
|
-
|
79
|
-
[x,y] = np.round(np.meshgrid(np.linspace(-42.5,42.5,85),np.linspace(0,100,100)))
|
80
|
-
xgoals = griddata((pbp[f'x_plot'],pbp[f'y_plot']),pbp['xG'],(x,y),method='cubic',fill_value=0)
|
81
|
-
xgoals_smooth = gaussian_filter(xgoals,sigma = 3)
|
82
|
-
|
83
|
-
return xgoals_smooth
|
84
|
-
|
85
|
-
def plot_skater_shots(pbp, player, season, team, strengths, title = None, marker_dict=event_markers, onice='for', legend=False):
|
86
|
-
shots = ['missed-shot','shot-on-goal','goal']
|
87
|
-
pbp = prep_plot_data(pbp,shots,strengths,marker_dict)
|
88
|
-
pbp = pbp.loc[(pbp['season'].astype(str)==season)&((pbp['away_team_abbr']==team)|(pbp['home_team_abbr']==team))]
|
89
|
-
|
90
|
-
team_data = pd.read_csv(info_path)
|
91
|
-
team_color = list(team_data.loc[team_data['WSBA']==f'{team}{season}','Primary Color'])[0]
|
92
|
-
team_color_2nd = list(team_data.loc[team_data['WSBA']==f'{team}{season}','Secondary Color'])[0]
|
93
|
-
|
94
|
-
if onice in ['for','against']:
|
95
|
-
skater = pbp.loc[(pbp[f'onice_{onice}'].str.contains(player.upper()))]
|
96
|
-
skater['color'] = np.where(skater['event_player_1_name']==player.upper(),team_color,team_color_2nd)
|
97
|
-
|
98
|
-
else:
|
99
|
-
skater = pbp.loc[pbp['event_player_1_name']==player.upper()]
|
100
|
-
skater['color'] = team_color
|
101
|
-
|
102
|
-
fig, ax = plt.subplots()
|
103
|
-
wsba_rink(rotation=90)
|
104
|
-
|
105
|
-
for event in shots:
|
106
|
-
plays = skater.loc[skater['event_type']==event]
|
107
|
-
ax.scatter(plays['x_plot'],plays['y_plot'],plays['size'],plays['color'],marker=event_markers[event],label=event,zorder=5)
|
108
|
-
|
109
|
-
ax.set_title(title) if title else ''
|
110
|
-
ax.legend().set_visible(legend)
|
111
|
-
ax.legend().set_zorder(1000)
|
112
|
-
|
113
|
-
return fig
|
114
|
-
|
115
|
-
def plot_game_events(pbp,game_id,events,strengths,marker_dict=event_markers,team_colors={'away':'secondary','home':'primary'},legend=False):
|
116
|
-
pbp = prep_plot_data(pbp,events,strengths,marker_dict)
|
117
|
-
pbp = pbp.loc[pbp['game_id'].astype(str)==str(game_id)]
|
118
|
-
|
119
|
-
away_abbr = list(pbp['away_team_abbr'])[0]
|
120
|
-
home_abbr = list(pbp['home_team_abbr'])[0]
|
121
|
-
date = list(pbp['game_date'])[0]
|
122
|
-
season = list(pbp['season'])[0]
|
123
|
-
|
124
|
-
team_data = pd.read_csv(info_path)
|
125
|
-
team_info ={
|
126
|
-
'away_color':'#000000' if list(team_data.loc[team_data['WSBA']==f'{away_abbr}{season}','Secondary Color'])[0]=='#FFFFFF' else list(team_data.loc[team_data['WSBA']==f'{away_abbr}{season}',f'{team_colors['away'].capitalize()} Color'])[0],
|
127
|
-
'home_color': list(team_data.loc[team_data['WSBA']==f'{home_abbr}{season}',f'{team_colors['home'].capitalize()} Color'])[0],
|
128
|
-
'away_logo': f'tools/logos/png/{away_abbr}{season}.png',
|
129
|
-
'home_logo': f'tools/logos/png/{home_abbr}{season}.png',
|
130
|
-
}
|
131
|
-
|
132
|
-
pbp['color'] = np.where(pbp['event_team_abbr']==away_abbr,team_info['away_color'],team_info['home_color'])
|
133
|
-
|
134
|
-
fig, ax = plt.subplots()
|
135
|
-
wsba_rink(display_range='full')
|
136
|
-
|
137
|
-
for event in events:
|
138
|
-
plays = pbp.loc[pbp['event_type']==event]
|
139
|
-
ax.scatter(plays['x_adj'],plays['y_adj'],plays['size'],plays['color'],marker=event_markers[event],edgecolors='white',label=event,zorder=5)
|
140
|
-
|
141
|
-
ax.set_title(f'{away_abbr} @ {home_abbr} - {date}')
|
142
|
-
ax.legend(bbox_to_anchor =(0.5,-0.35), loc='lower center',ncol=1).set_visible(legend)
|
143
|
-
|
144
|
-
return fig
|