{"action":"opened","issue":{"url":"https://api.github.com/repos/conda/conda/issues/1696","labels_url":"https://api.github.com/repos/conda/conda/issues/1696/labels{/name}","comments_url":"https://api.github.com/repos/conda/conda/issues/1696/comments","events_url":"https://api.github.com/repos/conda/conda/issues/1696/events","html_url":"https://github.com/conda/conda/issues/1696","id":110714023,"number":1696,"title":"Optional dependencies for conda packages","user":{"login":"groutr","id":10678620,"avatar_url":"https://avatars.githubusercontent.com/u/10678620?v=3","gravatar_id":"","url":"https://api.github.com/users/groutr","html_url":"https://github.com/groutr","followers_url":"https://api.github.com/users/groutr/followers","following_url":"https://api.github.com/users/groutr/following{/other_user}","gists_url":"https://api.github.com/users/groutr/gists{/gist_id}","starred_url":"https://api.github.com/users/groutr/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/groutr/subscriptions","organizations_url":"https://api.github.com/users/groutr/orgs","repos_url":"https://api.github.com/users/groutr/repos","events_url":"https://api.github.com/users/groutr/events{/privacy}","received_events_url":"https://api.github.com/users/groutr/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":0,"created_at":"2015-10-09T18:33:49Z","updated_at":"2015-10-09T18:33:49Z","closed_at":null,"body":"A proposal for optional dependencies in conda packages.  Implementation of this would be relatively simple.\r\n\r\nThe proposal consists of adding a new section requirements so that it could look like\r\n```yaml\r\npackage:\r\n  name: my_package\r\n  version: 1.0.0\r\n\r\nrequirements:\r\n  build:\r\n    - python\r\n  run:\r\n    - python\r\n  optional:\r\n    - nice_package1\r\n    - nice_package2\r\n```\r\nAt the end of a conda install process, it would simply inform the user that for extra features, consider installing the list of packages in the optional section (and list them on the commandline).\r\n```stdout\r\n<... snip ... >\r\nThe following packages will be INSTALLED:\r\n\r\n    my_package: 1.0.0\r\n\r\nProceed ([y]/n)? y\r\n\r\nFetching packages ...\r\nmy_package 100% |####################################################################################| Time: 0:00:10   3.77 MB/s\r\nExtracting packages ...\r\n[      COMPLETE      ]|#######################################################################################################| 100%\r\nLinking packages ...\r\n[      COMPLETE      ]|#######################################################################################################| 100%\r\n\r\nThe following packages can be installed to enable extra features in my_package:\r\nnice_package1\r\nnice_package2\r\n```\r\n\r\nFurther, an option could be added to conda install to attempt to install optional dependencies as well.  It would then simply add the list of optional packages to the list of packages to install before calling the dependency solver.\r\nSo something like\r\n```\r\nconda install my_package --install-optional\r\n```\r\nwould be synonymous with\r\n```\r\nconda install my_package nice_package1 nice_package2\r\n```"}}