{"action":"created","issue":{"url":"https://api.github.com/repos/biocore/scikit-bio/issues/963","labels_url":"https://api.github.com/repos/biocore/scikit-bio/issues/963/labels{/name}","comments_url":"https://api.github.com/repos/biocore/scikit-bio/issues/963/comments","events_url":"https://api.github.com/repos/biocore/scikit-bio/issues/963/events","html_url":"https://github.com/biocore/scikit-bio/pull/963","id":91070277,"number":963,"title":"Fix io","user":{"login":"ebolyen","id":3976804,"avatar_url":"https://avatars.githubusercontent.com/u/3976804?v=3","gravatar_id":"","url":"https://api.github.com/users/ebolyen","html_url":"https://github.com/ebolyen","followers_url":"https://api.github.com/users/ebolyen/followers","following_url":"https://api.github.com/users/ebolyen/following{/other_user}","gists_url":"https://api.github.com/users/ebolyen/gists{/gist_id}","starred_url":"https://api.github.com/users/ebolyen/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/ebolyen/subscriptions","organizations_url":"https://api.github.com/users/ebolyen/orgs","repos_url":"https://api.github.com/users/ebolyen/repos","events_url":"https://api.github.com/users/ebolyen/events{/privacy}","received_events_url":"https://api.github.com/users/ebolyen/received_events","type":"User","site_admin":false},"labels":[{"url":"https://api.github.com/repos/biocore/scikit-bio/labels/API","name":"API","color":"c7def8"},{"url":"https://api.github.com/repos/biocore/scikit-bio/labels/enhancement","name":"enhancement","color":"006b75"}],"state":"closed","locked":false,"assignee":{"login":"jairideout","id":1847232,"avatar_url":"https://avatars.githubusercontent.com/u/1847232?v=3","gravatar_id":"","url":"https://api.github.com/users/jairideout","html_url":"https://github.com/jairideout","followers_url":"https://api.github.com/users/jairideout/followers","following_url":"https://api.github.com/users/jairideout/following{/other_user}","gists_url":"https://api.github.com/users/jairideout/gists{/gist_id}","starred_url":"https://api.github.com/users/jairideout/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jairideout/subscriptions","organizations_url":"https://api.github.com/users/jairideout/orgs","repos_url":"https://api.github.com/users/jairideout/repos","events_url":"https://api.github.com/users/jairideout/events{/privacy}","received_events_url":"https://api.github.com/users/jairideout/received_events","type":"User","site_admin":false},"milestone":{"url":"https://api.github.com/repos/biocore/scikit-bio/milestones/11","html_url":"https://github.com/biocore/scikit-bio/milestones/0.4.0:%20Beta%20Release","labels_url":"https://api.github.com/repos/biocore/scikit-bio/milestones/11/labels","id":802955,"number":11,"title":"0.4.0: Beta Release","description":"Initial beta release to correspond with SciPy 2015. Release includes API that is marked stable, experimental (unstable), and deprecated.","creator":{"login":"ebolyen","id":3976804,"avatar_url":"https://avatars.githubusercontent.com/u/3976804?v=3","gravatar_id":"","url":"https://api.github.com/users/ebolyen","html_url":"https://github.com/ebolyen","followers_url":"https://api.github.com/users/ebolyen/followers","following_url":"https://api.github.com/users/ebolyen/following{/other_user}","gists_url":"https://api.github.com/users/ebolyen/gists{/gist_id}","starred_url":"https://api.github.com/users/ebolyen/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/ebolyen/subscriptions","organizations_url":"https://api.github.com/users/ebolyen/orgs","repos_url":"https://api.github.com/users/ebolyen/repos","events_url":"https://api.github.com/users/ebolyen/events{/privacy}","received_events_url":"https://api.github.com/users/ebolyen/received_events","type":"User","site_admin":false},"open_issues":12,"closed_issues":32,"state":"open","created_at":"2014-09-25T17:43:20Z","updated_at":"2015-07-06T23:05:17Z","due_on":"2015-07-06T07:00:00Z","closed_at":null},"comments":9,"created_at":"2015-06-25T20:40:57Z","updated_at":"2015-07-06T23:05:24Z","closed_at":"2015-07-06T23:05:17Z","pull_request":{"url":"https://api.github.com/repos/biocore/scikit-bio/pulls/963","html_url":"https://github.com/biocore/scikit-bio/pull/963","diff_url":"https://github.com/biocore/scikit-bio/pull/963.diff","patch_url":"https://github.com/biocore/scikit-bio/pull/963.patch"},"body":"~~Still need to fix/enhance the tests for `registry.py` and `util.py` but otherwise integration with the rest of skbio is complete. Also need lots of documentation.~~\r\n\r\nThis PR represents a really big change in what APIs are provided by the registry.\r\nFormats are now objects! You can make one by using the `create_format` factory. This object possesses knowledge about the encoding of the format, and how newlines are handled. (binary formats will use `encoding='binary'`). These formats provide decorators as methods which makes the format code nicer to read.\r\n\r\nAdditionally, now the registry will provide an `io.BufferedReader/io.BufferedWriter` object for binary formats, and an `io.TextIOBase` implementation for text formats. It doesn't matter what the user gives the registry, the formats will always receive these objects. This also means that text formats will interact with `unicode` objects while binary formats will interact with `bytes`. This transition was a long time coming and needed to be dealt with. A big advantage is now skbio is now encoding agnostic rather than being implicitly ascii.\r\n\r\nCompression is also handled by the registry automatically, but can be overridden by the user. This will be clearer when I add the rest of the documentation. @jrderuiter This should fix #909. \r\n\r\nJust for fun (and it helped me think through a lot of edge cases) you can also now do this:\r\n\r\n`\"\".join(seq.write([]))` and you will get a fasta formatted string! :rabbit: :tophat:\r\n"},"comment":{"url":"https://api.github.com/repos/biocore/scikit-bio/issues/comments/119023432","html_url":"https://github.com/biocore/scikit-bio/pull/963#issuecomment-119023432","issue_url":"https://api.github.com/repos/biocore/scikit-bio/issues/963","id":119023432,"user":{"login":"jairideout","id":1847232,"avatar_url":"https://avatars.githubusercontent.com/u/1847232?v=3","gravatar_id":"","url":"https://api.github.com/users/jairideout","html_url":"https://github.com/jairideout","followers_url":"https://api.github.com/users/jairideout/followers","following_url":"https://api.github.com/users/jairideout/following{/other_user}","gists_url":"https://api.github.com/users/jairideout/gists{/gist_id}","starred_url":"https://api.github.com/users/jairideout/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jairideout/subscriptions","organizations_url":"https://api.github.com/users/jairideout/orgs","repos_url":"https://api.github.com/users/jairideout/repos","events_url":"https://api.github.com/users/jairideout/events{/privacy}","received_events_url":"https://api.github.com/users/jairideout/received_events","type":"User","site_admin":false},"created_at":"2015-07-06T23:05:24Z","updated_at":"2015-07-06T23:05:24Z","body":"Thanks @ebolyen!!!"}}