Re: [pylons-discuss] Getting error when running inspect in python 3.11, win11

2023-11-15 Thread Oberdan Santos
Obrigado Michael!!

Com os melhores cumprimentos / Best regards / Cordialement / Saludos
cordiales
Oberdan Costa , PhD
oberdan.co...@ufp.edu.pt
Tele móvel : +55 98 98802 1333
https://orcid.org/-0002-2448-5247
https://www.linkedin.com/in/oberdan-costa-0807572/




Em ter., 14 de nov. de 2023 às 23:43, Michael Merickel 
escreveu:

> Just fyi there is a pull request on pastedeploy that patches the inspect
> issue on 3.12. I’m planning to get that released when I can find time this
> week.
>
> - Michael
>
> > On Nov 14, 2023, at 15:34, Laurent Daverio  wrote:
> >
> > Glad to hear that, and many thanks for offering :) I'll let you know if
> I need.
> >
> > You just mentioned a database, and it may be totally
> > irrelevant/unrelated, but it occurs to me that SQLAlchemy also has an
> > "inspect" function, which you use for introspecting your database. I
> > do use it, unlike the standard "inspect" :)
> >
> > All the best,
> >
> > Laurent.
> >
> >> Le mar. 14 nov. 2023 à 22:29, Oberdan Santos  a
> écrit :
> >>
> >>
> >> Thanks for the support. The error is gone, now I can see communication
> with the database.
> >> My specialty is developing prediction models (Machine learning). If you
> need anything in this field, I am at your disposal.
> >>> Em terça-feira, 14 de novembro de 2023 às 17:17:54 UTC-3, Laurent
> Daverio escreveu:
> >>>
> >>> Our messages crossed, my previous one contains the answer to your
> question:
> >>>
> >>>
> https://github.com/Pylons/pastedeploy/blame/main/src/paste/deploy/util.py#L36
> >>>
> >>> Le mar. 14 nov. 2023 à 21:13, Oberdan Santos  a
> écrit :
> 
>  Checking the literature on some sites, I see that I have two options
> ( inspect.signature() or inspect.getfullargspec() to solve the problem. The
> question is: How to use inspect.signature() or the other option, where to
> change it ? .The following is the function that was throwing error.
> 
>  import inspect
>  import sys
> 
>  try:
>  import importlib.metadata as importlib_metadata # noqa F401
>  except ImportError: # pragma: no cover
>  # bw-compat shim for py37
>  import importlib_metadata # noqa F401
> 
> 
>  def fix_type_error(exc_info, callable, varargs, kwargs):
>  """
>  Given an exception, this will test if the exception was due to a
>  signature error, and annotate the error with better information if
>  so.
> 
>  Usage::
> 
>  try:
>  val = callable(*args, **kw)
>  except TypeError:
>  exc_info = fix_type_error(None, callable, args, kw)
>  raise exc_info[0], exc_info[1], exc_info[2]
>  """
>  if exc_info is None:
>  exc_info = sys.exc_info()
>  if (
>  exc_info[0] != TypeError
>  or str(exc_info[1]).find('arguments') == -1
>  or getattr(exc_info[1], '_type_error_fixed', False)
>  ):
>  return exc_info
>  exc_info[1]._type_error_fixed = True
>  argspec = inspect.formatargspec(*inspect.getargspec(callable))
>  args = ', '.join(map(_short_repr, varargs))
>  if kwargs and args:
>  args += ', '
>  if kwargs:
>  kwargs = sorted(kwargs.items())
>  args += ', '.join(['%s=...' % n for n, v in kwargs])
>  gotspec = '(%s)' % args
>  msg = f'{exc_info[1]}; got {gotspec}, wanted {argspec}'
>  exc_info[1].args = (msg,)
>  return exc_info
> 
> 
> 
>  Desde já agradeço,
>  ]
>  Oberdan Costa
> 
>  Em terça-feira, 14 de novembro de 2023 às 16:15:50 UTC-3, Oberdan
> Santos escreveu:
> >
> > Thanks again for your attention. I will provide a brief
> contextualization.
> > I have a script based on FASTAPI for predicting the risk of chronic
> non-communicable diseases to aid clinical decision making in primary health
> care (backend), for now I will leave it like that. it works perfectly.
> > On the frontend I use streamlit to obtain the results of up to 10
> chronic diseases simultaneously. This ended up growing to include other
> modules (routing and intelligent management). At the moment I'm looking for
> a robust framework for this application purpose and the pyramid environment
> has allowed me to move in this direction (I'm based on cookiecutter) for my
> first experiences. I have a modular division already structured.
> > Now I'm trying to connect to my database structure and I'm
> encountering this error when I run my application. From the request: I need
> help to take this step and fix this problem.
> >
> > Em terça-feira, 14 de novembro de 2023 às 16:00:06 UTC-3, Laurent
> Daverio escreveu:
> >>
> >>> The application I am requesting support for is based on the Pyramd
> Cookiecutter application framework. In this sense, my question is pertinent.
> >>
> >> Oh, I see why you posted here, sorry then. For my defence, you
> >> provided no context, no traceback, nothing indicating you were
> indeed
> >> referring to Pyramid. You only wrote "When trying to run my 

Re: [pylons-discuss] Getting error when running inspect in python 3.11, win11

2023-11-14 Thread Michael Merickel
Just fyi there is a pull request on pastedeploy that patches the inspect issue 
on 3.12. I’m planning to get that released when I can find time this week. 

- Michael

> On Nov 14, 2023, at 15:34, Laurent Daverio  wrote:
> 
> Glad to hear that, and many thanks for offering :) I'll let you know if I 
> need.
> 
> You just mentioned a database, and it may be totally
> irrelevant/unrelated, but it occurs to me that SQLAlchemy also has an
> "inspect" function, which you use for introspecting your database. I
> do use it, unlike the standard "inspect" :)
> 
> All the best,
> 
> Laurent.
> 
>> Le mar. 14 nov. 2023 à 22:29, Oberdan Santos  a écrit :
>> 
>> 
>> Thanks for the support. The error is gone, now I can see communication with 
>> the database.
>> My specialty is developing prediction models (Machine learning). If you need 
>> anything in this field, I am at your disposal.
>>> Em terça-feira, 14 de novembro de 2023 às 17:17:54 UTC-3, Laurent Daverio 
>>> escreveu:
>>> 
>>> Our messages crossed, my previous one contains the answer to your question:
>>> 
>>> https://github.com/Pylons/pastedeploy/blame/main/src/paste/deploy/util.py#L36
>>> 
>>> Le mar. 14 nov. 2023 à 21:13, Oberdan Santos  a écrit :
 
 Checking the literature on some sites, I see that I have two options ( 
 inspect.signature() or inspect.getfullargspec() to solve the problem. The 
 question is: How to use inspect.signature() or the other option, where to 
 change it ? .The following is the function that was throwing error.
 
 import inspect
 import sys
 
 try:
 import importlib.metadata as importlib_metadata # noqa F401
 except ImportError: # pragma: no cover
 # bw-compat shim for py37
 import importlib_metadata # noqa F401
 
 
 def fix_type_error(exc_info, callable, varargs, kwargs):
 """
 Given an exception, this will test if the exception was due to a
 signature error, and annotate the error with better information if
 so.
 
 Usage::
 
 try:
 val = callable(*args, **kw)
 except TypeError:
 exc_info = fix_type_error(None, callable, args, kw)
 raise exc_info[0], exc_info[1], exc_info[2]
 """
 if exc_info is None:
 exc_info = sys.exc_info()
 if (
 exc_info[0] != TypeError
 or str(exc_info[1]).find('arguments') == -1
 or getattr(exc_info[1], '_type_error_fixed', False)
 ):
 return exc_info
 exc_info[1]._type_error_fixed = True
 argspec = inspect.formatargspec(*inspect.getargspec(callable))
 args = ', '.join(map(_short_repr, varargs))
 if kwargs and args:
 args += ', '
 if kwargs:
 kwargs = sorted(kwargs.items())
 args += ', '.join(['%s=...' % n for n, v in kwargs])
 gotspec = '(%s)' % args
 msg = f'{exc_info[1]}; got {gotspec}, wanted {argspec}'
 exc_info[1].args = (msg,)
 return exc_info
 
 
 
 Desde já agradeço,
 ]
 Oberdan Costa
 
 Em terça-feira, 14 de novembro de 2023 às 16:15:50 UTC-3, Oberdan Santos 
 escreveu:
