Skip to content

Latest commit

 

History

History
36 lines (21 loc) · 1.07 KB

README.md

File metadata and controls

36 lines (21 loc) · 1.07 KB

Envy.

Envy is an opinionated tool to manage venv and pip. It's designed for python applications that want:

  • A per project venv
  • Deterministic installs
  • A drop in replacement for pip

How to use it

I'm starting a new project and want a venv

Run envy

I'm checking out someone else's project and want to install dependencies

Run envy

I've checked out a new commit and want to make sure my dependencies are up to date

Run envy

I want to install a dependency

Run envy install, for example: envy install pandas

That's all! envy will manage your venv, requirements.txt and requirements.base.txt.

Under the hood

There are 3 artefacts maintained by envy:

  • requirements.base.txt - a list of base requirements for the application. When you envy install, the installed packages get added here.
  • requirements.txt - a lockfile generated by pip freeze after installing base requirements. This contains every package including subdependencies, all pinned to specific versions.
  • .venv - the virtual environment, containing installed packages