{"id":22043089,"url":"https://github.com/coatyio/coaty-swift","last_synced_at":"2025-08-23T01:08:42.555Z","repository":{"id":35205543,"uuid":"216658238","full_name":"coatyio/coaty-swift","owner":"coatyio","description":"Collaborative IoT framework in Swift targeted at iOS, iPadOS, and MacOS applications.","archived":false,"fork":false,"pushed_at":"2023-04-12T05:48:24.000Z","size":10207,"stargazers_count":19,"open_issues_count":2,"forks_count":4,"subscribers_count":3,"default_branch":"master","last_synced_at":"2025-08-13T20:39:35.184Z","etag":null,"topics":["agent","coaty","collaborative","decentralized","distributed","framework","ios","iot","ipados","macos","swift"],"latest_commit_sha":null,"homepage":"https://coaty.io","language":"Swift","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/coatyio.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","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,"zenodo":null}},"created_at":"2019-10-21T20:21:46.000Z","updated_at":"2025-04-03T01:55:27.000Z","dependencies_parsed_at":"2025-05-08T01:32:41.319Z","dependency_job_id":"82256c1f-ba9e-40a8-bad5-db813c92d838","html_url":"https://github.com/coatyio/coaty-swift","commit_stats":null,"previous_names":[],"tags_count":10,"template":false,"template_full_name":null,"purl":"pkg:github/coatyio/coaty-swift","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/coatyio%2Fcoaty-swift","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/coatyio%2Fcoaty-swift/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/coatyio%2Fcoaty-swift/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/coatyio%2Fcoaty-swift/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/coatyio","download_url":"https://codeload.github.com/coatyio/coaty-swift/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/coatyio%2Fcoaty-swift/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":271727619,"owners_count":24810561,"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","status":"online","status_checked_at":"2025-08-22T02:00:08.480Z","response_time":65,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"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":["agent","coaty","collaborative","decentralized","distributed","framework","ios","iot","ipados","macos","swift"],"created_at":"2024-11-30T12:14:23.944Z","updated_at":"2025-08-23T01:08:42.154Z","avatar_url":"https://github.com/coatyio.png","language":"Swift","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Coaty Swift\n\n[![Powered by Coaty\n2](https://img.shields.io/badge/Powered%20by-Coaty%202-FF8C00.svg)](https://coaty.io)\n[![Swift\nversion](https://img.shields.io/badge/swift-5-FF4029.svg)](https://developer.apple.com/swift/)\n[![Pod\nversion](https://img.shields.io/cocoapods/v/CoatySwift.svg?style=flat)](https://cocoapods.org/pods/CoatySwift)\n[![Pod\nplatform](https://img.shields.io/cocoapods/p/CoatySwift.svg?style=flat)](https://cocoapods.org/pods/CoatySwift)\n[![License:\nMIT](https://img.shields.io/badge/License-MIT-blue.svg)](https://opensource.org/licenses/MIT)\n\n\u003e [Ready to upgrade to CoatySwift\n\u003e 2?](https://coatyio.github.io/coaty-swift/man/migration-guide/)\n\n__CoatySwift__ is a [Coaty](https://coaty.io/) implementation written in Swift 5.\nThe CoatySwift package provides the cross-platform implementation targeted at\n__iOS__, __iPadOS__,and __macOS__ native applications.\n\nCoatySwift comes with complete API documentation, a developer guide, a tutorial,\nand best-practice examples.\n\n## What is Coaty\n\nUsing the Coaty [koʊti] framework as a middleware, you can build distributed\napplications out of decentrally organized application components, so called\n*Coaty agents*, which are loosely coupled and communicate with each other in\n(soft) real-time. The main focus is on IoT prosumer scenarios where smart agents\nact in an autonomous, collaborative, and ad-hoc fashion. Coaty agents can run on\nIoT devices, mobile devices, in microservices, cloud or backend services.\n\nCoaty provides a production-ready application and communication layer foundation\nfor building collaborative IoT applications in an easy-to-use yet powerful and\nefficient way. The key properties of the CoatySwift framework include:\n\n* a lightweight and modular object-oriented software architecture favoring a\n  resource-oriented and declarative programming style,\n* standardized event based communication patterns on top of an open\n  publish-subscribe messaging protocol (currently [MQTT](https://mqtt.org)),\n* and a platform-agnostic, extensible object model to discover, distribute,\n  share, query, and persist hierarchically typed data.\n\n## Learn how to use\n\nIf you are new to CoatySwift and would like to learn more, we recommend checking\nout the following resources:\n\n-   [Tutorial](https://coatyio.github.io/coaty-swift/tutorial/index.html) -\n    shows how to set up a minimal CoatySwift app.\n-   [Developer\n    Guide](https://coatyio.github.io/coaty-swift/man/developer-guide/) -\n    explains how to develop a CoatySwift app.\n-   [API Documentation](https://coatyio.github.io/coaty-swift/api/index.html) -\n    the source code documentation of public types and members of the CoatySwift\n    framework.\n-   [Design\n    Rationale](https://coatyio.github.io/coaty-swift/man/design-rationale/) - in\n    case you want to know why certain things have been implemented in a\n    particular way in the CoatySwift implementation.\n\n## Getting started\n\nCoaty Swift now supports both Swift Package Manager and CocoaPods!\n\nIt is compatible with the the following deployment targets:\n\n| Deployment Target | Compatibility |\n| ----------------- | ------------- |\n| iOS               | 9.0+          |\n| macOS             | 10.14+        |\n\n### CocoaPods\n\nTo use Coaty Swift with Cocoapods you need XCode 10.2 or higher. CoatySwift is\navailable through [CocoaPods](https://cocoapods.org). Ensure you have installed\n**at least** version `1.8.4` of CocoaPods, i.e. running `pod --version` should\nyield `1.8.4` or higher.\n\nYou can add the CoatySwift pod to the Podfile of your app as follows:\n\n```ruby\ntarget 'MyApp' do\n  pod 'CoatySwift', '~\u003e 2.4.0'\nend\n```\n\nThen, run a `pod install`.\n\n### Swift Package Manager\n\nTo use CoatySwift with Swift Package Manager you need XCode 11.0 or higher. The\nSwift Package Manager is a package manager integrated into the swift compiler.\n\nOnce you have your Swift package set up, add CoatySwift by modifying the\n`dependencies` attribute in your `Package.swift` file.\n\n```swift\ndependencies: [\n    .package(url: \"https://github.com/coatyio/coaty-swift\", from: \"2.4.0\"),\n]\n```\n\n## Examples\n\nIf you want a short, concise look into CoatySwift, feel free to check out the\n[CoatySwift Tutorial](https://coatyio.github.io/coaty-swift/tutorial/index.html)\nwith a step-by-step guide on how to set up a basic CoatySwift application. \n\nThe source code of this tutorial can be found in the\n[CoatySwiftExample](https://github.com/coatyio/coaty-swift/tree/master/Example)\nXcode project inside of the CoatySwift repo. Just clone the repo, open the\n`Example.xcodeproj` file and run the project on a device / simulator.\n\nYou can find additional examples in the `swift` sections of the\n[coaty-examples](https://github.com/coatyio/coaty-examples) repo on GitHub. You\nwill find the following Xcode projects there: `Hello World` and `Remote\nOperations`. They are interoperable with the corresponding Coaty JS examples and\nintended to be used along with them. These projects can serve as blueprints for\nhow to design CoatySwift applications.\n\n## Testing\n\nIf you want to run unit tests on CoatySwift, look at\n(https://github.com/coatyio/coaty-swift/tree/master/Tests) Xcode target of the\nCoatySwift repo. Just clone the repo and wait for XCode to fetch all of the\nrequired dependencies. Then select the Test Navigator in Navigator View, enable\nchosen tests and run them. Plese note that an MQTT Broker must be present to\ntest some of the functionality (running on `localhost:1883`) - you may use the\nCoaty Development Broker, as described in e.g.\n[coaty-examples/hello-world/js](https://github.com/coatyio/coaty-examples/tree/master/hello-world/js).\n\n## Contributing\n\nIf you like CoatySwift, please consider \u0026#x2605; starring [the project on\ngithub](https://github.com/coatyio/coaty-swift). Contributions to the CoatySwift\nframework are welcome and appreciated.\n\nPlease follow the recommended practice described in\n[CONTRIBUTING.md](https://github.com/coatyio/coaty-swift/blob/master/CONTRIBUTING.md).\nThis document also contains detailed information on how to build, test, and\nrelease the framework.\n\n## License\n\nCode and documentation copyright 2019 Siemens AG.\n\nCode is licensed under the [MIT License](https://opensource.org/licenses/MIT).\n\nDocumentation is licensed under a [Creative Commons Attribution-ShareAlike 4.0\nInternational License](http://creativecommons.org/licenses/by-sa/4.0/).\n\nThe following list displays all the relevant licenses for third-party software\nCoatySwift depends on:\n\n-   RxSwift [MIT\n    License](https://github.com/ReactiveX/RxSwift/blob/master/LICENSE.md)\n-   CocoaMQTT [MIT\n    License](https://github.com/emqtt/CocoaMQTT/blob/master/LICENSE)\n-   XCGLogger [MIT\n    License](https://github.com/DaveWoodCom/XCGLogger/blob/master/LICENSE.txt)\n-   AnyCodable [MIT\n    License](https://github.com/Flight-School/AnyCodable/blob/master/LICENSE.md)\n\n## Credits\n\nLast but certainly not least, a big _Thank You!_ to the folks who designed,\nimplemented and contributed to CoatySwift:\n\n-   Sandra Grujovic [@melloskitten](https://github.com/melloskitten)\n-   Johannes Rohwer [@johannesrohwer](https://github.com/johannesrohwer)\n-   Łukasz Zalewski [@lukasz-zet](https://github.com/lukasz-zet)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcoatyio%2Fcoaty-swift","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fcoatyio%2Fcoaty-swift","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcoatyio%2Fcoaty-swift/lists"}