Wenv

Latest version: v0.5.1

Safety actively analyzes 619369 Python packages for vulnerabilities to keep your Python projects secure.

Scan your dependencies

Page 1 of 2

3.5.3

The above significant change was mandatory for allowing to cleanup a lot of old code and to remove long-standing bugs.

The shell scripts ``wine-python``, ``wine-pip`` and ``wine-pytest`` have been removed. Their functionality was consolidated into a single new script, ``wenv``. One can now call ``wenv python``, ``wenv pip`` and ``wenv pytest``. This change was necessary for allowing a more generic interface to entry points of arbitrary third party packages. Run ``wenv help`` for more information.

The ``version`` configuration parameter for controlling the version of *Wine Python* has been renamed to ``pythonversion``.

Wine 2.x and 3.x are no longer supported. Please use Wine 4.x or later.

On older versions of Linux such as *Ubuntu 14.04* alias *Trusty Tahr* (released 2014), you may observe errors when running ``wenv python``. Most commonly, they will present themselves as ``OSError: [WinError 6] Invalid handle: 'z:\\...`` triggered by calling ``os.listdir`` on a symbolic link ("symlink") to a folder.

*wenv* will use semantic versioning. Breaking changes will be indicated by increasing the second version number, the minor version. Going for example from 0.0.x to 0.1.y or going from 0.1.x to 0.2.y therefore indicates a breaking change.

* FEATURE: Allow `-h` and `--help` as alternatives to `help`.
* FEATURE: ``wineprefix``, ``winedebug`` and ``pythonprefix`` become configuration parameters definable by users allowing custom wine prefixes, wine debug levels and Python installation paths, see issue zugbruecke44.
* FEATURE: All configuration parameters can be overridden with individual environment variables.
* FEATURE: Introduced new exception types specific to *wenv*. Meaningful exception are now raised throughout the package.
* FEATURE: Added official support for CPython 3.8, see zugbruecke56.
* FEATURE: *Wine Python* can be based on beta versions and release candidates of *CPython*.
* FIX: ``wine-pip`` previously would, on every launch, download ``get-pip.py`` and try to install it first before running - even if ``pip`` was already installed. ``wenv pip`` does not show this behavior anymore.
* FIX: ``wine-python``, ``wine-pip`` and ``wenv pytest`` implicitly depended on ``bash``. This dependency has been removed in their successor ``wenv``, see zugbruecke48.
* FIX: ``wine-python`` would fail on systems with old versions of ``libssl`` or broken SSL certificate store configurations, see zugbruecke51. For details on the implemented workaround, see installation instructions in the documentation.
* The configuration module was refactored and made clearer and faster, allowing to implement new options.


Changes

0.5.1

- FEATURE: Prepends empty string to `sys.path` in Wine Python environment, allowing to import modules from the current working directory when running a Windows build of Python <= 3.10.
- FEATURE: New configuration parameter `no_pth_file`, allowing to work around [CPython PR 31542](https://github.com/python/cpython/pull/31542) in CPython >= 3.11. The PR sets `safe_path` to `1` thus avoiding to prepend an empty string to `sys.path` if a pth-file is present.

0.5.0

- FEATURE: Added support for Python 3.11.
- FEATURE: Deal with unexpected configuration parameters, transparently pass them through - required by `zugbruecke`.
- DEV: Cleanup of old workaround configuration parameter (zugbruecke50). Moved mechanism to `zugbruecke` entirely.

0.4.1

- DEV: Cleanup of `docs` folder structure.
- DEV: Include logo in repo.

0.4.0

- FEATURE: Dropped support for Python 3.6.
- FIX: Internal paths were not updated when API calls were used, resulting in bugs in subsequent API calls expecting the paths to be changed.
- FIX: Dropped `requests` as a dependency in favor or standard library's `urllib` for compatibility with `zugbruecke`.
- FIX: Configuration export to dict broken due to false type annotation.
- FIX: CI pipeline, Wine installation.
- DEV: Moved from `setuptools` to `flit` for packaging.
- DEV: Cleanups in documentation configuration for younger versions of Sphinx.

0.3.0

- FEATURE: Added support for Python 3.9 and 3.10.
- FEATURE: Dropped support for Python 3.4 and 3.5.
- FEATURE: Exposed parser for CPython versions, see `wenv.PythonVersion`.
- FEATURE: New functions for querying available Windows Embeddable Python builds from [python.org/downloads](https://www.python.org/downloads/), see `wenv.get_available_python_builds` and `wenv.get_latest_python_build`.
- FEATURE: Experimental support for ARM64 added.
- FEATURE: New command for showing wenv's version: ``wenv version``
- FIX: Wine Python can distinctly refer to and handle alpha, beta, release-candidate and stable builds of CPython.
- FIX: Error handling in package listing for Wine Python environments was broken.
- FIX: Python version parser could not handle Windows ARM64 builds.
- FIX: Configuration expected in `/etc/.wenv.json` and `/etc/wenv.json`, see 15. The support for `/etc/.wenv.json` will be removed in a future release.
- FIX: The names of wine binaries/commands can be configured for special cases like RedHat/Fedora/CentOS wine packages, see zugbruecke70.
- FIX: Configuration module, `wenv.EnvConfig`, is now properly documented and actually usable from outside `wenv`.
- DOCS: Hugely improved.
- DEV: New `makefile` structure for developers.
- DEV: Switched from unsupported `python-language-server` to supported `python-lsp-server`.

Page 1 of 2

© 2024 Safety CLI Cybersecurity Inc. All Rights Reserved.