------------------------------------------------------------------- Mon Sep 09 06:44:16 UTC 2024 - daniel.garcia@suse.com - Update to version 1.7.1: * 1.7.1: Use minimum supported Python to build zipapp (#1515) ------------------------------------------------------------------- Fri Aug 23 14:53:33 UTC 2024 - Eyad Issa - Update to 1.7.0: * Add help messages for pipx pin and pipx unpin commands * Add quotes to title and fix tag name in release action * Add a --prepend option to the pipx ensurepath command * ci: clean up auto changelog on releases * Introduce a new env variable to allow spaces in home path * Use multiple machine suffixes for standalone python * Fix install all example typo * Fix passing constraints file path into pipx install operation via --pip-args * Apply preview ruff/Pylint rule PLC0206 * Apply ruff/pycodestyle rule E721 * Enforce new ruff rules * Moved documentation to docs directory * Fix #1475 (--global installs to ~/.local) * Fix #1492: Add PIPX_GLOBAL_(HOME|BIN_DIR|MAN_DIR) documentation and list them in pipx environment * Assorted repo-review suggestions * Fixes #1509 short-circuit of installing packages when already installed - Use obs-service-tar_scm instead of GitHub releases ------------------------------------------------------------------- Sun Jun 30 20:48:31 UTC 2024 - Dirk Müller - update to 1.6.0: * Add `install-all` command to install packages according to spec metadata file. * Introduce `pipx pin` and `pipx unpin` commands, which can be used to pin or unpin the version * of an installed package, so it will not be upgraded by `pipx upgrade` or `pipx upgrade-all`. * Add a new option `--pinned` to `pipx list` command for listing pinned packages only. * Add `pipx interpreter upgrade` command to upgrade local standalone python in micro/patch level * Add `--requirement` option to `inject` command to read list of packages from a text file. * Add `pipx upgrade-shared` command, to create/upgrade shared libraries as a standalone command. * Allow `upgrade` command to accept multiple packages as arguments. * Support Python version for `--python` arg when py launcher is not available * Make `install-all` gather errors in batch ------------------------------------------------------------------- Tue Apr 2 15:43:40 UTC 2024 - Eyad Issa - Update to 1.5.0 * Add --global option to pipx commands. - This will run the action in a global scope and affect environment for all system users. * Add a --fetch-missing-python flag to all commands that accept a --python flag. - When combined, this will automatically download a standalone copy of the requested python version if it's not already available on the user's system. * Add commands to list and prune standalone interpreters * Add --install option to pipx upgrade command. - This will install the package given as argument if it is not already installed. * Deprecate --skip-maintenance flag of pipx list; maintenance is now never executed there * Various bugfixes ------------------------------------------------------------------- Wed Jan 31 14:43:05 UTC 2024 - Eyad Issa - Update to 1.4.3 * Add macos shebang workaround description * Introduce towncrier * Potential fix for pylauncher with python version * fix: nicer tracebacks in run mode on scripts ------------------------------------------------------------------- Mon Jan 15 14:32:28 UTC 2024 - Eyad Issa - Update to 1.4.2 * Print more user friendly error when --python version not found * Allow skipping maintenance tasks for list command * Use modern PEP 723 syntax, fix mistake in name * Modernize toml * Verify if script name provided is a file before running it * Fix python path resolution on linux https://github.com/pypa/pipx/releases/tag/1.4.2 ------------------------------------------------------------------- Tue Jan 2 16:49:58 UTC 2024 - Dirk Müller - update to 1.4.1: * Set default logging level to WARNING * Remove `-q` from `list --json` test - update to 1.4.0: * Fix minor grammar error in comparisons.md * Add Scoop installation instructions * Update the installation instructions in docs * Be more user-friendly by pointing to PyPA specifications instead of PEPs * Update troubleshooting URL in bug report template * Allow installing multiple applications at once * [pre-commit.ci] pre-commit autoupdate * Pass real paths when running subprocesses ------------------------------------------------------------------- Fri Dec 8 22:03:05 UTC 2023 - Eyad Issa - Upstream version 1.3.3 - Require python 3.8 or newer ------------------------------------------------------------------- Tue Nov 7 13:01:47 UTC 2023 - Eyad Issa - Upstream version 1.2.1 * Fix compatibility to packaging 23.2+ ------------------------------------------------------------------- Thu Aug 10 07:17:05 UTC 2023 - Daniel Garcia - add sle15_python_module_pythons (jsc#PED-68, jsc#PED-5573) ------------------------------------------------------------------- Fri Jun 9 13:06:20 UTC 2023 - Eyad Issa - 1.2.0 - Add test for pip module in `pipx reinstall` to fix an issue with `pipx reinstall-all` (#935) - Add `pipx uninject` command (#820) - [docs] Fix `pipx run` examples and update Python versions used by `pipx install` examples - [docs] Add an example for installation from source with extras - Match pip's behaviour when package name ends with archive extension (treat it as a path) - Ship a [zipapp](https://docs.python.org/3/library/zipapp.html) of pipx - Change the program name to `path/to/python -m pipx` when running as `python -m pipx` - Improve the detection logic for MSYS2 to avoid entering infinite loop (#908) (#938) - Remove extra trailing quote from exception message - Fix EncodingWarning in `pipx_metadata_file`. - 1.1.0 - Fix encoding issue on Windows when pip fails to install a package - Improve the behaviour of `shlex.split` on Windows, so paths on Windows can be handled peoperly when they are passed in `--pip-args`. (#794) - Add `pipx environment` command (#793) - Add `list --short` option to list only package names (#804) - [docs] Fix the command for [installing development version](https://pypa.github.io/pipx/installation/#install-pipx-development-versions). (#801) - [docs] Fix test status badge in readme file - [docs] Add more examples - [dev] Change github action job names - [docs] Add additional examples for installation from git repos - [packaging] Switch to [PEP 621](https://www.python.org/dev/peps/pep-0621/) - Add a CACHEDIR.TAG to the cache directory to prevent it from being included in archives and backups. For more information about cache directory tags, see https://bford.info/cachedir - 1.0.0 - Support [argcomplete 2.0.0](https://pypi.org/project/argcomplete/2.0.0) (#790) - Include machinery to build a manpage for pipx with [argparse-manpage](https://pypi.org/project/argparse-manpage/). - Add better handling for 'app not found' when a single app is present in the project, and an improved error message (#733) - Fixed animations sending output to stdout, which can break JSON output. (#769) - Fix typo in `pipx upgrade-all` output - 0.17.0 - Support `pipx run` with version constraints and extras. (#697) - 0.16.5 - Fixed `pipx list` output phrasing to convey that python version displayed is the one with which package was installed. - Fixed `pipx install` to provide return code 0 if venv already exists, similar to pip’s behavior. (#736) - [docs] Update ansible's install command in [Programs to Try document](https://pypa.github.io/pipx/programs-to-try/#ansible) to work with Ansible 2.10+ (#742) - 0.16.4 - Fix to `pipx ensurepath` to fix behavior in user locales other than UTF-8, to fix #644. The internal change is to use userpath v1.6.0 or greater. (#700) - Fix virtual environment inspection for Python releases that uses an int for its release serial number. (#706) - Fix PermissionError in windows when pipx manages itself. (#718) - 0.16.3 - Organization: pipx is extremely pleased to now be a project of the Python Packaging Authority (PyPA)! Note that our github URL has changed to [pypa/pipx](https://github.com/pypa/pipx) - Fixed `pipx list --json` to return valid json with no venvs installed. Previously would return an empty string to stdout. (#681) - Changed `pipx ensurepath` bash behavior so that only one of {`~/.profile`, `~/.bash\_profile`} is modified with the extra pipx paths, not both. Previously, if a `.bash_profile` file was created where one didn't exist, it could cause problems, e.g. #456. The internal change is to use userpath v1.5.0 or greater. (#684) - Changed default nox tests, Github Workflow tests, and pytest behavior to use local pypi server with fixed lists of available packages. This allows greater test isolation (no network pypi access needed) and determinism (fixed available dependencies.) It also allows running the tests offline with some extra preparation beforehand (See [Running Unit Tests Offline](https://pypa.github.io/pipx/contributing/#running-unit-tests-offline)). The old style tests that use the internet to access pypi.org are still available using `nox -s tests_internet` or `pytest --net-pypiserver tests`. (#686) * Colorama is now only installed on Windows. (#691) - 0.16.2.1 - Changed non-venv-info warnings and notices from `pipx list` to print to stderr. This especially prevents `pipx list --json` from printing invalid json to stdout. (#680) - Fixed bug that could cause uninstall on Windows with injected packages to uninstall too many apps from the local binary directory. (#679) - 0.16.2.0 - Fixed bug #670 where uninstalling a venv could erroneously uninstall other apps from the local binary directory. (#672) - Added `--json` switch to `pipx list` to output rich json-metadata for all venvs. - Ensured log files are utf-8 encoded to prevent Unicode encoding errors from occurring with emojis. (#646) - Fixed issue which made pipx incorrectly list apps as part of a venv when they were not installed by pipx. (#650) - Fixed old regression that would prevent pipx uninstall from cleaning up linked binaries if the venv was old and did not have pipx metadata. (#651) - Fixed bugs with suffixed-venvs on Windows. Now properly summarizes install, and actually uninstalls associated binaries for suffixed-venvs. (#653) - Changed venv minimum python version to 3.6, removing python 3.5 which is End of Life. (#666) - 0.16.1.0 - Introduce the `pipx.run` entry point group as an alternative way to declare an application for `pipx run`. - Fix cursor show/hide to work with older versions of Windows. (#610) - Support text colors on Windows. (#612) - Better platform unicode detection to avoid errors and allow showing emojis when possible. (#614) - Don't emit show cursor or hide cursor codes if STDERR is not a tty. (#620) - Sped up `pipx list` (#624). - pip errors no longer stream to the shell when pip fails during a pipx install. pip's output is now saved to a log file. In the shell, pipx will tell you the location of the log file and attempt to summarize why pip failed. (#625) - For `reinstall-all`, fixed bug where missing python executable would cause error. (#634) - Fix regression which prevented pipx from working with pythonloc (and `__pypackages__` folder). (#636) - 0.16.0.0 - New venv inspection! The code that pipx uses to examine and determine metadata in an installed venv has been made faster, better, and more reliable. It now uses modern python libraries like `packaging` and `importlib.metadata` to examine installed venvs. It also now properly handles installed package extras. In addition, some problems pipx has had with certain characters (like periods) in package names should be remedied. - Added reinstall command for reinstalling a single venv. - Changed `pipx run` on non-Windows systems to actually replace pipx process with the app process instead of running it as a subprocess. (Now using python's `os.exec*`) - [bugfix] Fixed bug with reinstall-all command when package have been installed using a specifier. Now the initial specifier is used. - [bugfix] Override display of `PIPX_DEFAULT_PYTHON` value when generating web documentation for `pipx install` #523 - [bugfix] Wrap help documentation for environment variables. - [bugfix] Fixed uninstall crash that could happen on Windows for certain packages - [feature] Venv package name arguments now do not have to match exactly as pipx has them stored, but can be specified in any python-package-name-equivalent way. (i.e. case does not matter, and `.`, `-`, `_` characters are interchangeable.) - [change] Venvs with a suffix: A suffix can contain any characters, but for purposes of uniqueness, python package name rules apply--upper- and lower-case letters are equivalent, and any number of `.`, `-`, or `_` characters in a row are equivalent. (e.g. if you have a suffixed venv `pylint_1.0A` you could not add another suffixed venv called `pylint--1-0a`, as it would not be a unique name.) - [implementation detail] Pipx shared libraries (providing pip, setuptools, wheel to pipx) are no longer installed using pip arguments taken from the last regular pipx install. If you need to apply pip arguments to pipx's use of pip for its internal shared libraries, use PIP\_\* environment variables. - [feature] Autocomplete for venv names is no longer restricted to an exact match to the literal venv name, but will autocomplete any logically-similar python package name (i.e. case does not matter, and `.`, `-`, `_` characters are all equivalent.) - pipx now reinstalls its internal shared libraries when the user executes `reinstall-all`. - Made sure shell exit codes from every pipx command are correct. In the past some (like from `pipx upgrade`) were wrong. The exit code from `pipx runpip` is now the exit code from the `pip` command run. The exit code from `pipx list` will be 1 if one or more venvs have problems that need to be addressed. - pipx now writes a log file for each pipx command executed to `$PIPX_HOME/logs`, typically `~/.local/pipx/logs`. pipx keeps the most recent 10 logs and deletes others. - `pipx upgrade` and `pipx upgrade-all` now have a `--upgrade-injected` option which directs pipx to also upgrade injected packages. - `pipx list` now detects, identifies, and suggests a remedy for venvs with old-internal data (internal venv names) that need to be updated. - Added a "Troubleshooting" page to the pipx web documentation for common problems pipx users may encounter. - pipx error, warning, and other messages now word-wrap so words are not split across lines. Their appearance is also now more consistent. - 0.15.6.0 - [docs] Update license - [docs] Display a more idiomatic command for registering completions on fish. - [bugfix] Fixed regression in list, inject, upgrade, reinstall-all commands when suffixed packages are used. - [bugfix] Do not reset package url during upgrade when main package is `pipx` - Updated help text to show description for `ensurepath` and `completions` help - Added support for user-defined default python interpreter via new `PIPX_DEFAULT_PYTHON`. Helpful for use with pyenv among other uses. - [bugfix] Fixed bug where extras were ignored with a PEP 508 package specification with a URL. - 0.15.5.1 - [bugfix] Fixed regression of 0.15.5.0 which erroneously made installing from a local path with package extras not possible. - 0.15.5.0 - pipx now parses package specification before install. It removes (with warning) the `--editable` install option for any package specification that is not a local path. It also removes (with warning) any environment markers. - Disabled animation when we cannot determine terminal size or if the number of columns is too small. (Fixes #444) - [feature] Version of each injected package is now listed after name for `pipx list --include-injected` - Change metadata recorded from version-specified install to allow upgrades in future. Adds pipx dependency on `packaging` package. - [bugfix] Prevent python error in case where package has no pipx metadata and advise user how to fix. - [feature] `ensurepath` now also ensures that pip user binary path containing pipx itself is in user's PATH if pipx was installed using `pip install --user`. - [bugfix] For `pipx install`, fixed failure to install if user has `PIP_USER=1` or `user=true` in pip.conf. (#110) - [bugfix] Requiring userpath v1.4.1 or later so ensure Windows bug is fixed for `ensurepath` (#437) - [feature] log pipx version (#423) - [feature] `--suffix` option for `install` to allow multiple versions of same tool to be installed (#445) - [feature] pipx can now be used with the Windows embeddable Python distribution - 0.15.4.0 - [feature] `list` now has a new option `--include-injected` to show the injected packages in the main apps - [bugfix] Fixed bug that can cause crash when installing an app - 0.15.3.1 - [bugfix] Workaround multiprocessing issues on certain platforms (#229) - 0.15.3.0 - [feature] Use symlinks on Windows when symlinks are available - 0.15.2.0 - [bugfix] Improved error reporting during venv metadata inspection. - [bugfix] Fixed incompatibility with pypy as venv interpreter (#372). - [bugfix] Replaced implicit dependency on setuptools with an explicit dependency on packaging (#339). - [bugfix] Continue reinstalling packages after failure - [bugfix] Hide cursor while pipx runs - [feature] Add environment variable `USE_EMOJI` to allow enabling/disabling emojis (#376) - [refactor] Moved all commands to separate files within the commands module (#255). - [bugfix] Ignore system shared libraries when installing shared libraries pip, wheel, and setuptools. This also fixes an incompatibility with Debian/Ubuntu's version of pip (#386). - 0.15.1.3 - [bugfix] On Windows, pipx now lists correct Windows apps (#217) - [bugfix] Fixed a `pipx install` bug causing incorrect python binary to be used when using the optional --python argument in certain situations, such as running pipx from a Framework python on macOS and specifying a non-Framework python. - 0.15.1.2 - [bugfix] Fix recursive search of dependencies' apps so no apps are missed. - `upgrade-all` now skips editable packages, because pip disallows upgrading editable packages. - 0.15.1.1 - [bugfix] fix regression that caused installing with --editable flag to fail package name determination. - 0.15.1.0 - Add Python 3.8 to PyPI classifier and travis test matrix - [feature] auto-upgrade shared libraries, including pip, if older than one month. Hide all pip warnings that a new version is available. (#264) - [bugfix] pass pip arguments to pip when determining package name (#320) - 0.15.0.0 Upgrade instructions: When upgrading to 0.15.0.0 or above from a pre-0.15.0.0 version, you must re-install all packages to take advantage of the new persistent pipx metadata files introduced in this release. These metadata files store pip specification values, injected packages, any custom pip arguments, and more in each main package's venv. You can do this by running `pipx reinstall-all` or `pipx uninstall-all`, then reinstalling manually. - `install` now has no `--spec` option. You may specify any valid pip specification for `install`'s main argument. - `inject` will now accept pip specifications for dependency arguments - Metadata is now stored for each application installed, including install options like `--spec`, and injected packages. This information allows upgrade, upgrade-all and reinstall-all to work properly even with non-pypi installed packages. (#222) - `upgrade` options `--spec` and `--include-deps` were removed. Pipx now uses the original options used to install each application instead. (#222) - `upgrade-all` options `--include-deps`, `--system-site-packages`, `--index-url`, `--editable`, and `--pip-args` were removed. Pipx now uses the original options used to install each application instead. (#222) - `reinstall-all` options `--include-deps`, `--system-site-packages`, `--index-url`, `--editable`, and `--pip-args` were removed. Pipx now uses the original options used to install each application instead. (#222) - Handle missing interpreters more gracefully (#146) - Change `reinstall-all` to use system python by default for apps. Now use `--python` option to specify a different python version. - Remove the PYTHONPATH environment variable when executing any command to prevent conflicts between pipx dependencies and package dependencies when pipx is installed via homebrew. Homebrew can use PYTHONPATH manipulation instead of virtual environments. (#233) - Add printed summary after successful call to `pipx inject` - Support associating apps with Python 3.5 - Improvements to animation status text - Make `--python` argument in `reinstall-all` command optional - Use threads on OS's without support for semaphores - Stricter parsing when passing `--` argument as delimiter - Removed upstreamed patches: - test_alternative_names.patch ------------------------------------------------------------------- Wed May 6 00:20:19 UTC 2020 - Matej Cepl - Don't use %python3_only command, but properly use alternatives. - Add test_alternative_names.patch to make tests pass even with alternated name of the binary. ------------------------------------------------------------------- Mon Oct 21 14:08:11 UTC 2019 - John Vandenberg - Activate subset of test suite ------------------------------------------------------------------- Wed Sep 11 08:04:57 AM UTC 2019 - John Vandenberg - Initial spec for v0.14.0.0