display example code and usage instructions in docs

This commit is contained in:
pacrob
2024-05-19 12:37:25 -06:00
committed by Paul Robinson
parent c770a05d23
commit 7de6cbaab0
8 changed files with 48 additions and 29 deletions

View File

@ -1,21 +1,19 @@
examples.chat package Chat Demo
===================== =========
Submodules Copy the code below into a file called ``chat.py``.
---------- Install dependencies, preferably in a virtual environment, with:
examples.chat.chat module .. code-block:: bash
-------------------------
.. automodule:: examples.chat.chat python -m pip install libp2p
:members:
:undoc-members:
:show-inheritance:
Module contents
---------------
.. automodule:: examples.chat Run the demo with ``python chat.py`` and copy the output.
:members:
:undoc-members: Open a second terminal, navigate to the folder that contains ``chat.py``, then paste
:show-inheritance: and run the copied line.
.. literalinclude:: ../examples/chat/chat.py
:language: python
:linenos:

18
docs/examples.echo.rst Normal file
View File

@ -0,0 +1,18 @@
Echo Demo
=========
Copy the code below into a file called ``demo.py``.
Install dependencies, preferably in a virtual environment, with:
.. code-block:: bash
python -m pip install libp2p
Run the demo with ``python echo.py`` and copy the output.
Open a second terminal, navigate to the folder that contains ``echo.py``, then paste
and run the copied line.
.. literalinclude:: ../examples/echo/echo.py
:language: python
:linenos:

View File

@ -1,12 +1,17 @@
examples package Examples
================ ========
Subpackages These are functional demonstrations of aspects of the library. They are
----------- intended to be run as scripts, and are not intended to be used as part of
another application.
Example Scripts
---------------
.. toctree:: .. toctree::
examples.chat examples.chat
examples.echo
Module contents Module contents
--------------- ---------------

View File

@ -53,10 +53,9 @@ async def run(port: int, destination: str) -> None:
host.set_stream_handler(PROTOCOL_ID, stream_handler) host.set_stream_handler(PROTOCOL_ID, stream_handler)
print( print(
f"Run 'python ./examples/chat/chat.py " "Run this from the same folder in another console:\n\n"
f"-p {int(port) + 1} " f"python chat.py -p {int(port) + 1} "
f"-d /ip4/{localhost_ip}/tcp/{port}/p2p/{host.get_id().pretty()}' " f"-d /ip4/{localhost_ip}/tcp/{port}/p2p/{host.get_id().pretty()}\n"
"on another console."
) )
print("Waiting for incoming connection...") print("Waiting for incoming connection...")

View File

View File

@ -52,10 +52,9 @@ async def run(port: int, destination: str, seed: int = None) -> None:
host.set_stream_handler(PROTOCOL_ID, _echo_stream_handler) host.set_stream_handler(PROTOCOL_ID, _echo_stream_handler)
print( print(
f"Run 'python ./examples/echo/echo.py " "Run this from the same folder in another console:\n\n"
f"-p {int(port) + 1} " f"python echo.py -p {int(port) + 1} "
f"-d /ip4/{localhost_ip}/tcp/{port}/p2p/{host.get_id().pretty()}' " f"-d /ip4/{localhost_ip}/tcp/{port}/p2p/{host.get_id().pretty()}\n"
"on another console."
) )
print("Waiting for incoming connections...") print("Waiting for incoming connections...")
await trio.sleep_forever() await trio.sleep_forever()

View File

@ -0,0 +1 @@
Display example usage and full code in docs

View File

@ -68,7 +68,6 @@ install_requires = [
# added during debugging # added during debugging
"anyio", "anyio",
"p2pclient", "p2pclient",
"mypy-protobuf",
] ]