{"id":13465363,"url":"https://github.com/piemonte/Poly","last_synced_at":"2025-03-25T16:31:39.220Z","repository":{"id":51381466,"uuid":"131762306","full_name":"piemonte/Poly","owner":"piemonte","description":"🦕 Unofficial Google Poly SDK in Swift – search, discover, and download 3D models and scenes","archived":true,"fork":false,"pushed_at":"2020-11-03T06:59:12.000Z","size":577,"stargazers_count":88,"open_issues_count":0,"forks_count":14,"subscribers_count":10,"default_branch":"master","last_synced_at":"2025-03-02T07:39:12.841Z","etag":null,"topics":["3d","3d-models","3d-objects","arkit","art","augmented-reality","google","google-poly","ios","iphone","mixed-reality","poly","swift","wavefront","wavefront-obj"],"latest_commit_sha":null,"homepage":"http://poly.google.com","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/piemonte.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2018-05-01T20:56:27.000Z","updated_at":"2024-12-14T22:53:40.000Z","dependencies_parsed_at":"2022-09-02T06:31:13.854Z","dependency_job_id":null,"html_url":"https://github.com/piemonte/Poly","commit_stats":null,"previous_names":[],"tags_count":19,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/piemonte%2FPoly","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/piemonte%2FPoly/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/piemonte%2FPoly/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/piemonte%2FPoly/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/piemonte","download_url":"https://codeload.github.com/piemonte/Poly/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":245500238,"owners_count":20625530,"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":["3d","3d-models","3d-objects","arkit","art","augmented-reality","google","google-poly","ios","iphone","mixed-reality","poly","swift","wavefront","wavefront-obj"],"created_at":"2024-07-31T15:00:28.355Z","updated_at":"2025-03-25T16:31:38.775Z","avatar_url":"https://github.com/piemonte.png","language":"Swift","readme":"# Poly\n\n`Poly` is an unofficial [Google Poly](https://poly.google.com) SDK, written in [Swift](https://developer.apple.com/swift/).\n\nThis library makes it easy to integrate with Google Poly while providing a few additional client-side features.\n\n[![Build Status](https://travis-ci.org/piemonte/Poly.svg?branch=master)](https://travis-ci.org/piemonte/Poly) [![Pod Version](https://img.shields.io/cocoapods/v/Poly.svg?style=flat)](http://cocoadocs.org/docsets/Poly/) [![Swift Version](https://img.shields.io/badge/language-swift%205.0-brightgreen.svg)](https://developer.apple.com/swift) [![GitHub license](https://img.shields.io/badge/license-MIT-lightgrey.svg)](https://github.com/piemonte/Poly/blob/master/LICENSE)\n\n|  | Features |\n|:---------:|:---------------------------------------------------------------|\n| \u0026#128269;  | 3D model search  |\n| \u0026#11015;  | 3D model download management |\n| \u0026#128230; | advanced 3D data caching |\n| \u0026#128225; | Poly reachability support |\n| \u0026#128038; | [Swift 5.0](https://developer.apple.com/swift/) |\n\nNeed a different version of Swift?\n* `5.0` - Target your Podfile to the latest release or master (will push when Cache updates)\n* `4.2` - Target your Podfile to the `swift4.2` branch\n\n## Important\n\nBefore you begin, ensure that you have read Google’s Poly [documentation](https://developers.google.com/poly/develop/), understand best practices for attribution, and have generated your API key.\n\n## Quick Start\n\nThe sample project provides several examples for integration.\n\nYou can install the dependencies with the command `pod install` or by running the makefile commands `make setup \u0026\u0026 make pods`.\n\n```ruby\n\n# CocoaPods\n\npod \"Poly\", \"~\u003e 0.4.0\"\n\n# Carthage\n\ngithub \"piemonte/Poly\" ~\u003e 0.4.0\n\n# Swift PM\n\nlet package = Package(\n    dependencies: [\n        .Package(url: \"https://github.com/piemonte/Poly\", majorVersion: 0)\n    ]\n)\n\n```\n\nAlternatively, drop the [source files](https://github.com/piemonte/Poly/tree/master/Sources) into your Xcode project.\n\n## Examples\n\nImport the library.\n\n```swift\nimport Poly\n```\n\nSetup your API key.\n\n```swift\nPoly.shared.apiKey = \"REPLACE_WITH_API_KEY\"\n```\n\nList assets using keywords.\n\n```swift\nPoly.shared.list(assetsWithKeywords: [\"fox\"]) { (assets, totalCount, nextPage, error) in\n\t// assets array provides objects with information such as URLs for thumbnail images\n}\n\n// you may also query for the data directly for your own model creation\n\nPoly.shared.list(assetsWithKeywords: [\"fox\", \"cat\"]) { (data, error) in\n}\n```\n\nGet independent asset information.\n\n```swift\nPoly.shared.get(assetWithIdentifier: \"10u8FYPC5Br\") { (asset, count, page, error) in\n\t// asset object provides information such as URLs for thumbnail images\n}\n\n// you may also query for the data directly for your own model creation\n\nPoly.shared.get(assetWithIdentifier: \"10u8FYPC5Br\") { (data, error) in\n}\n```\n\nDownload a 3D asset and its resources for rendering, either using the asset identifier or the asset model object itself.\n\n```swift\nPoly.shared.download(assetWithIdentifier: \"10u8FYPC5Br\", progressHandler: { (progress) in\n}) { (rootFileUrl, resourceFileUrls, error) in\n    if let rootFileUrl = rootFileUrl {\n        let node = SCNNode.createNode(withLocalUrl: rootFileUrl)\n        self._arView?.scene.rootNode.addChildNode(node)\n    }\n}\n```\n\nThe API also provides private object loading but additional endpoints may need to be added. Auth support is setup and available via the `authToken` property.\n\n## Documentation\n\nYou can find [the docs here](https://piemonte.github.io/Poly). Documentation is generated with [jazzy](https://github.com/realm/jazzy) and hosted on [GitHub-Pages](https://pages.github.com).\n\n## Resources\n\n* [Poly iOS Quickstart](https://developers.google.com/poly/develop/ios)\n* [Poly API Reference](https://developers.google.com/poly/reference/api/rest/)\n* [Poly Google Developer Website](https://developers.google.com/poly/)\n* [Poly iOS Sample Project](https://github.com/googlevr/poly-sample-ios)\n* [Swift Evolution](https://github.com/apple/swift-evolution)\n* [NextLevel](http://nextlevel.engineering/) Media Capture Library\n\n## License\n\n`Poly` is available under the MIT license, see the [LICENSE](https://github.com/piemonte/Poly/blob/master/LICENSE) file for more information.\n","funding_links":[],"categories":["Libs","ARKit","Augmented Reality [🔝](#readme)"],"sub_categories":["Augmented Reality","Getting Started"],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpiemonte%2FPoly","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fpiemonte%2FPoly","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpiemonte%2FPoly/lists"}