Commit Graph

98 Commits

Author SHA1 Message Date
François Freitag
419e145e36
Make tests/ a Python package
Allows relative imports.
2020-11-20 19:43:02 +01:00
Takeshi KOMIYA
5d8d6275a5
Merge pull request #8423 from tk0miya/getslots
Add sphinx.util.inspect:getslots() to get __slots__ attribute
2020-11-16 02:04:42 +09:00
Takeshi KOMIYA
21a3bd4127 refactor: Fix flake8 violations under tests/ directory 2020-11-15 17:15:40 +09:00
Takeshi KOMIYA
bbb0ea5f12 Add sphinx.util.inspect:getslots() to get __slots__ attribute 2020-11-15 02:30:25 +09:00
Takeshi KOMIYA
68cc0f7e94
Merge pull request #8408 from francoisfreitag/isort
Sort imports with isort
2020-11-12 02:05:13 +09:00
François Freitag
0949735210
Sort imports with isort
Keep imports alphabetically sorted and their order homogeneous across
Python source files.

The isort project has more feature and is more active than the
flake8-import-order plugin.

Most issues caught were simply import ordering from the same module.
Where imports were purposefully placed out of order, tag with
isort:skip.
2020-11-11 13:19:05 +01:00
Takeshi KOMIYA
1b9099f339 test: Adjust type annotataions in python 3.10 2020-11-10 22:33:03 +09:00
Takeshi KOMIYA
6d1cafe7bd autodoc: Add Optional[t] to annotation of function and method
As typing.get_type_hints() doing, this adds Optional[t] to type
annotations if a default value equal to None is set.

Note: this is default behavior of inspect.signature() since Python 3.10.
2020-11-10 02:41:58 +09:00
Takeshi KOMIYA
6d05b1aeb3 Fix #8105: autodoc: the signature of decorated class is incorrect
In #7651, autodoc stops to undecorate the functions on getting the
signature from the callables.  But some kinds of decorators conceals
the correct signature because they pass through their arguments via
`(*args, **kwargs)`.

This restarts to undecorate the functions again as before #7651.
2020-11-05 01:57:40 +09:00
Takeshi KOMIYA
17a5a29f1e Fix #7935: autodoc: A default value inspect._empty conseals signatures
A function signature is not shown when the function has a parameter
having ``inspect._empty`` as its default value because Signature class
validates function signatures on instantiation.
2020-07-12 14:03:28 +09:00
Takeshi KOMIYA
a59f83b6bd Add sphinx.util.inspect:signature_from_ast() 2020-05-31 23:22:20 +09:00
Takeshi KOMIYA
c063c9c0fe
Merge pull request #7757 from tk0miya/7756_posonlyargs
Fix #7756: py domain: The default value for posonlyarg is not shown
2020-05-31 23:21:21 +09:00
Takeshi KOMIYA
bb0b69544b Fix #7756: py domain: The default value for posonlyarg is not shown 2020-05-31 12:21:55 +09:00
Takeshi KOMIYA
e20f29e325 Add sphinx.util.inspect:isgenericalias() 2020-05-30 21:06:54 +09:00
Eric Wieser
d229b120ad Fix autoclass signature parsing
This fixes:
* Signatures defined by __new__
* Signatures defined by metaclasses
* Signatures defined by builtin base classes

All of these changes bring the sphinx docs inline with the behavior of `inspect.signature`.

Note that this changes autodoc to output `.. py:class: MyClass()` with parentheses even if no user-defined __init__ is present.
This is quite deliberate, as if no user-defined `__init__` is present the default is `object.__init__`, which indeed does not take arguments.
2020-05-28 08:36:56 +01:00
Takeshi KOMIYA
0526e0a56c
Merge branch '3.x' into 7650_undecorated_signature 2020-05-16 14:56:54 +09:00
John R. Lenton
61378fe048 Make sphinx.util.typing.stringify render optional unions better
Without this change, stringify(Optional[Union[int, str]]) returns
'Union[int, str, None]' rather than the expected 'Optional[...]'.

This change fixes that.

