Coverage report: 9%

Files Functions Classes

coverage.py v7.13.4, created at 2026-03-02 17:44 +0800

File class   statements missing excluded   coverage
health / __init__.py (no class)   1 0 0   100%
health / analytics / __init__.py (no class)   0 0 0   100%
health / analytics / engine.py HealthAnalyst   87 87 0   0%
health / analytics / engine.py (no class)   16 16 0   0%
health / analytics / weekly_report.py WeeklyReportGenerator   201 201 0   0%
health / analytics / weekly_report.py (no class)   18 18 0   0%
health / cli / __init__.py (no class)   0 0 0   100%
health / cli / manual.py (no class)   102 102 0   0%
health / cli / obsidian.py (no class)   30 30 0   0%
health / cli / query.py (no class)   302 302 0   0%
health / cli / sync.py (no class)   150 150 0   0%
health / config.py (no class)   27 3 0   89%
health / db / __init__.py (no class)   0 0 0   100%
health / db / repository.py HealthRepository   58 58 0   0%
health / db / repository.py (no class)   20 20 0   0%
health / db / schema.py (no class)   44 44 0   0%
health / models / __init__.py (no class)   0 0 0   100%
health / models / activity.py Activity   0 0 0   100%
health / models / activity.py ActivityDetail   0 0 0   100%
health / models / activity.py (no class)   33 0 0   100%
health / models / body_metrics.py WeightData   0 0 0   100%
health / models / body_metrics.py BodyComposition   0 0 0   100%
health / models / body_metrics.py (no class)   25 0 0   100%
health / models / daily_metrics.py StepsData   0 0 0   100%
health / models / daily_metrics.py HeartRateData   0 0 0   100%
health / models / daily_metrics.py SleepData   0 0 0   100%
health / models / daily_metrics.py StressData   0 0 0   100%
health / models / daily_metrics.py BodyBatteryData   0 0 0   100%
health / models / daily_metrics.py SpO2Data   0 0 0   100%
health / models / daily_metrics.py RespirationData   0 0 0   100%
health / models / daily_metrics.py HydrationData   0 0 0   100%
health / models / daily_metrics.py FloorsData   0 0 0   100%
health / models / daily_metrics.py IntensityMinutesData   0 0 0   100%
health / models / daily_metrics.py HRVData   0 0 0   100%
health / models / daily_metrics.py RHRData   0 0 0   100%
health / models / daily_metrics.py LifestyleLoggingData   0 0 0   100%
health / models / daily_metrics.py (no class)   112 0 0   100%
health / models / manual_log.py DietEntry   0 0 0   100%
health / models / manual_log.py AlcoholEntry   0 0 0   100%
health / models / manual_log.py SupplementEntry   0 0 0   100%
health / models / manual_log.py BodyFeelingEntry   0 0 0   100%
health / models / manual_log.py DailyManualLog   0 0 0   100%
health / models / manual_log.py (no class)   43 43 0   0%
health / models / sync_metadata.py SyncRecord   0 0 0   100%
health / models / sync_metadata.py LastSyncState   0 0 0   100%
health / models / sync_metadata.py (no class)   17 17 0   0%
health / services / __init__.py (no class)   0 0 0   100%
health / services / data_sync.py HealthDataSync   164 164 0   0%
health / services / data_sync.py (no class)   21 21 0   0%
health / services / garmin_client.py GarminHealthClient   293 271 0   8%
health / services / garmin_client.py (no class)   33 0 0   100%
health / services / manual_log_storage.py ManualLogStorage   68 68 0   0%
health / services / manual_log_storage.py (no class)   19 19 0   0%
health / services / obsidian.py ObsidianSyncService   78 78 0   0%
health / services / obsidian.py (no class)   18 18 0   0%
health / services / query.py HealthDataQuery   73 73 0   0%
health / services / query.py (no class)   17 17 0   0%
health / services / storage.py HealthStorage   81 81 0   0%
health / services / storage.py (no class)   23 23 0   0%
health / utils / __init__.py (no class)   0 0 0   100%
health / utils / date_utils.py (no class)   22 22 0   0%
health / utils / env_loader.py (no class)   14 1 0   93%
health / utils / exceptions.py HealthSyncError   0 0 0   100%
health / utils / exceptions.py GarminAuthError   0 0 0   100%
health / utils / exceptions.py GarminAPIError   2 2 0   0%
health / utils / exceptions.py DataValidationError   0 0 0   100%
health / utils / exceptions.py StorageError   0 0 0   100%
health / utils / exceptions.py SyncError   0 0 0   100%
health / utils / exceptions.py RateLimitError   1 1 0   0%
health / utils / exceptions.py (no class)   14 0 0   100%
health / utils / logging_config.py (no class)   26 1 0   96%
health / utils / time_utils.py (no class)   8 8 0   0%
slack_bot / __init__.py (no class)   0 0 0   100%
slack_bot / dispatcher.py MessageDispatcher   299 299 0   0%
slack_bot / dispatcher.py (no class)   15 15 0   0%
slack_bot / llm / base.py BaseLLM   2 2 0   0%
slack_bot / llm / base.py (no class)   7 0 0   100%
slack_bot / main.py (no class)   110 110 0   0%
slack_bot / obsidian / __init__.py (no class)   0 0 0   100%
slack_bot / obsidian / cli.py ObsidianShell   65 65 0   0%
slack_bot / obsidian / cli.py (no class)   26 26 0   0%
slack_bot / obsidian / dispatcher.py ObsidianContextStorage   17 17 0   0%
slack_bot / obsidian / dispatcher.py ObsidianDispatcher   97 97 0   0%
slack_bot / obsidian / dispatcher.py (no class)   23 23 0   0%
slack_bot / obsidian / generators.py BaseGenerator   12 12 0   0%
slack_bot / obsidian / generators.py WritingAssistant   22 22 0   0%
slack_bot / obsidian / generators.py ReplyGenerator   17 17 0   0%
slack_bot / obsidian / generators.py DecisionSupport   17 17 0   0%
slack_bot / obsidian / generators.py SearchAnalyzer   37 37 0   0%
slack_bot / obsidian / generators.py DeAIReviser   16 16 0   0%
slack_bot / obsidian / generators.py ZhihuGenerator   24 24 0   0%
slack_bot / obsidian / generators.py (no class)   25 25 0   0%
slack_bot / obsidian / indexer.py ObsidianIndexer   95 95 0   0%
slack_bot / obsidian / indexer.py (no class)   17 17 0   0%
slack_bot / shell / __init__.py (no class)   0 0 0   100%
slack_bot / shell / help_text.py (no class)   1 1 0   0%
slack_bot / shell / manager.py ShellManager   11 11 0   0%
slack_bot / shell / manager.py (no class)   10 10 0   0%
slack_bot / shell / session.py ShellSession   49 49 0   0%
slack_bot / shell / session.py (no class)   16 16 0   0%
slack_bot / shell_main.py (no class)   119 119 0   0%
Total     3410 3101 0   9%

No items found using the specified filter.