kuhl-haus-mdp 0.1.14__tar.gz → 0.1.16__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 (46) hide show
  1. {kuhl_haus_mdp-0.1.14 → kuhl_haus_mdp-0.1.16}/PKG-INFO +1 -1
  2. {kuhl_haus_mdp-0.1.14 → kuhl_haus_mdp-0.1.16}/pyproject.toml +1 -1
  3. {kuhl_haus_mdp-0.1.14 → kuhl_haus_mdp-0.1.16}/src/kuhl_haus/mdp/analyzers/massive_data_analyzer.py +0 -2
  4. {kuhl_haus_mdp-0.1.14 → kuhl_haus_mdp-0.1.16}/src/kuhl_haus/mdp/analyzers/top_stocks.py +6 -4
  5. {kuhl_haus_mdp-0.1.14 → kuhl_haus_mdp-0.1.16}/LICENSE.txt +0 -0
  6. {kuhl_haus_mdp-0.1.14 → kuhl_haus_mdp-0.1.16}/README.md +0 -0
  7. {kuhl_haus_mdp-0.1.14 → kuhl_haus_mdp-0.1.16}/src/kuhl_haus/mdp/__init__.py +0 -0
  8. {kuhl_haus_mdp-0.1.14 → kuhl_haus_mdp-0.1.16}/src/kuhl_haus/mdp/analyzers/__init__.py +0 -0
  9. {kuhl_haus_mdp-0.1.14 → kuhl_haus_mdp-0.1.16}/src/kuhl_haus/mdp/analyzers/analyzer.py +0 -0
  10. {kuhl_haus_mdp-0.1.14 → kuhl_haus_mdp-0.1.16}/src/kuhl_haus/mdp/components/__init__.py +0 -0
  11. {kuhl_haus_mdp-0.1.14 → kuhl_haus_mdp-0.1.16}/src/kuhl_haus/mdp/components/market_data_cache.py +0 -0
  12. {kuhl_haus_mdp-0.1.14 → kuhl_haus_mdp-0.1.16}/src/kuhl_haus/mdp/components/market_data_scanner.py +0 -0
  13. {kuhl_haus_mdp-0.1.14 → kuhl_haus_mdp-0.1.16}/src/kuhl_haus/mdp/components/massive_data_listener.py +0 -0
  14. {kuhl_haus_mdp-0.1.14 → kuhl_haus_mdp-0.1.16}/src/kuhl_haus/mdp/components/massive_data_processor.py +0 -0
  15. {kuhl_haus_mdp-0.1.14 → kuhl_haus_mdp-0.1.16}/src/kuhl_haus/mdp/components/massive_data_queues.py +0 -0
  16. {kuhl_haus_mdp-0.1.14 → kuhl_haus_mdp-0.1.16}/src/kuhl_haus/mdp/components/widget_data_service.py +0 -0
  17. {kuhl_haus_mdp-0.1.14 → kuhl_haus_mdp-0.1.16}/src/kuhl_haus/mdp/data/__init__.py +0 -0
  18. {kuhl_haus_mdp-0.1.14 → kuhl_haus_mdp-0.1.16}/src/kuhl_haus/mdp/data/market_data_analyzer_result.py +0 -0
  19. {kuhl_haus_mdp-0.1.14 → kuhl_haus_mdp-0.1.16}/src/kuhl_haus/mdp/data/top_stocks_cache_item.py +0 -0
  20. {kuhl_haus_mdp-0.1.14 → kuhl_haus_mdp-0.1.16}/src/kuhl_haus/mdp/enum/__init__.py +0 -0
  21. {kuhl_haus_mdp-0.1.14 → kuhl_haus_mdp-0.1.16}/src/kuhl_haus/mdp/enum/constants.py +0 -0
  22. {kuhl_haus_mdp-0.1.14 → kuhl_haus_mdp-0.1.16}/src/kuhl_haus/mdp/enum/market_data_cache_keys.py +0 -0
  23. {kuhl_haus_mdp-0.1.14 → kuhl_haus_mdp-0.1.16}/src/kuhl_haus/mdp/enum/market_data_cache_ttl.py +0 -0
  24. {kuhl_haus_mdp-0.1.14 → kuhl_haus_mdp-0.1.16}/src/kuhl_haus/mdp/enum/market_data_pubsub_keys.py +0 -0
  25. {kuhl_haus_mdp-0.1.14 → kuhl_haus_mdp-0.1.16}/src/kuhl_haus/mdp/enum/market_data_scanner_names.py +0 -0
  26. {kuhl_haus_mdp-0.1.14 → kuhl_haus_mdp-0.1.16}/src/kuhl_haus/mdp/enum/massive_data_queue.py +0 -0
  27. {kuhl_haus_mdp-0.1.14 → kuhl_haus_mdp-0.1.16}/src/kuhl_haus/mdp/helpers/__init__.py +0 -0
  28. {kuhl_haus_mdp-0.1.14 → kuhl_haus_mdp-0.1.16}/src/kuhl_haus/mdp/helpers/process_manager.py +0 -0
  29. {kuhl_haus_mdp-0.1.14 → kuhl_haus_mdp-0.1.16}/src/kuhl_haus/mdp/helpers/queue_name_resolver.py +0 -0
  30. {kuhl_haus_mdp-0.1.14 → kuhl_haus_mdp-0.1.16}/src/kuhl_haus/mdp/helpers/utils.py +0 -0
  31. {kuhl_haus_mdp-0.1.14 → kuhl_haus_mdp-0.1.16}/src/kuhl_haus/mdp/helpers/web_socket_message_serde.py +0 -0
  32. {kuhl_haus_mdp-0.1.14 → kuhl_haus_mdp-0.1.16}/tests/__init__.py +0 -0
  33. {kuhl_haus_mdp-0.1.14 → kuhl_haus_mdp-0.1.16}/tests/analyzers/__init__.py +0 -0
  34. {kuhl_haus_mdp-0.1.14 → kuhl_haus_mdp-0.1.16}/tests/analyzers/test_massive_data_analyzer.py +0 -0
  35. {kuhl_haus_mdp-0.1.14 → kuhl_haus_mdp-0.1.16}/tests/analyzers/test_top_stocks_rehydrate.py +0 -0
  36. {kuhl_haus_mdp-0.1.14 → kuhl_haus_mdp-0.1.16}/tests/components/__init__.py +0 -0
  37. {kuhl_haus_mdp-0.1.14 → kuhl_haus_mdp-0.1.16}/tests/components/test_market_data_cache.py +0 -0
  38. {kuhl_haus_mdp-0.1.14 → kuhl_haus_mdp-0.1.16}/tests/components/test_market_data_scanner.py +0 -0
  39. {kuhl_haus_mdp-0.1.14 → kuhl_haus_mdp-0.1.16}/tests/components/test_widget_data_service.py +0 -0
  40. {kuhl_haus_mdp-0.1.14 → kuhl_haus_mdp-0.1.16}/tests/data/__init__.py +0 -0
  41. {kuhl_haus_mdp-0.1.14 → kuhl_haus_mdp-0.1.16}/tests/data/test_top_stocks_cache_item.py +0 -0
  42. {kuhl_haus_mdp-0.1.14 → kuhl_haus_mdp-0.1.16}/tests/helpers/__init__.py +0 -0
  43. {kuhl_haus_mdp-0.1.14 → kuhl_haus_mdp-0.1.16}/tests/helpers/test_process_manager.py +0 -0
  44. {kuhl_haus_mdp-0.1.14 → kuhl_haus_mdp-0.1.16}/tests/helpers/test_queue_name_resolver.py +0 -0
  45. {kuhl_haus_mdp-0.1.14 → kuhl_haus_mdp-0.1.16}/tests/helpers/test_utils.py +0 -0
  46. {kuhl_haus_mdp-0.1.14 → kuhl_haus_mdp-0.1.16}/tests/helpers/test_web_socket_message_serde.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: kuhl-haus-mdp
