A comprehensive toolkit for Autodesk Maya providing utilities for modeling, animation, rigging, and UI management.
Project description
mayatk
A collection of utility classes and helper functions for Autodesk Maya — modeling, rigging, animation, materials, scene management, and UI tooling. Built on maya.cmds + maya.api.OpenMaya (no PyMEL).
Installation
pip install mayatk
Requirements: Maya 2025+ (Python 3.11+).
mayatk also ships mayapy-package-manager.bat — an interactive Windows menu for installing/updating/backing up packages in Maya's bundled Python interpreter.
Packages
| Package | What it covers |
|---|---|
anim_utils |
Animation curves, shots, blendshape animation, playblast, smart bake |
audio_utils |
Audio clips, ffmpeg-backed conversion, timeline-keyed events |
cam_utils |
Camera utilities and default-camera handling |
core_utils |
CoreUtils, Components, AutoInstancer, MASH bridge, diagnostics, preview |
display_utils |
Display layers, color management, exploded view |
edit_utils |
Selection, naming, primitives, snap, bevel, bridge, mirror, duplicate (linear/radial/grid), mesh graph |
env_utils |
MayaConnection, workspace, namespace sandbox, references, hierarchy manager, FBX, scene exporter |
light_utils |
Lighting helpers |
mat_utils |
GameShader, RenderOpacity, ImageToPlane, MatUpdater, shader templates, Marmoset bridge |
node_utils |
NodeUtils, Attributes, event triggers, data nodes |
nurbs_utils |
NURBS surfaces, ImageTracer |
rig_utils |
Controls, ShadowRig |
ui_utils |
MayaUiHandler, channel box, native menus, hotkey collision check, node icons |
uv_utils |
UV utilities, Rizom bridge |
xform_utils |
Transforms, matrices, pivot watcher |
Classes and module-level functions are exposed at the package root via the lazy-loading resolver. Both bare and class-qualified forms work:
import mayatk as mtk
@mtk.undoable # bare form — wildcard-exposed
def operation():
mtk.freeze_transforms("pCube1")
# Class-qualified form — explicit, no risk of collision
mtk.NodeUtils.is_group("group1")
mtk.XformUtils.freeze_transforms("pCube1")
mtk.EnvUtils.SCENE_UNIT_VALUES
sel = mtk.Selection()
For the full public surface (auto-generated, refreshed bi-weekly) see API_REGISTRY.md.
Bundled UITK Editors
MayaUiHandler ships with a one-line entry point for launching the
uitk editor windows from a Maya shelf
button or script:
from mayatk.ui_utils.maya_ui_handler import MayaUiHandler
MayaUiHandler.instance().editors.show("browser")
| Editor key | Description |
|---|---|
browser |
Searchable launcher for every UI registered with the switchboard — tags, filtering, hide lists, launch options, JSON-portable presets. |
style |
Theme + QSS variable editor for live restyling of the dark/light themes. |
hotkey |
Keyboard-shortcut editor for slots registered with the switchboard. |
MayaUiHandler.instance() is reentrant: if tentacle (or any other tool)
already created the handler, the call returns the existing singleton; otherwise
it bootstraps one with a fresh Switchboard. The editor window is cached per-handler — clicking the shelf button twice focuses the existing window rather than spawning a duplicate.
Session safety
MayaConnection.connect() defaults to launch=True, force_new_instance=True — every call launches a fresh Maya on an unused port. The user's open session is never touched. The test runner (test/run_tests.py) defaults the same way; only --reuse overrides, and you should not pass it. See CLAUDE.md for the full rule.
Links
- Full API:
API_REGISTRY.md·API_CHANGES.md - Changelog:
CHANGELOG.md - Contributor / AI-agent guide:
CLAUDE.md - PyPI: https://pypi.org/project/mayatk/
- Issues: https://github.com/m3trik/mayatk/issues
License
MIT — see LICENSE.
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 Distributions
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file mayatk-0.12.29-py3-none-any.whl.
File metadata
- Download URL: mayatk-0.12.29-py3-none-any.whl
- Upload date:
- Size: 1.3 MB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.11.15
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
feb6836ce133dc63769b2b724ac5d521d890e97ad6d85f6739df97c3bb80f434
|
|
| MD5 |
53c5cf15ac70d4e9411ee9aee85b0bc5
|
|
| BLAKE2b-256 |
105e83807dcc62aad6dd03a4af74fe8ca3609825a77db4d67bc0e9b4b32c9121
|