Git Product home page Git Product logo

pymel's Introduction

pymel

pymel's People

Contributors

googlecodeexporter avatar

Watchers

James Cloos avatar

pymel's Issues

problem with nw flag for the set command

don't know if this is considered a bug

proxySN = 
cmds.shadingNode('surfaceShader',asShader=True,name='pantinProxyGreen')
cmds.sets('pantinProxyGreen',renderable=True,empty=1,noSurfaceShader=True,name='
pantinPr
oxyGreenSG',nw=True)
work

but 
proxySN = 
cmds.shadingNode('surfaceShader',asShader=True,name='pantinProxyGreen')
cmds.sets('pantinProxyGreen',renderable=True,empty=1,noSurfaceShader=True,name='
pantinPr
oxyGreenSG',nw=True)

got this error :

# Error: Flag 'nw' must be passed a boolean argument
# Traceback (most recent call last):
#   File "<maya console>", line 2, in <module>
#   File 
"/Users/colas/Library/Preferences/Autodesk/maya/2008/scripts/pymel/core.py", 
line 
1140, in sets
#     return cmds.sets( *args, **kwargs )
# TypeError: Flag 'nw' must be passed a boolean argument #


Original issue reported on code.google.com by [email protected] on 4 Jun 2008 at 2:57

api.conversions.getMFnInfo doesn't work on non-2009 versions of maya

api.conversions.getMFnInfo will fail if run on a version of maya other than
2009 - I found two problems for maya 2008 (the default constructor for
ApiDocParser sets the version to 2009, and the getClassFilename method
looks for html files with the 2009 naming format).  There may be other
problems with non-2009 versions, however, as the rebuilt info I got looks a
lot less complete than the information pulled from the cached binary... it
looks like the ApiDocParser is in a bit of a state of flux, though, so I'm
going to stop poking my nose into it for the moment. =P


Original issue reported on code.google.com by [email protected] on 11 Jul 2008 at 8:43

Attachments:

mayahook.mayautils.mayaDocsLocation - wrong location if not in default install

mayahook.mayautils.mayaDocsLocation will not return the correct path if the
user has installed the documentation in someplace other than the default -
this can be resolved if the user is simply looking for the documentation
location for the currently running version (ie, if version is None) by calling

cmds.showHelp("", q=True, docs=True )

...a patch for version 627 is included.

Original issue reported on code.google.com by [email protected] on 11 Jul 2008 at 6:45

Attachments:

PyNode fails to identify attributes


type(pymel.PyNode("persp.visibility"))
# Result: <class 'pymel.node.Transform'> # Should've been an Attribute class

type(pymel.PyNode("non.existent"))
# Result: <class 'pymel.node.Attribute'> # Expected result


The code for the PyNode function (in node.py) first checks cmds.nodeType
and uses that if successful; nodeType(node.attribute)==nodeType(node);
PyNode should first check for a "." in strObj, and only if that test is
false use nodeType:


def PyNode(strObj, nodeType=None):
    """Casts a string to a pymel class. Use this function if you are unsure
which class is the right one to use
    for your object."""

    try:
        if '.' in strObj:
            return Attribute(strObj)
    except TypeError:
        raise 'PyNode: expected a string or unicode object, got %s' % type(strObj)

    try:
        if not nodeType:
            nodeType = cmds.nodeType(strObj)
        return getattr(_thisModule, util.capitalize(nodeType) )(strObj)
    except (AttributeError, TypeError): pass

    return DependNode(strObj)

Original issue reported on code.google.com by [email protected] on 15 Jan 2008 at 7:26

no access to file query flags (eg: -amf) via pymel?

0.7.8, Maya 2008, CentOS-4.5

asked about this on python_inside_maya, did not receive an intelligible
answer, so I'm asking here:

is there the pymel equivalent to 'file -q -sn' or 'file -q -amf'?  I can
always use the maya.cmds.file function, but...

With the file cmd being broken up into multiple functions inside pymel.io,
it seems that there's no method for doing these types of queries that I can
find.  


Original issue reported on code.google.com by [email protected] on 10 Apr 2008 at 4:32

Ensure mel2py works for all mel code

there are still a handful of instances where mel2py fails. some of these
result in maya crashing when it is used with pymelScrollFieldReporter. 
test mel2py on the entire maya scripts directory to ensure it works on any
code. ensure that syntax errors are handled gracefully.


Original issue reported on code.google.com by [email protected] on 22 Jan 2008 at 4:29

listConnections with the 'plugs' flag should return plugs (pymel name Attributes) and not nodes (PyNodes) logically ?

Try this

conn =
ShadingEngine('initialShadingGroup').attr('partition').listConnections(source=Tr
ue,
destination=True, plugs=True)
part = conn[0]
print part
part.listConnections(source=True, destination=True, plugs=True)
part.plugAttr()
part.plugNode()
part.node()
Attribute(part).plugAttr()
Attribute(part).plugNode()

Original issue reported on code.google.com by [email protected] on 28 Jan 2008 at 7:33

Importing pymel outside of Maya for the benefit of context-specific auto-completion in a python text editor.

When attempting to import pymel outside of maya on Windows XP:

>>> import pymel
Traceback (most recent call last):
  File "<interactive input>", line 1, in <module>
  File "C:\Program Files\Autodesk\Maya2008\Python\lib\site-
packages\pymel\__init__.py", line 341, in <module>
    del(eval)
NameError: name 'eval' is not defined


Original issue reported on code.google.com by [email protected] on 19 Nov 2007 at 8:03

DependNode._numPartReg regex fails where node_number is preceeded by '_'

0.7.8, Maya 2008, CentOS-4.5

our modelers often use an '_' to visually distinguish the instance number
from the name: foo_12.  This causes a bit of grief in both pymel and
apparently in maya's native 'duplicate' command...

attempting a work-around in pymel revealed this issue with the regex
defined in pymel's DependNode._numPartReg:

print re.search( DependNode._numPartReg, 'foo12' ).groups()
('foo', '12')

print re.search( DependNode._numPartReg, 'foo_12' ).groups()
# Error: 'NoneType' object has no attribute 'groups'
# Traceback (most recent call last):
#   File "<maya console>", line 1, in <module>
# AttributeError: 'NoneType' object has no attribute 'groups' # 

DependNode._numPartReg is:
([a-zA-Z|]+[a-zA-Z0-9_|]*[a-zA-Z]+)([0-9]+)$

regex works better with the underscore in the third character class:
([a-zA-Z|]+[a-zA-Z0-9_|]*[a-zA-Z_]+)([0-9]+)$

<< side note >>
It would also seem that trying to catch an exception raised by this is
problematic; a string exception is raised instead of an Exception object. 
I often use 'except Exception, e:', and got tripped up over this.

# # DeprecationWarning: raising a string exception is deprecated
#  at line: 1308 in
/mainframe/share/internal/devMaya/2008/release/python/pymel/node.py

Original issue reported on code.google.com by [email protected] on 7 Apr 2008 at 7:04

problem to assign value to blendTwoAttr input

don't know if this is considered a bug
foo = createNode ('blendTwoAttr')
foo.input[0] = 4
raise # TypeError: 'Attribute' object does not support item assignment #
but foo.input[0].set(4) work


Original issue reported on code.google.com by [email protected] on 24 Apr 2008 at 4:23

scriptEditor - some commands disappear when "echo all commands" turned on

What steps will reproduce the problem?
1. load the pymelScrollFieldReporter.py plugin loaded / source
scriptEditorPanel.mel
2. check the "Echo All Commands" option
3. create a cube
4. move it once - the move command is echoed
5. move it again - the move command is NOT echoed

Ie, only every other move command will be echoed in the history window if
"Echo All Commands" is on.

Note that this applies regardless of whether the "Convert Mel to Python"
option is checked or not.

I'm using revision 625...

Original issue reported on code.google.com by [email protected] on 8 Jul 2008 at 10:53

Feature request - the pymel classes should be able to create their respective maya node types

By adding the __new__ method to the DependNode class definition we can add
a "create" flag, which would allow the creation a a new node in the scene
according to the class we're instantiating. The return value would
reference that new maya node with the proper name, which (depending on the
implementation) could actually be different from the supplied string
(similar to how maya's 'createNode' works)


Here's an example of implementation, and example usage:
------------------------
class DependNode( _BaseObj ):

    def __new__(cls,name,create=False):
        if create:
            ntype = cls.__name__[0].lower() + cls.__name__[1:]
            name = createNode(ntype,n=name,ss=1)
        return _BaseObj.__new__(cls,name)
   ...
------------------------
n = pm.Transform("persp",create=True)
n.__repr__()
# Result: Transform('persp1')
------------------------

Original issue reported on code.google.com by [email protected] on 24 Jan 2008 at 6:53

ls() functions throws exception with materials=True kwarg

The Maya ls command is faulty in that if you combine -materials with
-showType it doesn't include type information. Because pymel.ls() always
includes showType and assumes that the returned list will contain type
information, it blows up in various and spectacular ways.

I've worked around this by replacing line 965 of general.py (revision 585)
with:

    if kwargs.get("mat") or kwargs.get("materials"):
        tmp = util.listForNone(cmds.ls(*args, **kwargs))
        if tmp:
            tmp = cmds.ls(*tmp, **kwargs)
    else:
        tmp = util.listForNone(cmds.ls(*args, **kwargs))

-dt

Original issue reported on code.google.com by [email protected] on 26 Jun 2008 at 9:32

'addAttr' fails when the 'at' flag is supplied

# Error: global name 'Vector' is not defined

Seems that the Vector class isn't imported into the pymel.node module. I
suspect that the cause of this is that there is a cyclical importing
situation between pymel.node and pymel.vector, where each module imports
the other. I tried moving the import line into the addAttr function
definition, so that the import occurs when needed, and it seems to have
solved the problem.

def addAttr( *args, **kwargs ):
...
    from vector import Vector
    at = kwargs.pop('attributeType', ...

Original issue reported on code.google.com by [email protected] on 7 Feb 2008 at 7:15

Vector Improvements

Posted on behalf of guy_smiley (talha.ahmed at gmail.com)

I have just started using python in maya extensively, and I spent
about a couple of days trying to write wrappers for the existing
maya.cmds module before somebody told me about this. So this is simply
awesome.

Just seeing the the pymel.vector module in version 0.7.8, I have found
a couple of problems like the pow fuction and atan2 function are
missing some return statements. I came to know about this problem
while writing a couple of functions that I miss from mel, such as
"angle", "rot" and "cross"
I would like to propose the following functions for inclusion in the
module.

# Vector.unit() function that doesnt do inplace modification of values
like normalize does but simply returns the unit vector

       def unit(self):
               mag = self.norm()
               if mag > 0:
                       return self/mag
               else:
                       return self.__class__([0,0,0])

# other utility functions such as

def cross(a, b):
       """
       cross Product of Two MVecs
       """
       try:
               return Vector([a.y*b.z - a.z*b.y, a.z*b.x-a.x*b.z,
a.x*b.y-a.y*b.x])
       except:
               raise TypeError, 'Vector::FAILURE in cross'

def angle(a,b):
       """
       Determine the angle between two MVecs
       """
       try:
               return acos(dot(a.unit(),b.unit()))
       except:
               raise TypeError, 'Vector::FAILURE in angle'

def rot(v, axis, theta):
       """
       Rotate MVec v around MVec axis by angle
       based on http://www.cprogramming.com/tutorial/3d/rotation.html
       """
       axis.normalize()
       c = cos(theta)
       s = sin(theta)
       t = 1 - c
       try:
               rotationMatrix = Matrix([[t*pow(axis.x, 2) + c,    t * axis.x
* axis.y - s * axis.z,   t * axis.x * axis.z + s * axis.y,   0], \
                                               [t *axis.x * axis.y + s *
axis.z,   t*pow(axis.y,2) + c,    t *
axis.y * axis.z - s * axis.x,   0],\
                                               [t * axis.x * axis.z - s*
axis.y,   t * axis.y * axis.z + s *
axis.x,   t * pow(axis.z,2) + c,  0],\
                                               [0,0,0,1]])
               return (v * rotationMatrix)

       except:
               raise TypeError, 'Vector::FAILURE in rot'

def deg_to_rad(a):
       return a * pi / 180

def rad_to_deg(b):
       return a * 180 / pi

##########
I would also like to see more functions added to the pymel math
library, atleast the ones that were part of mel math library

Original issue reported on code.google.com by [email protected] on 8 Apr 2008 at 12:29

Rewrite list commands using python API


features:

speed
precludes the need for using nodeType (which is slow)
iterators!
ability to pass pymel node classes to 'type' flag for precise control
fix limitations with many list commands which do not allow flags to work in
conjunction  (ex. -dag and -readOnly )
ability to return trees




Original issue reported on code.google.com by [email protected] on 17 Jan 2008 at 12:29

mel2py failes when pass with a script name that resolves to a fullpath with spaces in it

---Failes:---
mp.mel2py("myScript",verbosity=1)
# Error: (2, 'No such file or directory',
path(u'Documents/maya/scripts/myScript.mel'))
# Traceback (most recent call last):
#   File "<maya console>", line 1, in <module>
#   File "C:\My Documents\PythonPackages\pymel\mel2py.py", line 255, in mel2py
#     data = melfile.bytes()
#   File "C:\Program
Files\Autodesk\Maya2008\Python\lib\site-packages\pymel\path.py", line 525,
in bytes
#   File "C:\Program
Files\Autodesk\Maya2008\Python\lib\site-packages\pymel\path.py", line 521,
in open
# IOError: (2, 'No such file or directory',
path(u'Documents/maya/scripts/myScript.mel')) # 

----Works:---
mp.mel2py("C:/My Documents/maya/scripts/myScript.mel",verbosity=1)
converting mel script C:/My Documents/maya/scripts/myScript.mel

Original issue reported on code.google.com by [email protected] on 24 Jan 2008 at 7:11

What happened to the rename() function??

It fails finding a name() method on the object it is trying to rename...



(core.py, line 1138)

def rename( obj, newname, **kwargs):
    """
Modifications:
    - if the full path to an object is passed as the new name, the
shortname of the object will automatically be used
    """
    # added catch to use object name explicitely when object is a Pymel Node
    if isinstance( newname, node.DependNode ):
        newname = newname.name()
    if isinstance (obj, node.DependNode) :
        obj = obj.name()

    return node.PyNode( cmds.rename( obj.name(), newname, **kwargs ) )

Original issue reported on code.google.com by [email protected] on 20 Mar 2008 at 10:29

melparse - lambdas converted from mel command strings assume 'mm' (maya.mel) is in the global namespace

melparse.py (#1751):

if commandFlag:
    token = 'lambda *args: mm.eval(%s)' % token

It would be wrong to assume "mm" is available. An ugly solution would be:
token = 'lambda *args: __import__("maya.mel",fromlist=['']).eval(%s)' % token

This would make sure the code works, but would be quite incomprehensible
for the common user trying to convert his mel code...

Original issue reported on code.google.com by [email protected] on 28 Mar 2008 at 7:46

unable to set fileRule using workspace.fileRules class variable

0.7.8, Maya 2008, Linux (CentOS-4.5)

print ws.fileRules['particles']
particles
ws.fileRules['particles'] = 'foobar'
# Error: Flag 'fileRule' must be passed a boolean argument when query flag
is set
# Traceback (most recent call last):
#   File "<maya console>", line 1, in <module>
#   File
"/mainframe/share/internal/devMaya/2008/release/python/pymel/core.py", line
157, in __setitem__
#     return cmds.workspace( item, **{'q' : 1, self.entryType: [item,
value] } )
# TypeError: Flag 'fileRule' must be passed a boolean argument when query
flag is set # 


