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/0000-0002-2448-5247
https://www.linkedin.com/in/oberdan-costa-0807572/




Em ter., 14 de nov. de 2023 às 23:43, Michael Merickel <mmeri...@gmail.com>
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 <ldave...@gmail.com> 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 <sc.ober...@gmail.com> 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 <sc.ob...@gmail.com> 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, 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 <sc.ob...@gmail.com>
> 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-discus...@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
> .
> >>>>
> >>>> --
> >>>> 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/f175279d-69fc-46fb-81dd-55b88aa93974n%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/c9a5d252-4bc8-471f-98d9-15fa440702bdn%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/CAB7cU6w_gUL3gVzP1gKepEPOkD-RaciEMdptrbmKoft6xGSG0w%40mail.gmail.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/7A6B57F4-0DD8-493C-B66C-D0EC9AC34224%40gmail.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/CADST_G9JNu-6VsqWOkq48cmUOHnEJ38o1XrP9jywiSQnP2pw%3DQ%40mail.gmail.com.

Reply via email to