apply and stash local changes to virtualenvs
Project description
# envy [![PyPI version](https://badge.fury.io/py/envy.svg)](https://badge.fury.io/py/envy)
#### Why?
Ever been working on a project and wanted to easily test changes or set breakpoints on one of its dependencies? Envy can help streamline this process.
#### How?
Lets say you are working in a virtual environment for project A but get errors thrown from project B (a dependency of project A). Assuming project B is readily accessible in your workspace, you can simply make any local changes you want to project B (apply breakpoints, etc), and run:
$ envy sync <what you want sync'd>
This command will detect your current working virtualenv, as well as the path to project B *within* A's virtualenv. It will copy your local changes to B's site-package within A's virtualenv.
#### Could this corrupt my virtualenv?
Before copying local changes, envy first backs up the existing virtualenv. It keeps a clean copy in `~/.envies/{virtual_env_name}/{project_name}`.
When you are done testing and wish to restore the virtualenv to its original state, simple run:
$ envy clean
## Usage Examples
Copy all changes from `project_b` to `~/.virtualenvs/project_a/lib/pythonX.X/site-packages/project_b`:
`(project_a)$ envy sync project_b `
Copy changes from a file in `project_b` to `~/.virtualenvs/project_a/lib/pythonX.X/site-packages/project_b`:
`(project_a)$ envy sync project_b/file.py`
Restore virtualenv to its original state:
`(project_a)$: envy clean`
##Installation
`$ pip install envy`
This is a very early stage project and can likely be improved.
## Contributing
1. Fork it ( https://github.com/shaunvxc/envy/fork )
1. Create your feature branch (`git checkout -b new-feature`)
1. Commit your changes (`git commit -am 'Add some feature'`)
1. Run the tests (`make test`)
1. Push change to the branch (`git push origin new-feature`)
1. Create a Pull Request
#### Why?
Ever been working on a project and wanted to easily test changes or set breakpoints on one of its dependencies? Envy can help streamline this process.
#### How?
Lets say you are working in a virtual environment for project A but get errors thrown from project B (a dependency of project A). Assuming project B is readily accessible in your workspace, you can simply make any local changes you want to project B (apply breakpoints, etc), and run:
$ envy sync <what you want sync'd>
This command will detect your current working virtualenv, as well as the path to project B *within* A's virtualenv. It will copy your local changes to B's site-package within A's virtualenv.
#### Could this corrupt my virtualenv?
Before copying local changes, envy first backs up the existing virtualenv. It keeps a clean copy in `~/.envies/{virtual_env_name}/{project_name}`.
When you are done testing and wish to restore the virtualenv to its original state, simple run:
$ envy clean
## Usage Examples
Copy all changes from `project_b` to `~/.virtualenvs/project_a/lib/pythonX.X/site-packages/project_b`:
`(project_a)$ envy sync project_b `
Copy changes from a file in `project_b` to `~/.virtualenvs/project_a/lib/pythonX.X/site-packages/project_b`:
`(project_a)$ envy sync project_b/file.py`
Restore virtualenv to its original state:
`(project_a)$: envy clean`
##Installation
`$ pip install envy`
This is a very early stage project and can likely be improved.
## Contributing
1. Fork it ( https://github.com/shaunvxc/envy/fork )
1. Create your feature branch (`git checkout -b new-feature`)
1. Commit your changes (`git commit -am 'Add some feature'`)
1. Run the tests (`make test`)
1. Push change to the branch (`git push origin new-feature`)
1. Create a Pull Request
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
envy-0.0.2.tar.gz
(4.3 kB
view hashes)