plupy type index#
plupy · Python guides
Every public type and function of the plupy package, filed by area under types/: Data, Scenes and uses, Components and inputs, Audio, Library, Context and operations, Session, Snapshots (external process). Live handles come from the API (plupy.data, plupy.context, a scene, an object); do not construct them. Members inherited from a base type are documented on that type.
Data#
types/data/ · 15 types
| Type | Kind | Summary |
|---|---|---|
| Data | class | plupy.data: the project's datablocks by kind (objects, scenes, meshes, materials, sounds, …), each a collection to look up, c… |
| DataCollection | class | Datablocks of one kind (plupy.data.objects, .scenes, .materials, .libraries, .matter, or plupy.data.of_type(kind)): look up b… |
| Collection | class | Iterate handles, look up stable IDs first, then exact unambiguous names. No integer indexing. |
| DataBlock | class | Base interface shared by Object, Scene, Library and other datablock handles. |
| Properties | class | A datablock's registered properties as a mapping (block.props): read props[key], write props[key] = value, inspect with schema(). |
| Effect | class | A particle/refraction effect obtained through plupy.data.of_type("effect"). Root values use props; elements use stable IDs. Look values… |
| Mesh | class | A mesh datablock. Its model file can be checked against, or replaced by, another GLB without changing its ID. |
| MeshCollection | class | plupy.data.meshes: primitive, generated and imported (.glb) meshes. |
| Sprite | class | A sprite datablock (plupy.data.sprites[...]): an image for material maps and Sprite Renderer 2D, with its import settings. |
| SpriteCollection | class | plupy.data.sprites: images for material maps and 2D renderers, imported from files. |
| FontCollection | class | plupy.data.fonts: fonts for Text components, imported from .ttf or .otf files. |
| ShapeCollection | class | plupy.data.shapes: physics shapes, made fitted to an object's mesh or by kind and size. |
| PhysicsMaterialCollection | class | plupy.data.physics_materials: friction and restitution for Rigid Bodies. |
| Shader | class | A shader definition shared by materials: surface model, exposed parameter declarations and defaults. Create one through `plupy.data.shade… |
| ShaderCollection | class | plupy.data.shaders: look up shader handles, create built-in shaders or author Lit/Unlit Slang shaders. Materials reference these handle… |
Scenes and uses#
types/scenes/ · 8 types
| Type | Kind | Summary |
|---|---|---|
| Scene | class | A scene datablock: its placed objects (objects, roots), its collections and a raycast against the authored meshes. Create one with `p… |
| Uses | class | The uses placed in a scene or under a parent use (scene.objects, scene.roots, use.children): look up by ID or unambiguous name, ite… |
| Use | class | A placed object: an object datablock's use in a scene (a root) or under another use (a child), with its own name, transform and input val… |
| Transform | class | Write-through channel view; numeric vectors are immutable tuples. 3D rotation is XYZW quaternion. |
| SceneCollections | class | A scene's collections (scene.collections): look up by ID or name, iterate, new(name). |
| SceneCollection | class | A named group of a scene's root uses (scene.collections[...]), with an active switch. |
| Object | class | An object datablock (plupy.data.objects[...]): reusable data with components, declared inputs and wireable pins. Place it with `s… |
| ComponentGroup | class | Shared component bundle; its components, inputs and pins edit the group definition. |
Components and inputs#
types/components/ · 10 types
| Type | Kind | Summary |
|---|---|---|
| Components | class | The components stored on an object or component group (obj.components): look up by ID or unambiguous name, iterate, find(key), `choic… |
| Component | class | A component stored on an object or component group (obj.components[...]): its catalog key, its props and its wireable pins. |
| ComponentProperties | class | A component's fields as a mapping (component.props): read, write and reset the stored values, including script fields and datablock ref… |
| Pins | class | The wireable fields of a component or object as a mapping (component.pins, obj.pins): values by name, and typed Pin handles. |
| Pin | class | A wireable field of a component or object (pins.pin(key)): its authored value, and expose to declare an input for it. |
| Inputs | class | Declared inputs as a mapping: on an object (obj.inputs) their defaults and wiring; on a use (use.inputs) that use's values. |
| Scripts | class | plupy.scripts: create a C# script file and attach compiled scripts to objects. |
| EvaluatedUse | class | A use's resolved values after inputs, wires and group composition (use.evaluated): read-only props, inputs and transforms. |
| EvaluatedProperties | class | Read-only object properties after inputs and wiring (use.evaluated.props). |
| EvaluatedInputs | class | Read-only resolved input values, including values forwarded from outer uses (use.evaluated.inputs). |
Audio#
types/audio/ · 8 types
| Type | Kind | Summary |
|---|---|---|
| Sound | class | A Sound. Its settings are props (sound.volumeDb, sound.loop, …); keyzones map other Sounds over ranges of notes (a drum kit: one zone per… |
| SoundCollection | class | plupy.data.sounds: Sounds imported from .wav files or SoundFont presets, or empty ones to fill with keyzones. |
| SoundSequence | class | A tracker sequence. Its settings are props (sequence.bpm, sequence.rowsPerBeat, sequence.beatsPerBar, sequence.loop); its instruments, tr… |
| SoundSequenceCollection | class | plupy.data.sound_sequences: tracker sequences, new or imported from MIDI. |
| EffectChain | class | Audio effects every note of a Sound plays through, in order (assign with sound.props["sound.effects"] = chain). Kinds: "filter" (mode "Lo… |
| EffectChainCollection | class | plupy.data.effect_chains: audio effect chains (filter, gainer, delay, reverb). |
| ModulationChain | class | Envelopes every note of a Sound plays through (assign with sound.props["sound.modulation"] = chain). Modulators are AHDSR envelopes on "v… |
| ModulationChainCollection | class | plupy.data.modulation_chains: envelope chains that shape every note of a Sound. |
Library#
types/library/ · 2 types
| Type | Kind | Summary |
|---|---|---|
| Library | class | A Library datablock (plupy.data.libraries[...]): folders of shelved datablocks, starting at folder(). |
| LibraryFolder | class | A folder of a Library (library.folder(path)): its shelved items, its child folders, and new, add and remove. |
Context and operations#
types/context/ · 6 types
| Type | Kind | Summary |
|---|---|---|
| Context | class | plupy.context: the scene, selection and area an operation works in. Each run starts empty; use(...) sets them for a block without cha… |
| Ops | class | plupy.ops: editing operations; object holds the ones on scene uses. |
| ObjectOps | class | plupy.ops.object: operations on scene uses (move). |
| Node | class | A selected structural node in the Nodes area (plupy.context.selected). Shared custom-definition nodes are returned as ordinary `DataBlo… |
| FileSelection | class | A selected project file (plupy.context.selected in the Data area). |
| LibrarySelection | class | A selected Library entry or folder (plupy.context.selected in the Library area). |
Session#
types/session/ · 4 types
| Type | Kind | Summary |
|---|---|---|
| edit | function | Group authoring writes into one commit and one editor Undo step: with plupy.edit("Place crates"):. |
| PlupyError | exception | An authoring request was rejected by the owning session. |
| AmbiguousError | exception | A name matched several items; use a stable ID instead. |
| Handle | class | The base of every live handle: id, type and name; equal when they name the same item in one session. |
Snapshots (external process)#
types/snapshots/ · 8 types
| Type | Kind | Summary |
|---|---|---|
| Project | class | A read-only project snapshot from an external process (plupy.Project.open(path, executable)). |
| inspect_scene | function | Runs --inspect-scene for a scene ID, with the same 60-second timeout. Returns resolved values without loading gameplay. |
| Scene (snapshot) | class | A scene's resolved values from an external process (plupy.inspect_scene), without loading gameplay. The live scene handle is a differen… |
| Occurrence | class | A placed object in a scene snapshot with its effective property values. |
| EffectiveProperty | class | One resolved property of an occurrence with the chain of origins that produced its value. |
| ValueOrigin | class | Where an effective value came from: the datablock, occurrence and input that supplied it. |
| Datablock | class | A datablock in a project snapshot (project.datablocks): a copy of its identity, file, image size and references, not an editable handle. |
| Property | class | A registered property of a datablock kind in a snapshot (project.properties_for(kind)). |