> 
> Thanks again for your attention. I will provide a brief contextualization.
> I have a script based on FASTAPI for predicting the risk of chronic 
> non-communicable diseases to aid clinical decision making in primary 
> health care (backend), for now I will leave it like that. it works 
> perfectly.
> On the frontend I use streamlit to obtain the results of up to 10 chronic 
> diseases simultaneously. This ended up growing to include other modules 
> (routing and intelligent management). At the moment I'm looking for a 
> robust framework for this application purpose and the pyramid environment 
> has allowed me to move in this direction (I'm based on cookiecutter) for 
> my first experiences. I have a modular division already structured.
> Now I'm trying to connect to my database structure and I'm encountering 
> this error when I run my application. From the request: I need help to 
> take this step and fix this problem.
> 
> Em terça-feira, 14 de novembro de 2023 às 16:00:06 UTC-3, Laurent Daverio 
> escreveu:
>> 
>>> The application I am requesting support for is based on the Pyramd 
>>> Cookiecutter application framework. In this sense, my question is 
>>> pertinent.
>> 
>> Oh, I see why you posted here, sorry then. For my defence, you
>> provided no context, no traceback, nothing indicating you were indeed
>> referring to Pyramid. You only wrote "When trying to run my code I am
>> receiving an error", and your code was only standard Python.
>> 
>>> Why does pyramid continue to carry this module in its base application 
>>> structures, such as cookiecutter?
>> 
>> Actually, I'm not sure what problem you encountered :
>> 
>> - it could be in the cookiecutter module, which is not related to
>> Pyramid at all. It's definitely not a "base application 

Re: [pylons-discuss] Getting error when running inspect in python 3.11, win11

2023-11-14 Thread Laurent Daverio
Glad to hear that, and many thanks for offering :) I'll let you know if I need.

You just mentioned a database, and it may be totally
irrelevant/unrelated, but it occurs to me that SQLAlchemy also has an
"inspect" function, which you use for introspecting your database. I
do use it, unlike the standard "inspect" :)

All the best,

Laurent.