Original issue reported on code.google.com by [email protected] on 2 Apr 2008 at 11:19

Attribute.item() returns a single int, but might be a range when referring to components


I'm considering adding a method Attribute.range() which would always return
a tuple:
myMesh.vtx[20] -> (20,) # or (20,20) ?
myMesh.vtx[20:25] -> (20,25)

Am I missing some pymel feature that deals with this already?
also, these ranges aren't really compatible with python ranges (which are
non-inclusive to the upper-bounds), so there's a potential confusion with
this...
What do you say?

Original issue reported on code.google.com by [email protected] on 16 May 2008 at 2:54

api.conversions.isValidMObject returns true for objects deleted from scene

What steps will reproduce the problem?
from pymel import *
cubeTransform, cubeShape = cmds.polyCube()
myMobj = api.toMObject(cubeTransform)
print "before delete: is valid? %s" % api.isValidMObject(myMobj)
cmds.delete(cubeTransform)
print "after delete: is valid? %s" % api.isValidMObject(myMobj)

What is the expected output? What do you see instead?
Presumably, we would want the output to be:

before delete: is valid? True
after delete: is valid? False

... but what we get is:

before delete: is valid? True
after delete: is valid? True

Since I would assume that in the vast majority of situations we would want
MObjects for dead nodes to be returned as invalid, we could fix this by
having isValidMObject create a temporary MObjectHandle, and then call
isValidMObjectHandle... all uses of inValidMObject within the pymel
codebase would seem to work with this new behavior, and I would assume this
would be what most end users would want / expect as well.

