Automatic code checking for python works incorrect












1















I try to check my code using special configuration
.pre-commit-config.yaml
repos:





  • repo: https://github.com/ambv/black
    rev: 'stable'
    hooks:




    • id: black
      args: [--py36, --line-length=120, src/webhook_app]
      python-version: python3.6




  • repo: https://github.com/pre-commit/mirrors-mypy
    rev: v0.630
    hooks:




    • id: mypy
      args: [--no-strict-optional, --ignore-missing-imports]




  • repo: https://github.com/pre-commit/pygrep-hooks
    rev: v1.1.0
    hooks:




    • id: python-use-type-annotations




  • repo: https://github.com/pre-commit/mirrors-pylint
    rev: v1.9.1
    hooks:




    • id: pylint


        args: [
    --max-line-length=120,
    --disable=design,
    --disable=missing-docstring,
    --disable=bad-continuation,
    --disable=max-module-lines,
    --disable=useless-super-delegation,
    --disable=import-error,
    --disable=logging-fstring-interpolation,
    --disable=invalid-name,
    --disable=duplicate-code
    ]
    # exclude tests folder and manage.py to be checked
    exclude: 'tests|manage.py'```



  • repo: https://github.com/pre-commit/pre-commit-hooks
    rev: v1.4.0
    hooks:




    • id: flake8
      args: ['--max-line-length=120']

    • id: trailing-whitespace




I start my checking
my code



import warnings
from contextlib import contextmanager
from enum import Enum

from sqlalchemy import create_engine
from sqlalchemy import exc
from sqlalchemy.ext.declarative import DeferredReflection, declarative_base
from sqlalchemy.inspection import inspect
from sqlalchemy.orm import scoped_session, sessionmaker

import structlog


logger = structlog.get_logger(__name__)


class Base(DeferredReflection, declarative_base()): # type: ignore

""" Abstract base class for construction of mappings
based on a deferred reflection step.
All classes inherited from it will be reflected by the time
of calling DeferredReflection.prepare()"""

__abstract__ = True

def __repr__(self):
inspector = inspect(self.__table__)
return "{}({})".format(
self.__class__.__name__,
", ".join("%s=%s" % (column.name, self.__dict__[column.name]) for column in inspector.columns),
)


I got an error from hookid: python-use-type-annotations



src/webhook_app/models.py:17:class Base(DeferredReflection, declarative_base()):  # type: ignore


When I remove # type: ignore python-use-type-annotations says that everything is ok but mypy sends me an error Invalid base class.



Could you please help me?










share|improve this question





























    1















    I try to check my code using special configuration
    .pre-commit-config.yaml
    repos:





    • repo: https://github.com/ambv/black
      rev: 'stable'
      hooks:




      • id: black
        args: [--py36, --line-length=120, src/webhook_app]
        python-version: python3.6




    • repo: https://github.com/pre-commit/mirrors-mypy
      rev: v0.630
      hooks:




      • id: mypy
        args: [--no-strict-optional, --ignore-missing-imports]




    • repo: https://github.com/pre-commit/pygrep-hooks
      rev: v1.1.0
      hooks:




      • id: python-use-type-annotations




    • repo: https://github.com/pre-commit/mirrors-pylint
      rev: v1.9.1
      hooks:




      • id: pylint


          args: [
      --max-line-length=120,
      --disable=design,
      --disable=missing-docstring,
      --disable=bad-continuation,
      --disable=max-module-lines,
      --disable=useless-super-delegation,
      --disable=import-error,
      --disable=logging-fstring-interpolation,
      --disable=invalid-name,
      --disable=duplicate-code
      ]
      # exclude tests folder and manage.py to be checked
      exclude: 'tests|manage.py'```



    • repo: https://github.com/pre-commit/pre-commit-hooks
      rev: v1.4.0
      hooks:




      • id: flake8
        args: ['--max-line-length=120']

      • id: trailing-whitespace




    I start my checking
    my code



    import warnings
    from contextlib import contextmanager
    from enum import Enum

    from sqlalchemy import create_engine
    from sqlalchemy import exc
    from sqlalchemy.ext.declarative import DeferredReflection, declarative_base
    from sqlalchemy.inspection import inspect
    from sqlalchemy.orm import scoped_session, sessionmaker

    import structlog


    logger = structlog.get_logger(__name__)


    class Base(DeferredReflection, declarative_base()): # type: ignore

    """ Abstract base class for construction of mappings
    based on a deferred reflection step.
    All classes inherited from it will be reflected by the time
    of calling DeferredReflection.prepare()"""

    __abstract__ = True

    def __repr__(self):
    inspector = inspect(self.__table__)
    return "{}({})".format(
    self.__class__.__name__,
    ", ".join("%s=%s" % (column.name, self.__dict__[column.name]) for column in inspector.columns),
    )


    I got an error from hookid: python-use-type-annotations



    src/webhook_app/models.py:17:class Base(DeferredReflection, declarative_base()):  # type: ignore


    When I remove # type: ignore python-use-type-annotations says that everything is ok but mypy sends me an error Invalid base class.



    Could you please help me?










    share|improve this question



























      1












      1








      1








      I try to check my code using special configuration
      .pre-commit-config.yaml
      repos:





      • repo: https://github.com/ambv/black
        rev: 'stable'
        hooks:




        • id: black
          args: [--py36, --line-length=120, src/webhook_app]
          python-version: python3.6




      • repo: https://github.com/pre-commit/mirrors-mypy
        rev: v0.630
        hooks:




        • id: mypy
          args: [--no-strict-optional, --ignore-missing-imports]




      • repo: https://github.com/pre-commit/pygrep-hooks
        rev: v1.1.0
        hooks:




        • id: python-use-type-annotations




      • repo: https://github.com/pre-commit/mirrors-pylint
        rev: v1.9.1
        hooks:




        • id: pylint


            args: [
        --max-line-length=120,
        --disable=design,
        --disable=missing-docstring,
        --disable=bad-continuation,
        --disable=max-module-lines,
        --disable=useless-super-delegation,
        --disable=import-error,
        --disable=logging-fstring-interpolation,
        --disable=invalid-name,
        --disable=duplicate-code
        ]
        # exclude tests folder and manage.py to be checked
        exclude: 'tests|manage.py'```



      • repo: https://github.com/pre-commit/pre-commit-hooks
        rev: v1.4.0
        hooks:




        • id: flake8
          args: ['--max-line-length=120']

        • id: trailing-whitespace




      I start my checking
      my code



      import warnings
      from contextlib import contextmanager
      from enum import Enum

      from sqlalchemy import create_engine
      from sqlalchemy import exc
      from sqlalchemy.ext.declarative import DeferredReflection, declarative_base
      from sqlalchemy.inspection import inspect
      from sqlalchemy.orm import scoped_session, sessionmaker

      import structlog


      logger = structlog.get_logger(__name__)


      class Base(DeferredReflection, declarative_base()): # type: ignore

      """ Abstract base class for construction of mappings
      based on a deferred reflection step.
      All classes inherited from it will be reflected by the time
      of calling DeferredReflection.prepare()"""

      __abstract__ = True

      def __repr__(self):
      inspector = inspect(self.__table__)
      return "{}({})".format(
      self.__class__.__name__,
      ", ".join("%s=%s" % (column.name, self.__dict__[column.name]) for column in inspector.columns),
      )


      I got an error from hookid: python-use-type-annotations



      src/webhook_app/models.py:17:class Base(DeferredReflection, declarative_base()):  # type: ignore


      When I remove # type: ignore python-use-type-annotations says that everything is ok but mypy sends me an error Invalid base class.



      Could you please help me?










      share|improve this question
















      I try to check my code using special configuration
      .pre-commit-config.yaml
      repos:





      • repo: https://github.com/ambv/black
        rev: 'stable'
        hooks:




        • id: black
          args: [--py36, --line-length=120, src/webhook_app]
          python-version: python3.6




      • repo: https://github.com/pre-commit/mirrors-mypy
        rev: v0.630
        hooks:




        • id: mypy
          args: [--no-strict-optional, --ignore-missing-imports]




      • repo: https://github.com/pre-commit/pygrep-hooks
        rev: v1.1.0
        hooks:




        • id: python-use-type-annotations




      • repo: https://github.com/pre-commit/mirrors-pylint
        rev: v1.9.1
        hooks:




        • id: pylint


            args: [
        --max-line-length=120,
        --disable=design,
        --disable=missing-docstring,
        --disable=bad-continuation,
        --disable=max-module-lines,
        --disable=useless-super-delegation,
        --disable=import-error,
        --disable=logging-fstring-interpolation,
        --disable=invalid-name,
        --disable=duplicate-code
        ]
        # exclude tests folder and manage.py to be checked
        exclude: 'tests|manage.py'```



      • repo: https://github.com/pre-commit/pre-commit-hooks
        rev: v1.4.0
        hooks:




        • id: flake8
          args: ['--max-line-length=120']

        • id: trailing-whitespace




      I start my checking
      my code



      import warnings
      from contextlib import contextmanager
      from enum import Enum

      from sqlalchemy import create_engine
      from sqlalchemy import exc
      from sqlalchemy.ext.declarative import DeferredReflection, declarative_base
      from sqlalchemy.inspection import inspect
      from sqlalchemy.orm import scoped_session, sessionmaker

      import structlog


      logger = structlog.get_logger(__name__)


      class Base(DeferredReflection, declarative_base()): # type: ignore

      """ Abstract base class for construction of mappings
      based on a deferred reflection step.
      All classes inherited from it will be reflected by the time
      of calling DeferredReflection.prepare()"""

      __abstract__ = True

      def __repr__(self):
      inspector = inspect(self.__table__)
      return "{}({})".format(
      self.__class__.__name__,
      ", ".join("%s=%s" % (column.name, self.__dict__[column.name]) for column in inspector.columns),
      )


      I got an error from hookid: python-use-type-annotations



      src/webhook_app/models.py:17:class Base(DeferredReflection, declarative_base()):  # type: ignore


      When I remove # type: ignore python-use-type-annotations says that everything is ok but mypy sends me an error Invalid base class.



      Could you please help me?







      python error-checking






      share|improve this question















      share|improve this question













      share|improve this question




      share|improve this question








      edited 2 days ago









      Andrew_Lvov

      2,65321927




      2,65321927










      asked 2 days ago









      Mila BogomolovaMila Bogomolova

      162




      162
























          1 Answer
          1






          active

          oldest

          votes


















          2














          I think you're not using declarative_base() properly.



          Base = declarative_base(cls=DeferredReflection)

          class MyClass(Base):
          ...


          or



          Base = declarative_base()

          class MyClass(DeferredReflection, Base):
          ...





          share|improve this answer

























            Your Answer






            StackExchange.ifUsing("editor", function () {
            StackExchange.using("externalEditor", function () {
            StackExchange.using("snippets", function () {
            StackExchange.snippets.init();
            });
            });
            }, "code-snippets");

            StackExchange.ready(function() {
            var channelOptions = {
            tags: "".split(" "),
            id: "1"
            };
            initTagRenderer("".split(" "), "".split(" "), channelOptions);

            StackExchange.using("externalEditor", function() {
            // Have to fire editor after snippets, if snippets enabled
            if (StackExchange.settings.snippets.snippetsEnabled) {
            StackExchange.using("snippets", function() {
            createEditor();
            });
            }
            else {
            createEditor();
            }
            });

            function createEditor() {
            StackExchange.prepareEditor({
            heartbeatType: 'answer',
            autoActivateHeartbeat: false,
            convertImagesToLinks: true,
            noModals: true,
            showLowRepImageUploadWarning: true,
            reputationToPostImages: 10,
            bindNavPrevention: true,
            postfix: "",
            imageUploader: {
            brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
            contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
            allowUrls: true
            },
            onDemand: true,
            discardSelector: ".discard-answer"
            ,immediatelyShowMarkdownHelp:true
            });


            }
            });














            draft saved

            draft discarded


















            StackExchange.ready(
            function () {
            StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f54252459%2fautomatic-code-checking-for-python-works-incorrect%23new-answer', 'question_page');
            }
            );

            Post as a guest















            Required, but never shown

























            1 Answer
            1






            active

            oldest

            votes








            1 Answer
            1






            active

            oldest

            votes









            active

            oldest

            votes






            active

            oldest

            votes









            2














            I think you're not using declarative_base() properly.



            Base = declarative_base(cls=DeferredReflection)

            class MyClass(Base):
            ...


            or



            Base = declarative_base()

            class MyClass(DeferredReflection, Base):
            ...





            share|improve this answer






























              2














              I think you're not using declarative_base() properly.



              Base = declarative_base(cls=DeferredReflection)

              class MyClass(Base):
              ...


              or



              Base = declarative_base()

              class MyClass(DeferredReflection, Base):
              ...





              share|improve this answer




























                2












                2








                2







                I think you're not using declarative_base() properly.



                Base = declarative_base(cls=DeferredReflection)

                class MyClass(Base):
                ...


                or



                Base = declarative_base()

                class MyClass(DeferredReflection, Base):
                ...





                share|improve this answer















                I think you're not using declarative_base() properly.



                Base = declarative_base(cls=DeferredReflection)

                class MyClass(Base):
                ...


                or



                Base = declarative_base()

                class MyClass(DeferredReflection, Base):
                ...






                share|improve this answer














                share|improve this answer



                share|improve this answer








                edited 2 days ago

























                answered 2 days ago









                Rémi HéneaultRémi Héneault

                916




                916






























                    draft saved

                    draft discarded




















































                    Thanks for contributing an answer to Stack Overflow!


                    • Please be sure to answer the question. Provide details and share your research!

                    But avoid



                    • Asking for help, clarification, or responding to other answers.

                    • Making statements based on opinion; back them up with references or personal experience.


                    To learn more, see our tips on writing great answers.




                    draft saved


                    draft discarded














                    StackExchange.ready(
                    function () {
                    StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f54252459%2fautomatic-code-checking-for-python-works-incorrect%23new-answer', 'question_page');
                    }
                    );

                    Post as a guest















                    Required, but never shown





















































                    Required, but never shown














                    Required, but never shown












                    Required, but never shown







                    Required, but never shown

































                    Required, but never shown














                    Required, but never shown












                    Required, but never shown







                    Required, but never shown







                    Popular posts from this blog

                    Liquibase includeAll doesn't find base path

                    How to use setInterval in EJS file?

                    Petrus Granier-Deferre