Skip to content

Packages ​

Health Connector SDK is a Melos-managed monorepo. Applications depend on the facade only.

Add this and nothing else ​

yaml
dependencies:
  health_connector: ^3.9.4
dart
import 'package:health_connector/health_connector.dart';

Everything below arrives transitively. Keeping the platform implementations transitive is what lets the facade guarantee that the Android adapter, iOS adapter, core, and logger are on mutually compatible versions.

Runtime packages ​

PackageRoleDepend on it directly?
health_connectorThe unified public APIYes
health_connector_coreRecords, units, permissions, annotations, exceptionsTransitive
health_connector_hc_androidHealth Connect implementationTransitive
health_connector_hk_iosHealthKit implementationTransitive
health_connector_loggerLogging contracts and built-in processorsTransitive

The only reason to name a lower-level package in your own pubspec.yaml is if your code imports one of its libraries directly — which is rare, since the facade re-exports the public surface of core and logger.

Development package ​

health_connector_lint holds the shared analysis rules the workspace uses. It is independent: adopt it in your own app if you want the same lint policy, or ignore it. A future release will add custom rules that surface the SDK's annotations through the Dart analyzer.

Repository layout ​

text
packages/
├── health_connector/             # public facade
├── health_connector_core/        # shared domain model
├── health_connector_hc_android/  # Health Connect adapter
├── health_connector_hk_ios/      # HealthKit adapter
├── health_connector_logger/      # logging
└── health_connector_lint/        # analysis rules

The facade has no native code of its own. All Kotlin and Swift lives in the two platform adapters — see Architecture.

Released under the MIT License.