What version of the product are you using? On what operating system?
r627 on Maya 2008 Ext 2, Windows XP


Original issue reported on code.google.com by [email protected] on 11 Jul 2008 at 5:14

Attachments:

something might be wrong in pickWalk

What steps will reproduce the problem?
1. get some selection (transformation node)
2. do: pickWalk(direction='down', type='mesh')
3. error msg

What version of the product are you using? On what operating system?
Maya 8.5sp1, Ubuntu 7.10

Original issue reported on code.google.com by drake.guan on 9 Apr 2008 at 7:13

rename() and <node>.rename() does not update data returned by node's *Name() or __repro

0.7.8, maya 2008, CentOS 4.5

it would also appear that renaming a node causes .longName() to throw an
exception.

running this:
================================
ball = polySphere()[0]
print ' nodeName: %s' % ball.nodeName()
print 'shortName: %s' % ball.shortName()
print ' longName: %s' % ball.longName()

print 'renaming...'

ball.rename('foo')
print ' nodeName: %s' % ball.nodeName()
print 'shortName: %s' % ball.shortName()
try:
    print ' longName: %s' % ball.longName()
except:
    import traceback as tb
    print tb.print_exc()

print ls(type='transform')
================================

returns this:
================================
 nodeName: pSphere1
shortName: pSphere1
 longName: |pSphere1
