- The project is now following the Github Flow branching model. The
mainbranch is now the default branch, and thedevelopbranch has been removed. Future development should create a new branch directly frommain, and when done, creating a pull request back intomain. Releases should be tagged directly onmainas well.
- Updated
blackversion indev-requirements.txtto>= 26.3.1to fix CVE-2026-32274. b83a234
v2.0.0 (2024-03-06)
-
venv installcan now be used to install individual packages:venv install <package>. #37To enable this feature, installing from a requirements file now requires the use of the new
-r | --requirementflags:venv install -r requirements.txt. Packages installed usingvenv install <package>are first added to the requirements file before reinstalling the entire environment to ensure reproducibility. To uninstall packages, use the newvenv uninstallsubcommand, e.g.venv uninstall <package>. -
venv synchas been removed. Usevenv install -r <requirements>.lockinstead. #17
-
Added
venv uninstallsubcommand to complement the new functionality ofvenv install <package>. #37Running
venv uninstall <package>will first remove the package fromrequirements.txt, then usevenv install -r requirements.txtto reinstall the environment without<package>.This process ensures that there are no "orphaned dependencies" left in the environment after uninstalling, unlike when using
pip uninstall <package>. -
Loosened the file name requirements for
requirementsfiles. Requirements files can now be any valid file name with the extension.txt(.lockfor lock files). #35
- The
install.shscript now supports specifying for which shell to installvenv-cli, e.g../install.sh zsh. #29 - Updated virtual environment activation instructions in
README.mdand when runningvenv activate -h#37 - Refactored bash completion script to enable better handling of arguments for subcommands. 8ac4daf
- Running the uninstall script now correctly removes the sourcing line from the user's
rc-file. #29 - Running the installation script now adds the sourcing line to the user's
rc-file only if it is not there already. #29 - Running
venv <subcommand>now correctly returns the exit code from that subcommand. 8b7a54d - Removed a unit test that was failing sporadically when running tests multiprocessed using
pytest-xdist. 30c501c
- Added several new test cases to cover loosened requirements file name check. #35
- Removed unused test files. 8be87d9
- Updated test cases for
venv clearandvenv lockthat use thevenv installcommand. 6985681 - Unit test jobs for different shells in CI/CD now run in parallel, speeding up runtime of the CI/CD pipeline. d2d9ec3
v1.5.1 (2024-01-10)
venv installnow fails early and with a more descriptve error message when run outside of a virtual environment. #31
venv clearis now able to clear virtual environments that contain editable installs. #31
v1.5.0 (2024-01-04)
-
Added
venv deletecommand. #25Running
venv deletecompletely removes the virtual environment located in the current folder.
- Added
-salias for--skip-lockwhen runningvenv install. #24
- The
run_commandtest helper function can now pass through inputs to the command that is being run.
v1.4.1 (2023-10-30)
- Fixed
venv lockfailing to lock when called as part ofvenv install. #21
v1.4.0 (2023-10-30)
venv installnow runsvenv clearbefore installation. This ensures that the enrivonment doesn't end up with orphaned packages after making changes torequirements.txt. #9
venv synccommand marked as deprecated with removal planned forv2.0. Usevenv install <requirements>.lockinstead. #14
v1.3.0 (2023-10-30)
venv lockno longer tries to fill in credentials for packages installed via VCS. This behavior was undocumented and difficult to maintain and ultimately tried to alleviate a shortcoming of the waypiphandles these credentials. #11 For users who have credentials as part of URLs in theirrequirements.txtfiles, there are other ways to handle credentials, e.g. filling them inrequirements.lockmanually, using a.netrcfile to store the credetials or using a keyring. See https://pip.pypa.io/en/stable/topics/authentication for more info.
venv createnow prints the full python version used for creating the environment. bb62c21
- Added
pytest-casesto development dependencies.
v1.2.0 (2023-08-04)
From this release forward, this project follows the Git Flow branching model. To reflect this, the default development branch have been renamed develop, and the main branch is now only for tagged releases.
To read more about Git Flow, see https://nvie.com/posts/a-successful-git-branching-model. Also see README for branch naming conventions.
- Changed github test workflow to reflect new branch naming conventions.
- Added better, context-based bash completions.
v1.1.0 (2023-08-02)
This release adds an install.sh script for easier installation of venv-cli. Now it can be installed by simply running
$ bash install.shFor more information on installing and uninstalling, see the updated README
- Added functionality to
venv lock: Sincepip freeze(whichvenv lockis using under the hood) does not output theauth-part of VCS URLs,venv locknow includes a fix that tries to read them from a referencerequirements-file, but only if they are specified as environment variables so as not to accidentally expose secrets in version-controlled.lock-files.
For more info on this, see venv lock --help.
v1.0.2 (2023-08-02)
- Fixed test that checks the version number follows the required pattern.
v1.0.1 (2023-08-02)
- Added support for
zshshell. - Added
CHANGELOG.md.
1.0.0 (2023-07-13)
This is the first release of the venv-cli tool.