Le mar. 14 nov. 2023 à 22:29, Oberdan Santos  a écrit :
>
>
> Thanks for the support. The error is gone, now I can see communication with 
> the database.
> My specialty is developing prediction models (Machine learning). If you need 
> anything in this field, I am at your disposal.
> Em terça-feira, 14 de novembro de 2023 às 17:17:54 UTC-3, Laurent Daverio 
> escreveu:
>>
>> Our messages crossed, my previous one contains the answer to your question:
>>
>> https://github.com/Pylons/pastedeploy/blame/main/src/paste/deploy/util.py#L36
>>
>> Le mar. 14 nov. 2023 à 21:13, Oberdan Santos  a écrit :
>> >
>> > Checking the literature on some sites, I see that I have two options ( 
>> > inspect.signature() or inspect.getfullargspec() to solve the problem. The 
>> > question is: How to use inspect.signature() or the other option, where to 
>> > change it ? .The following is the function that was throwing error.
>> >
>> > import inspect
>> > import sys
>> >
>> > try:
>> > import importlib.metadata as importlib_metadata # noqa F401
>> > except ImportError: # pragma: no cover
>> > # bw-compat shim for py37
>> > import importlib_metadata # noqa F401
>> >
>> >
>> > def fix_type_error(exc_info, callable, varargs, kwargs):
>> > """
>> > Given an exception, this will test if the exception was due to a
>> > signature error, and annotate the error with better information if
>> > so.
>> >
>> > Usage::
>> >
>> > try:
>> > val = callable(*args, **kw)
>> > except TypeError:
>> > exc_info = fix_type_error(None, callable, args, kw)
>> > raise exc_info[0], exc_info[1], exc_info[2]
>> > """
>> > if exc_info is None:
>> > exc_info = sys.exc_info()
>> > if (
>> > exc_info[0] != TypeError
>> > or str(exc_info[1]).find('arguments') == -1
>> > or getattr(exc_info[1], '_type_error_fixed', False)
>> > ):
>> > return exc_info
>> > exc_info[1]._type_error_fixed = True
>> > argspec = inspect.formatargspec(*inspect.getargspec(callable))
>> > args = ', '.join(map(_short_repr, varargs))
>> > if kwargs and args:
>> > args += ', '
>> > if kwargs:
>> > kwargs = sorted(kwargs.items())
>> > args += ', '.join(['%s=...' % n for n, v in kwargs])
>> > gotspec = '(%s)' % args
>> > msg = f'{exc_info[1]}; got {gotspec}, wanted {argspec}'
>> > exc_info[1].args = (msg,)
>> > return exc_info
>> >
>> >
>> >
>> > Desde já agradeço,
>> > ]
>> > Oberdan Costa
>> >
>> > Em terça-feira, 14 de novembro de 2023 às 16:15:50 UTC-3, Oberdan Santos 
>> > escreveu:
>> >>
>> >> Thanks again for your attention. I will provide a brief contextualization.
>> >> I have a script based on FASTAPI for predicting the risk of chronic 
>> >> non-communicable diseases to aid clinical decision making in primary 
>> >> health care (backend), for now I will leave it like that. it works 
>> >> perfectly.
>> >> On the frontend I use streamlit to obtain the results of up to 10 chronic 
>> >> diseases simultaneously. This ended up growing to include other modules 
>> >> (routing and intelligent management). At the moment I'm looking for a 
>> >> robust framework for this application purpose and the pyramid environment 
>> >> has allowed me to move in this direction (I'm based on cookiecutter) for 
>> >> my first experiences. I have a modular division already structured.
>> >> Now I'm trying to connect to my database structure and I'm encountering 
>> >> this error when I run my application. From the request: I need help to 
>> >> take this step and fix this problem.
>> >>
>> >> Em terça-feira, 14 de novembro de 2023 às 16:00:06 UTC-3, Laurent Daverio 
>> >> escreveu:
>> >>>
>> >>> > The application I am requesting support for is based on the Pyramd 
>> >>> > Cookiecutter application framework. In this sense, my question is 
>> >>> > pertinent.
>> >>>
>> >>> Oh, I see why you posted here, sorry then. For my defence, you
>> >>> provided no context, no traceback, nothing indicating you were indeed
>> >>> referring to Pyramid. You only wrote "When trying to run my code I am
>> >>> receiving an error", and your code was only standard Python.
>> >>>
>> >>> > Why does pyramid continue to carry this module in its base application 
>> >>> > structures, such as cookiecutter?
>> >>>
>> >>> Actually, I'm not sure what problem you encountered :
>> >>>
>> >>> - it could be in the cookiecutter module, which is not related to
>> >>> Pyramid at all. It's definitely not a "base application structure" of
>> >>> Pyramid. I don't use "cookiecutter" very often, but I'm pretty sure I
>> >>> have used it with Python 3.11, and had no problem.
>> >>>
>> >>> - it could be in the Pyramid scaffold you used, which is indirectly
>> >>> related to Pyramid. I haven't used the "official" 

Re: [pylons-discuss] Getting error when running inspect in python 3.11, win11

2023-11-14 Thread Oberdan Santos

Thanks for the support. The error is gone, now I can see communication with 
the database.
My specialty is developing prediction models (Machine learning). If you 
need anything in this field, I am at your disposal.
Em terça-feira, 14 de novembro de 2023 às 17:17:54 UTC-3, Laurent Daverio 
escreveu:

> Our messages crossed, my previous one contains the answer to your question:
>
>
> https://github.com/Pylons/pastedeploy/blame/main/src/paste/deploy/util.py#L36
>
> Le mar. 14 nov. 2023 à 21:13, Oberdan Santos  a écrit 
> :
> >
> > Checking the literature on some sites, I see that I have two options ( 
> inspect.signature() or inspect.getfullargspec() to solve the problem. The 
> question is: How to use inspect.signature() or the other option, where to 
> change it ? .The following is the function that was throwing error.
> >
> > import inspect
> > import sys
> >
> > try:
> > import importlib.metadata as importlib_metadata # noqa F401
> > except ImportError: # pragma: no cover
> > # bw-compat shim for py37
> > import importlib_metadata # noqa F401
> >
> >
> > def fix_type_error(exc_info, callable, varargs, kwargs):
> > """
> > Given an exception, this will test if the exception was due to a
> > signature error, and annotate the error with better information if
> > so.
> >
> > Usage::
> >
> > try:
> > val = callable(*args, **kw)
> > except TypeError:
> > exc_info = fix_type_error(None, callable, args, kw)
> > raise exc_info[0], exc_info[1], exc_info[2]
> > """
> > if exc_info is None:
> > exc_info = sys.exc_info()
> > if (
> > exc_info[0] != TypeError
> > or str(exc_info[1]).find('arguments') == -1
> > or getattr(exc_info[1], '_type_error_fixed', False)
> > ):
> > return exc_info
> > exc_info[1]._type_error_fixed = True
> > argspec = inspect.formatargspec(*inspect.getargspec(callable))
> > args = ', '.join(map(_short_repr, varargs))
> > if kwargs and args:
> > args += ', '
> > if kwargs:
> > kwargs = sorted(kwargs.items())
> > args += ', '.join(['%s=...' % n for n, v in kwargs])
> > gotspec = '(%s)' % args
> > msg = f'{exc_info[1]}; got {gotspec}, wanted {argspec}'
> > exc_info[1].args = (msg,)
> > return exc_info
> >
> >
> >
> > Desde já agradeço,
> > ]
> > Oberdan Costa
> >
> > Em terça-feira, 14 de novembro de 2023 às 16:15:50 UTC-3, Oberdan Santos 
> escreveu:
> >>
> >> Thanks again for your attention. I will provide a brief 
> contextualization.
> >> I have a script based on FASTAPI for predicting the risk of chronic 
> non-communicable diseases to aid clinical decision making in primary health 
> care (backend), for now I will leave it like that. it works perfectly.
> >> On the frontend I use streamlit to obtain the results of up to 10 
> chronic diseases simultaneously. This ended up growing to include other 
> modules (routing and intelligent management). At the moment I'm looking for 
> a robust framework for this application purpose and the pyramid environment 
> has allowed me to move in this direction (I'm based on cookiecutter) for my 
> first experiences. I have a modular division already structured.
> >> Now I'm trying to connect to my database structure and I'm encountering 
> this error when I run my application. From the request: I need help to take 
> this step and fix this problem.
> >>
> >> Em terça-feira, 14 de novembro de 2023 às 16:00:06 UTC-3, Laurent 
> Daverio escreveu:
> >>>
> >>> > The application I am requesting support for is based on the Pyramd 
> Cookiecutter application framework. In this sense, my question is pertinent.
> >>>
> >>> Oh, I see why you posted here, sorry then. For my defence, you
> >>> provided no context, no traceback, nothing indicating you were indeed
> >>> referring to Pyramid. You only wrote "When trying to run my code I am
> >>> receiving an error", and your code was only standard Python.
> >>>
> >>> > Why does pyramid continue to carry this module in its base 
> application structures, such as cookiecutter?
> >>>
> >>> Actually, I'm not sure what problem you encountered :
> >>>
> >>> - it could be in the cookiecutter module, which is not related to
> >>> Pyramid at all. It's definitely not a "base application structure" of
> >>> Pyramid. I don't use "cookiecutter" very often, but I'm pretty sure I
> >>> have used it with Python 3.11, and had no problem.
> >>>
> >>> - it could be in the Pyramid scaffold you used, which is indirectly
> >>> related to Pyramid. I haven't used the "official" scaffold in a while,
> >>> but I fail to see why it would create a base application which
> >>> includes the "inspect" module.
> >>>
> >>> - it could be in Pyramid itself. But I would rule out that choice, as
> >>> I use Pyramid with Python 3.11 daily, and the problem doesn't exist
> >>> for me.
> >>>
> >>> When does your problem happen? When you're trying to use cookiecutter,
> >>> or when you try to launch the generated app?
> >>>
> >>> Laurent.
> >>>
> >>> PS: just a clarification in what I wrote previously: standard module
> >>> "inspect" is not deprecated at all, 

Re: [pylons-discuss] Getting error when running inspect in python 3.11, win11

2023-11-14 Thread Laurent Daverio
Our messages crossed, my previous one contains the answer to your question:

https://github.com/Pylons/pastedeploy/blame/main/src/paste/deploy/util.py#L36

Le mar. 14 nov. 2023 à 21:13, Oberdan Santos  a écrit :
>
> Checking the literature on some sites, I see that I have two options ( 
> inspect.signature() or inspect.getfullargspec() to solve the problem. The 
> question is: How to use inspect.signature() or the other option, where to 
> change it ? .The following is the function that was throwing error.
>
> import inspect
> import sys
>
> try:
> import importlib.metadata as importlib_metadata  # noqa F401
> except ImportError:  # pragma: no cover
> # bw-compat shim for py37
> import importlib_metadata  # noqa F401
>
>
> def fix_type_error(exc_info, callable, varargs, kwargs):
> """
> Given an exception, this will test if the exception was due to a
> signature error, and annotate the error with better information if
> so.
>
> Usage::
>
>   try:
>   val = callable(*args, **kw)
>   except TypeError:
>   exc_info = fix_type_error(None, callable, args, kw)
>   raise exc_info[0], exc_info[1], exc_info[2]
> """
> if exc_info is None:
> exc_info = sys.exc_info()
> if (
> exc_info[0] != TypeError
> or str(exc_info[1]).find('arguments') == -1
> or getattr(exc_info[1], '_type_error_fixed', False)
> ):
> return exc_info
> exc_info[1]._type_error_fixed = True
> argspec = inspect.formatargspec(*inspect.getargspec(callable))
> args = ', '.join(map(_short_repr, varargs))
> if kwargs and args:
> args += ', '
> if kwargs:
> kwargs = sorted(kwargs.items())
> args += ', '.join(['%s=...' % n for n, v in kwargs])
> gotspec = '(%s)' % args
> msg = f'{exc_info[1]}; got {gotspec}, wanted {argspec}'
> exc_info[1].args = (msg,)
> return exc_info
>
>
>
> Desde já agradeço,
> ]
> Oberdan Costa
>
> Em terça-feira, 14 de novembro de 2023 às 16:15:50 UTC-3, Oberdan Santos 
> escreveu:
>>
>> Thanks again for your attention. I will provide a brief contextualization.
>> I have a script based on FASTAPI for predicting the risk of chronic 
>> non-communicable diseases to aid clinical decision making in primary health 
>> care (backend), for now I will leave it like that. it works perfectly.
>> On the frontend I use streamlit to obtain the results of up to 10 chronic 
>> diseases simultaneously. This ended up growing to include other modules 
>> (routing and intelligent management). At the moment I'm looking for a robust 
>> framework for this application purpose and the pyramid environment has 
>> allowed me to move in this direction (I'm based on cookiecutter) for my 
>> first experiences. I have a modular division already structured.
>> Now I'm trying to connect to my database structure and I'm encountering this 
>> error when I run my application. From the request: I need help to take this 
>> step and fix this problem.
>>
>> Em terça-feira, 14 de novembro de 2023 às 16:00:06 UTC-3, Laurent Daverio 
>> escreveu:
>>>
>>> > The application I am requesting support for is based on the Pyramd 
>>> > Cookiecutter application framework. In this sense, my question is 
>>> > pertinent.
>>>
>>> Oh, I see why you posted here, sorry then. For my defence, you
>>> provided no context, no traceback, nothing indicating you were indeed
>>> referring to Pyramid. You only wrote "When trying to run my code I am
>>> receiving an error", and your code was only standard Python.
>>>
>>> > Why does pyramid continue to carry this module in its base application 
>>> > structures, such as cookiecutter?
>>>
>>> Actually, I'm not sure what problem you encountered :
>>>
>>> - it could be in the cookiecutter module, which is not related to
>>> Pyramid at all. It's definitely not a "base application structure" of
>>> Pyramid. I don't use "cookiecutter" very often, but I'm pretty sure I
>>> have used it with Python 3.11, and had no problem.
>>>
>>> - it could be in the Pyramid scaffold you used, which is indirectly
>>> related to Pyramid. I haven't used the "official" scaffold in a while,
>>> but I fail to see why it would create a base application which
>>> includes the "inspect" module.
>>>
>>> - it could be in Pyramid itself. But I would rule out that choice, as
>>> I use Pyramid with Python 3.11 daily, and the problem doesn't exist
>>> for me.
>>>
>>> When does your problem happen? When you're trying to use cookiecutter,
>>> or when you try to launch the generated app?
>>>
>>> Laurent.
>>>
>>> PS: just a clarification in what I wrote previously: standard module
>>> "inspect" is not deprecated at all, only function "formatargspec" is.
>>>
>>> >
>>> > Em terça-feira, 14 de novembro de 2023 às 15:30:53 UTC-3, Laurent Daverio 
>>> > escreveu:
>>> >>
>>> >> Hello,
>>> >>
>>> >> a couple of remarks before replying to your question :
>>> >>
>>> >> 1/ This list is dedicated to Pylons and Pyramid, 

Re: [pylons-discuss] Getting error when running inspect in python 3.11, win11

2023-11-14 Thread Laurent Daverio
Thanks for the explanations :)

After some grepping in the source code, I have found that the function
you quoted belongs to third-party module PasteDeploy. Pyramid depends
on plaster-pastedeploy, which in turn depends on PasteDeploy.

And PasteDeploy (my version is 3.0.1) contains your code in file
paste/deploy/util.py, lines 13 to 46. Please note that it should be
fixed soon, as an unreleased change was recorded in Github last week :

https://github.com/Pylons/pastedeploy/blame/main/src/paste/deploy/util.py#L36

At this point, I would suggest 2 possibilities :

1/ You patch PastDeploy manually, or
2/ You determine who is calling that function, and why. For that,  you
need to look at the traceback of the error.



Le mar. 14 nov. 2023 à 20:15, Oberdan Santos  a écrit :
>
> Thanks again for your attention. I will provide a brief contextualization.
> I have a script based on FASTAPI for predicting the risk of chronic 
> non-communicable diseases to aid clinical decision making in primary health 
> care (backend), for now I will leave it like that. it works perfectly.
> On the frontend I use streamlit to obtain the results of up to 10 chronic 
> diseases simultaneously. This ended up growing to include other modules 
> (routing and intelligent management). At the moment I'm looking for a robust 
> framework for this application purpose and the pyramid environment has 
> allowed me to move in this direction (I'm based on cookiecutter) for my first 
> experiences. I have a modular division already structured.
> Now I'm trying to connect to my database structure and I'm encountering this 
> error when I run my application. From the request: I need help to take this 
> step and fix this problem.
>
> Em terça-feira, 14 de novembro de 2023 às 16:00:06 UTC-3, Laurent Daverio 
> escreveu:
>>
>> > The application I am requesting support for is based on the Pyramd 
>> > Cookiecutter application framework. In this sense, my question is 
>> > pertinent.
>>
>> Oh, I see why you posted here, sorry then. For my defence, you
>> provided no context, no traceback, nothing indicating you were indeed
>> referring to Pyramid. You only wrote "When trying to run my code I am
>> receiving an error", and your code was only standard Python.
>>
>> > Why does pyramid continue to carry this module in its base application 
>> > structures, such as cookiecutter?
>>
>> Actually, I'm not sure what problem you encountered :
>>
>> - it could be in the cookiecutter module, which is not related to
>> Pyramid at all. It's definitely not a "base application structure" of
>> Pyramid. I don't use "cookiecutter" very often, but I'm pretty sure I
>> have used it with Python 3.11, and had no problem.
>>
>> - it could be in the Pyramid scaffold you used, which is indirectly
>> related to Pyramid. I haven't used the "official" scaffold in a while,
>> but I fail to see why it would create a base application which
>> includes the "inspect" module.
>>
>> - it could be in Pyramid itself. But I would rule out that choice, as
>> I use Pyramid with Python 3.11 daily, and the problem doesn't exist
>> for me.
>>
>> When does your problem happen? When you're trying to use cookiecutter,
>> or when you try to launch the generated app?
>>
>> Laurent.
>>
>> PS: just a clarification in what I wrote previously: standard module
>> "inspect" is not deprecated at all, only function "formatargspec" is.
>>
>> >
>> > Em terça-feira, 14 de novembro de 2023 às 15:30:53 UTC-3, Laurent Daverio 
>> > escreveu:
>> >>
>> >> Hello,
>> >>
>> >> a couple of remarks before replying to your question :
>> >>
>> >> 1/ This list is dedicated to Pylons and Pyramid, so a general question
>> >> about the Python standard library is off-topic
>> >> 2/ You could have googled "inspect formatargspec" and found answers
>> >> 3/ You could have read the documentation of the standard library
>> >>
>> >> The documentation of "inspect" for Python 3.10
>> >> (https://docs.python.org/3.10/library/inspect.html) states :
>> >>
>> >> "Deprecated since version 3.5: Use signature() and Signature Object,
>> >> which provide a better introspecting API for callables."
>> >>
>> >> And indeed, if you switch to the Python 3.11 / 3.12 versions of the
>> >> docs, you'll find that the function has been removed. You certainly
>> >> had a deprecation warning in Python 3.9/3.10, which you ignored
>> >>
>> >> My $0.02,
>> >>
>> >> Laurent.
>> >>
>> >>
>> >> Le mar. 14 nov. 2023 à 19:17, Oberdan Santos  a écrit 
>> >> :
>> >> >
>> >> > Hello!!
>> >> > When trying to run my code I am receiving an error.
>> >> >
>> >> > import inspect
>> >> > import sys
>> >> >
>> >> > try:
>> >> > import importlib.metadata as importlib_metadata # noqa F401
>> >> > except ImportError: # pragma: no cover
>> >> > # bw-compat shim for py37
>> >> > import importlib_metadata # noqa F401
>> >> >
>> >> >
>> >> > def fix_type_error(exc_info, callable, varargs, kwargs):
>> >> > """
>> >> > Given an exception, this will test if the exception was due 

Re: [pylons-discuss] Getting error when running inspect in python 3.11, win11

2023-11-14 Thread Oberdan Santos
Checking the literature on some sites, I see that I have two options ( 
inspect.signature() or inspect.getfullargspec() to solve the problem. The 
question is: How to use inspect.signature() or the other option, where to 
change it ? .The following is the function that was throwing error.

import inspect 
import sys

try:
import importlib.metadata as importlib_metadata  # noqa F401
except ImportError:  # pragma: no cover
# bw-compat shim for py37
import importlib_metadata  # noqa F401


def fix_type_error(exc_info, callable, varargs, kwargs):
"""
Given an exception, this will test if the exception was due to a
signature error, and annotate the error with better information if
so.

Usage::

  try:
  val = callable(*args, **kw)
  except TypeError:
  exc_info = fix_type_error(None, callable, args, kw)
  raise exc_info[0], exc_info[1], exc_info[2]
"""
if exc_info is None:
exc_info = sys.exc_info()
if (
exc_info[0] != TypeError
or str(exc_info[1]).find('arguments') == -1
or getattr(exc_info[1], '_type_error_fixed', False)
):
return exc_info
exc_info[1]._type_error_fixed = True
argspec = inspect.formatargspec(*inspect.getargspec(callable))
args = ', '.join(map(_short_repr, varargs))
if kwargs and args:
args += ', '
if kwargs:
kwargs = sorted(kwargs.items())
args += ', '.join(['%s=...' % n for n, v in kwargs])
gotspec = '(%s)' % args
msg = f'{exc_info[1]}; got {gotspec}, wanted {argspec}'
exc_info[1].args = (msg,)
return exc_info



Desde já agradeço,
]
Oberdan Costa

Em terça-feira, 14 de novembro de 2023 às 16:15:50 UTC-3, Oberdan Santos 
escreveu:

> Thanks again for your attention. I will provide a brief contextualization.
> I have a script based on FASTAPI for predicting the risk of chronic 
> non-communicable diseases to aid clinical decision making in primary health 
> care (backend), for now I will leave it like that. it works perfectly. 
> On the frontend I use streamlit to obtain the results of up to 10 chronic 
> diseases simultaneously. This ended up growing to include other modules 
> (routing and intelligent management). At the moment I'm looking for a 
> robust framework for this application purpose and the pyramid environment 
> has allowed me to move in this direction (I'm based on cookiecutter) for my 
> first experiences. I have a modular division already structured. 
> Now I'm trying to connect to my database structure and I'm encountering 
> this error when I run my application. From the request: I need help to take 
> this step and fix this problem.
>
> Em terça-feira, 14 de novembro de 2023 às 16:00:06 UTC-3, Laurent Daverio 
> escreveu:
>
>> > The application I am requesting support for is based on the Pyramd 
>> Cookiecutter application framework. In this sense, my question is 
>> pertinent. 
>>
>> Oh, I see why you posted here, sorry then. For my defence, you 
>> provided no context, no traceback, nothing indicating you were indeed 
>> referring to Pyramid. You only wrote "When trying to run my code I am 
>> receiving an error", and your code was only standard Python. 
>>
>> > Why does pyramid continue to carry this module in its base application 
>> structures, such as cookiecutter? 
>>
>> Actually, I'm not sure what problem you encountered : 
>>
>> - it could be in the cookiecutter module, which is not related to 
>> Pyramid at all. It's definitely not a "base application structure" of 
>> Pyramid. I don't use "cookiecutter" very often, but I'm pretty sure I 
>> have used it with Python 3.11, and had no problem. 
>>
>> - it could be in the Pyramid scaffold you used, which is indirectly 
>> related to Pyramid. I haven't used the "official" scaffold in a while, 
>> but I fail to see why it would create a base application which 
>> includes the "inspect" module. 
>>
>> - it could be in Pyramid itself. But I would rule out that choice, as 
>> I use Pyramid with Python 3.11 daily, and the problem doesn't exist 
>> for me. 
>>
>> When does your problem happen? When you're trying to use cookiecutter, 
>> or when you try to launch the generated app? 
>>
>> Laurent. 
>>
>> PS: just a clarification in what I wrote previously: standard module 
>> "inspect" is not deprecated at all, only function "formatargspec" is. 
>>
>> > 
>> > Em terça-feira, 14 de novembro de 2023 às 15:30:53 UTC-3, Laurent 
>> Daverio escreveu: 
>> >> 
>> >> Hello, 
>> >> 
>> >> a couple of remarks before replying to your question : 
>> >> 
>> >> 1/ This list is dedicated to Pylons and Pyramid, so a general question 
>> >> about the Python standard library is off-topic 
>> >> 2/ You could have googled "inspect formatargspec" and found answers 
>> >> 3/ You could have read the documentation of the standard library 
>> >> 
>> >> The documentation of "inspect" for Python 3.10 
>> >> (https://docs.python.org/3.10/library/inspect.html) states : 
>> >> 

Re: [pylons-discuss] Getting error when running inspect in python 3.11, win11

2023-11-14 Thread Oberdan Santos
Thanks again for your attention. I will provide a brief contextualization.
I have a script based on FASTAPI for predicting the risk of chronic 
non-communicable diseases to aid clinical decision making in primary health 
care (backend), for now I will leave it like that. it works perfectly. 
On the frontend I use streamlit to obtain the results of up to 10 chronic 
diseases simultaneously. This ended up growing to include other modules 
(routing and intelligent management). At the moment I'm looking for a 
robust framework for this application purpose and the pyramid environment 
has allowed me to move in this direction (I'm based on cookiecutter) for my 
first experiences. I have a modular division already structured. 
Now I'm trying to connect to my database structure and I'm encountering 
this error when I run my application. From the request: I need help to take 
this step and fix this problem.

Em terça-feira, 14 de novembro de 2023 às 16:00:06 UTC-3, Laurent Daverio 
escreveu:

> > The application I am requesting support for is based on the Pyramd 
> Cookiecutter application framework. In this sense, my question is pertinent.
>
> Oh, I see why you posted here, sorry then. For my defence, you
> provided no context, no traceback, nothing indicating you were indeed
> referring to Pyramid. You only wrote "When trying to run my code I am
> receiving an error", and your code was only standard Python.
>
> > Why does pyramid continue to carry this module in its base application 
> structures, such as cookiecutter?
>
> Actually, I'm not sure what problem you encountered :
>
> - it could be in the cookiecutter module, which is not related to
> Pyramid at all. It's definitely not a "base application structure" of
> Pyramid. I don't use "cookiecutter" very often, but I'm pretty sure I
> have used it with Python 3.11, and had no problem.
>
> - it could be in the Pyramid scaffold you used, which is indirectly
> related to Pyramid. I haven't used the "official" scaffold in a while,
> but I fail to see why it would create a base application which
> includes the "inspect" module.
>
> - it could be in Pyramid itself. But I would rule out that choice, as
> I use Pyramid with Python 3.11 daily, and the problem doesn't exist
> for me.
>
> When does your problem happen? When you're trying to use cookiecutter,
> or when you try to launch the generated app?
>
> Laurent.
>
> PS: just a clarification in what I wrote previously: standard module
> "inspect" is not deprecated at all, only function "formatargspec" is.
>
> >
> > Em terça-feira, 14 de novembro de 2023 às 15:30:53 UTC-3, Laurent 
> Daverio escreveu:
> >>
> >> Hello,
> >>
> >> a couple of remarks before replying to your question :
> >>
> >> 1/ This list is dedicated to Pylons and Pyramid, so a general question
> >> about the Python standard library is off-topic
> >> 2/ You could have googled "inspect formatargspec" and found answers
> >> 3/ You could have read the documentation of the standard library
> >>
> >> The documentation of "inspect" for Python 3.10
> >> (https://docs.python.org/3.10/library/inspect.html) states :
> >>
> >> "Deprecated since version 3.5: Use signature() and Signature Object,
> >> which provide a better introspecting API for callables."
> >>
> >> And indeed, if you switch to the Python 3.11 / 3.12 versions of the
> >> docs, you'll find that the function has been removed. You certainly
> >> had a deprecation warning in Python 3.9/3.10, which you ignored
> >>
> >> My $0.02,
> >>
> >> Laurent.
> >>
> >>
> >> Le mar. 14 nov. 2023 à 19:17, Oberdan Santos  a 
> écrit :
> >> >
> >> > Hello!!
> >> > When trying to run my code I am receiving an error.
> >> >
> >> > import inspect
> >> > import sys
> >> >
> >> > try:
> >> > import importlib.metadata as importlib_metadata # noqa F401
> >> > except ImportError: # pragma: no cover
> >> > # bw-compat shim for py37
> >> > import importlib_metadata # noqa F401
> >> >
> >> >
> >> > def fix_type_error(exc_info, callable, varargs, kwargs):
> >> > """
> >> > Given an exception, this will test if the exception was due to a
> >> > signature error, and annotate the error with better information if
> >> > so.
> >> >
> >> > Usage::
> >> >
> >> > try:
> >> > val = callable(*args, **kw)
> >> > except TypeError:
> >> > exc_info = fix_type_error(None, callable, args, kw)
> >> > raise exc_info[0], exc_info[1], exc_info[2]
> >> > """
> >> > if exc_info is None:
> >> > exc_info = sys.exc_info()
> >> > if (
> >> > exc_info[0] != TypeError
> >> > or str(exc_info[1]).find('arguments') == -1
> >> > or getattr(exc_info[1], '_type_error_fixed', False)
> >> > ):
> >> > return exc_info
> >> > exc_info[1]._type_error_fixed = True
> >> > argspec = inspect.formatargspec(*inspect.getargspec(callable))
> >> > args = ', '.join(map(_short_repr, varargs))
> >> > if kwargs and args:
> >> > args += ', '
> >> > if kwargs:
> >> > kwargs = sorted(kwargs.items())
> >> > args += ', '.join(['%s=...' % n for n, v in kwargs])
> >> > gotspec = '(%s)' 

Re: [pylons-discuss] Getting error when running inspect in python 3.11, win11

2023-11-14 Thread Laurent Daverio
> The application I am requesting support for is based on the Pyramd 
> Cookiecutter application framework. In this sense, my question is pertinent.

Oh, I see why you posted here, sorry then. For my defence, you
provided no context, no traceback, nothing indicating you were indeed
referring to Pyramid. You only wrote "When trying to run my code I am
receiving an error", and your code was only standard Python.

> Why does pyramid continue to carry this module in its base application 
> structures, such as cookiecutter?

Actually, I'm not sure what problem you encountered :

- it could be in the cookiecutter module, which is not related to
Pyramid at all. It's definitely not a "base application structure" of
Pyramid. I don't use "cookiecutter" very often, but I'm pretty sure I
have used it with Python 3.11, and had no problem.

- it could be in the Pyramid scaffold you used, which is indirectly
related to Pyramid. I haven't used the "official" scaffold in a while,
but I fail to see why it would create a base application which
includes the "inspect" module.

- it could be in Pyramid itself. But I would rule out that choice, as
I use Pyramid with Python 3.11 daily, and the problem doesn't exist
for me.

When does your problem happen? When you're trying to use cookiecutter,
or when you try to launch the generated app?

Laurent.

PS: just a clarification in what I wrote previously: standard module
"inspect" is not deprecated at all, only function "formatargspec" is.

>
> Em terça-feira, 14 de novembro de 2023 às 15:30:53 UTC-3, Laurent Daverio 
> escreveu:
>>
>> Hello,
>>
>> a couple of remarks before replying to your question :
>>
>> 1/ This list is dedicated to Pylons and Pyramid, so a general question
>> about the Python standard library is off-topic
>> 2/ You could have googled "inspect formatargspec" and found answers
>> 3/ You could have read the documentation of the standard library
>>
>> The documentation of "inspect" for Python 3.10
>> (https://docs.python.org/3.10/library/inspect.html) states :
>>
>> "Deprecated since version 3.5: Use signature() and Signature Object,
>> which provide a better introspecting API for callables."
>>
>> And indeed, if you switch to the Python 3.11 / 3.12 versions of the
>> docs, you'll find that the function has been removed. You certainly
>> had a deprecation warning in Python 3.9/3.10, which you ignored
>>
>> My $0.02,
>>
>> Laurent.
>>
>>
>> Le mar. 14 nov. 2023 à 19:17, Oberdan Santos  a écrit :
>> >
>> > Hello!!
>> > When trying to run my code I am receiving an error.
>> >
>> > import inspect
>> > import sys
>> >
>> > try:
>> > import importlib.metadata as importlib_metadata # noqa F401
>> > except ImportError: # pragma: no cover
>> > # bw-compat shim for py37
>> > import importlib_metadata # noqa F401
>> >
>> >
>> > def fix_type_error(exc_info, callable, varargs, kwargs):
>> > """
>> > Given an exception, this will test if the exception was due to a
>> > signature error, and annotate the error with better information if
>> > so.
>> >
>> > Usage::
>> >
>> > try:
>> > val = callable(*args, **kw)
>> > except TypeError:
>> > exc_info = fix_type_error(None, callable, args, kw)
>> > raise exc_info[0], exc_info[1], exc_info[2]
>> > """
>> > if exc_info is None:
>> > exc_info = sys.exc_info()
>> > if (
>> > exc_info[0] != TypeError
>> > or str(exc_info[1]).find('arguments') == -1
>> > or getattr(exc_info[1], '_type_error_fixed', False)
>> > ):
>> > return exc_info
>> > exc_info[1]._type_error_fixed = True
>> > argspec = inspect.formatargspec(*inspect.getargspec(callable))
>> > args = ', '.join(map(_short_repr, varargs))
>> > if kwargs and args:
>> > args += ', '
>> > if kwargs:
>> > kwargs = sorted(kwargs.items())
>> > args += ', '.join(['%s=...' % n for n, v in kwargs])
>> > gotspec = '(%s)' % args
>> > msg = f'{exc_info[1]}; got {gotspec}, wanted {argspec}'
>> > exc_info[1].args = (msg,)
>> > return exc_info
>> >
>> >
>> >
>> > ERRO:
>> > AttributeError: module 'inspect' has no attribute 'formatargspec'.
>> > Did you mean: 'formatargvalues'?
>> >
>> >
>> > I've tried some changes to the code line, but to no avail.
>> > argspec = inspect.formatargspec(*inspect.getargspec(callable))
>> > Every help is welcome
>> >
>> >
>> >
>> > --
>> > You received this message because you are subscribed to the Google Groups 
>> > "pylons-discuss" group.
>> > To unsubscribe from this group and stop receiving emails from it, send an 
>> > email to pylons-discus...@googlegroups.com.
>> > To view this discussion on the web visit 
>> > https://groups.google.com/d/msgid/pylons-discuss/cab4b239-75df-44ba-9d39-4fea371e2b6dn%40googlegroups.com.
>
> --
> You received this message because you are subscribed to the Google Groups 
> "pylons-discuss" group.
> To unsubscribe from this group and stop receiving emails from it, send an 
> email to pylons-discuss+unsubscr...@googlegroups.com.
> To view this discussion on the web visit 
> 

Re: [pylons-discuss] Getting error when running inspect in python 3.11, win11

2023-11-14 Thread Oberdan Santos
Hello!! 
The question is, if this model is "Deprecated since version 3.5: Use 
signature() and Signature Object,
which provide a better introspecting API for callables."
Why does pyramid continue to carry this module in its base application 
structures, such as cookiecutter?
The application I am requesting support for is based on the Pyramd 
Cookiecutter application framework. In this sense, my question is pertinent.

Anyway, thank you for your feedback,

Oberdan Costa



Em terça-feira, 14 de novembro de 2023 às 15:30:53 UTC-3, Laurent Daverio 
escreveu:

> Hello,
>
> a couple of remarks before replying to your question :
>
> 1/ This list is dedicated to Pylons and Pyramid, so a general question
> about the Python standard library is off-topic
> 2/ You could have googled "inspect formatargspec" and found answers
> 3/ You could have read the documentation of the standard library
>
> The documentation of "inspect" for Python 3.10
> (https://docs.python.org/3.10/library/inspect.html) states :
>
> "Deprecated since version 3.5: Use signature() and Signature Object,
> which provide a better introspecting API for callables."
>
> And indeed, if you switch to the Python 3.11 / 3.12 versions of the
> docs, you'll find that the function has been removed. You certainly
> had a deprecation warning in Python 3.9/3.10, which you ignored
>
> My $0.02,
>
> Laurent.
>
>
> Le mar. 14 nov. 2023 à 19:17, Oberdan Santos  a écrit 
> :
> >
> > Hello!!
> > When trying to run my code I am receiving an error.
> >
> > import inspect
> > import sys
> >
> > try:
> > import importlib.metadata as importlib_metadata # noqa F401
> > except ImportError: # pragma: no cover
> > # bw-compat shim for py37
> > import importlib_metadata # noqa F401
> >
> >
> > def fix_type_error(exc_info, callable, varargs, kwargs):
> > """
> > Given an exception, this will test if the exception was due to a
> > signature error, and annotate the error with better information if
> > so.
> >
> > Usage::
> >
> > try:
> > val = callable(*args, **kw)
> > except TypeError:
> > exc_info = fix_type_error(None, callable, args, kw)
> > raise exc_info[0], exc_info[1], exc_info[2]
> > """
> > if exc_info is None:
> > exc_info = sys.exc_info()
> > if (
> > exc_info[0] != TypeError
> > or str(exc_info[1]).find('arguments') == -1
> > or getattr(exc_info[1], '_type_error_fixed', False)
> > ):
> > return exc_info
> > exc_info[1]._type_error_fixed = True
> > argspec = inspect.formatargspec(*inspect.getargspec(callable))
> > args = ', '.join(map(_short_repr, varargs))
> > if kwargs and args:
> > args += ', '
> > if kwargs:
> > kwargs = sorted(kwargs.items())
> > args += ', '.join(['%s=...' % n for n, v in kwargs])
> > gotspec = '(%s)' % args
> > msg = f'{exc_info[1]}; got {gotspec}, wanted {argspec}'
> > exc_info[1].args = (msg,)
> > return exc_info
> >
> >
> >
> > ERRO:
> > AttributeError: module 'inspect' has no attribute 'formatargspec'.
> > Did you mean: 'formatargvalues'?
> >
> >
> > I've tried some changes to the code line, but to no avail.
> > argspec = inspect.formatargspec(*inspect.getargspec(callable))
> > Every help is welcome
> >
> >
> >
> > --
> > You received this message because you are subscribed to the Google 
> Groups "pylons-discuss" group.
> > To unsubscribe from this group and stop receiving emails from it, send 
> an email to pylons-discus...@googlegroups.com.
> > To view this discussion on the web visit 
> https://groups.google.com/d/msgid/pylons-discuss/cab4b239-75df-44ba-9d39-4fea371e2b6dn%40googlegroups.com
> .
>

-- 
You received this message because you are subscribed to the Google Groups 
"pylons-discuss" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to pylons-discuss+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/pylons-discuss/82cb0cf3-0b00-4e6c-b788-3c71905f196an%40googlegroups.com.


Re: [pylons-discuss] Getting error when running inspect in python 3.11, win11

2023-11-14 Thread Laurent Daverio
Hello,

a couple of remarks before replying to your question :

1/ This list is dedicated to Pylons and Pyramid, so a general question
about the Python standard library is off-topic
2/ You could have googled "inspect formatargspec" and found answers
3/ You could have read the documentation of the standard library

The documentation of "inspect" for Python 3.10
(https://docs.python.org/3.10/library/inspect.html) states :

"Deprecated since version 3.5: Use signature() and Signature Object,
which provide a better introspecting API for callables."

And indeed, if you switch to the Python 3.11 / 3.12 versions of the
docs, you'll find that the function has been removed. You certainly
had a deprecation warning in Python 3.9/3.10, which you ignored

My $0.02,

Laurent.


Le mar. 14 nov. 2023 à 19:17, Oberdan Santos  a écrit :
>
> Hello!!
> When trying to run my code I am receiving an error.
>
> import inspect
> import sys
>
> try:
> import importlib.metadata as importlib_metadata  # noqa F401
> except ImportError:  # pragma: no cover
> # bw-compat shim for py37
> import importlib_metadata  # noqa F401
>
>
> def fix_type_error(exc_info, callable, varargs, kwargs):
> """
> Given an exception, this will test if the exception was due to a
> signature error, and annotate the error with better information if
> so.
>
> Usage::
>
>   try:
>   val = callable(*args, **kw)
>   except TypeError:
>   exc_info = fix_type_error(None, callable, args, kw)
>   raise exc_info[0], exc_info[1], exc_info[2]
> """
> if exc_info is None:
> exc_info = sys.exc_info()
> if (
> exc_info[0] != TypeError
> or str(exc_info[1]).find('arguments') == -1
> or getattr(exc_info[1], '_type_error_fixed', False)
> ):
> return exc_info
> exc_info[1]._type_error_fixed = True
> argspec = inspect.formatargspec(*inspect.getargspec(callable))
> args = ', '.join(map(_short_repr, varargs))
> if kwargs and args:
> args += ', '
> if kwargs:
> kwargs = sorted(kwargs.items())
> args += ', '.join(['%s=...' % n for n, v in kwargs])
> gotspec = '(%s)' % args
> msg = f'{exc_info[1]}; got {gotspec}, wanted {argspec}'
> exc_info[1].args = (msg,)
> return exc_info
>
>
>
> ERRO:
> AttributeError: module 'inspect' has no attribute 'formatargspec'.
> Did you mean: 'formatargvalues'?
>
>
> I've tried some changes to the code line, but to no avail.
> argspec = inspect.formatargspec(*inspect.getargspec(callable))
> Every help is welcome
>
>
>
> --
> You received this message because you are subscribed to the Google Groups 
> "pylons-discuss" group.
> To unsubscribe from this group and stop receiving emails from it, send an 
> email to pylons-discuss+unsubscr...@googlegroups.com.
> To view this discussion on the web visit 
> https://groups.google.com/d/msgid/pylons-discuss/cab4b239-75df-44ba-9d39-4fea371e2b6dn%40googlegroups.com.

-- 
You received this message because you are subscribed to the Google Groups 
"pylons-discuss" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to pylons-discuss+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/pylons-discuss/CAB7cU6zgRfxSEvNAG8h%3DVHjciggq9adxoUeucOvM7HnYcmrKBA%40mail.gmail.com.