pysonar_demo/service.pyStatic analysis
Orchestration, branching, and collection inference.26 definitions54 references
1 """Application service connecting models and scoring functions.""" 2 3 from .models import Market, Prediction, Report 4 from .scoring import confidence_band, score_market 5 from .strategies import AuditedMarketStrategy 6 7 8 class DemoApp: 9 def __init__(self, name: str): 10 self.name = name 11 self.strategy = AuditedMarketStrategy() 12 13 @staticmethod 14 def build_market(payload: dict) -> Market: 15 return Market( 16 payload["question"], 17 payload["yes_price"], 18 payload["volume"], 19 ) 20 21 def predict(self, market: Market) -> Prediction: 22 score = self.strategy.adjust(score_market(market)) 23 confidence = confidence_band(score) 24 return Prediction(market, score, confidence) 25 26 def build_report(self, payloads: list[dict]) -> Report: 27 predictions: list[Prediction] = [] 28 for payload in payloads: 29 market = self.build_market(payload) 30 predictions.append(self.predict(market)) 31 32 title = self.name + " · " + str(len(predictions)) + " analyzed markets" 33 return Report(title, predictions)