{"action":"created","issue":{"url":"https://api.github.com/repos/spacetelescope/asdf/issues/310","repository_url":"https://api.github.com/repos/spacetelescope/asdf","labels_url":"https://api.github.com/repos/spacetelescope/asdf/issues/310/labels{/name}","comments_url":"https://api.github.com/repos/spacetelescope/asdf/issues/310/comments","events_url":"https://api.github.com/repos/spacetelescope/asdf/issues/310/events","html_url":"https://github.com/spacetelescope/asdf/pull/310","id":252326350,"number":310,"title":"Validate ASDF trees as early as possible","user":{"login":"drdavella","id":2458487,"avatar_url":"https://avatars0.githubusercontent.com/u/2458487?v=4","gravatar_id":"","url":"https://api.github.com/users/drdavella","html_url":"https://github.com/drdavella","followers_url":"https://api.github.com/users/drdavella/followers","following_url":"https://api.github.com/users/drdavella/following{/other_user}","gists_url":"https://api.github.com/users/drdavella/gists{/gist_id}","starred_url":"https://api.github.com/users/drdavella/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/drdavella/subscriptions","organizations_url":"https://api.github.com/users/drdavella/orgs","repos_url":"https://api.github.com/users/drdavella/repos","events_url":"https://api.github.com/users/drdavella/events{/privacy}","received_events_url":"https://api.github.com/users/drdavella/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":2,"created_at":"2017-08-23T15:35:27Z","updated_at":"2017-08-24T15:15:28Z","closed_at":null,"pull_request":{"url":"https://api.github.com/repos/spacetelescope/asdf/pulls/310","html_url":"https://github.com/spacetelescope/asdf/pull/310","diff_url":"https://github.com/spacetelescope/asdf/pull/310.diff","patch_url":"https://github.com/spacetelescope/asdf/pull/310.patch"},"body":"This change allows ASDF trees to be validated as early as possible. In many cases it will be possible to notice a schema validation issue at the time that an ASDF tree is assigned, rather than having to wait until the file is written.\r\n\r\nHowever, it will not always be possible to catch validation errors that occur when updating existing trees. Enabling this kind of \"deep\" validation will require a lot of additional machinery that may not be worth the effort.\r\n\r\nThis fixes #287."},"comment":{"url":"https://api.github.com/repos/spacetelescope/asdf/issues/comments/324665855","html_url":"https://github.com/spacetelescope/asdf/pull/310#issuecomment-324665855","issue_url":"https://api.github.com/repos/spacetelescope/asdf/issues/310","id":324665855,"user":{"login":"drdavella","id":2458487,"avatar_url":"https://avatars0.githubusercontent.com/u/2458487?v=4","gravatar_id":"","url":"https://api.github.com/users/drdavella","html_url":"https://github.com/drdavella","followers_url":"https://api.github.com/users/drdavella/followers","following_url":"https://api.github.com/users/drdavella/following{/other_user}","gists_url":"https://api.github.com/users/drdavella/gists{/gist_id}","starred_url":"https://api.github.com/users/drdavella/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/drdavella/subscriptions","organizations_url":"https://api.github.com/users/drdavella/orgs","repos_url":"https://api.github.com/users/drdavella/repos","events_url":"https://api.github.com/users/drdavella/events{/privacy}","received_events_url":"https://api.github.com/users/drdavella/received_events","type":"User","site_admin":false},"created_at":"2017-08-24T15:15:28Z","updated_at":"2017-08-24T15:15:28Z","body":"The example you gave of `AsdfFile().tree = {'data': 42}` already worked. This PR implements the other case: `AsdfFile().tree['data'] = 42`, which was not previously covered.\r\n\r\nIt should work for any top-level tree assignment, not just `data` and `history`. However, unfortunately it won't work for deeper tree assignments like the following: `AsdfFile().tree['foo']['bar']['baz'] = 'invalid'`.\r\n\r\nDo you have a large file that I could use for testing performance?"}}
{"actor":{"display_login":"drdavella"}}