wsba-hockey 1.1.5__tar.gz → 1.1.7__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.
Files changed (153) hide show
  1. {wsba_hockey-1.1.5/src/wsba_hockey.egg-info → wsba_hockey-1.1.7}/PKG-INFO +1 -1
  2. {wsba_hockey-1.1.5 → wsba_hockey-1.1.7}/pyproject.toml +16 -2
  3. {wsba_hockey-1.1.5 → wsba_hockey-1.1.7}/src/wsba_hockey/__init__.py +1 -1
  4. {wsba_hockey-1.1.5 → wsba_hockey-1.1.7}/src/wsba_hockey/api/api/index.py +1 -8
  5. {wsba_hockey-1.1.5 → wsba_hockey-1.1.7}/src/wsba_hockey/tools/agg.py +1 -0
  6. {wsba_hockey-1.1.5 → wsba_hockey-1.1.7}/src/wsba_hockey/tools/scraping.py +19 -13
  7. {wsba_hockey-1.1.5 → wsba_hockey-1.1.7}/src/wsba_hockey/wsba_main.py +354 -150
  8. {wsba_hockey-1.1.5 → wsba_hockey-1.1.7/src/wsba_hockey.egg-info}/PKG-INFO +1 -1
  9. {wsba_hockey-1.1.5 → wsba_hockey-1.1.7}/src/wsba_hockey.egg-info/SOURCES.txt +2 -1
  10. wsba_hockey-1.1.7/tests/tests.py +20 -0
  11. {wsba_hockey-1.1.5 → wsba_hockey-1.1.7}/LICENSE +0 -0
  12. {wsba_hockey-1.1.5 → wsba_hockey-1.1.7}/README.md +0 -0
  13. {wsba_hockey-1.1.5 → wsba_hockey-1.1.7}/setup.cfg +0 -0
  14. {wsba_hockey-1.1.5 → wsba_hockey-1.1.7}/src/wsba_hockey/data_pipelines.py +0 -0
  15. {wsba_hockey-1.1.5 → wsba_hockey-1.1.7}/src/wsba_hockey/evidence/weakside-breakout/node_modules/duckdb/vendor.py +0 -0
  16. {wsba_hockey-1.1.5 → wsba_hockey-1.1.7}/src/wsba_hockey/evidence/weakside-breakout/node_modules/flatted/python/flatted.py +0 -0
  17. {wsba_hockey-1.1.5 → wsba_hockey-1.1.7}/src/wsba_hockey/evidence/weakside-breakout/node_modules/flatted/python/test.py +0 -0
  18. {wsba_hockey-1.1.5 → wsba_hockey-1.1.7}/src/wsba_hockey/evidence/weakside-breakout/node_modules/node-gyp/gyp/gyp_main.py +0 -0
  19. {wsba_hockey-1.1.5 → wsba_hockey-1.1.7}/src/wsba_hockey/evidence/weakside-breakout/node_modules/node-gyp/gyp/pylib/gyp/MSVSNew.py +0 -0
  20. {wsba_hockey-1.1.5 → wsba_hockey-1.1.7}/src/wsba_hockey/evidence/weakside-breakout/node_modules/node-gyp/gyp/pylib/gyp/MSVSProject.py +0 -0
  21. {wsba_hockey-1.1.5 → wsba_hockey-1.1.7}/src/wsba_hockey/evidence/weakside-breakout/node_modules/node-gyp/gyp/pylib/gyp/MSVSSettings.py +0 -0
  22. {wsba_hockey-1.1.5 → wsba_hockey-1.1.7}/src/wsba_hockey/evidence/weakside-breakout/node_modules/node-gyp/gyp/pylib/gyp/MSVSSettings_test.py +0 -0
  23. {wsba_hockey-1.1.5 → wsba_hockey-1.1.7}/src/wsba_hockey/evidence/weakside-breakout/node_modules/node-gyp/gyp/pylib/gyp/MSVSToolFile.py +0 -0
  24. {wsba_hockey-1.1.5 → wsba_hockey-1.1.7}/src/wsba_hockey/evidence/weakside-breakout/node_modules/node-gyp/gyp/pylib/gyp/MSVSUserFile.py +0 -0
  25. {wsba_hockey-1.1.5 → wsba_hockey-1.1.7}/src/wsba_hockey/evidence/weakside-breakout/node_modules/node-gyp/gyp/pylib/gyp/MSVSUtil.py +0 -0
  26. {wsba_hockey-1.1.5 → wsba_hockey-1.1.7}/src/wsba_hockey/evidence/weakside-breakout/node_modules/node-gyp/gyp/pylib/gyp/MSVSVersion.py +0 -0
  27. {wsba_hockey-1.1.5 → wsba_hockey-1.1.7}/src/wsba_hockey/evidence/weakside-breakout/node_modules/node-gyp/gyp/pylib/gyp/__init__.py +0 -0
  28. {wsba_hockey-1.1.5 → wsba_hockey-1.1.7}/src/wsba_hockey/evidence/weakside-breakout/node_modules/node-gyp/gyp/pylib/gyp/common.py +0 -0
  29. {wsba_hockey-1.1.5 → wsba_hockey-1.1.7}/src/wsba_hockey/evidence/weakside-breakout/node_modules/node-gyp/gyp/pylib/gyp/common_test.py +0 -0
  30. {wsba_hockey-1.1.5 → wsba_hockey-1.1.7}/src/wsba_hockey/evidence/weakside-breakout/node_modules/node-gyp/gyp/pylib/gyp/easy_xml.py +0 -0
  31. {wsba_hockey-1.1.5 → wsba_hockey-1.1.7}/src/wsba_hockey/evidence/weakside-breakout/node_modules/node-gyp/gyp/pylib/gyp/easy_xml_test.py +0 -0
  32. {wsba_hockey-1.1.5 → wsba_hockey-1.1.7}/src/wsba_hockey/evidence/weakside-breakout/node_modules/node-gyp/gyp/pylib/gyp/flock_tool.py +0 -0
  33. {wsba_hockey-1.1.5 → wsba_hockey-1.1.7}/src/wsba_hockey/evidence/weakside-breakout/node_modules/node-gyp/gyp/pylib/gyp/generator/__init__.py +0 -0
  34. {wsba_hockey-1.1.5 → wsba_hockey-1.1.7}/src/wsba_hockey/evidence/weakside-breakout/node_modules/node-gyp/gyp/pylib/gyp/generator/analyzer.py +0 -0
  35. {wsba_hockey-1.1.5 → wsba_hockey-1.1.7}/src/wsba_hockey/evidence/weakside-breakout/node_modules/node-gyp/gyp/pylib/gyp/generator/android.py +0 -0
  36. {wsba_hockey-1.1.5 → wsba_hockey-1.1.7}/src/wsba_hockey/evidence/weakside-breakout/node_modules/node-gyp/gyp/pylib/gyp/generator/cmake.py +0 -0
  37. {wsba_hockey-1.1.5 → wsba_hockey-1.1.7}/src/wsba_hockey/evidence/weakside-breakout/node_modules/node-gyp/gyp/pylib/gyp/generator/compile_commands_json.py +0 -0
  38. {wsba_hockey-1.1.5 → wsba_hockey-1.1.7}/src/wsba_hockey/evidence/weakside-breakout/node_modules/node-gyp/gyp/pylib/gyp/generator/dump_dependency_json.py +0 -0
  39. {wsba_hockey-1.1.5 → wsba_hockey-1.1.7}/src/wsba_hockey/evidence/weakside-breakout/node_modules/node-gyp/gyp/pylib/gyp/generator/eclipse.py +0 -0
  40. {wsba_hockey-1.1.5 → wsba_hockey-1.1.7}/src/wsba_hockey/evidence/weakside-breakout/node_modules/node-gyp/gyp/pylib/gyp/generator/gypd.py +0 -0
  41. {wsba_hockey-1.1.5 → wsba_hockey-1.1.7}/src/wsba_hockey/evidence/weakside-breakout/node_modules/node-gyp/gyp/pylib/gyp/generator/gypsh.py +0 -0
  42. {wsba_hockey-1.1.5 → wsba_hockey-1.1.7}/src/wsba_hockey/evidence/weakside-breakout/node_modules/node-gyp/gyp/pylib/gyp/generator/make.py +0 -0
  43. {wsba_hockey-1.1.5 → wsba_hockey-1.1.7}/src/wsba_hockey/evidence/weakside-breakout/node_modules/node-gyp/gyp/pylib/gyp/generator/msvs.py +0 -0
  44. {wsba_hockey-1.1.5 → wsba_hockey-1.1.7}/src/wsba_hockey/evidence/weakside-breakout/node_modules/node-gyp/gyp/pylib/gyp/generator/msvs_test.py +0 -0
  45. {wsba_hockey-1.1.5 → wsba_hockey-1.1.7}/src/wsba_hockey/evidence/weakside-breakout/node_modules/node-gyp/gyp/pylib/gyp/generator/ninja.py +0 -0
  46. {wsba_hockey-1.1.5 → wsba_hockey-1.1.7}/src/wsba_hockey/evidence/weakside-breakout/node_modules/node-gyp/gyp/pylib/gyp/generator/ninja_test.py +0 -0
  47. {wsba_hockey-1.1.5 → wsba_hockey-1.1.7}/src/wsba_hockey/evidence/weakside-breakout/node_modules/node-gyp/gyp/pylib/gyp/generator/xcode.py +0 -0
  48. {wsba_hockey-1.1.5 → wsba_hockey-1.1.7}/src/wsba_hockey/evidence/weakside-breakout/node_modules/node-gyp/gyp/pylib/gyp/generator/xcode_test.py +0 -0
  49. {wsba_hockey-1.1.5 → wsba_hockey-1.1.7}/src/wsba_hockey/evidence/weakside-breakout/node_modules/node-gyp/gyp/pylib/gyp/input.py +0 -0
  50. {wsba_hockey-1.1.5 → wsba_hockey-1.1.7}/src/wsba_hockey/evidence/weakside-breakout/node_modules/node-gyp/gyp/pylib/gyp/input_test.py +0 -0
  51. {wsba_hockey-1.1.5 → wsba_hockey-1.1.7}/src/wsba_hockey/evidence/weakside-breakout/node_modules/node-gyp/gyp/pylib/gyp/mac_tool.py +0 -0
  52. {wsba_hockey-1.1.5 → wsba_hockey-1.1.7}/src/wsba_hockey/evidence/weakside-breakout/node_modules/node-gyp/gyp/pylib/gyp/msvs_emulation.py +0 -0
  53. {wsba_hockey-1.1.5 → wsba_hockey-1.1.7}/src/wsba_hockey/evidence/weakside-breakout/node_modules/node-gyp/gyp/pylib/gyp/ninja_syntax.py +0 -0
  54. {wsba_hockey-1.1.5 → wsba_hockey-1.1.7}/src/wsba_hockey/evidence/weakside-breakout/node_modules/node-gyp/gyp/pylib/gyp/simple_copy.py +0 -0
  55. {wsba_hockey-1.1.5 → wsba_hockey-1.1.7}/src/wsba_hockey/evidence/weakside-breakout/node_modules/node-gyp/gyp/pylib/gyp/win_tool.py +0 -0
  56. {wsba_hockey-1.1.5 → wsba_hockey-1.1.7}/src/wsba_hockey/evidence/weakside-breakout/node_modules/node-gyp/gyp/pylib/gyp/xcode_emulation.py +0 -0
  57. {wsba_hockey-1.1.5 → wsba_hockey-1.1.7}/src/wsba_hockey/evidence/weakside-breakout/node_modules/node-gyp/gyp/pylib/gyp/xcode_ninja.py +0 -0
  58. {wsba_hockey-1.1.5 → wsba_hockey-1.1.7}/src/wsba_hockey/evidence/weakside-breakout/node_modules/node-gyp/gyp/pylib/gyp/xcodeproj_file.py +0 -0
  59. {wsba_hockey-1.1.5 → wsba_hockey-1.1.7}/src/wsba_hockey/evidence/weakside-breakout/node_modules/node-gyp/gyp/pylib/gyp/xml_fix.py +0 -0
  60. {wsba_hockey-1.1.5 → wsba_hockey-1.1.7}/src/wsba_hockey/evidence/weakside-breakout/node_modules/node-gyp/gyp/test_gyp.py +0 -0
  61. {wsba_hockey-1.1.5 → wsba_hockey-1.1.7}/src/wsba_hockey/evidence/weakside-breakout/node_modules/node-gyp/gyp/tools/graphviz.py +0 -0
  62. {wsba_hockey-1.1.5 → wsba_hockey-1.1.7}/src/wsba_hockey/evidence/weakside-breakout/node_modules/node-gyp/gyp/tools/pretty_gyp.py +0 -0
  63. {wsba_hockey-1.1.5 → wsba_hockey-1.1.7}/src/wsba_hockey/evidence/weakside-breakout/node_modules/node-gyp/gyp/tools/pretty_sln.py +0 -0
  64. {wsba_hockey-1.1.5 → wsba_hockey-1.1.7}/src/wsba_hockey/evidence/weakside-breakout/node_modules/node-gyp/gyp/tools/pretty_vcproj.py +0 -0
  65. {wsba_hockey-1.1.5 → wsba_hockey-1.1.7}/src/wsba_hockey/evidence/weakside-breakout/node_modules/node-gyp/test/fixtures/test-charmap.py +0 -0
  66. {wsba_hockey-1.1.5 → wsba_hockey-1.1.7}/src/wsba_hockey/evidence/weakside-breakout/node_modules/node-gyp/update-gyp.py +0 -0
  67. {wsba_hockey-1.1.5 → wsba_hockey-1.1.7}/src/wsba_hockey/evidence/weakside-breakout/node_modules/sqlite3/node_modules/node-gyp/gyp/gyp_main.py +0 -0
  68. {wsba_hockey-1.1.5 → wsba_hockey-1.1.7}/src/wsba_hockey/evidence/weakside-breakout/node_modules/sqlite3/node_modules/node-gyp/gyp/pylib/gyp/MSVSNew.py +0 -0
  69. {wsba_hockey-1.1.5 → wsba_hockey-1.1.7}/src/wsba_hockey/evidence/weakside-breakout/node_modules/sqlite3/node_modules/node-gyp/gyp/pylib/gyp/MSVSProject.py +0 -0
  70. {wsba_hockey-1.1.5 → wsba_hockey-1.1.7}/src/wsba_hockey/evidence/weakside-breakout/node_modules/sqlite3/node_modules/node-gyp/gyp/pylib/gyp/MSVSSettings.py +0 -0
  71. {wsba_hockey-1.1.5 → wsba_hockey-1.1.7}/src/wsba_hockey/evidence/weakside-breakout/node_modules/sqlite3/node_modules/node-gyp/gyp/pylib/gyp/MSVSSettings_test.py +0 -0
  72. {wsba_hockey-1.1.5 → wsba_hockey-1.1.7}/src/wsba_hockey/evidence/weakside-breakout/node_modules/sqlite3/node_modules/node-gyp/gyp/pylib/gyp/MSVSToolFile.py +0 -0
  73. {wsba_hockey-1.1.5 → wsba_hockey-1.1.7}/src/wsba_hockey/evidence/weakside-breakout/node_modules/sqlite3/node_modules/node-gyp/gyp/pylib/gyp/MSVSUserFile.py +0 -0
  74. {wsba_hockey-1.1.5 → wsba_hockey-1.1.7}/src/wsba_hockey/evidence/weakside-breakout/node_modules/sqlite3/node_modules/node-gyp/gyp/pylib/gyp/MSVSUtil.py +0 -0
  75. {wsba_hockey-1.1.5 → wsba_hockey-1.1.7}/src/wsba_hockey/evidence/weakside-breakout/node_modules/sqlite3/node_modules/node-gyp/gyp/pylib/gyp/MSVSVersion.py +0 -0
  76. {wsba_hockey-1.1.5 → wsba_hockey-1.1.7}/src/wsba_hockey/evidence/weakside-breakout/node_modules/sqlite3/node_modules/node-gyp/gyp/pylib/gyp/__init__.py +0 -0
  77. {wsba_hockey-1.1.5 → wsba_hockey-1.1.7}/src/wsba_hockey/evidence/weakside-breakout/node_modules/sqlite3/node_modules/node-gyp/gyp/pylib/gyp/common.py +0 -0
  78. {wsba_hockey-1.1.5 → wsba_hockey-1.1.7}/src/wsba_hockey/evidence/weakside-breakout/node_modules/sqlite3/node_modules/node-gyp/gyp/pylib/gyp/common_test.py +0 -0
  79. {wsba_hockey-1.1.5 → wsba_hockey-1.1.7}/src/wsba_hockey/evidence/weakside-breakout/node_modules/sqlite3/node_modules/node-gyp/gyp/pylib/gyp/easy_xml.py +0 -0
  80. {wsba_hockey-1.1.5 → wsba_hockey-1.1.7}/src/wsba_hockey/evidence/weakside-breakout/node_modules/sqlite3/node_modules/node-gyp/gyp/pylib/gyp/easy_xml_test.py +0 -0
  81. {wsba_hockey-1.1.5 → wsba_hockey-1.1.7}/src/wsba_hockey/evidence/weakside-breakout/node_modules/sqlite3/node_modules/node-gyp/gyp/pylib/gyp/flock_tool.py +0 -0
  82. {wsba_hockey-1.1.5 → wsba_hockey-1.1.7}/src/wsba_hockey/evidence/weakside-breakout/node_modules/sqlite3/node_modules/node-gyp/gyp/pylib/gyp/generator/__init__.py +0 -0
  83. {wsba_hockey-1.1.5 → wsba_hockey-1.1.7}/src/wsba_hockey/evidence/weakside-breakout/node_modules/sqlite3/node_modules/node-gyp/gyp/pylib/gyp/generator/analyzer.py +0 -0
  84. {wsba_hockey-1.1.5 → wsba_hockey-1.1.7}/src/wsba_hockey/evidence/weakside-breakout/node_modules/sqlite3/node_modules/node-gyp/gyp/pylib/gyp/generator/android.py +0 -0
  85. {wsba_hockey-1.1.5 → wsba_hockey-1.1.7}/src/wsba_hockey/evidence/weakside-breakout/node_modules/sqlite3/node_modules/node-gyp/gyp/pylib/gyp/generator/cmake.py +0 -0
  86. {wsba_hockey-1.1.5 → wsba_hockey-1.1.7}/src/wsba_hockey/evidence/weakside-breakout/node_modules/sqlite3/node_modules/node-gyp/gyp/pylib/gyp/generator/compile_commands_json.py +0 -0
  87. {wsba_hockey-1.1.5 → wsba_hockey-1.1.7}/src/wsba_hockey/evidence/weakside-breakout/node_modules/sqlite3/node_modules/node-gyp/gyp/pylib/gyp/generator/dump_dependency_json.py +0 -0
  88. {wsba_hockey-1.1.5 → wsba_hockey-1.1.7}/src/wsba_hockey/evidence/weakside-breakout/node_modules/sqlite3/node_modules/node-gyp/gyp/pylib/gyp/generator/eclipse.py +0 -0
  89. {wsba_hockey-1.1.5 → wsba_hockey-1.1.7}/src/wsba_hockey/evidence/weakside-breakout/node_modules/sqlite3/node_modules/node-gyp/gyp/pylib/gyp/generator/gypd.py +0 -0
  90. {wsba_hockey-1.1.5 → wsba_hockey-1.1.7}/src/wsba_hockey/evidence/weakside-breakout/node_modules/sqlite3/node_modules/node-gyp/gyp/pylib/gyp/generator/gypsh.py +0 -0
  91. {wsba_hockey-1.1.5 → wsba_hockey-1.1.7}/src/wsba_hockey/evidence/weakside-breakout/node_modules/sqlite3/node_modules/node-gyp/gyp/pylib/gyp/generator/make.py +0 -0
  92. {wsba_hockey-1.1.5 → wsba_hockey-1.1.7}/src/wsba_hockey/evidence/weakside-breakout/node_modules/sqlite3/node_modules/node-gyp/gyp/pylib/gyp/generator/msvs.py +0 -0
  93. {wsba_hockey-1.1.5 → wsba_hockey-1.1.7}/src/wsba_hockey/evidence/weakside-breakout/node_modules/sqlite3/node_modules/node-gyp/gyp/pylib/gyp/generator/msvs_test.py +0 -0
  94. {wsba_hockey-1.1.5 → wsba_hockey-1.1.7}/src/wsba_hockey/evidence/weakside-breakout/node_modules/sqlite3/node_modules/node-gyp/gyp/pylib/gyp/generator/ninja.py +0 -0
  95. {wsba_hockey-1.1.5 → wsba_hockey-1.1.7}/src/wsba_hockey/evidence/weakside-breakout/node_modules/sqlite3/node_modules/node-gyp/gyp/pylib/gyp/generator/ninja_test.py +0 -0
  96. {wsba_hockey-1.1.5 → wsba_hockey-1.1.7}/src/wsba_hockey/evidence/weakside-breakout/node_modules/sqlite3/node_modules/node-gyp/gyp/pylib/gyp/generator/xcode.py +0 -0
  97. {wsba_hockey-1.1.5 → wsba_hockey-1.1.7}/src/wsba_hockey/evidence/weakside-breakout/node_modules/sqlite3/node_modules/node-gyp/gyp/pylib/gyp/generator/xcode_test.py +0 -0
  98. {wsba_hockey-1.1.5 → wsba_hockey-1.1.7}/src/wsba_hockey/evidence/weakside-breakout/node_modules/sqlite3/node_modules/node-gyp/gyp/pylib/gyp/input.py +0 -0
  99. {wsba_hockey-1.1.5 → wsba_hockey-1.1.7}/src/wsba_hockey/evidence/weakside-breakout/node_modules/sqlite3/node_modules/node-gyp/gyp/pylib/gyp/input_test.py +0 -0
  100. {wsba_hockey-1.1.5 → wsba_hockey-1.1.7}/src/wsba_hockey/evidence/weakside-breakout/node_modules/sqlite3/node_modules/node-gyp/gyp/pylib/gyp/mac_tool.py +0 -0
  101. {wsba_hockey-1.1.5 → wsba_hockey-1.1.7}/src/wsba_hockey/evidence/weakside-breakout/node_modules/sqlite3/node_modules/node-gyp/gyp/pylib/gyp/msvs_emulation.py +0 -0
  102. {wsba_hockey-1.1.5 → wsba_hockey-1.1.7}/src/wsba_hockey/evidence/weakside-breakout/node_modules/sqlite3/node_modules/node-gyp/gyp/pylib/gyp/ninja_syntax.py +0 -0
  103. {wsba_hockey-1.1.5 → wsba_hockey-1.1.7}/src/wsba_hockey/evidence/weakside-breakout/node_modules/sqlite3/node_modules/node-gyp/gyp/pylib/gyp/simple_copy.py +0 -0
  104. {wsba_hockey-1.1.5 → wsba_hockey-1.1.7}/src/wsba_hockey/evidence/weakside-breakout/node_modules/sqlite3/node_modules/node-gyp/gyp/pylib/gyp/win_tool.py +0 -0
  105. {wsba_hockey-1.1.5 → wsba_hockey-1.1.7}/src/wsba_hockey/evidence/weakside-breakout/node_modules/sqlite3/node_modules/node-gyp/gyp/pylib/gyp/xcode_emulation.py +0 -0
  106. {wsba_hockey-1.1.5 → wsba_hockey-1.1.7}/src/wsba_hockey/evidence/weakside-breakout/node_modules/sqlite3/node_modules/node-gyp/gyp/pylib/gyp/xcode_ninja.py +0 -0
  107. {wsba_hockey-1.1.5 → wsba_hockey-1.1.7}/src/wsba_hockey/evidence/weakside-breakout/node_modules/sqlite3/node_modules/node-gyp/gyp/pylib/gyp/xcodeproj_file.py +0 -0
  108. {wsba_hockey-1.1.5 → wsba_hockey-1.1.7}/src/wsba_hockey/evidence/weakside-breakout/node_modules/sqlite3/node_modules/node-gyp/gyp/pylib/gyp/xml_fix.py +0 -0
  109. {wsba_hockey-1.1.5 → wsba_hockey-1.1.7}/src/wsba_hockey/evidence/weakside-breakout/node_modules/sqlite3/node_modules/node-gyp/gyp/setup.py +0 -0
  110. {wsba_hockey-1.1.5 → wsba_hockey-1.1.7}/src/wsba_hockey/evidence/weakside-breakout/node_modules/sqlite3/node_modules/node-gyp/gyp/test_gyp.py +0 -0
  111. {wsba_hockey-1.1.5 → wsba_hockey-1.1.7}/src/wsba_hockey/evidence/weakside-breakout/node_modules/sqlite3/node_modules/node-gyp/gyp/tools/graphviz.py +0 -0
  112. {wsba_hockey-1.1.5 → wsba_hockey-1.1.7}/src/wsba_hockey/evidence/weakside-breakout/node_modules/sqlite3/node_modules/node-gyp/gyp/tools/pretty_gyp.py +0 -0
  113. {wsba_hockey-1.1.5 → wsba_hockey-1.1.7}/src/wsba_hockey/evidence/weakside-breakout/node_modules/sqlite3/node_modules/node-gyp/gyp/tools/pretty_sln.py +0 -0
  114. {wsba_hockey-1.1.5 → wsba_hockey-1.1.7}/src/wsba_hockey/evidence/weakside-breakout/node_modules/sqlite3/node_modules/node-gyp/gyp/tools/pretty_vcproj.py +0 -0
  115. {wsba_hockey-1.1.5 → wsba_hockey-1.1.7}/src/wsba_hockey/evidence/weakside-breakout/node_modules/sqlite3/node_modules/node-gyp/test/fixtures/test-charmap.py +0 -0
  116. {wsba_hockey-1.1.5 → wsba_hockey-1.1.7}/src/wsba_hockey/evidence/weakside-breakout/node_modules/sqlite3/node_modules/node-gyp/update-gyp.py +0 -0
  117. {wsba_hockey-1.1.5 → wsba_hockey-1.1.7}/src/wsba_hockey/evidence/weakside-breakout/wsba_nhl_apps/wsba_nhl_apps/duos/app.py +0 -0
  118. {wsba_hockey-1.1.5 → wsba_hockey-1.1.7}/src/wsba_hockey/evidence/weakside-breakout/wsba_nhl_apps/wsba_nhl_apps/duos/calc.py +0 -0
  119. {wsba_hockey-1.1.5 → wsba_hockey-1.1.7}/src/wsba_hockey/evidence/weakside-breakout/wsba_nhl_apps/wsba_nhl_apps/game_stats/app.py +0 -0
  120. {wsba_hockey-1.1.5 → wsba_hockey-1.1.7}/src/wsba_hockey/evidence/weakside-breakout/wsba_nhl_apps/wsba_nhl_apps/game_stats/name_fix.py +0 -0
  121. {wsba_hockey-1.1.5 → wsba_hockey-1.1.7}/src/wsba_hockey/evidence/weakside-breakout/wsba_nhl_apps/wsba_nhl_apps/goalie/app.py +0 -0
  122. {wsba_hockey-1.1.5 → wsba_hockey-1.1.7}/src/wsba_hockey/evidence/weakside-breakout/wsba_nhl_apps/wsba_nhl_apps/goalie/plot.py +0 -0
  123. {wsba_hockey-1.1.5 → wsba_hockey-1.1.7}/src/wsba_hockey/evidence/weakside-breakout/wsba_nhl_apps/wsba_nhl_apps/goalie/rink_plot.py +0 -0
  124. {wsba_hockey-1.1.5 → wsba_hockey-1.1.7}/src/wsba_hockey/evidence/weakside-breakout/wsba_nhl_apps/wsba_nhl_apps/heatmaps/app.py +0 -0
  125. {wsba_hockey-1.1.5 → wsba_hockey-1.1.7}/src/wsba_hockey/evidence/weakside-breakout/wsba_nhl_apps/wsba_nhl_apps/heatmaps/plot.py +0 -0
  126. {wsba_hockey-1.1.5 → wsba_hockey-1.1.7}/src/wsba_hockey/evidence/weakside-breakout/wsba_nhl_apps/wsba_nhl_apps/heatmaps/rink_plot.py +0 -0
  127. {wsba_hockey-1.1.5 → wsba_hockey-1.1.7}/src/wsba_hockey/evidence/weakside-breakout/wsba_nhl_apps/wsba_nhl_apps/line-combos/app.py +0 -0
  128. {wsba_hockey-1.1.5 → wsba_hockey-1.1.7}/src/wsba_hockey/evidence/weakside-breakout/wsba_nhl_apps/wsba_nhl_apps/line-combos/plot.py +0 -0
  129. {wsba_hockey-1.1.5 → wsba_hockey-1.1.7}/src/wsba_hockey/evidence/weakside-breakout/wsba_nhl_apps/wsba_nhl_apps/line-combos/rink_plot.py +0 -0
  130. {wsba_hockey-1.1.5 → wsba_hockey-1.1.7}/src/wsba_hockey/evidence/weakside-breakout/wsba_nhl_apps/wsba_nhl_apps/matchups/app.py +0 -0
  131. {wsba_hockey-1.1.5 → wsba_hockey-1.1.7}/src/wsba_hockey/evidence/weakside-breakout/wsba_nhl_apps/wsba_nhl_apps/matchups/plot.py +0 -0
  132. {wsba_hockey-1.1.5 → wsba_hockey-1.1.7}/src/wsba_hockey/evidence/weakside-breakout/wsba_nhl_apps/wsba_nhl_apps/matchups/rink_plot.py +0 -0
  133. {wsba_hockey-1.1.5 → wsba_hockey-1.1.7}/src/wsba_hockey/evidence/weakside-breakout/wsba_nhl_apps/wsba_nhl_apps/pbp/app.py +0 -0
  134. {wsba_hockey-1.1.5 → wsba_hockey-1.1.7}/src/wsba_hockey/evidence/weakside-breakout/wsba_nhl_apps/wsba_nhl_apps/pbp/plot.py +0 -0
  135. {wsba_hockey-1.1.5 → wsba_hockey-1.1.7}/src/wsba_hockey/evidence/weakside-breakout/wsba_nhl_apps/wsba_nhl_apps/pbp/rink_plot.py +0 -0
  136. {wsba_hockey-1.1.5 → wsba_hockey-1.1.7}/src/wsba_hockey/evidence/weakside-breakout/wsba_nhl_apps/wsba_nhl_apps/skater/app.py +0 -0
  137. {wsba_hockey-1.1.5 → wsba_hockey-1.1.7}/src/wsba_hockey/evidence/weakside-breakout/wsba_nhl_apps/wsba_nhl_apps/skater/plot.py +0 -0
  138. {wsba_hockey-1.1.5 → wsba_hockey-1.1.7}/src/wsba_hockey/evidence/weakside-breakout/wsba_nhl_apps/wsba_nhl_apps/skater/rink_plot.py +0 -0
  139. {wsba_hockey-1.1.5 → wsba_hockey-1.1.7}/src/wsba_hockey/evidence/weakside-breakout/wsba_nhl_apps/wsba_nhl_apps/team_heatmaps/app.py +0 -0
  140. {wsba_hockey-1.1.5 → wsba_hockey-1.1.7}/src/wsba_hockey/evidence/weakside-breakout/wsba_nhl_apps/wsba_nhl_apps/team_heatmaps/plot.py +0 -0
  141. {wsba_hockey-1.1.5 → wsba_hockey-1.1.7}/src/wsba_hockey/evidence/weakside-breakout/wsba_nhl_apps/wsba_nhl_apps/team_heatmaps/rink_plot.py +0 -0
  142. {wsba_hockey-1.1.5 → wsba_hockey-1.1.7}/src/wsba_hockey/flask/app.py +0 -0
  143. {wsba_hockey-1.1.5 → wsba_hockey-1.1.7}/src/wsba_hockey/tools/__init__.py +0 -0
  144. {wsba_hockey-1.1.5 → wsba_hockey-1.1.7}/src/wsba_hockey/tools/archive/old_scraping.py +0 -0
  145. {wsba_hockey-1.1.5 → wsba_hockey-1.1.7}/src/wsba_hockey/tools/plotting.py +0 -0
  146. {wsba_hockey-1.1.5 → wsba_hockey-1.1.7}/src/wsba_hockey/tools/utils/__init__.py +0 -0
  147. {wsba_hockey-1.1.5 → wsba_hockey-1.1.7}/src/wsba_hockey/tools/utils/config.py +0 -0
  148. {wsba_hockey-1.1.5 → wsba_hockey-1.1.7}/src/wsba_hockey/tools/utils/save_pages.py +0 -0
  149. {wsba_hockey-1.1.5 → wsba_hockey-1.1.7}/src/wsba_hockey/tools/utils/shared.py +0 -0
  150. {wsba_hockey-1.1.5 → wsba_hockey-1.1.7}/src/wsba_hockey/tools/xg_model.py +0 -0
  151. {wsba_hockey-1.1.5 → wsba_hockey-1.1.7}/src/wsba_hockey/workspace.py +0 -0
  152. {wsba_hockey-1.1.5 → wsba_hockey-1.1.7}/src/wsba_hockey.egg-info/dependency_links.txt +0 -0
  153. {wsba_hockey-1.1.5 → wsba_hockey-1.1.7}/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.5
