Vpype

Latest version: v1.14.0

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

Scan your dependencies

Page 1 of 6

1.14.0

New features and improvements

* Added support for Python 3.12 and dropped support for Python 3.9 (681)
* Added a `--no-bbox` option to the `layout` command to use the pre-existing page size instead of the geometry bounding box as basis for layout (682)
* Added a `--flip` option to the `reverse` command to also flip the line direction (654)
* Added a `--hyphenate LANG` option to the `text` command (thanks to pepijndevos) (668)

Bug fixes

* Fixed issue with `ImageRenderer` where the GL context wasn't released, ultimately causing a crash when running the test suite (which could involve many hundreds of context creation) (616)
* Fixed CLI help for the `lreverse` command (683)

Other changes

* The project now uses [Ruff](https://github.com/astral-sh/ruff) for linting (supersedes isort) (#646)

1.13.0

[Annotated Release Notes](https://bylr.info/articles/2023/03/13/annotated-release-notes-vpype-1.13/)

New features and improvements

* Added support for Python 3.11 and dropped support for Python 3.8 (581)
* Added the `lid` built-in expression variable for generator and layer processor commands (605)

Bug fixes

* Fixed a design issue with the `read` command where disjoint groups of digits in layer names could be used to determine layer IDs. Only the first contiguous group of digits is used now, so a layer named "01-layer1" has layer ID of 1 instead of 11 (606)
* Fixed an issue on Wayland-based Linux distributions where using the viewer (e.g. with the `show` command) would crash (607)

Known issue

* As of PySide 6.4.2, a refresh issue arises on macOS when the viewer window is resized by a window manager (603)

1.12.1

Bug fixes

* Pinned ModernGL to 5.7.0 or earlier to avoid an [issue](https://github.com/moderngl/moderngl/issues/525) introduced in 5.7.1 (2ce6aef780e8a280375cb230d732d092a0635ad3)

1.12.0

[Annotated Release Notes](https://bylr.info/articles/2022/10/25/annotated-release-notes-vpype-1.12/)

New features and improvements

* The `layout` command now properly handles the `tight` special case by fitting the page size around the existing geometries, accommodating for a margin if provided (556)
* Added new units (`yd`, `mi`, and `km`) (541)
* Added `inch` unit as a synonym to `in`, useful for expressions (in which `in` is a reserved keyword) (541)
* Migrated to PySide6 (from PySide2), which simplifies installation on Apple silicon Macs (552, 559, 567)

Bug fixes

* Fixed a viewer issue where page width/height of 0 would lead to errors and a blank display (555)
* Fixed a viewer issue where fitting the view to the document would not adjust when page size changes (*vsketch* only) (564)

API changes

* Added `vpype.format_length()` to convert pixel length into human-readable string with units (541)

Other changes

* Updated [svgelements](https://github.com/meerk40t/svgelements) to 1.8.4, which fixes issue with some SVG constructs used by Matplotlib exports (#549)
* [Poetry](https://python-poetry.org) 1.2 or later is not required (developer only) (#541)
* A `justfile` is now provided for most common operations (install, build the documentation, etc.) (541)
* Migrated to [Plausible.io](https://plausible.io) (from Google Analytics) for [vpype.readthedocs.io](https://vpype.readthedocs.io) (#546)

1.11.0

Release date: 2022-07-06

[Annotated Release Notes](https://bylr.info/articles/2022/07/06/annotated-release-notes-vpype-1.11/)

New features and improvements

* Added the `splitdist` command to split layers by drawing distance (thanks to LoicGoulefert) (487, 501)
* Added `--keep-page-size` option to `grid` command (506)
* Added meters (`m`) and feet (`ft`) to the supported units (498, 508)
* Improved the `linemerge` algorithm by making it less dependent on line order (496)
* Added HPGL configurations for the Houston Instrument DMP-161, HP7550, Roland DXY 1xxxseries and sketchmate plotters (thanks to jimmykl and ithinkido) (472, 474)
* The `forfile` command now sorts the files by their name before processing them (506)

Bug fixes

* Fixed an issue with blocks where certain nested commands could lead totally unexpected results (506)
* Fixed an issue with the `lmove` command where order would not be respected in certain cases such as `lmove all 2` (the content of layer 2 was placed before that of layer 1) (506)
* Fixed an issue with expressions where some variable names corresponding to units (e.g. `m`) could not be used (expressions may now reuse these names) (506)

API changes

* Removed the faulty `temp_document()` context manager from `vpype_cli.State()` (506)
* Added equality operator to `vpype.LineCollection` and `vpype.Document` (506)

Other changes

* Removed dependence on `setuptools` (454, 468)
* Pinned Shapely to 1.8.2, which is the first release in a long time to have binaries for most platforms/Python release combination (including Apple-silicon Macs and Python 3.10) (475)
* Removed deprecated API (507)

1.10.0

[Annotated Release Notes](https://bylr.info/articles/2022/04/07/annotated-release-notes-vpype-1.10/)

New features and improvements

* Added the `alpha` command to set layer opacity without changing the base color (447, 451)
* Improved support for layer pen width and opacity in the viewer (448)

* The "Pen Width" and "Pen Opacity" menus are now named "Default Pen Width" and "Default Pen Opacity".
* The layer opacity is now used for display by default. It can be overridden by the default pen opacity by checking the "Override" item from the "Default Pen Opacity" menu.
* The layer pen width is now used for display by default as well. Likewise, it can be overridden by checking the "Override" item from the "Default Pen Width" menu.

* Added HPGL configuration for the Calcomp Artisan plotter (thanks to Andee Collard and ithinkido) (418)
* Added the `--dont-set-date` option to the `write` command (442)
* The `read` command now better handles SVGs with missing `width` or `height` attributes (446)

When the `width` or `height` attribute is missing or expressed as percent, the `read` command now attempts to use the `viewBox` attribute to set the page size, defaulting to 1000x1000px if missing. This behavior can be overridden with the `--display-size` and the `--display-landscape` parameters.


Bug fixes

* Fixed an issue with `forlayer` where the `_n` variable was improperly set (443)
* Fixed an issue with `write` where layer opacity was included in the `stroke` attribute instead of using `stroke-opacity`, which, although compliant, was not compatible with Inkscape (429)
* Fixed an issue with `vpype --help` where commands from plug-ins would not be listed (444)
* Fixed a minor issue where plug-ins would be reloaded each time `vpype_cli.execute()` is called (444)
* Fixed a rendering inconsistency in the viewer where the ruler width could vary by one pixel depending on the OpenGL driver/GPU/OS combination (448)


API changes

* Changed the parameter name of both `vpype_viewer.Engine()` and `vpype_viewer.render_image()` from `pen_width` and `pen_opacity` to `default_pen_width` and `default_pen_opacity` (breaking change) (448)
* Added `override_pen_width` and `override_pen_opacity` boolean parameters to both `vpype_viewer.Engine()` and `vpype_viewer.render_image()` (448)
* Added `vpype_cli.FloatType()`, `vpype_cli.IntRangeType()`, `vpype_cli.FloatRangeType()`, and `vpype_cli.ChoiceType()` (430, 447)
* Changed `vpype.Document.add_to_sources()` to also modify the `vp_source` property (431)
* Added a `set_date:bool = True` argument to `vpype.write_svg()` (442)
* Changed the default value of `default_width` and `default_height` arguments of `vpype.read_svg()` (and friends) to `None` to allow `svgelement` better handle missing `width`/`height` attributes (446)


Other changes

* Added support for Python 3.10 and dropped support for Python 3.7 (417)
* Miscellaneous code cleaning and fixes (440, 906087b)
* Updated installation instructions to use pipx (428)
* Updated the [documentation](https://vpype.readthedocs.io/en/latest/) template (#428)
* Updated code base with modern typing syntax (using [pyupgrade](https://github.com/asottile/pyupgrade)) (#427)

Page 1 of 6

© 2024 Safety CLI Cybersecurity Inc. All Rights Reserved.