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.
Source Distribution
File details
Details for the file plotdevice-1.0.0.tar.gz
.
File metadata
- Download URL: plotdevice-1.0.0.tar.gz
- Upload date:
- Size: 404.3 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.1 CPython/3.9.13
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 833e0ec5e3b4cdfcacd887827ae932d75fd52dc3cb8b36dc9ee48d6cd7e11050 |
|
MD5 | e6ddd4bf854cc32ec75e4da25fdeeeda |
|
BLAKE2b-256 | 38b0761e2632d53ab1db2281ea71f8a2165533fcb5aa02a5bd3fb8a6f5e8d8e0 |