3
- Version: 0.1.14
3
+ Version: 0.1.16
4
4
  Summary: Market data processing pipeline for stock market scanner
5
5
  Author-Email: Tom Pounders <git@oldschool.engineer>
6
6
  License: The MIT License (MIT)
@@ -30,7 +30,7 @@ dependencies = [
30
30
  "uvicorn[standard]",
31
31
  "websockets",
32
32
  ]
33
- version = "0.1.14"
33
+ version = "0.1.16"
34
34
 
35
35
  [project.license]
36
36
  file = "LICENSE.txt"
@@ -100,8 +100,6 @@ class MassiveDataAnalyzer:
100
100
  else:
101
101
  return [MarketDataAnalyzerResult(
102
102
  data=data,
103
- # cache_key=f"{MarketDataCacheKeys.QUOTES.value}:{symbol}",
104
- # cache_ttl=MarketDataCacheTTL.QUOTES.value,
105
103
  publish_key=f"{MarketDataCacheKeys.QUOTES.value}:{symbol}",
106
104
  )]
107
105
 
@@ -57,9 +57,11 @@ class TopStocksAnalyzer(Analyzer):
57
57
  self.logger.info(f"New day: {current_day} - resetting cache.")
58
58
  self.cache_item = TopStocksCacheItem()
59
59
  self.cache_item.day_start_time = current_day
60
+ self.pre_market_reset = False
60
61
  elif et_now.hour == 9 and et_now.minute == 30 and not self.pre_market_reset:
61
- self.logger.info("Market is now open; resetting symbol data cache.")
62
- self.cache_item.symbol_data_cache = {}
62
+ self.logger.info("Market is now open; resetting cache.")
63
+ self.cache_item = TopStocksCacheItem()
64
+ self.cache_item.day_start_time = current_day
63
65
  self.pre_market_reset = True
64
66
 
65
67
  event_type = data.get("event_type")
@@ -136,8 +138,8 @@ class TopStocksAnalyzer(Analyzer):
136
138
  prev_day_volume = snapshot.prev_day.volume
137
139
  prev_day_vwap = snapshot.prev_day.vwap
138
140
  break
139
- except KeyError as e:
140
- self.logger.error(f"KeyError exception thrown when getting snapshot for {event.symbol}: {e}", stack_info=True, exc_info=True)
141
+ except AttributeError as e:
142
+ self.logger.error(f"AttributeError exception thrown when getting snapshot for {event.symbol}: {e}")
141
143
  retry_count += 1
142
144
  await self.cache.delete_ticker_snapshot(event.symbol)
143
145
  except Exception as e:
File without changes