renaming...
 nodeName: pSphere1
shortName: pSphere1
# Traceback (most recent call last):
#   File "<maya console>", line 13, in <module>
#   File
"/mainframe/share/internal/devMaya/2008/release/python/pymel/node.py", line
1390, in longName
#     return self.__class__( cmds.ls( self, long=True )[0] )
# IndexError: list index out of range
None
[Transform('foo'), Transform('front'), Transform('persp'),
Transform('side'), Transform('top')]
================================

Original issue reported on code.google.com by [email protected] on 4 Apr 2008 at 7:57

setAttr -type "matrix" mysteriously fails


I think it's a maya.cmds bug, but I can implement a fix by running it via 
mel:
def setMatrix(attr, mtx):
    pm.setMelGlobal("float[]","$g_matrix",mtx.toList())
    pm.mel.eval("""setAttr "%s" -type "matrix" $g_matrix[0] $g_matrix[1] 
$g_matrix[2] $g_matrix[3] 
                      $g_matrix[4] $g_matrix[5] $g_matrix[6] $g_matrix[7] 
                      $g_matrix[8] $g_matrix[9] $g_matrix[10] $g_matrix
[11] 
                      $g_matrix[12] $g_matrix[13] $g_matrix[14] $g_matrix
[15];""" % attr)


