Commit Graph

131 Commits

Author SHA1 Message Date
Matthias Bussonnier
0899b98095 bpo-28814: Undeprecate inadvertently deprecated inspect functions. (#122)
Nick Coghlan said on bpo-28814:

> inspect.getargvalues() and inspect.formatargvalues() were deprecated
> in Python 3.5 as part of implementing bpo-20438

> This is incorrect, as these are *frame* introspection related functions,
> not callable introspection ones. The documentation and implementation
> layout is confusing though, as they're interleaved with the callable
> introspection operation

This commit undeprecates these functions and adds a note to ignore
previous deprecation notices.
2017-02-22 08:45:51 +03:00
Yury Selivanov
03660041d2 Issue #28091: Document PEP 525 & PEP 530.
Patch by Eric Appelt.
2016-12-15 17:36:05 -05:00
Nick Coghlan
3c35fdb8fb Issue #27172: Undeprecate inspect.getfullargspec()
This is still useful for single source Python 2/3 code
migrating away from inspect.getargspec(), but that wasn't
clear with the documented deprecation in place.
2016-12-02 20:29:57 +10:00
Yury Selivanov
b738a1f8a4 Issue #26010: fix typos; rewording 2016-10-20 16:30:51 -04:00
Yury Selivanov
e20fed9182 Merge 3.5 + document CO_ASYNC_GENERATOR; issue #26010 2016-10-20 13:11:34 -04:00
Yury Selivanov
ea75a513df Issue #26010: Document CO_* constants 2016-10-20 13:06:30 -04:00
Eric Snow
4f29e75289 Issue #24254: Drop cls.__definition_order__. 2016-09-08 15:11:11 -07:00
Eric Snow
92a6c170e6 Issue #24254: Preserve class attribute definition order. 2016-09-05 14:50:11 -07:00
Martin Panter
2fec611a70 Issue #24314: Merge doc links from 3.5 2016-06-18 08:20:22 +00:00
Martin Panter
bae5d81f5d Issue #24314: Fix doc links for general attributes like __name__, __dict__ 2016-06-18 03:57:31 +00:00
Terry Jan Reedy
4da945f361 Merge Issue #22558. 2016-06-11 15:06:08 -04:00
Terry Jan Reedy
fa089b9b0b Issue #22558: Add remaining doc links to source code for Python-coded modules.
Reformat header above separator line (added if missing) to a common format.
Patch by Yoni Lavi.
2016-06-11 15:02:54 -04:00
Nick Coghlan
b4b966ece2 Issue #19611: handle implicit parameters in inspect.signature
inspect.signature now reports the implicit ``.0`` parameters generated by
the compiler for comprehension and generator expression scopes as if they
were positional-only parameters called ``implicit0``.

Patch by Jelle Zijlstra.
2016-06-04 14:40:03 -07:00
Senthil Kumaran
96ebb8431a [merge from 3.5] issue27043 - Explain the inspect.cleandoc behavior on synopsis line and other lines.
Patch contributed by Nathan Harold.
2016-05-29 20:37:54 -07:00
Senthil Kumaran
ebd84e342c issue27043 - Explain the inspect.cleandoc behavior on synopsis line and other lines.
Patch contributed by Nathan Harold.
2016-05-29 20:36:58 -07:00
Serhiy Storchaka
c499f30286 Issue #23921: Standardized documentation whitespace formatting.
Original patch by James Edwards.
2016-05-10 12:01:56 +03:00
Serhiy Storchaka
dba903993a Issue #23921: Standardized documentation whitespace formatting.
Original patch by James Edwards.
2016-05-10 12:01:23 +03:00
Yury Selivanov
9179c40a9f Merge 3.5 (issue #25486) 2016-01-11 21:05:18 -05:00
Yury Selivanov
a7c159ddf3 Issue #25486: Drop "removed in 3.6" wording from inspect.getargspec docs. 2016-01-11 21:04:50 -05:00
Yury Selivanov
37dc2b2883 Issue #25486: Resurrect inspect.getargspec in 3.6. Backout a565aad5d6e1.
The decision is that we shouldn't remove popular APIs (however long they
are depreacted) from Python 3, while 2.7 is still around and supported.
2016-01-11 15:15:01 -05:00
Yury Selivanov
05a4a9cbaa Merge 3.5 2015-10-31 13:29:35 -04:00
Yury Selivanov
c62162d5fd docs/inspect: Document __annotations__ 2015-10-31 13:29:15 -04:00
Yury Selivanov
9b82a99a64 Merge 3.5 2015-09-08 22:40:45 -04:00
Yury Selivanov
100fc3fbc2 whatsnew/3.5: Fix library news till Py3.5a1. Update other docs. 2015-09-08 22:40:30 -04:00
Yury Selivanov
d11223e0d6 Merge 3.5 2015-08-17 13:04:49 -04:00
Yury Selivanov
5fbad3c9f2 docs: Clarify that gi_yieldfrom was first added in 3.5 2015-08-17 13:04:41 -04:00
Yury Selivanov
9e35cac3a1 Merge 3.5 2015-08-17 13:02:53 -04:00
Yury Selivanov
c135f0a850 docs: Fix inspect docs re gi_yieldfrom 2015-08-17 13:02:42 -04:00
Berker Peksag
fa3922cfd0 Issue #13248: Delete remaining references of inspect.getargspec().
Noticed by Yaroslav Halchenko.
2015-07-31 04:11:29 +03:00
Berker Peksag
317ccf3cd4 Issue #15582: Add a whatsnew entry for inspect.getdoc() changes in 3.5.
Patch by Martin Panter.
2015-07-30 18:06:30 +03:00
Berker Peksag
4333d8bad7 Issue #15582: Add a whatsnew entry for inspect.getdoc() changes in 3.5.
Patch by Martin Panter.
2015-07-30 18:06:09 +03:00
Yury Selivanov
6dfbc5d98e Issue #13248: Remove inspect.getmoduleinfo() from 3.6 (deprecated in 3.3) 2015-07-23 17:49:00 +03:00
Yury Selivanov
f1b5ccb993 Issue #13248: Remove inspect.getargspec from 3.6 (deprecated from 3.0) 2015-07-23 17:36:02 +03:00
Yury Selivanov
fdbeb2b4b6 Issue #24400: Resurrect inspect.isawaitable()
collections.abc.Awaitable and collections.abc.Coroutine no longer
use __instancecheck__ hook to detect generator-based coroutines.

inspect.isawaitable() can be used to detect generator-based coroutines
and to distinguish them from regular generator objects.
2015-07-03 13:11:35 -04:00
Yury Selivanov
e13f8f3cab Issue #24450: Add gi_yieldfrom to generators; cr_await to coroutines.
Patch by Benno Leslie and Yury Selivanov.
2015-07-03 00:23:30 -04:00
Yury Selivanov
59a3b6764c Issue #24541: Drop test_inspect.test_eightteen unittest; update docs
Suggested by Martin Panter.
2015-06-30 22:06:42 -04:00
Yury Selivanov
a74b5e59af Issue #24400: Remove inspect.isawaitable().
isawaitable() was added before collections.abc.Awaitable; now,
with Awaitable, it is no longer needed (we don't have ishashable()
or isiterable() methods in the inspect module either).
2015-06-30 18:19:01 -04:00
Yury Selivanov
5376ba9630 Issue #24400: Introduce a distinct type for 'async def' coroutines.
Summary of changes:

1. Coroutines now have a distinct, separate from generators
   type at the C level: PyGen_Type, and a new typedef PyCoroObject.
   PyCoroObject shares the initial segment of struct layout with
   PyGenObject, making it possible to reuse existing generators
   machinery.  The new type is exposed as 'types.CoroutineType'.

   As a consequence of having a new type, CO_GENERATOR flag is
   no longer applied to coroutines.

2. Having a separate type for coroutines made it possible to add
   an __await__ method to the type.  Although it is not used by the
   interpreter (see details on that below), it makes coroutines
   naturally (without using __instancecheck__) conform to
   collections.abc.Coroutine and collections.abc.Awaitable ABCs.

   [The __instancecheck__ is still used for generator-based
   coroutines, as we don't want to add __await__ for generators.]

3. Add new opcode: GET_YIELD_FROM_ITER.  The opcode is needed to
   allow passing native coroutines to the YIELD_FROM opcode.

   Before this change, 'yield from o' expression was compiled to:

      (o)
      GET_ITER
      LOAD_CONST
      YIELD_FROM

   Now, we use GET_YIELD_FROM_ITER instead of GET_ITER.

   The reason for adding a new opcode is that GET_ITER is used
   in some contexts (such as 'for .. in' loops) where passing
   a coroutine object is invalid.

4. Add two new introspection functions to the inspec module:
   getcoroutinestate(c) and getcoroutinelocals(c).

5. inspect.iscoroutine(o) is updated to test if 'o' is a native
   coroutine object.  Before this commit it used abc.Coroutine,
   and it was requested to update inspect.isgenerator(o) to use
   abc.Generator; it was decided, however, that inspect functions
   should really be tailored for checking for native types.

6. sys.set_coroutine_wrapper(w) API is updated to work with only
   native coroutines.  Since types.coroutine decorator supports
   any type of callables now, it would be confusing that it does
   not work for all types of coroutines.

7. Exceptions logic in generators C implementation was updated
   to raise clearer messages for coroutines:

   Before: TypeError("generator raised StopIteration")
   After: TypeError("coroutine raised StopIteration")
2015-06-22 12:19:30 -04:00
Yury Selivanov
582b8c7629 Issue 22357: Merge from 3.4 2015-05-30 13:54:36 -04:00
Yury Selivanov
0339568753 Issue 22357: Document __qualname__ in inspect.rst 2015-05-30 13:53:49 -04:00
Yury Selivanov
945fff44c4 Issue 20438: Add a note about deprecating old inspect APIs to whatsnew.
Also, deprecate formatargspec, formatargvalues, and getargvalues
functions.  Since we are deprecating 'getfullargspec' function in
3.5 (documentation only, no DeprecationWarning), it makes sense
to also deprecate functions designed to be directly used with it.

In 3.6 we will remove 'getargsspec' function (was deprecated since
Python 3.0), and start raising DeprecationWarnings in other
'getarg*' family of functions.  We can remove them in 3.7 or later.

Also, it is worth noting, that Signature API does not provide 100%
of functionality that deprecated APIs have.  It is important to do
a soft deprecation of outdated APIs in 3.5 to gather users feedback,
and improve Signature object.
2015-05-22 16:28:05 -04:00
Yury Selivanov
3cfec2e2fc Issue 20438: Deprecate inspect.getargspec() and friends. 2015-05-22 11:38:38 -04:00
Yury Selivanov
a18cad543f Issue 24180: Fixes by Berker Peksag. 2015-05-21 17:02:31 -04:00
Yury Selivanov
f3e40fac10 Issue 24180: Documentation for PEP 492 changes. 2015-05-21 11:50:30 -04:00
Yury Selivanov
bcd4fc161a Issue 20691: Add follow_wrapped arg to inspect.signature/from_callable. 2015-05-20 14:30:08 -04:00
Berker Peksag
5b3df5b600 Add versionadded directive for BoundArguments.apply_defaults(). 2015-05-16 23:29:31 +03:00
Yury Selivanov
b907a513c8 Issue 24190: Add inspect.BoundArguments.apply_defaults() method. 2015-05-16 13:45:09 -04:00
Yury Selivanov
dee32bd256 Issue 24191: Document BoundArguments.signature 2015-05-14 14:14:18 -04:00
Yury Selivanov
82796193f9 Issue 24191: Document BoundArguments.signature 2015-05-14 14:14:02 -04:00
Serhiy Storchaka
5cf2b7253d Issue #15582: inspect.getdoc() now follows inheritance chains. 2015-04-03 22:38:53 +03:00