python-fire
python-fire copied to clipboard
async callable objects
With the following script:
class Build:
async def __call__(self):
pass
import fire
fire.Fire(dict(build=Build()))
Doing ./test.py build outputs:
NAME
test.py build
SYNOPSIS
test.py build GROUP | COMMAND | VALUE
GROUPS
GROUP is one of the following:
cr_code
code(argcount, posonlyargcount, kwonlyargcount, nlocals, stacksize, flags, codestring, constants, names, varnames, filename, name, firstlineno, lnotab[, freevars[, ce$
cr_frame
COMMANDS
COMMAND is one of the following:
close
close() -> raise GeneratorExit inside coroutine.
send
send(arg) -> send 'arg' into coroutine, return next iterated value or raise StopIteration.
throw
throw(typ[,val[,tb]]) -> raise exception in coroutine, return next iterated value or raise StopIteration.
VALUES
VALUE is one of the following:
cr_await
cr_origin
cr_running
Instead of firing Build().__call__ as expected.
Hello,
This is fixed in #247, ready to merge.
Best regards
I notice the pr imports asyncio. Would this fix work for a script using trio?
@tabbyrobin not sure, what happens when you try ?
It appears to have no added ill effects, but it doesn't fix the issue either. Seems to just do the same as without it. Note: my code imports both trio and asyncio