{"action":"created","issue":{"url":"https://api.github.com/repos/SciTools/iris/issues/1948","repository_url":"https://api.github.com/repos/SciTools/iris","labels_url":"https://api.github.com/repos/SciTools/iris/issues/1948/labels{/name}","comments_url":"https://api.github.com/repos/SciTools/iris/issues/1948/comments","events_url":"https://api.github.com/repos/SciTools/iris/issues/1948/events","html_url":"https://github.com/SciTools/iris/issues/1948","id":135786621,"number":1948,"title":"Complete v1.10 deprecations to prepare for v2.0","user":{"login":"pp-mo","id":2089069,"avatar_url":"https://avatars.githubusercontent.com/u/2089069?v=3","gravatar_id":"","url":"https://api.github.com/users/pp-mo","html_url":"https://github.com/pp-mo","followers_url":"https://api.github.com/users/pp-mo/followers","following_url":"https://api.github.com/users/pp-mo/following{/other_user}","gists_url":"https://api.github.com/users/pp-mo/gists{/gist_id}","starred_url":"https://api.github.com/users/pp-mo/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/pp-mo/subscriptions","organizations_url":"https://api.github.com/users/pp-mo/orgs","repos_url":"https://api.github.com/users/pp-mo/repos","events_url":"https://api.github.com/users/pp-mo/events{/privacy}","received_events_url":"https://api.github.com/users/pp-mo/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"milestone":{"url":"https://api.github.com/repos/SciTools/iris/milestones/14","html_url":"https://github.com/SciTools/iris/milestones/v1.10","labels_url":"https://api.github.com/repos/SciTools/iris/milestones/14/labels","id":1426195,"number":14,"title":"v1.10","description":"","creator":{"login":"QuLogic","id":302469,"avatar_url":"https://avatars.githubusercontent.com/u/302469?v=3","gravatar_id":"","url":"https://api.github.com/users/QuLogic","html_url":"https://github.com/QuLogic","followers_url":"https://api.github.com/users/QuLogic/followers","following_url":"https://api.github.com/users/QuLogic/following{/other_user}","gists_url":"https://api.github.com/users/QuLogic/gists{/gist_id}","starred_url":"https://api.github.com/users/QuLogic/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/QuLogic/subscriptions","organizations_url":"https://api.github.com/users/QuLogic/orgs","repos_url":"https://api.github.com/users/QuLogic/repos","events_url":"https://api.github.com/users/QuLogic/events{/privacy}","received_events_url":"https://api.github.com/users/QuLogic/received_events","type":"User","site_admin":false},"open_issues":5,"closed_issues":64,"state":"open","created_at":"2015-11-23T22:23:19Z","updated_at":"2016-05-06T23:28:16Z","due_on":null,"closed_at":null},"comments":9,"created_at":"2016-02-23T16:28:21Z","updated_at":"2016-05-11T10:16:18Z","closed_at":null,"body":"Current list of possibles.\r\n\r\nImportant deprecations\r\n  * [x] text rules support : to enable later removal\r\n    * #1885 custom save rules (now with: remaining (public) support for text-rules and rules logging)\r\n  * [x] iris.fileformats.ff  : to enable later rebase around new \"mule\" fieldsfile interface, when that is made public\r\n    * #1950 deprecate_ff\r\n  * [x] deprecate the pp_packing module (now replaced by mo_unpack)\r\n    * #1958 \"Hide iris.fileformats.pp_packing behind a deprecation interface.\"\r\n  * [x] tidy and rename the load pipeline\r\n    * #1941 \"as cubes\"\r\n  * [ ] fully deprecate the old-style (non-\"strict\") GRIB loader, including sub-modules\r\n    * was ~#1962~ (done)\r\n    * possibly still needs whatsnew for 'other' global stuff removed\r\n    * possibly still needs reviewing, alongside #1755 (next) to ensure we haven't made any any backwards-incompatible changes, such as moving data items out of iris.fileformats.grib module\r\n  * [ ] make it possible to load GRIB1 files with the new 'strict' GRIB loader\r\n    * #1755 \"grib1 future\"\r\n    * **NOTE:** I'm listing this as a requirement for 1.10, because without it there is loss of capability to load mixed GRIB1 + GRIB2 files -- which in fact various users need, as some semi-'standard' ecmwf products are like that\r\n\r\nOther possibles:\r\n  * [x] regrid + interpolation : to enable later tidying\r\n  * [x] ESMPY support : update + get Travis-testable\r\n    * #2001\r\n  * [ ] user advice on deprecations and code maintenance\r\n    * see #1999\r\n  * ~~deprecate all internal module imports, to avoid user code depending on them~~\r\n    * ~~e.g. ```import iris.analysis``` --> ```import iris.analysis as _analysis```~~\r\n\r\n-----\r\n\r\n**NOTE:**\r\n> deprecate all internal module imports, to avoid user code depending on them\r\n\r\nDoes this actually work ??\r\n```\r\n>>> import iris\r\n>>> hasattr(iris, 'proxy')\r\nFalse\r\n>>> from iris import proxy as _proxy\r\n/home/h05/itpp/git/iris/iris_main/lib/iris/proxy.py:34: UserWarning: iris.proxy is deprecated in Iris v1.9. Please use lazy imports instead.\r\n  warnings.warn('iris.proxy is deprecated in Iris v1.9. Please use lazy '\r\n>>> hasattr(iris, 'proxy')\r\nTrue\r\n>>> \r\n```"},"comment":{"url":"https://api.github.com/repos/SciTools/iris/issues/comments/218418785","html_url":"https://github.com/SciTools/iris/issues/1948#issuecomment-218418785","issue_url":"https://api.github.com/repos/SciTools/iris/issues/1948","id":218418785,"user":{"login":"rhattersley","id":917914,"avatar_url":"https://avatars.githubusercontent.com/u/917914?v=3","gravatar_id":"","url":"https://api.github.com/users/rhattersley","html_url":"https://github.com/rhattersley","followers_url":"https://api.github.com/users/rhattersley/followers","following_url":"https://api.github.com/users/rhattersley/following{/other_user}","gists_url":"https://api.github.com/users/rhattersley/gists{/gist_id}","starred_url":"https://api.github.com/users/rhattersley/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/rhattersley/subscriptions","organizations_url":"https://api.github.com/users/rhattersley/orgs","repos_url":"https://api.github.com/users/rhattersley/repos","events_url":"https://api.github.com/users/rhattersley/events{/privacy}","received_events_url":"https://api.github.com/users/rhattersley/received_events","type":"User","site_admin":false},"created_at":"2016-05-11T10:16:18Z","updated_at":"2016-05-11T10:16:18Z","body":"> you will still have problems with what is a major API break and what is not, except you won't be able to control it within iris...\r\n\r\nThat's a very good point and @pp-mo also raised it yesterday. Further discussion with @pp-mo highlighted that it's a dependency-management issue we already have. For example, two identical installations of Iris but with two different versions of numpy or matplotlib, etc. will give different results. So in general the issue is nothing new and is not specific to Iris - although clearly we would now have _more_ of the issue.\r\n\r\nRight now it would give us the freedom to release v1.10 without having to finalise exactly what GRIB support should look like. Instead we could release with `iris.fileformats.grib` deprecated and a pointer to use iris-grib. Once v1.10 is out we could release v2.0 without having to wait for GRIB support to be finalised. Meanwhile, iris-grib could iterate on whatever timescale suits. Similarly, iris-grib could make further major changes without having to wait for a new major Iris release."}}