3
+ Version: 1.1.7
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/
@@ -1,6 +1,6 @@
1
1
  [project]
2
2
  name = "wsba_hockey"
3
- version = "1.1.5"
3
+ version = "1.1.7"
4
4
  authors = [
5
5
  { name="Owen Singh", email="owenbksingh@gmail.com" },
6
6
  ]
@@ -18,4 +18,18 @@ keywords = ["wsba","hockey","scraping","NHL","analytics"]
18
18
  Homepage = "https://github.com/owensingh38/wsba_hockey/"
19
19
 
20
20
  [tool.setuptools]
21
- include-package-data = true
21
+ include-package-data = true
22
+
23
+ [tool.setuptools.exclude-package-data]
24
+ wsba_hockey = [
25
+ "api/*",
26
+ "aws_pbp/*",
27
+ "pbp/*",
28
+ "sources/*",
29
+ "stats/*",
30
+ "evidence/*",
31
+ "flask/*",
32
+ "__pycache__/*",
33
+ "_vscode/*",
34
+ ".gitattributes"
35
+ ]
@@ -1 +1 @@
1
- from wsba_hockey.wsba_main import nhl_scrape_game,nhl_scrape_schedule,nhl_scrape_season,nhl_scrape_seasons_info,nhl_scrape_standings,nhl_scrape_roster,nhl_scrape_draft_rankings,nhl_scrape_prospects,nhl_calculate_stats,nhl_shooting_impacts,nhl_apply_xG,nhl_plot_skaters_shots,nhl_plot_games,repo_load_rosters,repo_load_schedule,repo_load_teaminfo,repo_load_pbp,repo_load_seasons
1
+ from wsba_hockey.wsba_main import nhl_scrape_game,nhl_scrape_schedule,nhl_scrape_season,nhl_scrape_seasons_info,nhl_scrape_standings,nhl_scrape_roster,nhl_scrape_draft_rankings,nhl_scrape_prospects,nhl_calculate_stats,nhl_apply_xG,nhl_plot_skaters_shots,nhl_plot_games,repo_load_rosters,repo_load_schedule,repo_load_teaminfo,repo_load_pbp,repo_load_seasons
@@ -90,14 +90,7 @@ def schedule_info(season: int):
90
90
 
