{"id":18330353,"url":"https://github.com/mbientlab/streamy","last_synced_at":"2025-10-28T01:40:29.842Z","repository":{"id":81787985,"uuid":"449179682","full_name":"mbientlab/Streamy","owner":"mbientlab","description":"MetaWear Combine Swift SDK - Demo App Source Code ","archived":false,"fork":false,"pushed_at":"2022-02-28T00:46:18.000Z","size":14747,"stargazers_count":2,"open_issues_count":0,"forks_count":0,"subscribers_count":3,"default_branch":"main","last_synced_at":"2025-02-15T10:32:35.123Z","etag":null,"topics":["combine","corebluetooth","metawear-sdk","swift","swiftui-example"],"latest_commit_sha":null,"homepage":"","language":"Swift","has_issues":false,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/mbientlab.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2022-01-18T07:15:19.000Z","updated_at":"2024-02-27T00:51:12.000Z","dependencies_parsed_at":"2023-04-19T00:47:15.017Z","dependency_job_id":null,"html_url":"https://github.com/mbientlab/Streamy","commit_stats":null,"previous_names":[],"tags_count":3,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mbientlab%2FStreamy","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mbientlab%2FStreamy/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mbientlab%2FStreamy/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mbientlab%2FStreamy/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/mbientlab","download_url":"https://codeload.github.com/mbientlab/Streamy/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248080192,"owners_count":21044454,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["combine","corebluetooth","metawear-sdk","swift","swiftui-example"],"created_at":"2024-11-05T19:22:04.913Z","updated_at":"2025-10-28T01:40:24.792Z","avatar_url":"https://github.com/mbientlab.png","language":"Swift","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003cimg width=\"256\" alt=\"Streamy_256@2x\" src=\"https://user-images.githubusercontent.com/78187398/150638285-b8ebda70-286a-4096-a24c-16a606c4e4c9.png\"\u003e\n\n#  MetaWear Swift Combine SDK Demo Project\n\nFor an interactive code walkthrough of this barebones project, view the SDK's documentation in Xcode. Remember that the iOS simulator cannot use Bluetooth, so run this on macOS or actual iOS devices.\n\n### Quick Guide\n\n#### UseCases\n\n- The basics of using the Combine SDK to discover, connect, and manage devices are in `StreamyLogic/Sources/Discovery`. \n- The basics of logging specific sensors and downloading data are in `StreamyLogic/Sources/SensorRecording. \n- Any SDK commands more than one line are in `StreamyLogic/Sources/SDKActions.swift`.\n\n#### UI\n\nThis demo app uses SwiftUI for iOS 15 and macOS 12. \n\nViews and logic are decoupled to make is easy for you to expand or reuse this app while toying with the SDK.\n\n- **Views observe generic ObservableObjects using `KeyPaths`.** A ViewModel object defines these KeyPaths and closures. A separate mapping object configures a ViewModel for a concrete UseCase from the `StreamyLogic` package.\n\n- **Views point to opaque other views, not actual implementations.** \"Router views\" in `Shared/Views.swift` determine which specific implementations to configure and show for a given component (e.g., show the two or three pane implementation).\n\n- **A factory object vends any dependencies** while the \"router view\" decides or prepares which view to show.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmbientlab%2Fstreamy","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmbientlab%2Fstreamy","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmbientlab%2Fstreamy/lists"}