Create two-dimensional graphics and animations with code
Project description
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
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 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
requests
module 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
py2app
for the application andpip
for 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+
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.