Code Monkey home page Code Monkey logo

Comments (9)

exaby73 avatar exaby73 commented on June 16, 2024

Hello @gijswobben. Are you getting this error on all decorators, or only some of them? Could you let me know which version of mypy you're using?

from firebase-functions-python.

gijswobben avatar gijswobben commented on June 16, 2024

Hello @gijswobben. Are you getting this error on all decorators, or only some of them? Could you let me know which version of mypy you're using?

All functions, classes and decorators. Please note that I've already provided the solution as well. Simply adding a empty file called py.typed to the root of the library fixes this (see included links). I'm always running the latest version of mypy.

from firebase-functions-python.

gijswobben avatar gijswobben commented on June 16, 2024

@exaby73, FYI:

image

from firebase-functions-python.

exaby73 avatar exaby73 commented on June 16, 2024

Do you get the same for a simple example like:

from firebase_functions import pubsub_fn


@pubsub_fn.on_message_published()
def some_function():
    pass

After running pylint main.py, I get unrelated lints:

************* Module main
main.py:1:0: C0114: Missing module docstring (missing-module-docstring)
main.py:5:0: C0116: Missing function or method docstring (missing-function-docstring)

------------------------------------------------------------------
Your code has been rated at 3.33/10 (previous run: 0.00/10, +3.33)

from firebase-functions-python.

gijswobben avatar gijswobben commented on June 16, 2024

Do you get the same for a simple example like:

from firebase_functions import pubsub_fn


@pubsub_fn.on_message_published()
def some_function():
    pass

After running pylint main.py, I get unrelated lints:

************* Module main
main.py:1:0: C0114: Missing module docstring (missing-module-docstring)
main.py:5:0: C0116: Missing function or method docstring (missing-function-docstring)

------------------------------------------------------------------
Your code has been rated at 3.33/10 (previous run: 0.00/10, +3.33)

Yes, of course....

image

image

from firebase-functions-python.

exaby73 avatar exaby73 commented on June 16, 2024

Okay so the functions that are decorated are not typed which is the problem, but all the other APIs are typed. This seems like a valid issue and I'll label it. Thanks for catching this one :)

from firebase-functions-python.

gijswobben avatar gijswobben commented on June 16, 2024

Okay so the functions that are decorated are not typed which is the problem, but all the other APIs are typed. This seems like a valid issue and I'll label it. Thanks for catching this one :)

No, you can actually see the types on the decorator function on_message_published. They are there, but types are not exported by default in Python. You have to explicitly export them if you make a library, either through stubs, or by creating a py.typed file.

You can read all about this error on the great documentation by MyPy: https://mypy.readthedocs.io/en/stable/running_mypy.html#missing-library-stubs-or-py-typed-marker

From the documentation:

Mypy will not try inferring the types of any 3rd party libraries you have installed unless they either have declared themselves to be PEP 561 compliant stub package (e.g. with a py.typed file) or have registered themselves on typeshed, the repository of types for the standard library and some 3rd party libraries.

The fix is rather easy, just add a py.typed file.

from firebase-functions-python.

exaby73 avatar exaby73 commented on June 16, 2024

You're welcome to make a PR :) If you do, you can read about our contributing guidelines

from firebase-functions-python.

gijswobben avatar gijswobben commented on June 16, 2024

@exaby73, sure, please have a look at:
#169

from firebase-functions-python.

Related Issues (20)

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.