91
91
  @app.get("/nhl/games/{game_id}")
92
92
  def pbp(game_id: int):
93
- info = rs.get(f'https://api-web.nhle.com/v1/gamecenter/{game_id}/play-by-play').json()
94
-
95
- season = info['season']
96
- dataset = ds.dataset(f's3://weakside-breakout/pbp/parquet/nhl_pbp_{season}.parquet', format='parquet')
97
- filter_expr = (ds.field('game_id')==game_id)
98
-
99
- table = dataset.to_table(use_threads=True,filter=filter_expr)
100
- df = table.to_pandas()
93
+ df = pd.read_csv(f'data/sources/20242025/{game_id}.csv')
101
94
 
102
95
  df = df.fillna('')
103
96
 
@@ -89,6 +89,7 @@ def calc_indv(pbp,game_strength,second_group):
89
89
 
90
90
  shot = shot.rename(columns={
91
91
  'Gi':f'{type.capitalize()}Gi',
92
+ 'Si':f'{type.capitalize()}Si',
92
93
  'Fi':f'{type.capitalize()}Fi',
93
94
  'xGi':f'{type.capitalize()}xGi',
94
95
  })
@@ -1,6 +1,7 @@
1
1
  import re
2
2
  import warnings
3
3
  import os
4
+ import asyncio
4
5
  import numpy as np
