Plotdevice

Latest version: v1.0.0

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

Scan your dependencies

Page 3 of 6

1.8.1

--------------
* The view now creates an image of the rendered canvas rather than rendering it each time on redraw.
This speeds up scrolling significantly.
* Stop button works -- thanks to code from PyEdit
* Runs under PyObjC 1.4, which means Intel support.
* Panther support was dropped.

1.0.0

-----------------

New Features
* Runs natively on Intel and Apple Silicon and supports retina displays
* Python 3 support (including a bundled 3.10 installation in the app)
* images can now be exported in HEIC format and videos support H.265 (HEVC)
* SVG files can be drawn to the canvas using the `image()` command (thanks to the magical [SwiftDraw](https://github.com/swhitty/SwiftDraw) library)
* image exports have a configurable `zoom` to create 2x/3x/etc ‘retina’ images
* revamped `var()` command for creating GUIs to modify values via sliders, buttons, toggles, etc.
* updated text editor with multiple tabs, new themes, and additional key-binding modes emulating Sublime Text and VS Code
* the module's command line interface is now accessible through `python3 -m plotdevice`
* the command line tool has a new `--install` option to download [PyPI](https://pypi.org) packages for use within the app
* document autosaving is now user-configurable

Bugfixes
* exported images generated on retina machines now have the proper dimensions
* hex colors can now use lowercase letters
* automatic variables like `WIDTH` & `HEIGHT` correctly support the `/` operator
* the Color object's `.blend()` method is working again
* the `read()` command can now handle csv files with spaces in their header row names
* the `translate()` command now incorporates non-pixel grid units set via the `size()` command
* cmyk exports are working reliably for command line `--export` and via the `export(cmyk=True)` method
* arguments defined using the command line tool's `--args` options are now passed to the script's `sys.argv`

Misc. Improvements
* the command line tool can be exited via ctrl-c in addtion to being Quit from the menu bar
* simplified unicode handling (and improved support for normalization of user-provided strings)
* building the module now only requires Xcode command line tools—not a full Xcode.app installation
* the `text()` command will always treat its first argument as content (even if it's not a string) unless a `str`, `xml`, or `src` keyword argument is provided
* the mouse pointer is now visible in full-screen mode (and will auto-hide when inactive)

Unfortunate Casualties
* The NodeBox Libraries (`coreimage`, `colors`, and friends) would require quite a bit of attention to get working properly again.
A first pass can be found in the [`plotdevice-libs` repository](https://github.com/plotdevice/plotdevice-libs) but they're not
ready for prime-time. If you're interested in contributing, this would be a terrific place to start!

1.0rc7

--------------
* Added a button variable:

var("dothething", BUTTON)

If there is a method called "dothething" in your script, it will be called.
The label on the button will be "dothething".

* Fixed "Copy As PDF" to place PDF images, Postscript images, and TIFF files.
(thanks to Peter Lewis for pointing this out)
* Added AppleScript support for running and exporting scripts.

1.0rc6

--------------
* Fixed page numbering.
* Document properties removed from menu.
* Added global variable FRAME, which works in the same way as PAGENUM, but for animations.

1.0rc5

--------------
* Added QuickTime export. (thanks to Bob Ippolito)
* PDF export can now export animations too.
* Default values on var method now register, and booleans work.
* drawpath now works as it should, and accepts a list of points.
* Experimental fix for clipping code.

1.0rc4

--------------
* Uses a scene graph internally for speeding things up. All objects now have an inheritFromContext that copies all state out of the context and into the objects.
* Added animation. Adding a speed method indicates that the script is an animation. Animation scripts have a setup() method that does initial setup, and a draw() method that is called for each frame. You can use the throttle to change parameters while the animation is running.
* Removed document properties and variables. NodeBox doesn't touch the code anymore.
* Added measurements for centimeters, milimeters and inches. Just use 5*cm for 5 centimeters.
* All drawing commands are now methods of the Context object. This makes sure that canvases don't interfere with eachother. NOTE: This will have some problems when drawing from libraries. Most notably, "from DrawingPrimitives import *" doesn't work anymore. However, libraries that do drawing can be imported with ximport("mylibrary") to automatically gain access to the _ctx global that has all drawing methods.
* BezierPaths are no longer lists internally. They can still be accessed as a sequence, but the returned PathElements are not bound to the path. To manipulate the PathElements, iterate over the sequence, do the changes and use the BezierPath constructor with a list of PathElements as argument.

Page 3 of 6

© 2024 Safety CLI Cybersecurity Inc. All Rights Reserved.