Skip to content

Commit

Permalink
Rewrite API documentation example
Browse files Browse the repository at this point in the history
Make it a little more realisitic and include a longer signature too.
  • Loading branch information
pradyunsg committed Aug 31, 2021
1 parent d0d694d commit 72b0773
Showing 1 changed file with 42 additions and 15 deletions.
57 changes: 42 additions & 15 deletions docs/kitchen-sink/demo_py/furo_demo_module.py
Original file line number Diff line number Diff line change
Expand Up @@ -3,26 +3,53 @@
autodoc, and other related functionality.
"""

from typing import Optional, TextIO, Type, Union

class Foo:

def show_warning(
message: Union[Warning, str],
category: Type[Warning],
filename: str,
lineno: int,
file: Optional[TextIO] = None,
line: Optional[str] = None,
) -> None:
"""Show a warning to the end user.
:param message: What you want to tell the user.
:param category: The type of warning.
:param filename: The file that the warning is for.
:param lineno: The line that the warning is for.
:param file: Where to write the warning.
:param line: line of source code to be included in the warning message
"""
A demo class of type Foo.

Has a method baz() returning ints.

class RandomNumberGenerator:
"""A random number generator.
You can use this as follows.
.. code-block:: python
RNG = RandomNumberGenerator()
print(RNG.get_random_integer())
This is hopefully useful to somebody.
"""

def baz(self) -> int:
"""
Return a random integer.
See also: https://xkcd.com/221/
@property
def seed(self):
"""The seed for random number generation.
.. seealso:: https://xkcd.com/221/
"""
return 3
return 4

def get_random_integer(self) -> int:
"""Return a random integer."""
return self.seed

def bar(f: Foo) -> Foo:
"""
the identity function, but only for Foos
"""
if isinstance(f, Foo):
return f
raise TypeError("Expected a Foo!")
def get_random_float(self) -> float:
"""Return a random float."""
return float(self.seed)

0 comments on commit 72b0773

Please sign in to comment.