fixes: #7654
2020-05-11 17:20:45 +01:00
Takeshi KOMIYA
3a81ffa79a Fix #7650: autodoc: undecorated signature is shown for decorated functions 2020-05-11 01:11:12 +09:00
Takeshi KOMIYA
6c65327be7
Merge pull request #7624 from tk0miya/refactor_autodoc2
refactor: autodoc: class processors on autofunction is no longer needed
2020-05-09 18:10:55 +09:00
Eric Wieser
c8a4c79daf Do not crash if is_builtin_class_method is passed a non-type 2020-05-08 08:54:53 +01:00
Takeshi KOMIYA
24fe05f14f refactor: autodoc: class processors on autofunction is no longer needed 2020-05-07 01:55:33 +09:00
Takeshi KOMIYA
13113fc0b6 Fix #6588: autodoc: Decorated inherited method has no documentation 2020-04-28 22:33:40 +09:00
Takeshi KOMIYA
b2140c8623 Fix #7510: py domain: keyword-only arguments are wrongly rendered 2020-04-19 22:57:38 +09:00
Takeshi KOMIYA
754d04f80d Merge branch '2.4.x' into 3.x 2020-02-22 19:22:31 +09:00
Takeshi KOMIYA
56eca39cbb Fix a testcase: lambda function renderer has been changed in 3.x 2020-02-22 17:04:05 +09:00
Takeshi KOMIYA
6a439c0bd6
Merge pull request #7155 from tk0miya/function_signature2
py domain: Use AST parser to convert signature to doctree
2020-02-22 16:35:59 +09:00
Takeshi KOMIYA
2fec37219f Fix #7189: autodoc: classmethod coroutines are not detected 2020-02-22 00:49:45 +09:00
Takeshi KOMIYA
63ece93473
Merge pull request #7163 from tk0miya/fix_DeprecationWarning
Fix DeprecationWarnings on testing
2020-02-16 21:45:29 +09:00
Takeshi KOMIYA
7e79822355 Remove testscases for getargspec() (deprecated) 2020-02-16 21:22:23 +09:00
Takeshi KOMIYA
822625d14c Add sphinx.util.inspect:signature_from_str() 2020-02-16 01:43:13 +09:00
Takeshi KOMIYA
cd8f3a78d9 Fix #7156: autodoc: separator for keyword only arguments is not shown 2020-02-16 01:37:23 +09:00
Takeshi KOMIYA
e908e43f67 Fix #7023: autodoc: nested partial functions are not listed 2020-01-17 09:15:45 +09:00
Takeshi KOMIYA
9ed162921e autodoc: Support Positional-Only Argument separator (PEP-570 compliant) 2020-01-11 02:32:33 +09:00
Takeshi KOMIYA
5867416612 refactor: Add sphinx.util.inspect.signature()
As a successor of sphinx.util.inspect.Singnature, this adds
signature() function behaves like `inspect.signature()`.  It is
very similar to way of python's inspect module.

In addition, this also adds stringify_annotation() helper to
sphinx.util.inspect module.  With these two functions, we can move
to python's Signature object to represent function signatures
perfectly.  It's natural design for python developers than ever.
2020-01-09 00:32:07 +09:00
Takeshi KOMIYA
eaf495c3c4 A happy new year! 2020-01-01 14:27:43 +09:00
Takeshi KOMIYA
b43676011e
Merge branch '2.0' into 6574_annotation_for_varidic_params 2019-08-03 02:19:29 +09:00
Takeshi KOMIYA
ace7b4ded7 Fix #6589: autodoc: Formatting issues with autodoc_typehints='none' 2019-08-02 01:55:53 +09:00
Takeshi KOMIYA
92491c0769 Fix autodoc: missing type annotation for variadic and keyword parameters (refs: #6574) 2019-07-13 19:25:38 +09:00
Takeshi KOMIYA
95723aa6f6 Fix flake8 violations 2019-07-01 00:28:30 +09:00
Takeshi KOMIYA
880c47ff61 Fix #6347: autodoc: crashes with a plain Tuple on Python 3.6 and 3.5 2019-05-29 00:51:01 +09:00
Takeshi KOMIYA
c59f2d9545 Add sphinx.util.inspect:isproperty() 2019-05-12 15:53:39 +09:00
Takeshi KOMIYA
a765c2e4ab Add sphinx.util.inspect:iscoroutinefunction() 2019-04-23 01:40:37 +09:00
Takeshi KOMIYA
d41cae328e Add sphinx.util.inspect:isattributedescriptor() 2019-04-14 02:16:17 +09:00
Takeshi KOMIYA
4aecac8251 refactor: Move subject of inspection to rootdir 2019-04-13 22:48:49 +09:00
Takeshi KOMIYA
2652927667 test: Add testcase for isdescriptor() 2019-04-13 19:52:51 +09:00
Takeshi KOMIYA
b4f6a7f643 test: Add testcase for isbuiltin() 2019-04-13 19:52:51 +09:00
Takeshi KOMIYA
2e8842963b test: Add testcase for isfunction() 2019-04-13 19:52:51 +09:00
Jon Dufresne
f210475489 Python-3-only clean ups discovered by pyupgrade
https://github.com/asottile/pyupgrade

> A tool to automatically upgrade syntax for newer versions of the
> language.

- Drop u str prefix
- Drop base object inheritance
- Drop args to super()
- Use set literals
- Use dict comprehension
- Use set comprehension
2019-03-17 12:58:03 -07:00
Takeshi KOMIYA
76e9f57c2e Merge branch '1.8' 2019-01-02 16:16:25 +09:00
Takeshi KOMIYA
1b1ebd2c75 A happy new year! 2019-01-02 16:00:30 +09:00