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
« 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.
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"""
12from __future__ import annotations
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)
30# -----------------
31# Data Model
32# -----------------
34# -----------------
35# Data Sources API
36# -----------------
38# Concrete adapters live in :mod:`stable_yield_lab.sources`.
40# -----------------
41# Metrics & Analytics
42# -----------------
44metrics = analytics.metrics
45performance = analytics.performance
46portfolio = analytics.portfolio
47risk = analytics.risk
48risk_metrics = analytics.risk
49attribution = analytics.attribution
52# -----------------
53# Visualization
54# -----------------
56# Backwards-compatible re-exports for the public package namespace.
57Visualizer = visualization.Visualizer
58reporting = reporting_module
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]