Home Technical Talk

MRV Development Framework - Preview

MRV is an open-source multi-platform python development environment to ease rapid development of maintainable, reliable and high-performance code to be used in and around Autodesk Maya.

MRV adds a lightweight convenience layer on top of the Maya API exposed to python, correcting inconveniences and sources for common programming errors on the way. It essentially enables a more efficient way of using the Maya API by allowing more intuitive access to maya's nodes, the DAG and the dependency graph. In effect, it greatly improves the programmers productivity.

As programming convenience within python is achieved at runtime, it clearly comes at the cost of performance, which is why MRV will always allow you to operate directly on MayaAPI objects, bypassing the convenience wrapper to optimize tight loops or performance critical sections if needed.

As an additional benefit, it provides an extensible undo system to enable undo for the most common wrapped API operations, hence programs requiring user interaction will work natively within maya at no additional development costs, undo usually does not need to be implemented explicitly. If no undo is required, MRV can automatically use alternative implementations which incur no undo overhead at all to additionally boost performance in non-gui modes of operation.

MRV is versatile, as it runs on all platforms supported by Maya, starting at Maya 8.5 up to the latest version. Using MRV it is easy to write standalone applications, using a standalone python interpreter as long as access to the maya python libraries is available.

MRV is extensible, allowing you to add convenient interfaces to your plug-in nodes without any boilerplate code. You can configure and define every aspect to your liking or your specific needs, making it especially useful for 3D-production pipeline development.

Reliability is a major concern, hence everything within MRV is backed up by unittests. New features are implemented using test-driven development practices , new releases are only done if no unittest fails on any supported platform.


If you want to learn more, please have a look at the online documentation at

http://packages.python.org/MRV/index.html

Kind Regards,
Byron
Sign In or Register to comment.