{"id":32149432,"url":"https://github.com/marinofelipe/swift-package-info","last_synced_at":"2025-10-21T09:57:35.356Z","repository":{"id":43110495,"uuid":"324584155","full_name":"marinofelipe/swift-package-info","owner":"marinofelipe","description":"Swift CLI tool that provides information about a Swift Package","archived":false,"fork":false,"pushed_at":"2025-10-16T23:36:29.000Z","size":2610,"stargazers_count":82,"open_issues_count":5,"forks_count":8,"subscribers_count":3,"default_branch":"main","last_synced_at":"2025-10-21T09:57:13.670Z","etag":null,"topics":["binary-size","command-line-tool","swift","swift-package-manager","swiftpackage"],"latest_commit_sha":null,"homepage":"","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/marinofelipe.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,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2020-12-26T15:36:08.000Z","updated_at":"2025-10-16T23:36:12.000Z","dependencies_parsed_at":"2024-04-21T12:51:47.316Z","dependency_job_id":"d257c231-da4c-4f3b-afd1-eabc1a3511a7","html_url":"https://github.com/marinofelipe/swift-package-info","commit_stats":{"total_commits":100,"total_committers":4,"mean_commits":25.0,"dds":0.07999999999999996,"last_synced_commit":"7d34abe7ba6ce21e0f6b41d1ac80c6da9e05a211"},"previous_names":[],"tags_count":19,"template":false,"template_full_name":null,"purl":"pkg:github/marinofelipe/swift-package-info","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/marinofelipe%2Fswift-package-info","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/marinofelipe%2Fswift-package-info/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/marinofelipe%2Fswift-package-info/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/marinofelipe%2Fswift-package-info/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/marinofelipe","download_url":"https://codeload.github.com/marinofelipe/swift-package-info/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/marinofelipe%2Fswift-package-info/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":280240315,"owners_count":26296527,"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-10-21T02:00:06.614Z","response_time":58,"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":["binary-size","command-line-tool","swift","swift-package-manager","swiftpackage"],"created_at":"2025-10-21T09:57:32.315Z","updated_at":"2025-10-21T09:57:35.347Z","avatar_url":"https://github.com/marinofelipe.png","language":"Swift","funding_links":[],"categories":[],"sub_categories":[],"readme":"![CI](https://github.com/marinofelipe/swift-package-info/actions/workflows/ci.yml/badge.svg?branch=main)\n![Toolchain](https://img.shields.io/badge/Swift-6.1.2+%20%7C%20Xcode%2016.4%2B-orange?logo=swift\u0026logoColor=white)\n[![Mint](https://img.shields.io/badge/Mint-marinofelipe%2Fswift--package--info-40c8a7?logo=leaf\u0026logoColor=white)](https://github.com/marinofelipe/swift-package-info#installation)\n[![Swift Package Manager](https://rawgit.com/jlyonsmith/artwork/master/SwiftPackageManager/swiftpackagemanager-compatible.svg)](https://swift.org/package-manager/)\n[![Twitter](https://img.shields.io/badge/twitter-@_marinofelipe-blue.svg?style=flat)](https://twitter.com/_marinofelipe)\n\n# Swift Package Info\nCLI tool, built on top of [Swift Argument Parser](https://github.com/apple/swift-argument-parser),  that provides information about a *given Swift Package product*, such as a *measurement of its binary size impact*.\n\u003cbr\u003e\nBinary size calculation is also available _as a library_ via the _`SwiftPackageInfo` package product_.\n\n## Usage\n\n### Examples\n- Run a complete analysis\n```sh\nswift-package-info --for https://github.com/ReactiveX/RxSwift -v 6.0.0 --product RxSwift\n```\n\n- Check supported platforms (sub command)\n```sh\nswift-package-info platforms --for https://github.com/krzyzanowskim/CryptoSwift -v 1.3.8 --product CryptoSwift\n```\n\n- See the binary size of a local package (e.g., under development framework)\n```sh\nswift-package-info binary-size --path ../project/my-framework\n```\n\n### Report\n```sh\nswift-package-info --for https://github.com/ReactiveX/RxSwift -v 6.0.0 --product RxSwift\n```\n```\n+------------------------------------------------+\n|               Swift Package Info               |\n|                                                |\n|                 RxSwift, 6.0.0                 |\n+--------------+---------------------------------+\n| Provider     | Results                         |\n+--------------+---------------------------------+\n| Binary Size  | Binary size increases by 963 KB |\n| Platforms    | System default                  |\n| Dependencies | No third-party dependencies :)  |\n+--------------+---------------------------------+\n\u003e Total of 3 providers used.\n```\n\nA custom report strategy can be passed via the `report` argument _(check `--help` for supported values)_\n```sh\nswift-package-info --for https://github.com/ReactiveX/RxSwift -v 6.0.0 --product RxSwift --report jsonDump\n```\n```JSON\n{\n  \"binarySize\" : {\n    \"amount\" : 962560,\n    \"formatted\" : \"963 KB\"\n  },\n  \"dependencies\" : [\n\n  ],\n  \"platforms\" : {\n\n  }\n}\n```\n\n## Requirements\n- Swift \u003e= 6.1\n- Xcode \u003e= 16.4\n\n## Installation\n* Install [mint](https://github.com/yonaskolb/Mint)\n* _Optionally_ [add mint to your $PATH](https://github.com/yonaskolb/Mint?tab=readme-ov-file#linking) \n* Run: `mint install marinofelipe/swift-package-info` to install the latest version\n\n## Running\n* `mint run swift-package-info`\n* or simply, `swift-package-info` in case it was symlinked\n\n## Binary size report\nIts methodology is inspired by [cocoapods-size](https://github.com/google/cocoapods-size), and thus works by comparing archives with no bitcode and ARM64 arch.\nSuch a strategy has proven consistent with the size of iOS apps downloaded and installed via TestFlight.\n\n## Thanks\nSpecial thanks to [@unnamedd](https://github.com/unnamedd) for sharing his experience with [swift-tools-support-core](https://github.com/apple/swift-tools-support-core) and on how to build a pretty 👌 report.\n\n## Contributing\nCheck the [CONTRIBUTING.md](./CONTRIBUTING.md) file.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmarinofelipe%2Fswift-package-info","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmarinofelipe%2Fswift-package-info","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmarinofelipe%2Fswift-package-info/lists"}