{"id":17424138,"url":"https://github.com/ctreffs/swiftassimp","last_synced_at":"2025-04-14T03:25:43.807Z","repository":{"id":44546309,"uuid":"218589948","full_name":"ctreffs/SwiftAssimp","owner":"ctreffs","description":"Swift wrapper around Open Asset Import Library (aka assimp) for macOS and Linux","archived":false,"fork":false,"pushed_at":"2025-04-05T13:58:40.000Z","size":19543,"stargazers_count":30,"open_issues_count":10,"forks_count":7,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-04-05T14:31:05.423Z","etag":null,"topics":["assimp","bsd-3-clause","library","spm","swift","swift-package-manager"],"latest_commit_sha":null,"homepage":"https://www.assimp.org","language":"Swift","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"bsd-3-clause","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/ctreffs.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":".github/FUNDING.yml","license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":"CODEOWNERS","security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null},"funding":{"github":["ctreffs"],"custom":["https://www.paypal.com/donate?hosted_button_id=GCG3K54SKRALQ"]}},"created_at":"2019-10-30T17:57:29.000Z","updated_at":"2025-01-30T10:14:30.000Z","dependencies_parsed_at":"2022-08-26T04:43:19.329Z","dependency_job_id":"700d017f-f7b9-4447-8d02-9471103aedc9","html_url":"https://github.com/ctreffs/SwiftAssimp","commit_stats":{"total_commits":139,"total_committers":2,"mean_commits":69.5,"dds":0.06474820143884896,"last_synced_commit":"e08e0f9f1693573097cecc56863dc6c711af384e"},"previous_names":[],"tags_count":24,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ctreffs%2FSwiftAssimp","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ctreffs%2FSwiftAssimp/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ctreffs%2FSwiftAssimp/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ctreffs%2FSwiftAssimp/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ctreffs","download_url":"https://codeload.github.com/ctreffs/SwiftAssimp/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248814690,"owners_count":21165803,"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":["assimp","bsd-3-clause","library","spm","swift","swift-package-manager"],"created_at":"2024-10-17T05:06:17.391Z","updated_at":"2025-04-14T03:25:43.789Z","avatar_url":"https://github.com/ctreffs.png","language":"Swift","funding_links":["https://github.com/sponsors/ctreffs","https://www.paypal.com/donate?hosted_button_id=GCG3K54SKRALQ","https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick\u0026hosted_button_id=4JRJVPXC4QJM4"],"categories":[],"sub_categories":[],"readme":"# Swift Assimp\n\n[![](https://img.shields.io/endpoint?url=https%3A%2F%2Fswiftpackageindex.com%2Fapi%2Fpackages%2Fctreffs%2FSwiftAssimp%2Fbadge%3Ftype%3Dswift-versions)](https://swiftpackageindex.com/ctreffs/SwiftAssimp)\n[![](https://img.shields.io/endpoint?url=https%3A%2F%2Fswiftpackageindex.com%2Fapi%2Fpackages%2Fctreffs%2FSwiftAssimp%2Fbadge%3Ftype%3Dplatforms)](https://swiftpackageindex.com/ctreffs/SwiftAssimp)\n[![macOS](https://github.com/ctreffs/SwiftAssimp/actions/workflows/ci-macos.yml/badge.svg)](https://github.com/ctreffs/SwiftAssimp/actions/workflows/ci-macos.yml)\n[![Linux](https://github.com/ctreffs/SwiftAssimp/actions/workflows/ci-linux.yml/badge.svg)](https://github.com/ctreffs/SwiftAssimp/actions/workflows/ci-linux.yml)\n[![license](https://img.shields.io/badge/license-BSD3-brightgreen.svg)](LICENSE)\n\n\nThis is a  **thin** Swift wrapper around the popular and excellent [**Open Asset Import Library**](https://github.com/assimp/assimp) library.  \nIt provides a **swifty** and **typesafe** API. \n\n\u003e Open Asset Import Library (short name: Assimp) is a portable Open Source library to import various well-known 3D model formats in a uniform manner. The most recent version also knows how to export 3d files and is therefore suitable as a general-purpose 3D model converter.\n\u003e Loads 40+ 3D file formats into one unified and clean data structure.    \n\u003e ~ [www.assimp.org](https://github.com/assimp/assimp)\n\n## 🚀 Getting Started\n\nThese instructions will get your copy of the project up and running on your local machine and provide a code example.\n\n### 📋 Prerequisites\n\n* [Swift Package Manager (SPM)](https://github.com/apple/swift-package-manager)\n* [Open Asset Import Library (Assimp)](https://github.com/assimp/assimp)\n* [SwiftEnv](https://swiftenv.fuller.li/) for Swift version management - (optional)\n* [Swiftlint](https://github.com/realm/SwiftLint) for linting - (optional)\n\n### 💻 Installing\n\nSwift Assimp is available for all platforms that support [Swift 5.3](https://swift.org/) and higher and the [Swift Package Manager (SPM)](https://github.com/apple/swift-package-manager).\n\nExtend your `Package.swift` file with the following lines or use it to create a new project.\n\nFor package manifests using the Swift 5.3+ toolchain use:\n\n```swift\n// swift-tools-version:5.3\nimport PackageDescription\n\nlet package = Package(\n    name: \"YourPackageName\",\n    dependencies: [\n        .package(name: \"Assimp\", url: \"https://github.com/ctreffs/SwiftAssimp.git\", from: \"2.1.0\")\n    ],\n    targets: [\n        .target(\n            name: \"YourTargetName\",\n            dependencies: [\"Assimp\"])\n    ]\n)\n\n```\n\nSince it's a system library wrapper you need to install the assimp library (\u003e=5.0.0) either via\n\n```sh\nbrew install assimp\n```\n\nor \n\n```sh\napt-get install libassimp-dev\n```\n\ndepending on you platform.\n\n\n## 📝 Code Example\n\n\n```swift\nimport Assimp\n\nlet scene: AiScene = try AiScene(file: \u003cpath/to/model/file.obj\u003e, \n                                 flags: [.removeRedundantMaterials, .genSmoothNormals]))\n\n// get meshes\nlet meshes: [AiMesh] = scene.meshes\n\n// get materials\nlet matrials: [AiMaterial] = scene.materials\n\n// get the root node of the scene graph\nlet rootNode: [AiNode] = scene.rootNode\n\n```\n\nSee the unit tests for more examples.\n\n## 💁 Help needed\n\nThis project is in an early stage and needs a lot of love.\nIf you are interested in contributing, please feel free to do so!\n\nThings that need to be done are, among others:\n\n- [ ] Wrap more assimp functions and types\n- [ ] Support for [Cocoapods](https://cocoapods.org) packaging\n- [ ] Support for [Carthage](https://github.com/Carthage/Carthage) packaging\n- [ ] Write some additional tests to improve coverage\n\n## 🏷️ Versioning\n\nWe use [SemVer](http://semver.org/) for versioning. For the versions available, see the [tags on this repository](https://github.com/ctreffs/SwiftAssimp/tags). \n\n## ✍️ Authors\n\n* [Christian Treffs](https://github.com/ctreffs)\n\nSee also the list of [contributors](https://github.com/ctreffs/SwiftAssimp/contributors) who participated in this project.\n\n## 🔏 Licenses\n\nThis project is licensed under the 3-Clause BSD License - see the [LICENSE](LICENSE) file for details.\n\n* assimp licensed under [3-clause BSD license](https://github.com/assimp/assimp/blob/master/LICENSE)\n\n\n## 🙏 Original code\n\nSince Swift Assimp is merely a wrapper around [**assimp**](https://github.com/assimp/assimp) it obviously depends on it.       \nSupport them if you can!\n\n### Open Asset Import Library (assimp)\n\n##### From [assimp/assimp/Readme.md](https://github.com/assimp/assimp/blob/master/Readme.md):\n\nA library to import and export various 3d-model-formats including scene-post-processing to generate missing render data.\n\nOne-off donations via PayPal:\n\u003cbr\u003e[![PayPal](https://www.paypalobjects.com/en_US/i/btn/btn_donate_LG.gif)](https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick\u0026hosted_button_id=4JRJVPXC4QJM4)\n\n## ☮️ Alternatives\n\n* [dmsurti/AssimpKit](https://github.com/dmsurti/AssimpKit)\n* [eugenebokhan/AssetImportKit](https://github.com/eugenebokhan/AssetImportKit)\n* [troughton/CAssimp](https://github.com/troughton/CAssimp)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fctreffs%2Fswiftassimp","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fctreffs%2Fswiftassimp","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fctreffs%2Fswiftassimp/lists"}