5
6
  import pandas as pd
6
7
  import requests as rs
@@ -179,7 +180,7 @@ def get_game_info(game_id):
179
180
  'coaches':get_game_coaches(game_id),
180
181
  'json_shifts':json_shifts}
181
182
 
182
- def parse_json(info):
183
+ async def parse_json(info):
183
184
  #Given game info, return JSON document
184
185
 
185
186
  #Retreive data
@@ -340,7 +341,7 @@ def clean_html_pbp(info):
340
341
 
341
342
  return cleaned_html
342
343
 
343
- def parse_html(info):
344
+ async def parse_html(info):
344
345
  #Given game info, return HTML event data
345
346
 
346
347
  #Retreive game information and html events
@@ -561,7 +562,7 @@ def espn_game_id(date,away,home):
561
562
  #Return: ESPN game id
562
563
  return game_id
563
564
 
564
- def parse_espn(date,away,home):
565
+ async def parse_espn(date,away,home):
565
566
  #Given a date formatted as YYYY-MM-DD and teams, return game events
566
567
  game_id = espn_game_id(date,away,home)
567
568
  url = f'https://www.espn.com/nhl/playbyplay/_/gameId/{game_id}'
@@ -711,15 +712,24 @@ def assign_target(data):
711
712
  #Revert sort and return dataframe
