Coverage for src/stable_yield_lab/__init__.py: 100%

17 statements  

« prev     ^ index     » next       coverage.py v7.10.7, created at 2025-10-04 20:38 +0000

1""" 

2StableYieldLab: Modular OOP toolkit for stablecoin pool analytics & visualization. 

3 

4Design goals: 

5- Extensible data adapters (DefiLlama, Morpho, Beefy, Yearn, Custom CSV, ...) 

6- Immutable data model (Pool) + light repository 

7- Pluggable filters and metrics 

8- Matplotlib visualizations (single-plot functions) 

9- No web access here; adapters expose a common interface; wire your own HTTP client. 

10""" 

11 

12from __future__ import annotations 

13 

14from . import analytics, risk_scoring, visualization 

15from . import reporting as reporting_module 

16from .analytics.metrics import Metrics 

17from .analytics.performance import cumulative_return, nav_series 

18from .core import Pool, PoolRepository, PoolReturn, ReturnRepository 

19from .pipeline import Pipeline 

20from .sources import ( 

21 BeefySource, 

22 CSVSource, 

23 DataSource, 

24 DefiLlamaSource, 

25 HistoricalCSVSource, 

26 MorphoSource, 

27) 

28 

29 

30# ----------------- 

31# Data Model 

32# ----------------- 

33 

34# ----------------- 

35# Data Sources API 

36# ----------------- 

37 

38# Concrete adapters live in :mod:`stable_yield_lab.sources`. 

39 

40# ----------------- 

41# Metrics & Analytics 

42# ----------------- 

43 

44metrics = analytics.metrics 

45performance = analytics.performance 

46portfolio = analytics.portfolio 

47risk = analytics.risk 

48risk_metrics = analytics.risk 

49attribution = analytics.attribution 

50 

51 

52# ----------------- 

53# Visualization 

54# ----------------- 

55 

56# Backwards-compatible re-exports for the public package namespace. 

57Visualizer = visualization.Visualizer 

58reporting = reporting_module 

59 

60 

61__all__ = [ 

62 "analytics", 

63 "Pool", 

64 "PoolRepository", 

65 "PoolReturn", 

66 "ReturnRepository", 

67 "DataSource", 

68 "CSVSource", 

69 "HistoricalCSVSource", 

70 "DefiLlamaSource", 

71 "MorphoSource", 

72 "BeefySource", 

73 "Metrics", 

74 "metrics", 

75 "visualization", 

76 "Visualizer", 

77 "Pipeline", 

78 "cumulative_return", 

79 "nav_series", 

80 "performance", 

81 "portfolio", 

82 "risk", 

83 "risk_metrics", 

84 "risk_scoring", 

85 "attribution", 

86 "reporting", 

87]