On Wed, Feb 19, 2014 at 7:33 AM, Oscar Benjamin <oscar.j.benja...@gmail.com> wrote: > I don't really understand why it works that way though. > Looking here > > http://iminuit.github.io/iminuit/api.html#function-sig-label
This API is unusual, but co_argcount and co_varnames should be available and defined as per the spec: http://docs.python.org/2/reference/datamodel#index-59 CPython/PyPy Jython ========================= co_name * co_argcount * co_nlocals * co_varnames * co_cellvars * co_freevars * co_filename * co_firstlineno * co_flags * co_code co_consts co_names co_lnotab co_stacksize The last few attributes aren't relevant to Jython since it's using the JVM. To its credit, util.better_arg_spec does fall back on inspect.getargspec. But then, its ultimate fallback is regex magic: util.arguments_from_docstring. Wow. I guess it's convenient to specify initial values, step size, limits, etc, as keyword arguments for named parameters. I haven't read this whole thread, but here are some source links if the OP is using this iminuit package. The `describe` function is in util.py. https://github.com/iminuit/iminuit/blob/master/iminuit/util.py https://github.com/iminuit/iminuit/blob/master/iminuit/_libiminuit.pyx Some snippets from Minuit.__init__: args = describe(fcn) if forced_parameters is None\ else forced_parameters # ... self.initialvalue = {x:maplookup(kwds,x,0.) for x in args} self.initialerror = \ {x:maplookup(kwds,'error_'+x,1.) for x in args} self.initiallimit = \ {x:maplookup(kwds,'limit_'+x,None) for x in args} self.initialfix = \ {x:maplookup(kwds,'fix_'+x,False) for x in args} # ... self.parameters = args self.args = tuple(self.initialvalue[k] for k in args) self.values = {k:self.initialvalue[k] for k in args} self.errors = {k:self.initialerror[k] for k in args} _______________________________________________ Tutor maillist - Tutor@python.org To unsubscribe or change subscription options: https://mail.python.org/mailman/listinfo/tutor