I'm wondering if it's a good idea to implement this directly into the 
Attribute.set method

Original issue reported on code.google.com by [email protected] on 12 Feb 2008 at 6:40

constraint "getWeight" method doesn't accept target list

Create two objects and an orientConstraint, cannot seem to get the
getWeight method to work :


cons = PyNode('pCube2_orientConstraint1')
type(cons)
# Result: <class 'pymel.node.OrientConstraint'> # 
cons.getWeight('pCube1')
# Error: f() takes exactly 1 argument (2 given)
# Traceback (most recent call last):
#   File "<maya console>", line 1, in <module>
# TypeError: f() takes exactly 1 argument (2 given) # 
cons.getWeight()
# Error: Target list was empty or contained no valid targets.
# Traceback (most recent call last):
#   File "<maya console>", line 1, in <module>
#   File "/usr/local/lib/python2.5/site-packages/pymel/factories.py", line
491, in f
#     return inFunc( self, **kwargs )
# RuntimeError: Target list was empty or contained no valid targets.
#  # 

Original issue reported on code.google.com by [email protected] on 16 Jan 2008 at 7:25

setAttr asString flag for enums

getAttr has a flag called 'asString' which returns an enum as a string
instead of as an int.  setAttr should have the same functionality.

Original issue reported on code.google.com by [email protected] on 24 Apr 2008 at 4:21

