Ditto what Judah said - if you want to use the api, you're gonna either need to know python or C++... and if you don't want to compile...
However, regarding pymel + maya API... first, you need to ask yourself a question: what do you want to use the API for? Are you looking to gain access to all of the API methods / functions to use when writing scripts? Or do you want to write plugins - which allows the creation of custom node types, manipulators, locators, etc, as Count Zero pointed out? It's a very important distinction, because, depending on which you intend to do, there are very different restrictions on what methods / etc you can safely use. If you're doing script-level programming, you can use... pretty much everything. There are dangers associated with mixing in some of the API functions in in scripts (mainly due to issues with undo), but there are ways around these (the simplest / most brute force being just disabling undo, for instance). If this is your goal, then pymel may be a good option for you - it will enable you to get at a lot of the API functionality without the extra hassle that dealing directly with the API can involve. If, on the other hand, you want to do api-level programming - ie, plugins - there are a lot more restrictions on what you can use: essentially, you're stuck with only using what the API provides, and none of the script level stuff - ie, maya.cmds, which has all the mel-like functions you're probably used to. In this context, pymel is less useful, for the simple reason that it's never really been designed to be used in this context. While it does have a fair amount of internal workings for dealing with the api, they're not really easily accessible, and would probably just make things even more confusing for someone new to the API. (We do have plans to eventually provide more API-level support, but that's another discussion entirely...) In either case, though, if your goal is really to LEARN the maya API, pymel is probably NOT the best option. While it provides access to a lot of the API functionality, it's also essentially trying to protect you from it. The goal with pymel is that you shouldn't need to know the details of the api - which is great if you just want to use it, but not if you want to learn it. If you want to learn about the API, then either check out MRV or just use the standard python API... (or, bite the bullet and learn it in C++... the python API is just a crude wrap over the top of the C++ api, and introduces a number of other complications, so in many ways the API only really makes sense when you view it through a C++ lens...) - Paul -- http://groups.google.com/group/python_inside_maya
