Skip to content
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

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?

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions