Skip to content
This repository was archived by the owner on Mar 10, 2020. It is now read-only.
This repository was archived by the owner on Mar 10, 2020. It is now read-only.

Error using type hinting in Python 3.5 with manager.command annotation #169

@martyla

Description

@martyla

I'm trying to use type hinting from PEP 484 valid since Python 3.5, but I'm getting an error: ValueError: Function has keyword-only arguments or annotations, use getfullargspec() API which can support them

Here's a sample:

from flask import Flask
from flask_script import Manager


app = Flask(__name__)
manager = Manager(app)


@manager.command
def test() -> None:
    print('Testing')

if __name__ == "__main__":
    manager.run()

It works fine if I define test() without the -> None annotation

Full stacktrace:

(env)$ python manage.py test
Traceback (most recent call last):
  File "manage.py", line 9, in <module>
    def test() -> None:
  File "/home/martin/tmp/flask-script-error/env/lib/python3.5/site-packages/flask_script/__init__.py", line 285, in command
    command = Command(func)
  File "/home/martin/tmp/flask-script-error/env/lib/python3.5/site-packages/flask_script/commands.py", line 118, in __init__
    args, varargs, keywords, defaults = inspect.getargspec(func)
  File "/usr/lib/python3.5/inspect.py", line 1045, in getargspec
    raise ValueError("Function has keyword-only arguments or annotations"
ValueError: Function has keyword-only arguments or annotations, use getfullargspec() API which can support them

Any ideas?

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions