{"action":"closed","issue":{"url":"https://api.github.com/repos/nvie/pip-tools/issues/408","repository_url":"https://api.github.com/repos/nvie/pip-tools","labels_url":"https://api.github.com/repos/nvie/pip-tools/issues/408/labels{/name}","comments_url":"https://api.github.com/repos/nvie/pip-tools/issues/408/comments","events_url":"https://api.github.com/repos/nvie/pip-tools/issues/408/events","html_url":"https://github.com/nvie/pip-tools/issues/408","id":188842283,"number":408,"title":"Extras not propagated into requirements.txt after insertion","user":{"login":"coriolinus","id":7822926,"avatar_url":"https://avatars.githubusercontent.com/u/7822926?v=3","gravatar_id":"","url":"https://api.github.com/users/coriolinus","html_url":"https://github.com/coriolinus","followers_url":"https://api.github.com/users/coriolinus/followers","following_url":"https://api.github.com/users/coriolinus/following{/other_user}","gists_url":"https://api.github.com/users/coriolinus/gists{/gist_id}","starred_url":"https://api.github.com/users/coriolinus/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/coriolinus/subscriptions","organizations_url":"https://api.github.com/users/coriolinus/orgs","repos_url":"https://api.github.com/users/coriolinus/repos","events_url":"https://api.github.com/users/coriolinus/events{/privacy}","received_events_url":"https://api.github.com/users/coriolinus/received_events","type":"User","site_admin":false},"labels":[],"state":"closed","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":0,"created_at":"2016-11-11T20:19:46Z","updated_at":"2016-11-17T13:48:14Z","closed_at":"2016-11-17T13:48:14Z","body":"Extras, in this context, are specific functional extensions to a particular package.\r\n\r\nThis is similar to #154 but differs because this triggers when adding an extra to an existing requirement.\r\n\r\nThe cached result appears to prevent appropriate detection that the extra was added.\r\n\r\n##### Steps to replicate\r\n\r\n1. Create a `requirements.in` as follows:\r\n  ```text\r\npip-tools\r\nhypothesis\r\n   ```\r\n2. Run `pip-compile` from the command line.\r\n3. Edit the requirements.in file to the following:\r\n  ```text\r\npip-tools\r\nhypothesis[django]\r\n  ```\r\n4. Re-run `pip-compile` from the command line.\r\n3. Examine `requirements.txt`\r\n\r\n##### Expected result\r\n\r\n```text\r\n#\r\n# This file is autogenerated by pip-compile\r\n# To update, run:\r\n#\r\n#    pip-compile --output-file reqs.txt reqs.in\r\n#\r\nclick==6.6                # via pip-tools\r\ndjango==1.10.3            # via hypothesis\r\nfake-factory==0.7.2       # via hypothesis\r\nfirst==2.0.1              # via pip-tools\r\nhypothesis[django]==3.6.0\r\npip-tools==1.7.0\r\npython-dateutil==2.6.0    # via fake-factory\r\npytz==2016.7              # via hypothesis\r\nsix==1.10.0               # via fake-factory, pip-tools, python-dateutil\r\n```\r\n\r\n##### Actual result\r\n\r\n```text\r\n#\r\n# This file is autogenerated by pip-compile\r\n# To update, run:\r\n#\r\n#    pip-compile --output-file reqs.txt reqs.in\r\n#\r\nclick==6.6                # via pip-tools\r\nfirst==2.0.1              # via pip-tools\r\nhypothesis==3.6.0\r\npip-tools==1.7.0\r\nsix==1.10.0               # via pip-tools\r\n```\r\n\r\n##### Workaround\r\n\r\nSimply deleting the existing `requirements.txt` file and installing from scratch appears to work, but shouldn't be a necessary part of the pip-tools workflow."}}
{"actor":{"display_login":"nvie"}}