{"action":"created","issue":{"url":"https://api.github.com/repos/sunpy/sunpy/issues/1318","labels_url":"https://api.github.com/repos/sunpy/sunpy/issues/1318/labels{/name}","comments_url":"https://api.github.com/repos/sunpy/sunpy/issues/1318/comments","events_url":"https://api.github.com/repos/sunpy/sunpy/issues/1318/events","html_url":"https://github.com/sunpy/sunpy/pull/1318","id":60256653,"number":1318,"title":"[unidown]: FIDO API","user":{"login":"Cadair","id":1391051,"avatar_url":"https://avatars.githubusercontent.com/u/1391051?v=3","gravatar_id":"","url":"https://api.github.com/users/Cadair","html_url":"https://github.com/Cadair","followers_url":"https://api.github.com/users/Cadair/followers","following_url":"https://api.github.com/users/Cadair/following{/other_user}","gists_url":"https://api.github.com/users/Cadair/gists{/gist_id}","starred_url":"https://api.github.com/users/Cadair/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Cadair/subscriptions","organizations_url":"https://api.github.com/users/Cadair/orgs","repos_url":"https://api.github.com/users/Cadair/repos","events_url":"https://api.github.com/users/Cadair/events{/privacy}","received_events_url":"https://api.github.com/users/Cadair/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":5,"created_at":"2015-03-08T13:30:00Z","updated_at":"2015-03-09T13:19:46Z","closed_at":null,"pull_request":{"url":"https://api.github.com/repos/sunpy/sunpy/pulls/1318","html_url":"https://github.com/sunpy/sunpy/pull/1318","diff_url":"https://github.com/sunpy/sunpy/pull/1318.diff","patch_url":"https://github.com/sunpy/sunpy/pull/1318.patch"},"body":"This is a different attempt at an API following on from the discussion in #1315.\r\n\r\n\r\nAs it stands this implements the following:\r\n\r\n```python\r\n\r\nimport sunpy.net.dataretriever as dr\r\n\r\nresults = dr.Fido.query(dr.Time('2012/1/1', '2012/1/2'), dr.Instrument('goes'))\r\nfiles = dr.Fido.get(results)\r\nfiles.wait(progress=True)\r\n```"},"comment":{"url":"https://api.github.com/repos/sunpy/sunpy/issues/comments/77851186","html_url":"https://github.com/sunpy/sunpy/pull/1318#issuecomment-77851186","issue_url":"https://api.github.com/repos/sunpy/sunpy/issues/1318","id":77851186,"user":{"login":"Cadair","id":1391051,"avatar_url":"https://avatars.githubusercontent.com/u/1391051?v=3","gravatar_id":"","url":"https://api.github.com/users/Cadair","html_url":"https://github.com/Cadair","followers_url":"https://api.github.com/users/Cadair/followers","following_url":"https://api.github.com/users/Cadair/following{/other_user}","gists_url":"https://api.github.com/users/Cadair/gists{/gist_id}","starred_url":"https://api.github.com/users/Cadair/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Cadair/subscriptions","organizations_url":"https://api.github.com/users/Cadair/orgs","repos_url":"https://api.github.com/users/Cadair/repos","events_url":"https://api.github.com/users/Cadair/events{/privacy}","received_events_url":"https://api.github.com/users/Cadair/received_events","type":"User","site_admin":false},"created_at":"2015-03-09T13:19:46Z","updated_at":"2015-03-09T13:19:46Z","body":"@wafels we could rename `Time` to `TimeRange` but then that has obvious implications inside SunPy, as they would be two separate objects. Also we should then rename `Wavelength` to `WavelengthRange` to be consistent, and it would spiral out of control from there.\r\n\r\nAs for the `Time` - `TimeRange` duality. Unless someone comes along and corrects me, the more I look into it the more impractical I think it is to allow `TimeRange` instead of `Time`. It would require grafting a very large amount of code (Think `__and__`, `__or__`, inheritance from `Attr` and `_Range`) from `sunpy.net` into `sunpy.time.timerange`. Would it be possible? Yes, it would. Would it make the API cleaner for the user? Maybe, I am left to be convinced that the current API is particularly confusing in reality. Would it make the code cleaner and easier to maintain in the future? Absolutely not. We were discussing at the end of the sprint about how we all were having to relearn parts of the `.net` code base, especially the attribute code, which is very smart, your suggestion requires that we import all that code into the `sunpy.time` module just to help users save 10 keystrokes per search. That is not worth the sacrifice in developer time, in my opinion."}}