PlotDevice is a Macintosh application used for computational graphic design. It provides an interactive Python environment where you can create two-dimensional graphics and output them in a variety of vector, bitmap, and animation formats. It is meant both as a sketch environment for exploring generative design and as a general purpose graphics library for use in external Python programs.
PlotDevice scripts can create images from simple geometric primitives, text, and external vector or bitmap images. Drawing commands provide a thin abstraction over macOS's Quartz graphics engine, providing high-quality rendering of 2D imagery and powerful compositing operations.
PlotDevice is a fork of NodeBox 1.9.7rc1 with support for modern versions of Python and Mac OS.
The new version features:
- Runs natively on Intel and Apple Silicon and supports retina displays
- Python 3 only (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 now be drawn to the canvas using the
image()command (thanks to the magical SwiftDraw library) - image exports have a configurable
zoomto 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
--installoption to download PyPI packages for use within the app - document autosaving is now user-configurable
- Bugfixes and misc. improvements detailed in the changelog
Version 0.9.5 added:
- Python 3 compatible
- Can now be built with system Python or Homebrew versions of the interpreter
- Much faster import times on Yosemite thanks to a bundled copy of PyObjC 3.0.4
- HTTP is now handled by the
requestsmodule and caches responses locally - Totally revamped typography system with support for OpenType features, pagination, multi-column text, character geometry, and more
- Added 130+ unit tests (run them with
python setup.py test) plus bugfixes for formeasure(),textpath(),Bezier.fit(),read(), and the Preferences dialog
Version 0.9.4 added:
- Enhanced command line interface.
- New text editor with tab completion, syntax color themes, and emacs/vi bindings.
- Video export in H.264 or animated gif formats (with GCD-based i/o).
- Added support for external editors by reloading the source when changed.
- Build system now works with Xcode or
py2appfor the application andpipfor the module. - Virtualenv support (for both installation of the module and running scripts with dependencies).
- External scripts can use
from plotdevice import *to create a drawing environment. - Simplified bezier & affine transform api using the python ‘with’ statement
- New compositing operations for blend mode, global opacity, and dropshadows
- Simplified typography commands with stylesheet-based character styles
- Now uses the system's Python 2.7 interpreter.
Requirements:
- Mac OS X 11+
- Python 3.6+
Metadata
Release files for plotdevice 1.0.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | Actions |
|---|---|---|---|---|
| plotdevice-1.0.0.tar.gz | 404.3 kB | Without provenance | Details for plotdevice-1.0.0.tar.gz |
Release files / plotdevice-1.0.0.tar.gz
| Download URL | plotdevice-1.0.0.tar.gz |
|---|---|
| Size | 404.3 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
833e0ec5e3b4cdfcacd887827ae932d75fd52dc3cb8b36dc9ee48d6cd7e11050
|
|
BLAKE2b-256 checksum How to use checksums |
38b0761e2632d53ab1db2281ea71f8a2165533fcb5aa02a5bd3fb8a6f5e8d8e0
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/4.0.1 CPython/3.9.13
|
Security for plotdevice 1.0.0
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.