712
713
  return data.reset_index()
713
714
 
714
- def combine_pbp(info,sources):
715
+ async def combine_pbp(info,sources):
715
716
  #Given game info, return complete play-by-play data for provided game
716
717
 
717
- html_pbp = parse_html(info)
718
+ #Create tasks
719
+ html_task = asyncio.create_task(parse_html(info))
720
+ if info['season'] in [20052006, 20062007, 20072008, 20082009, 20092010]:
721
+ json_task = asyncio.create_task(parse_espn(str(info['game_date']),info['away_team_abbr'],info['home_team_abbr']))
722
+ json_type = 'espn'
723
+ else:
724
+ json_task = asyncio.create_task(parse_json(info))
725
+ json_type = 'nhl'
718
726
 
727
+ html_pbp, json_pbp = await asyncio.gather(html_task, json_task)
728
+
719
729
  #Route data combining - json if season is after 2009-2010:
720
- if str(info['season']) in ['20052006','20062007','20072008','20082009','20092010']:
730
+ if json_type == 'espn':
721
731
  #ESPN x HTML
722
- espn_pbp = parse_espn(str(info['game_date']),info['away_team_abbr'],info['home_team_abbr']).rename(columns={'coords_x':'x',"coords_y":'y'}).sort_values(['period','seconds_elapsed']).reset_index()
732
+ espn_pbp = json_pbp.rename(columns={'coords_x':'x',"coords_y":'y'}).sort_values(['period','seconds_elapsed']).reset_index()
723
733
  merge_col = ['period','seconds_elapsed','event_type','event_team_abbr']
724
734
 
725
735
  #Merge pbp
@@ -727,8 +737,6 @@ def combine_pbp(info,sources):
727
737
 
728
738
  else:
729
739
  #JSON x HTML
730
- json_pbp = parse_json(info)
731
-
732
740
  if sources:
733
741
  dirs_html = f'sources/{info['season']}/HTML/'
734
742
  dirs_json = f'sources/{info['season']}/JSON/'
@@ -1077,12 +1085,10 @@ def combine_shifts(info,sources):
1077
1085
  #Return: full shifts data converted to play-by-play format
1078
1086
  return full_shifts
1079
1087
 
1080
- def combine_data(info,sources):
1088
+ async def combine_data(info,sources):
1081
1089
  #Given game info, return complete play-by-play data
1082
1090
 
1083
- game_id = info['game_id']
1084
-
1085
- pbp = combine_pbp(info,sources)
1091
+ pbp = await combine_pbp(info,sources)
1086
1092
  shifts = combine_shifts(info,sources)
1087
1093
 
1088
1094
  #Combine data