We use some custom scripts to prepare local development environment, including:
- creating virtualenv
- fetching all the packages from requirements.txt using pip (but only if it was changed)
That's actually something that tox does perfectly. I was thinking about extending tox with another subcommand, i.e.
At config file there should be
devenv section with options helping to describe how development environment should look like. It would be very similar to current testenv most probably (i.e. set default python, set commands to run in order to setup environment etc. plus path where environment should be put - as we might not want it inside .tox). There should also be a way to override those local devenv settings - in order to allow developer to use whichever python user want to use.
Am not sure if you would be interested to put this into the core so I'm not sure of all the details right now. Just wanted to know if you'd want something like this in tox itself. If not, let me know too. I would work on it anyway - as an external tool that uses tox's Python api.
BTW: Is tox internals considered as official API (backward compatibility etc.)? Or is it more like with mercurial (where only a tool [script] is considered as official API, not internals)?