Vector and Matrix class methods - inheritance issue

Hello! I am implementing some pymel scripts and I am inheriting from the
pymel Vector and Matrix classes to add some additional methods to them.

I've noticed that these classes explicitly cast the output of certain
methods to their own type, making inheritance a little weird.

Example:
Say the MyVector class inherits from Vector, and implements it's own
__repr__ method, and a method called "test" as well. Note the following
behavior:
>>>x = MyVector()
 x = MyVector()
>>>x
 # Result: MyVector([0, 0, 0]) #
>>>x *= 5
 x *= 5
>>>x
 # Result: Vector([5, 0, 0]) # Note how the class has changed
>>>x.test()
 # AttributeError: 'Vector' object has no attribute 'test' # 

See that the class of x has changed. Inside Vector, __mul__ explicitly
returns an instance of Vector. Now test() will fail.

What is the expected output? What do you see instead?
I would like it if the classes worked with inheritance, perhaps casting
with self.__init__ instead of Vector() or Matrix() calls. I would also like
if __repr__ used __class__.__name__ instead of "Vector" and "Matrix".

What version of the product are you using? On what operating system?
This is pymel version '0.7.8' in Windows XP 32 bit.

Please provide any additional information below.
Thank you for pymel, it is an excellent tool. This is not a big issue as my
situation is a little weird and I can work around. Just thought it was
worth mentioning.

Original issue reported on code.google.com by [email protected] on 19 Aug 2008 at 12:59

PyNode("myMesh").vtx[10] != PyNode("myMesh.vtx[10]")

The first returns a Vertex object, the other return an Attribute object.
This bring up a second issue about the current usability of the component
classes - Attribute objects currently have more functionality in them. 
Should the component classes inherit from the Attribute class?

Original issue reported on code.google.com by [email protected] on 22 May 2008 at 6:06

node.shortName() returns a pymel.node instance, and not a unicode string

0.7.8, maya 2008, CentOS 4-5

don't know if this is considered a bug, or if I'm simply misusing the
methods...

<node>.nodeName() returns a unicode string, but it seems that the other
*Name() methods return a pymel.node instance.  Is this expected?

as far as I can tell, shortName(), longName(), nextName(),
nextUniqueName(), and prevName() all return an instance.


Original issue reported on code.google.com by [email protected] on 7 Apr 2008 at 7:51

Update docs for sets(): need set creation example

v0.7.8

Just about lost my mind when trying to create a new set with sets().  Have
to pass in 'None' as the non-kw arg normally used designate the operating
set (objectSet arg in function definition).

Can the docs be updated with a creation example?  Or create a list of
createFlags, and pass in objectSet via sets(*args)?

newSet1 = sets( name='new1', empty=True )
# Error: sets() takes exactly 1 non-keyword argument (0 given)
# Traceback (most recent call last):
#   File "<maya console>", line 1, in <module>
# TypeError: sets() takes exactly 1 non-keyword argument (0 given) # 

newSet2 = sets( '', name='new2', empty=True )
# Error: Object  is invalid
# Traceback (most recent call last):
#   File "<maya console>", line 1, in <module>
#   File "/corp/home/jburk/maya/scripts/pymel/core.py", line 1140, in sets
#     return cmds.sets( *args, **kwargs )
# TypeError: Object  is invalid # 

newSet3 = sets( None, name='new3', empty=True )
print type(PyNode(newSet3))
<class 'pymel.node.ObjectSet'>





Original issue reported on code.google.com by [email protected] on 20 Mar 2008 at 10:41

radioButtonGrp missing many methods

0.7.8, maya 2008

radioButtonGrp is missing the 'label' methods for when that are only 2 or 3
radioButtons in the grp.

missing methods:
label1()
label2()
label3()
label4()
labelArray2()
labelArray3()
setLabel2()
setLabel3()

actually, it looks like it's missing the on/offCommand[1-3] methods also...

Original issue reported on code.google.com by [email protected] on 2 Apr 2008 at 6:39

pymel.mel.eval method does not return anything

I would expect that running:

import pymel
pymel.mel.eval("sphere")

Would return the result of maya.mel.eval() however it doesn't return a value:

    def eval( self, command ):
        mm.eval( command )    

Original issue reported on code.google.com by [email protected] on 23 Jun 2008 at 6:50

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.