Skip to main content

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



Project details


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)

Uploaded Source

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page