v2.0.0 (2024-03-06)
-
venv install
can 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 | --requirement
flags: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 uninstall
subcommand, e.g.venv uninstall <package>
. -
venv sync
has been removed. Usevenv install -r <requirements>.lock
instead. #17
-
Added
venv uninstall
subcommand to complement the new functionality ofvenv install <package>
. #37Running
venv uninstall <package>
will first remove the package fromrequirements.txt
, then usevenv install -r requirements.txt
to 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
requirements
files. Requirements files can now be any valid file name with the extension.txt
(.lock
for lock files). #35
- The
install.sh
script now supports specifying for which shell to installvenv-cli
, e.g../install.sh zsh
. #29 - Updated virtual environment activation instructions in
README.md
and 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 clear
andvenv lock
that use thevenv install
command. 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 install
now fails early and with a more descriptve error message when run outside of a virtual environment. #31
venv clear
is now able to clear virtual environments that contain editable installs. #31
v1.5.0 (2024-01-04)
-
Added
venv delete
command. #25Running
venv delete
completely removes the virtual environment located in the current folder.
- Added
-s
alias for--skip-lock
when runningvenv install
. #24
- The
run_command
test helper function can now pass through inputs to the command that is being run.
v1.4.1 (2023-10-30)
- Fixed
venv lock
failing to lock when called as part ofvenv install
. #21
v1.4.0 (2023-10-30)
venv install
now runsvenv clear
before installation. This ensures that the enrivonment doesn't end up with orphaned packages after making changes torequirements.txt
. #9
venv sync
command marked as deprecated with removal planned forv2.0
. Usevenv install <requirements>.lock
instead. #14
v1.3.0 (2023-10-30)
venv lock
no 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 waypip
handles these credentials. #11 For users who have credentials as part of URLs in theirrequirements.txt
files, there are other ways to handle credentials, e.g. filling them inrequirements.lock
manually, using a.netrc
file to store the credetials or using a keyring. See https://pip.pypa.io/en/stable/topics/authentication/ for more info.
venv create
now prints the full python version used for creating the environment. bb62c21
- Added
pytest-cases
to 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.sh
For more information on installing and uninstalling, see the updated README
- Added functionality to
venv lock
: Sincepip freeze
(whichvenv lock
is using under the hood) does not output theauth
-part of VCS URLs,venv lock
now 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
zsh
shell. - Added
CHANGELOG.md
.
1.0.0 (2023-07-13)
This is the first release of the venv-cli
tool.