{"id":15038729,"url":"https://github.com/comyar/jupiter","last_synced_at":"2025-10-04T03:32:01.281Z","repository":{"id":56917004,"uuid":"56900678","full_name":"comyar/Jupiter","owner":"comyar","description":":sun_with_face: The Swift Weather Framework","archived":true,"fork":false,"pushed_at":"2024-08-06T00:39:17.000Z","size":127,"stargazers_count":13,"open_issues_count":1,"forks_count":1,"subscribers_count":4,"default_branch":"main","last_synced_at":"2024-09-29T22:21:20.851Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"Swift","has_issues":false,"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/comyar.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":"2016-04-23T04:39:38.000Z","updated_at":"2024-08-06T00:39:41.000Z","dependencies_parsed_at":"2022-11-29T13:20:31.462Z","dependency_job_id":null,"html_url":"https://github.com/comyar/Jupiter","commit_stats":null,"previous_names":[],"tags_count":2,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/comyar%2FJupiter","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/comyar%2FJupiter/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/comyar%2FJupiter/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/comyar%2FJupiter/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/comyar","download_url":"https://codeload.github.com/comyar/Jupiter/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":235216211,"owners_count":18954253,"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":[],"created_at":"2024-09-24T20:39:54.508Z","updated_at":"2025-10-04T03:31:55.960Z","avatar_url":"https://github.com/comyar.png","language":"Swift","funding_links":[],"categories":[],"sub_categories":[],"readme":"![](header.png)\n\n## Usage\n\nSupported Weather APIs:\n\n- [Dark Sky](https://darksky.net/dev/) ([WIP](https://github.com/comyar/Jupiter/issues/1) historical data support)\n\n### Dark Sky\n\n#### [Forecast Request](https://darksky.net/dev/docs/forecast)\n\nA default ```Request.send``` function is provided that simply uses the shared ```URLSession``` in your app:\n\n```swift\nimport Jupiter\n\nlet api = DarkSkyAPI(key: \"\u003cAPI_KEY\u003e\")\napi.forecast(latitude: 47.6062, longitude: -122.3321).send { result -\u003e Void in\n  switch result {\n  case .success(let response):\n    // The response here is queryable for any key available in the docs except for \"flags\"\n    print(response)\n  case .error(let error):\n    print(error)\n  }\n}\n```\n\nHowever if you'd like to use your own networking stack, you can simply create a ```DarkSkyForecastRequest``` and use the generated URL directly:\n\n```swift\nimport Jupiter\n\nlet api = DarkSkyAPI(key: \"\u003cAPI_KEY\u003e\")\nlet request = api.forecast(latitude: 47.6062, longitude: -122.3321)\n\n/// Creating without the convenience API also works:\n/// let request = DarkSkyForecastRequest(key: \"\u003cAPI_KEY\u003e\", latitude: 47.6062, longitude: -122.3321)\n\n/// Configure the request\nrequest.excludes = [.minutely, .hourly]\nrequest.lang = .russian\nrequest.units = .si\n\n/// Get the URL\nlet url: URL = request.url!\n\n/// Pass URL to networking layer \n\n/// Get raw data from networking layer\nlet data: Data = ...\n\n/// Parse data and bind to response object\nlet response = DarkSkyForecastRequest.toResponse(data: data)\n```\n\n## Climacons\n\nJupiter has first-class support for [Climacons](http://adamwhitcroft.com/climacons/), a beautiful set of pictographs designed by [Adam Whitcroft](http://adamwhitcroft.com/). All icon-related fields on response models will be bound to the [Climacon enum](https://github.com/comyar/Jupiter/blob/master/Sources/Climacon.swift) defined in Jupiter, whose raw values map directly to the [Climacons-Font](https://github.com/christiannaths/Climacons-Font) bundled by [Christian Naths](https://christiannaths.com/).\n\n## Installation\n\n### CocoaPods\n\n[CocoaPods](http://cocoapods.org) is a dependency manager for Cocoa projects. You can install it with the following command:\n\n```bash\n$ gem install cocoapods\n```\n\n\u003e CocoaPods 1.1.0+ is required to build Jupiter 0.0.1+.\n\nTo integrate Jupiter into your Xcode project using CocoaPods, specify it in your `Podfile`:\n\n```ruby\nsource 'https://github.com/CocoaPods/Specs.git'\nplatform :ios, '10.0'\nuse_frameworks!\n\npod 'Jupiter', '~\u003e 0.0.2'\n```\n\nThen, run the following command:\n\n```bash\n$ pod install\n```\n\n### Carthage\n\n[Carthage](https://github.com/Carthage/Carthage) is a decentralized dependency manager that automates the process of adding frameworks to your Cocoa application.\n\nYou can install Carthage with [Homebrew](http://brew.sh/) using the following command:\n\n```bash\n$ brew update\n$ brew install carthage\n```\n\nTo integrate Jupiter into your Xcode project using Carthage, specify it in your `Cartfile`:\n\n```ogdl\ngithub \"comyar/Jupiter\" ~\u003e 0.0.2\n```\n\n## License\n\nJupiter is released under the MIT license. See [LICENSE](https://github.com/comyar/Jupiter/blob/master/LICENSE) for details.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcomyar%2Fjupiter","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fcomyar%2Fjupiter","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcomyar%2Fjupiter/lists"}