diff --git a/docs/conf.py b/docs/conf.py
index 60091e9b..430990ef 100644
--- a/docs/conf.py
+++ b/docs/conf.py
@@ -72,6 +72,7 @@
"sphinx_autodoc_typehints", # Automatically document param types (less noise in class signature)
"sphinx_gallery.load_style",
"sphinx-pydantic",
+ "versionwarning.extension",
]
# Grouping the document tree into LaTeX files. List of tuples
@@ -138,3 +139,12 @@
#
# 'figure_align': 'htbp',
}
+
+versionwarning_admonition_type = "tip"
+versionwarning_messages = {
+ 'latest': 'You are reading the "latest" pip-unreleased version of this documentation.'
+ ' See the stable branch for the latest release.',
+}
+versionwarning_admonition_type = 'tip'
+versionwarning_banner_title = 'Tip'
+versionwarning_body_selector = 'div[itemprop="articleBody"]'
diff --git a/docs/examples.rst b/docs/examples.rst
index f8297c37..0d5687c1 100644
--- a/docs/examples.rst
+++ b/docs/examples.rst
@@ -19,4 +19,5 @@ Examples
examples/06_component_codesign_basics
examples/06a_analytical_mzm_model
examples/07_mixed_signal_photonic_cosimulation
- examples/08_basic_interconnection_modelling
+ examples/08_basic_interconnection_modelling/08_basic_interconnection_modelling
+ examples/08a_pcb_interposer_characterisation/08a_pcb_interposer_characterisation
diff --git a/docs/index.rst b/docs/index.rst
index a5884ddb..f1149bc8 100644
--- a/docs/index.rst
+++ b/docs/index.rst
@@ -11,9 +11,9 @@ Contents
examples
sections/environment/index
- sections/microservices/index
sections/codesign/index
sections/models/index
+ sections/microservices/index
resources/index
contributing
sections/about/index
diff --git a/docs/resources/fsic_2024_presentation/index.rst b/docs/resources/fsic_2024_presentation/index.rst
index 12b1cf66..e21664c7 100644
--- a/docs/resources/fsic_2024_presentation/index.rst
+++ b/docs/resources/fsic_2024_presentation/index.rst
@@ -6,6 +6,15 @@ This page involves the outline and resources related to of the presentation: *In
Presentation
^^^^^^^^^^^^
+You can listen to the presentation here:
+
+.. raw:: html
+
+
+
+
+You can also see the slides here:
+
:pdfembed:`src:../../_static/resources/fsic_2024_presentation.pdf, height:480px, width:100%, align:middle`
Outline
diff --git a/docs/sections/microservices/index.rst b/docs/sections/microservices/index.rst
index d9dd10ce..2815d3f9 100644
--- a/docs/sections/microservices/index.rst
+++ b/docs/sections/microservices/index.rst
@@ -17,17 +17,18 @@ Project Structure
A general overview of the ``piel`` python package structure:
-```raw
-piel/
- cli/ # command-line scripts
- experimental/ # selected set of functions useful when interacting with relevant equipment
- flows/ # High-level user-specific functionality to automate common design tasks
- integration/ # Deterministic explicit functionality between toolsets
- materials/ # Self-contained or referenced material models
- models/ # Specific instances, or target application usages, operate on other directories
- tools/ # Relevant extended functionality onto supported tools
- visual/ # Utilities to plot and visualise relationships
-```
+.. raw::
+
+ piel/
+ cli/ # command-line scripts
+ experimental/ # selected set of functions useful when interacting with relevant equipment
+ flows/ # High-level user-specific functionality to automate common design tasks
+ integration/ # Deterministic explicit functionality between toolsets
+ materials/ # Self-contained or referenced material models
+ models/ # Specific instances, or target application usages, operate on other directories
+ tools/ # Relevant extended functionality onto supported tools
+ visual/ # Utilities to plot and visualise relationships
+
.. toctree::
diff --git a/docs/sections/models/index.rst b/docs/sections/models/index.rst
index 11477d77..1332ac71 100644
--- a/docs/sections/models/index.rst
+++ b/docs/sections/models/index.rst
@@ -1,7 +1,39 @@
**************************
-Models
+Data Structures
**************************
+Types
+=====
+
+``piel`` is built on top of the popular python package `pydantic `_.
+All ``piel.types`` are defined as static ``pydantic.BaseClass`` subclasses. The goal is to enable purely functional
+data containers and operations. This enables extensibility when using common data types between multiple tools or workflows.
+By translating the data from multiple tools into standard types, we guarantee that the functionality developed on top
+of this data type can be validated, verified and extensibly used at a higher-level without worrying of the lower-level implementation.
+
+
+Note that there are both standard types and experimental types according to the functionality required:
+
+.. toctree::
+ :maxdepth: 2
+
+ ../../autoapi/piel/types/index.rst
+
+
+Experimental
+-------------
+
+There are some `experimental-specific` data types, where functionality integrating common devices into the standard ``piel`` data types is described. See the related examples too. TODO link.
+
+.. toctree::
+ :maxdepth: 2
+
+ ../../autoapi/piel/experimental/types/index.rst
+
+
+Models
+======
+
`piel` provides a component model library to aid co-simulation. However, to extract a range of system performance parameters, simulations often tend to have to be done in different domains. This is why we need to have models that represent the same component, in different domains.
.. include:: domains.rst
@@ -9,4 +41,5 @@ Models
.. include:: spice_integration.rst
.. toctree::
+ :maxdepth: 2
../../autoapi/piel/models/index.rst
diff --git a/piel/experimental/types/measurements/__init__.py b/piel/experimental/types/measurements/__init__.py
new file mode 100644
index 00000000..e69de29b
diff --git a/piel/experimental/types/measurements/propagation.py b/piel/experimental/types/measurements/propagation.py
index 3d1cc200..5026871a 100644
--- a/piel/experimental/types/measurements/propagation.py
+++ b/piel/experimental/types/measurements/propagation.py
@@ -1,5 +1,4 @@
-from typing import Optional
-from ....types import Instance, PathTypes, PielBaseModel
+from ....types import Instance, PathTypes
from ..device import DeviceMeasurement
from ..experiment import ExperimentInstance
diff --git a/poetry.lock b/poetry.lock
index 50c78de2..42671a1b 100644
--- a/poetry.lock
+++ b/poetry.lock
@@ -6727,6 +6727,20 @@ sphinxcontrib-jquery = ">=4,<5"
[package.extras]
dev = ["bump2version", "sphinxcontrib-httpdomain", "transifex-client", "wheel"]
+[[package]]
+name = "sphinx-version-warning"
+version = "1.1.2"
+description = "Sphinx extension to add a warning banner"
+optional = true
+python-versions = "*"
+files = [
+ {file = "sphinx-version-warning-1.1.2.tar.gz", hash = "sha256:9924926fd3e739e32eb42ba2db092ecd7657200107146944fb3e440c9651d945"},
+ {file = "sphinx_version_warning-1.1.2-py3-none-any.whl", hash = "sha256:e015947fe7af6c4ba2ce08bb346b1eb822d9dbd797a748757366905f8ce623f1"},
+]
+
+[package.dependencies]
+sphinx = "*"
+
[[package]]
name = "sphinxcontrib-applehelp"
version = "1.0.8"
@@ -8082,10 +8096,10 @@ cffi = {version = ">=1.11", markers = "platform_python_implementation == \"PyPy\
cffi = ["cffi (>=1.11)"]
[extras]
-dev = ["black", "bokeh", "bump-my-version", "cookiecutter", "coverage", "flake8", "ipyevents", "ipytree", "ipywidgets", "jupyter", "jupyter-bokeh", "jupyter-core", "jupyter-packaging", "jupyterlab", "jupytext", "kfactory", "kweb", "myst-parser", "nbsphinx", "pandoc", "poetry", "pre-commit", "pydata-sphinx-theme", "pytest", "sphinx", "sphinx-autoapi", "sphinx-autobuild", "sphinx-autodoc-typehints", "sphinx-copybutton", "sphinx-gallery", "sphinx-pydantic", "sphinx-rtd-theme", "sphinx_book_theme", "sphinxcontrib-pdfembed", "tox", "watchdog"]
+dev = ["black", "bokeh", "bump-my-version", "cookiecutter", "coverage", "flake8", "ipyevents", "ipytree", "ipywidgets", "jupyter", "jupyter-bokeh", "jupyter-core", "jupyter-packaging", "jupyterlab", "jupytext", "kfactory", "kweb", "myst-parser", "nbsphinx", "pandoc", "poetry", "pre-commit", "pydata-sphinx-theme", "pytest", "sphinx", "sphinx-autoapi", "sphinx-autobuild", "sphinx-autodoc-typehints", "sphinx-copybutton", "sphinx-gallery", "sphinx-pydantic", "sphinx-rtd-theme", "sphinx-version-warning", "sphinx_book_theme", "sphinxcontrib-pdfembed", "tox", "watchdog"]
nonix = ["openlane"]
[metadata]
lock-version = "2.0"
python-versions = ">=3.10,<3.12"
-content-hash = "95fa6e1b14f6c282d0a0d840dc0a96c564ac0cf1d882e09241372b6cccf31a0d"
+content-hash = "a9e12810619b79470f057c7917b9381ff13e929d8c5555f286d00daf60092827"
diff --git a/pyproject.toml b/pyproject.toml
index 009e173c..d1a05c20 100644
--- a/pyproject.toml
+++ b/pyproject.toml
@@ -94,6 +94,7 @@ sphinx-gallery = {version = "*", optional = true}
sphinx-pydantic = {version = "*", optional = true}
sphinx-rtd-theme = {version = "*", optional = true}
sphinx_book_theme = {version = "*", optional = true}
+sphinx-version-warning = {version = "*", optional = true}
sphinxcontrib-pdfembed = {git = "https://github.com/SuperKogito/sphinxcontrib-pdfembed.git", optional = true}
thewalrus = "^0.20.0"
tox = {version = "*", optional = true}
@@ -140,6 +141,7 @@ dev = [
"sphinx-gallery",
"sphinx-pydantic",
"sphinx-rtd-theme",
+ "sphinx-version-warning",
"sphinxcontrib-pdfembed",
"tox",
"watchdog"