diff --git a/docs/Components/hopper.md b/docs/Components/hopper.md
index b32eb465..1d535922 100644
--- a/docs/Components/hopper.md
+++ b/docs/Components/hopper.md
@@ -1,5 +1,11 @@
+
+
# hopper: Small internet interop utilities
+[🔗 Source](https://git.utopic.work/PierMesh/piermesh/src/branch/main/Sponge/Protocols/map.py)
+
+
+
### Components.hopper.get(url: str, params=None)
http/s get request
diff --git a/docs/Cryptography/WhaleSong.md b/docs/Cryptography/WhaleSong.md
index 34f19618..18893ee2 100644
--- a/docs/Cryptography/WhaleSong.md
+++ b/docs/Cryptography/WhaleSong.md
@@ -4,6 +4,8 @@ Fernet based encryption
### *class* Cryptography.WhaleSong.DHEFern(cache, nodeNickname, cLog)
+[🔗 Source](https://git.utopic.work/PierMesh/piermesh/src/branch/main/Cryptography/WhaleSong.py)
+
#### cLog
Method reference to run.Node.cLog so we can log to the ui from here
diff --git a/docs/Daisy/Cache.md b/docs/Daisy/Cache.md
index 6c799022..da5d608a 100644
--- a/docs/Daisy/Cache.md
+++ b/docs/Daisy/Cache.md
@@ -1,9 +1,13 @@
+
+
# Daisy based cache
### *class* Daisy.Cache.Cache(filepaths=None, cacheFile=None, path: str = 'daisy', walk: bool = False, isCatch: bool = False)
In memory collection of Daisy records
+[🔗 Source](https://git.utopic.work/PierMesh/piermesh/src/branch/main/Daisy/Cache.py)
+
#### create(path: str, data: dict)
Create new record
diff --git a/docs/Daisy/Catch.md b/docs/Daisy/Catch.md
index 6e675e5e..dcbf4905 100644
--- a/docs/Daisy/Catch.md
+++ b/docs/Daisy/Catch.md
@@ -8,6 +8,12 @@ Sub class of Cache for handling catchs
![image](https://git.utopic.work/PierMesh/piermesh/raw/branch/main/imgs/catchdisplay.png)
+[🔗 Source](https://git.utopic.work/PierMesh/piermesh/src/branch/main/Daisy/Catch.py)
+
+#### addc(peer, node, seperator, head, tail, data, fins=None)
+
+#### catches *= {}*
+
#### get(head: str, tail: str, fins=None)
Get catch by pieces
diff --git a/docs/Daisy/Soil.md b/docs/Daisy/Soil.md
index edc68d08..bbc6fb69 100644
--- a/docs/Daisy/Soil.md
+++ b/docs/Daisy/Soil.md
@@ -1,9 +1,13 @@
+
+
# Daisy signal management
### *class* Daisy.Soil.Compound(cache, isCatch: bool = False)
File system watcher to propagate disk changes
+[🔗 Source](https://git.utopic.work/PierMesh/piermesh/src/branch/main/Daisy/Soil.py)
+
#### on_any_event(event)
Called when a CRUD operation is performed on a record file
diff --git a/docs/Daisy/Store.md b/docs/Daisy/Store.md
index c5018389..43dd0ba1 100644
--- a/docs/Daisy/Store.md
+++ b/docs/Daisy/Store.md
@@ -3,3 +3,11 @@ store with recursion
==========================
### *class* Daisy.Store.Store(store: str, path: str, nodeNickname: str)
+
+Key value store
+
+[🔗 Source](https://git.utopic.work/PierMesh/piermesh/src/branch/main/Daisy/Store.py)
+
+#### getRecord(key: str)
+
+#### update(entry: str, data, recur: bool = True)
diff --git a/docs/Packets/HeaderPacket.md b/docs/Packets/HeaderPacket.md
index 579e4cd7..237877db 100644
--- a/docs/Packets/HeaderPacket.md
+++ b/docs/Packets/HeaderPacket.md
@@ -1,9 +1,13 @@
+
+
# Header packet: Metadata packet
### *class* Packets.HeaderPacket.Header(packetsID: int, packetCount: int, sender: int, senderDisplayName: int, recipient: int, recipientNode: int, subpacket: bool = False, wantFullResponse: bool = False, packetsClass: int = 0, pAction: int = -1)
Metadata packet for messages
+[🔗 Source](https://git.utopic.work/PierMesh/piermesh/src/branch/main/Packets/HeaderPacket.py)
+
#### sender
6 digit (maximum) node or peer ID
diff --git a/docs/Packets/Packet.md b/docs/Packets/Packet.md
index 55adab3a..82424c15 100644
--- a/docs/Packets/Packet.md
+++ b/docs/Packets/Packet.md
@@ -1,3 +1,5 @@
+
+
# Base packet
### *class* Packets.Packet.Packet(data: bytes, packetsID: int = -1, packetNumber=False, packetCount: int = 1, packetsClass: int = -1)
diff --git a/docs/Packets/SinglePacket.md b/docs/Packets/SinglePacket.md
index 5cedb018..d209ec08 100644
--- a/docs/Packets/SinglePacket.md
+++ b/docs/Packets/SinglePacket.md
@@ -7,3 +7,5 @@ for very low data applications
WIP
Single packet for very small protocols
+
+[🔗 Source](https://git.utopic.work/PierMesh/piermesh/src/branch/main/src/Packets/SinglePacket.py)
diff --git a/docs/Siph/map.md b/docs/Siph/map.md
index 10250cb7..a98fb68d 100644
--- a/docs/Siph/map.md
+++ b/docs/Siph/map.md
@@ -1,10 +1,12 @@
+
+
# Network map representation
### *class* Siph.map.Network(file=None)
Layered graph network
-[🔗 Source](https://git.utopic.work/PierMesh/piermesh/src/branch/main/src/Bubble/map.py)
+[🔗 Source](https://git.utopic.work/PierMesh/piermesh/src/branch/main/src/Siph/map.py)
#### omap
diff --git a/docs/Splash/serve.md b/docs/Splash/serve.md
index d2928a1d..f9215aae 100644
--- a/docs/Splash/serve.md
+++ b/docs/Splash/serve.md
@@ -1,9 +1,13 @@
+
+
# serve: Web UI server
### *class* Splash.serve.Server(transceiver, catch, onodeID, network, cLog)
Web server that serves the web ui and provides web to node communication
+[🔗 Source](https://git.utopic.work/PierMesh/piermesh/src/branch/main/src/Sponge/serve.py)
+
#### cLog
Reference to run.Node.cLog for logging
diff --git a/docs/Sponge/base.md b/docs/Sponge/base.md
index c9063bb6..001e9a30 100644
--- a/docs/Sponge/base.md
+++ b/docs/Sponge/base.md
@@ -51,19 +51,19 @@ Base filtering logic, takes a single MeshTastic packet
Peer to peer protol
-[🔗 Bubble Source](https://git.utopic.work/PierMesh/piermesh/src/branch/main/src/Sponge/Protocols/bubble.py)
+[🔗 Source](https://git.utopic.work/PierMesh/piermesh/src/branch/main/src/Sponge/Protocols/bubble.py)
#### *async* catch.filter(recipient, recipientNode, todo)
Catch exchange protocol
-[🔗 Catch Source](https://git.utopic.work/PierMesh/piermesh/src/branch/main/Sponge/Protocols/catch.py)
+[🔗 Source](https://git.utopic.work/PierMesh/piermesh/src/branch/main/Sponge/Protocols/catch.py)
#### *async* cryptography.filter(recipientNode, todo)
Cryptographic operations protocol
-[🔗 Cryptography Source](https://git.utopic.work/PierMesh/piermesh/src/branch/main/Sponge/Protocols/cryptography.py)
+[🔗 Source](https://git.utopic.work/PierMesh/piermesh/src/branch/main/Sponge/Protocols/cryptography.py)
#### *async* map.filter(todo)
diff --git a/docs/Transceiver/Transceiver.md b/docs/Transceiver/Transceiver.md
index 78f88568..46cf557e 100644
--- a/docs/Transceiver/Transceiver.md
+++ b/docs/Transceiver/Transceiver.md
@@ -1,9 +1,13 @@
+
+
# Layer 0 data transceiving
### *class* Transceiver.Transceiver.Transceiver(device, filter, onodeID, cache, catch, cryptographyInfo, cLog)
Handling LoRa transceiving
+[🔗 Source](https://git.utopic.work/PierMesh/piermesh/src/branch/main/src/Transceiver/Transceiver.py)
+
#### cLog
Reference to run.Node.cLog for logging
diff --git a/docs/readme.md b/docs/readme.md
index 113b1455..37baf3a4 100644
--- a/docs/readme.md
+++ b/docs/readme.md
@@ -3,6 +3,8 @@
+
+
# PierMesh documentation
# Contents:
@@ -68,6 +70,8 @@ sphinx-quickstart on Fri Jul 26 23:30:55 2024. -->
* [`Cache.refresh()`](/PierMesh/piermesh/src/branch/main/docs/Daisy/Cache.md#Daisy.Cache.Cache.refresh)
* [`Cache.search()`](/PierMesh/piermesh/src/branch/main/docs/Daisy/Cache.md#Daisy.Cache.Cache.search)
* [`Catch`](/PierMesh/piermesh/src/branch/main/docs/Daisy/Catch.md)
+ * [`Catch.addc()`](/PierMesh/piermesh/src/branch/main/docs/Daisy/Catch.md#Daisy.Catch.Catch.addc)
+ * [`Catch.catches`](/PierMesh/piermesh/src/branch/main/docs/Daisy/Catch.md#Daisy.Catch.Catch.catches)
* [`Catch.get()`](/PierMesh/piermesh/src/branch/main/docs/Daisy/Catch.md#Daisy.Catch.Catch.get)
* [`Catch.sget()`](/PierMesh/piermesh/src/branch/main/docs/Daisy/Catch.md#Daisy.Catch.Catch.sget)
* [`Daisy`](/PierMesh/piermesh/src/branch/main/docs/Daisy/Daisy.md)
@@ -81,6 +85,8 @@ sphinx-quickstart on Fri Jul 26 23:30:55 2024. -->
* [`Compound`](/PierMesh/piermesh/src/branch/main/docs/Daisy/Soil.md#Daisy.Soil.Compound)
* [`Compound.on_any_event()`](/PierMesh/piermesh/src/branch/main/docs/Daisy/Soil.md#Daisy.Soil.Compound.on_any_event)
* [`Store`](/PierMesh/piermesh/src/branch/main/docs/Daisy/Store.md)
+ * [`Store.getRecord()`](/PierMesh/piermesh/src/branch/main/docs/Daisy/Store.md#Daisy.Store.Store.getRecord)
+ * [`Store.update()`](/PierMesh/piermesh/src/branch/main/docs/Daisy/Store.md#Daisy.Store.Store.update)
* [`DHEFern`](/PierMesh/piermesh/src/branch/main/docs/Cryptography/WhaleSong.md)
* [`DHEFern.cLog`](/PierMesh/piermesh/src/branch/main/docs/Cryptography/WhaleSong.md#Cryptography.WhaleSong.DHEFern.cLog)
* [`DHEFern.loadedParams`](/PierMesh/piermesh/src/branch/main/docs/Cryptography/WhaleSong.md#Cryptography.WhaleSong.DHEFern.loadedParams)
diff --git a/docs/run.md b/docs/run.md
index 6c5fa821..c6bfadfb 100644
--- a/docs/run.md
+++ b/docs/run.md
@@ -1,3 +1,5 @@
+
+
# run: PierMesh service runner
### *class* run.Node
diff --git a/docs/ui.md b/docs/ui.md
index 72316a1b..da7ecc20 100644
--- a/docs/ui.md
+++ b/docs/ui.md
@@ -1,3 +1,5 @@
+
+
# ui: TUI application
### *class* ui.TUI(driver_class: Type[Driver] | None = None, css_path: str | PurePath | List[str | PurePath] | None = None, watch_css: bool = False)
diff --git a/src/Components/hopper.rst b/src/Components/hopper.rst
index eebf458f..53ae5e98 100644
--- a/src/Components/hopper.rst
+++ b/src/Components/hopper.rst
@@ -1,5 +1,7 @@
hopper: Small internet interop utilities
========================================
+`🔗 Source `__
+
.. automodule:: Components.hopper
:members:
diff --git a/src/Cryptography/WhaleSong.py b/src/Cryptography/WhaleSong.py
index 34dc5d3d..a7dcbeeb 100755
--- a/src/Cryptography/WhaleSong.py
+++ b/src/Cryptography/WhaleSong.py
@@ -21,6 +21,8 @@ from Daisy.Store import Store
class DHEFern:
"""
+ `🔗 Source `__
+
Attributes
----------
cLog
diff --git a/src/Cryptography/WhaleSong.rst b/src/Cryptography/WhaleSong.rst
index 911bc653..3014393a 100644
--- a/src/Cryptography/WhaleSong.rst
+++ b/src/Cryptography/WhaleSong.rst
@@ -5,3 +5,4 @@ Fernet based encryption
.. autoclass:: Cryptography.WhaleSong.DHEFern
:members:
+ :undoc-members:
diff --git a/src/Daisy/Cache.py b/src/Daisy/Cache.py
index f7b273b2..a19983f5 100755
--- a/src/Daisy/Cache.py
+++ b/src/Daisy/Cache.py
@@ -12,6 +12,8 @@ from watchdog.observers import Observer
class Cache:
"""
In memory collection of Daisy records
+
+ `🔗 Source `__
"""
def __init__(
diff --git a/src/Daisy/Cache.rst b/src/Daisy/Cache.rst
index ba997ad1..44dd246e 100644
--- a/src/Daisy/Cache.rst
+++ b/src/Daisy/Cache.rst
@@ -3,3 +3,4 @@ Daisy based cache
.. autoclass:: Daisy.Cache.Cache
:members:
+ :undoc-members:
diff --git a/src/Daisy/Catch.py b/src/Daisy/Catch.py
index f5a13b70..43a3f316 100755
--- a/src/Daisy/Catch.py
+++ b/src/Daisy/Catch.py
@@ -9,6 +9,8 @@ class Catch(Cache):
Sub class of Cache for handling catchs
.. image:: https://git.utopic.work/PierMesh/piermesh/raw/branch/main/imgs/catchdisplay.png
+
+ `🔗 Source `__
"""
catches = {}
diff --git a/src/Daisy/Catch.rst b/src/Daisy/Catch.rst
index e11608e3..9b07f2b1 100644
--- a/src/Daisy/Catch.rst
+++ b/src/Daisy/Catch.rst
@@ -4,3 +4,4 @@ PierMesh's domain analog
.. autoclass:: Daisy.Catch.Catch
:members:
+ :undoc-members:
diff --git a/src/Daisy/Daisy.py b/src/Daisy/Daisy.py
index 176ef5b9..f81d0b5a 100755
--- a/src/Daisy/Daisy.py
+++ b/src/Daisy/Daisy.py
@@ -29,7 +29,7 @@ class Daisy:
"""
Base class for Daisy data representation
- `🔗 Source `_
+ `🔗 Source `__
Attributes
----------
diff --git a/src/Daisy/Daisy.rst b/src/Daisy/Daisy.rst
index 6e82bac4..119cacf8 100644
--- a/src/Daisy/Daisy.rst
+++ b/src/Daisy/Daisy.rst
@@ -4,3 +4,4 @@ base class
.. autoclass:: Daisy.Daisy.Daisy
:members:
+ :undoc-members:
diff --git a/src/Daisy/Soil.py b/src/Daisy/Soil.py
index e1e842f4..9975d792 100644
--- a/src/Daisy/Soil.py
+++ b/src/Daisy/Soil.py
@@ -12,6 +12,8 @@ garden = {}
class Compound(FileSystemEventHandler):
"""
File system watcher to propagate disk changes
+
+ `🔗 Source `__
"""
def __init__(self, cache, isCatch: bool = False):
diff --git a/src/Daisy/Soil.rst b/src/Daisy/Soil.rst
index 5e3a3651..c6ac8634 100644
--- a/src/Daisy/Soil.rst
+++ b/src/Daisy/Soil.rst
@@ -3,3 +3,4 @@ Daisy signal management
.. autoclass:: Daisy.Soil.Compound
:members:
+ :undoc-members:
diff --git a/src/Daisy/Store.py b/src/Daisy/Store.py
index 1c12159d..deb70e82 100755
--- a/src/Daisy/Store.py
+++ b/src/Daisy/Store.py
@@ -4,6 +4,12 @@ import os
class Store(Daisy):
+ """
+ Key value store
+
+ `🔗 Source `__
+ """
+
def __init__(self, store: str, path: str, nodeNickname: str):
fpath = "daisy/{0}/{1}".format(path, nodeNickname)
cpath = "{0}/{1}/{2}".format(path, nodeNickname, store)
diff --git a/src/Daisy/Store.rst b/src/Daisy/Store.rst
index 305e7f9b..5dbc22fa 100644
--- a/src/Daisy/Store.rst
+++ b/src/Daisy/Store.rst
@@ -4,3 +4,4 @@ store with recursion
.. autoclass:: Daisy.Store.Store
:members:
+ :undoc-members:
diff --git a/src/Packets/HeaderPacket.py b/src/Packets/HeaderPacket.py
index a5dc17c2..bcc3c441 100755
--- a/src/Packets/HeaderPacket.py
+++ b/src/Packets/HeaderPacket.py
@@ -7,6 +7,8 @@ class Header(Packet):
"""
Metadata packet for messages
+ `🔗 Source `__
+
Attributes
----------
sender: int
diff --git a/src/Packets/HeaderPacket.rst b/src/Packets/HeaderPacket.rst
index 6d72a821..f1e97744 100644
--- a/src/Packets/HeaderPacket.rst
+++ b/src/Packets/HeaderPacket.rst
@@ -3,3 +3,4 @@ Header packet: Metadata packet
.. autoclass:: Packets.HeaderPacket.Header
:members:
+ :undoc-members:
diff --git a/src/Packets/Message.py b/src/Packets/Message.py
index 06194193..de82aef3 100755
--- a/src/Packets/Message.py
+++ b/src/Packets/Message.py
@@ -12,6 +12,8 @@ class Message:
"""
Full message which is composed of `Packets.Packet.Packet`s
+ `🔗 Source `__
+
Attributes
----------
packets: list[Packets.Packet.Packet]
diff --git a/src/Packets/Message.srt b/src/Packets/Message.srt
index ec67be10..a6e5beac 100644
--- a/src/Packets/Message.srt
+++ b/src/Packets/Message.srt
@@ -3,3 +3,4 @@ Full message
.. autoclass:: Packets.Message.Message
:members:
+ :undoc-members:
diff --git a/src/Packets/Packet.rst b/src/Packets/Packet.rst
index e1396fc9..c47ca656 100644
--- a/src/Packets/Packet.rst
+++ b/src/Packets/Packet.rst
@@ -3,3 +3,4 @@ Base packet
.. autoclass:: Packets.Packet.Packet
:members:
+ :undoc-members:
diff --git a/src/Packets/SinglePacket.py b/src/Packets/SinglePacket.py
index 0aa4c793..a7defd33 100755
--- a/src/Packets/SinglePacket.py
+++ b/src/Packets/SinglePacket.py
@@ -11,6 +11,8 @@ class SinglePacket(Packet):
WIP
Single packet for very small protocols
+
+ `🔗 Source `__
"""
def __init__(self, data, packetsID, packetsClass=None, cache=None):
diff --git a/src/Packets/SinglePacket.rst b/src/Packets/SinglePacket.rst
index c93f76ea..9a833081 100644
--- a/src/Packets/SinglePacket.rst
+++ b/src/Packets/SinglePacket.rst
@@ -4,3 +4,4 @@ for very low data applications
.. autoclass:: Packets.SinglePacket.SinglePacket
:members:
+ :undoc-members:
diff --git a/src/Siph/map.py b/src/Siph/map.py
index 8ee84832..1f516184 100755
--- a/src/Siph/map.py
+++ b/src/Siph/map.py
@@ -10,7 +10,7 @@ class Network:
"""
Layered graph network
- `🔗 Source `_
+ `🔗 Source `_
Attributes
----------
diff --git a/src/Siph/map.rst b/src/Siph/map.rst
index d13a3f2a..433da5eb 100644
--- a/src/Siph/map.rst
+++ b/src/Siph/map.rst
@@ -3,3 +3,4 @@ Network map representation
.. autoclass:: Siph.map.Network
:members:
+ :undoc-members:
diff --git a/src/Splash/serve.py b/src/Splash/serve.py
index 18e1a806..60900c59 100755
--- a/src/Splash/serve.py
+++ b/src/Splash/serve.py
@@ -18,6 +18,8 @@ class Server:
"""
Web server that serves the web ui and provides web to node communication
+ `🔗 Source `__
+
Attributes
----------
cLog
diff --git a/src/Splash/serve.rst b/src/Splash/serve.rst
index 10317ea5..7dd60b4e 100644
--- a/src/Splash/serve.rst
+++ b/src/Splash/serve.rst
@@ -3,3 +3,4 @@ serve: Web UI server
.. autoclass:: Splash.serve.Server
:members:
+ :undoc-members:
diff --git a/src/Sponge/Protocols/bubble.py b/src/Sponge/Protocols/bubble.py
index 80906b14..ef28709e 100644
--- a/src/Sponge/Protocols/bubble.py
+++ b/src/Sponge/Protocols/bubble.py
@@ -2,7 +2,7 @@ async def filter(completeMessage, recipient, recipientNode, onodeID, todo):
"""
Peer to peer protol
- `🔗 Bubble Source `_
+ `🔗 Source `__
"""
m = completeMessage
if recipientNode == onodeID:
diff --git a/src/Sponge/Protocols/catch.py b/src/Sponge/Protocols/catch.py
index 31d04b64..8448b0e2 100644
--- a/src/Sponge/Protocols/catch.py
+++ b/src/Sponge/Protocols/catch.py
@@ -2,7 +2,7 @@ async def filter(completeMessage, recipient, recipientNode, todo):
"""
Catch exchange protocol
- `🔗 Catch Source `_
+ `🔗 Source `__
"""
m = completeMessage
# TODO: Sending to other nodes clients
diff --git a/src/Sponge/Protocols/cryptography.py b/src/Sponge/Protocols/cryptography.py
index f135a812..0354e062 100644
--- a/src/Sponge/Protocols/cryptography.py
+++ b/src/Sponge/Protocols/cryptography.py
@@ -2,7 +2,7 @@ async def filter(completeMessage, recipientNode, todo):
"""
Cryptographic operations protocol
- `🔗 Cryptography Source `_
+ `🔗 Source `__
"""
todo.append(
{
diff --git a/src/Sponge/Protocols/map.py b/src/Sponge/Protocols/map.py
index 2f9baf80..d9b8c3d0 100644
--- a/src/Sponge/Protocols/map.py
+++ b/src/Sponge/Protocols/map.py
@@ -2,7 +2,7 @@ async def filter(completeMessage, todo):
"""
Network mapping protocol
- `🔗 Source `_
+ `🔗 Source `__
"""
m = completeMessage
todo.append(
diff --git a/src/Sponge/base.py b/src/Sponge/base.py
index bb498cd9..1b8bd2f8 100644
--- a/src/Sponge/base.py
+++ b/src/Sponge/base.py
@@ -12,7 +12,7 @@ class Filter:
"""
Packet filtering orchestration
- `🔗 Source `_
+ `🔗 Source `__
cLog
Reference to `run.Node.cLog` for logging
diff --git a/src/Sponge/base.rst b/src/Sponge/base.rst
index dfd96ef9..c305148c 100644
--- a/src/Sponge/base.rst
+++ b/src/Sponge/base.rst
@@ -4,6 +4,7 @@ Dispatches to Protocols
.. autoclass:: Sponge.base.Filter
:members:
+ :undoc-members:
.. automethod:: Sponge.Protocols.bubble.filter
diff --git a/src/Transceiver/Transceiver.py b/src/Transceiver/Transceiver.py
index dcd9ca59..4cefa5cc 100644
--- a/src/Transceiver/Transceiver.py
+++ b/src/Transceiver/Transceiver.py
@@ -13,6 +13,8 @@ class Transceiver:
"""
Handling LoRa transceiving
+ `🔗 Source `__
+
Attributes
----------
cLog
diff --git a/src/Transceiver/Transceiver.rst b/src/Transceiver/Transceiver.rst
index 5b94c4cc..59b6db6f 100644
--- a/src/Transceiver/Transceiver.rst
+++ b/src/Transceiver/Transceiver.rst
@@ -3,3 +3,4 @@ Layer 0 data transceiving
.. autoclass:: Transceiver.Transceiver.Transceiver
:members:
+ :undoc-members:
diff --git a/src/conf.py b/src/conf.py
index d7310e6f..561cf8c3 100644
--- a/src/conf.py
+++ b/src/conf.py
@@ -23,9 +23,11 @@ extensions = [
"sphinx_markdown_builder",
"sphinx.ext.autodoc",
"sphinx.ext.napoleon",
- "sphinx.ext.viewcode",
]
+napoleon_use_param = True
+markdown_anchor_sections = True
+
templates_path = ["_templates"]
exclude_patterns = []