From ce450188e5a9135f7125a67e315daf417fe60220 Mon Sep 17 00:00:00 2001 From: Tilman Krokotsch Date: Thu, 17 Aug 2023 13:28:48 +0200 Subject: [PATCH 1/3] docs: update readme and index --- README.md | 6 ++++++ docs/index.md | 6 ++++++ 2 files changed, 12 insertions(+) diff --git a/README.md b/README.md index 9de61b8c..0a075ad3 100644 --- a/README.md +++ b/README.md @@ -15,6 +15,12 @@ Currently, five approaches are implemented, including their original hyperparame * **TBiGRU** by Cao et al. (2021) * **Consistency-DANN** by Siahpour et al. (2022) +Three approaches are implemented without their original hyperparameters: + +* **ConditionalDANN** by Cheng et al. (2021) +* **ConditionalMMD** by Cheng et al. (2021) +* **PseudoLabels** as used by Wang et al. (2022) + This includes the following general approaches adapted for RUL estimation: * **Domain Adaption Neural Networks (DANN)** by Ganin et al. (2016) diff --git a/docs/index.md b/docs/index.md index e58bad22..fe7549ba 100644 --- a/docs/index.md +++ b/docs/index.md @@ -15,6 +15,12 @@ Currently, five approaches are implemented, including their original hyperparame * **[TBiGRU][rul_adapt.approach.tbigru]** by Cao et al. (2021) * **[Consistency-DANN][rul_adapt.approach.consistency]** by Siahpour et al. (2022) +Three approaches are implemented without their original hyperparameters: + +* **[ConditionalDANN][rul_adapt.approach.conditional]** by Cheng et al. (2021) +* **[ConditionalMMD][rul_adapt.approach.conditional]** by Cheng et al. (2021) +* **[PseudoLabels][rul_adapt.approach.pseudo_labels]** as used by Wang et al. (2022) + This includes the following general approaches adapted for RUL estimation: * **Domain Adaption Neural Networks (DANN)** by Ganin et al. (2016) From 68f524f36440913c5199adf61bf825a13928bd79 Mon Sep 17 00:00:00 2001 From: Tilman Krokotsch Date: Thu, 17 Aug 2023 13:36:00 +0200 Subject: [PATCH 2/3] docs: fix errors in existing docstrings --- rul_adapt/approach/adarul.py | 6 ++++-- rul_adapt/approach/conditional.py | 6 ++++-- rul_adapt/approach/consistency.py | 2 ++ rul_adapt/approach/dann.py | 2 ++ rul_adapt/approach/latent_align.py | 2 +- rul_adapt/approach/mmd.py | 2 ++ rul_adapt/approach/supervised.py | 2 ++ 7 files changed, 17 insertions(+), 5 deletions(-) diff --git a/rul_adapt/approach/adarul.py b/rul_adapt/approach/adarul.py index a704f51a..66a700f1 100644 --- a/rul_adapt/approach/adarul.py +++ b/rul_adapt/approach/adarul.py @@ -35,9 +35,9 @@ class AdaRulApproach(AdaptionApproach): >>> feat_ex = model.CnnExtractor(1, [16, 16, 1], 10, fc_units=16) >>> reg = model.FullyConnectedHead(16, [1]) >>> disc = model.FullyConnectedHead(16, [8, 1], act_func_on_last_layer=False) - >>> pre = approach.SupervisedApproach(0.01, "mse", "adam", 125) + >>> pre = approach.SupervisedApproach("mse", 125, lr=0.001) >>> pre.set_model(feat_ex, reg) - >>> main = rul_adapt.approach.supervised.SupervisedApproach(0.01, 125) + >>> main = approach.AdaRulApproach(5, 1, 125, lr=0.001) >>> main.set_model(pre.feature_extractor, pre.regressor, disc) """ @@ -74,6 +74,8 @@ def __init__( num_gen_updates: Number of batches to update generator with. rul_score_mode: The mode for the val and test RUL score, either 'phm08' or 'phm12'. + evaluate_degraded_only: Whether to only evaluate the RUL score on degraded + samples. **optim_kwargs: Keyword arguments for the optimizer, e.g. learning rate. """ super().__init__() diff --git a/rul_adapt/approach/conditional.py b/rul_adapt/approach/conditional.py index 5550e367..6b0b375c 100644 --- a/rul_adapt/approach/conditional.py +++ b/rul_adapt/approach/conditional.py @@ -33,7 +33,7 @@ class ConditionalMmdApproach(AdaptionApproach): >>> from rul_adapt import approach >>> feat_ex = model.CnnExtractor(1, [16, 16, 1], 10, fc_units=16) >>> reg = model.FullyConnectedHead(16, [1]) - >>> cond_mmd = approach.ConditionalMmdApproach(0.01, 5, 0.5) + >>> cond_mmd = approach.ConditionalMmdApproach(0.01, 5, 0.5, [(0, 1)]) >>> cond_mmd.set_model(feat_ex, reg) """ @@ -67,6 +67,8 @@ def __init__( loss_type: The type of regression loss, either 'mse', 'rmse' or 'mae'. rul_score_mode: The mode for the val and test RUL score, either 'phm08' or 'phm12'. + evaluate_degraded_only: Whether to only evaluate the RUL score on degraded + samples. **optim_kwargs: Keyword arguments for the optimizer, e.g. learning rate. """ super().__init__() @@ -209,7 +211,7 @@ class ConditionalDannApproach(AdaptionApproach): >>> feat_ex = model.CnnExtractor(1, [16, 16, 1], 10, fc_units=16) >>> reg = model.FullyConnectedHead(16, [1]) >>> disc = model.FullyConnectedHead(16, [8, 1], act_func_on_last_layer=False) - >>> cond_dann = approach.ConditionalDannApproach(1.0, 0.5) + >>> cond_dann = approach.ConditionalDannApproach(1.0, 0.5, [(0, 1)]) >>> cond_dann.set_model(feat_ex, reg, disc) """ diff --git a/rul_adapt/approach/consistency.py b/rul_adapt/approach/consistency.py index 5dbb69ed..2b0156fa 100644 --- a/rul_adapt/approach/consistency.py +++ b/rul_adapt/approach/consistency.py @@ -98,6 +98,8 @@ def __init__( loss_type: The type of regression loss, either 'mse', 'rmse' or 'mae'. rul_score_mode: The mode for the val and test RUL score, either 'phm08' or 'phm12'. + evaluate_degraded_only: Whether to only evaluate the RUL score on degraded + samples. **optim_kwargs: Keyword arguments for the optimizer, e.g. learning rate. """ super().__init__() diff --git a/rul_adapt/approach/dann.py b/rul_adapt/approach/dann.py index 6b8a4cbb..a940687c 100644 --- a/rul_adapt/approach/dann.py +++ b/rul_adapt/approach/dann.py @@ -91,6 +91,8 @@ def __init__( loss_type: Type of regression loss. rul_score_mode: The mode for the val and test RUL score, either 'phm08' or 'phm12'. + evaluate_degraded_only: Whether to only evaluate the RUL score on degraded + samples. **optim_kwargs: Keyword arguments for the optimizer, e.g. learning rate. """ super().__init__() diff --git a/rul_adapt/approach/latent_align.py b/rul_adapt/approach/latent_align.py index a70fb7fe..3cd07c54 100644 --- a/rul_adapt/approach/latent_align.py +++ b/rul_adapt/approach/latent_align.py @@ -333,7 +333,7 @@ class LatentAlignApproach(AdaptionApproach): >>> from rul_adapt import model, approach >>> feat_ex = model.CnnExtractor(1, [16, 16, 1], 10, fc_units=16) >>> reg = model.FullyConnectedHead(16, [1]) - >>> latent_align = approach.LatentAlignApproach(0.1, 0.1, 0.1, 0.1, 0.001) + >>> latent_align = approach.LatentAlignApproach(0.1, 0.1, 0.1, 0.1, lr=0.001) >>> latent_align.set_model(feat_ex, reg) """ diff --git a/rul_adapt/approach/mmd.py b/rul_adapt/approach/mmd.py index 2ca01938..ad7a7a36 100644 --- a/rul_adapt/approach/mmd.py +++ b/rul_adapt/approach/mmd.py @@ -76,6 +76,8 @@ def __init__( loss_type: The type of regression loss, either 'mse', 'rmse' or 'mae'. rul_score_mode: The mode for the val and test RUL score, either 'phm08' or 'phm12'. + evaluate_degraded_only: Whether to only evaluate the RUL score on degraded + samples. **optim_kwargs: Keyword arguments for the optimizer, e.g. learning rate. """ super().__init__() diff --git a/rul_adapt/approach/supervised.py b/rul_adapt/approach/supervised.py index 080556ce..7049f990 100644 --- a/rul_adapt/approach/supervised.py +++ b/rul_adapt/approach/supervised.py @@ -54,6 +54,8 @@ def __init__( Args: loss_type: Training loss function to use. Either 'mse', 'mae' or 'rmse'. rul_scale: Scalar to multiply the RUL prediction with. + evaluate_degraded_only: Whether to only evaluate the RUL score on degraded + samples. **optim_kwargs: Keyword arguments for the optimizer, e.g. learning rate. """ super().__init__() From 05215db7a004fc21b7197e6b9f8061b3bf9edd40 Mon Sep 17 00:00:00 2001 From: Tilman Krokotsch Date: Thu, 17 Aug 2023 15:22:29 +0200 Subject: [PATCH 3/3] docs: move example notebooks to docs directory --- {examples => docs/examples}/adarul.ipynb | 0 {examples => docs/examples}/cnn_dann.ipynb | 0 {examples => docs/examples}/conditional.ipynb | 0 .../examples}/consistency_dann.ipynb | 0 docs/examples/index.md | 10 + .../examples}/latent_align.ipynb | 0 {examples => docs/examples}/lstm_dann.ipynb | 0 .../examples}/pseudo_labels.ipynb | 0 {examples => docs/examples}/tbigru.ipynb | 0 docs/index.md | 2 +- mkdocs.yml | 11 + poetry.lock | 285 +++++++++++++++--- pyproject.toml | 8 +- 13 files changed, 277 insertions(+), 39 deletions(-) rename {examples => docs/examples}/adarul.ipynb (100%) rename {examples => docs/examples}/cnn_dann.ipynb (100%) rename {examples => docs/examples}/conditional.ipynb (100%) rename {examples => docs/examples}/consistency_dann.ipynb (100%) create mode 100644 docs/examples/index.md rename {examples => docs/examples}/latent_align.ipynb (100%) rename {examples => docs/examples}/lstm_dann.ipynb (100%) rename {examples => docs/examples}/pseudo_labels.ipynb (100%) rename {examples => docs/examples}/tbigru.ipynb (100%) diff --git a/examples/adarul.ipynb b/docs/examples/adarul.ipynb similarity index 100% rename from examples/adarul.ipynb rename to docs/examples/adarul.ipynb diff --git a/examples/cnn_dann.ipynb b/docs/examples/cnn_dann.ipynb similarity index 100% rename from examples/cnn_dann.ipynb rename to docs/examples/cnn_dann.ipynb diff --git a/examples/conditional.ipynb b/docs/examples/conditional.ipynb similarity index 100% rename from examples/conditional.ipynb rename to docs/examples/conditional.ipynb diff --git a/examples/consistency_dann.ipynb b/docs/examples/consistency_dann.ipynb similarity index 100% rename from examples/consistency_dann.ipynb rename to docs/examples/consistency_dann.ipynb diff --git a/docs/examples/index.md b/docs/examples/index.md new file mode 100644 index 00000000..59cc43ec --- /dev/null +++ b/docs/examples/index.md @@ -0,0 +1,10 @@ +# Examples + +* [ADARUL](adarul.ipynb) +* [LSTM-DANN](lstm_dann.ipynb) +* [CNN-DANN](cnn_dann.ipynb) +* [Conditional Approaches](conditional.ipynb) +* [Consistency-DANN](consistency_dann.ipynb) +* [LatentAlign](latent_align.ipynb) +* [Psuedo Labels](pseudo_labels.ipynb) +* [TBiGRU](tbigru.ipynb) \ No newline at end of file diff --git a/examples/latent_align.ipynb b/docs/examples/latent_align.ipynb similarity index 100% rename from examples/latent_align.ipynb rename to docs/examples/latent_align.ipynb diff --git a/examples/lstm_dann.ipynb b/docs/examples/lstm_dann.ipynb similarity index 100% rename from examples/lstm_dann.ipynb rename to docs/examples/lstm_dann.ipynb diff --git a/examples/pseudo_labels.ipynb b/docs/examples/pseudo_labels.ipynb similarity index 100% rename from examples/pseudo_labels.ipynb rename to docs/examples/pseudo_labels.ipynb diff --git a/examples/tbigru.ipynb b/docs/examples/tbigru.ipynb similarity index 100% rename from examples/tbigru.ipynb rename to docs/examples/tbigru.ipynb diff --git a/docs/index.md b/docs/index.md index fe7549ba..3f08f487 100644 --- a/docs/index.md +++ b/docs/index.md @@ -26,7 +26,7 @@ This includes the following general approaches adapted for RUL estimation: * **Domain Adaption Neural Networks (DANN)** by Ganin et al. (2016) * **Multi-Kernel Maximum Mean Discrepancy (MMD)** by Long et al. (2015) -Each approach has an example notebook which can be found in the [examples](https://github.com/tilman151/rul-adapt/tree/master/examples) folder. +Each approach has an example notebook which can be found in the [examples](examples) folder. ## Installation diff --git a/mkdocs.yml b/mkdocs.yml index 0b749097..d8757a78 100644 --- a/mkdocs.yml +++ b/mkdocs.yml @@ -26,6 +26,15 @@ theme: nav: - Introduction: index.md - API Reference: api/ + - Examples: + - AdaRUL: examples/adarul.ipynb + - LSTM-DANN: examples/lstm_dann.ipynb + - CNN-DANN: examples/cnn_dann.ipynb + - Conditional: examples/conditional.ipynb + - Consistency: examples/consistency_dann.ipynb + - LatentAlign: examples/latent_align.ipynb + - PseudoLabels: examples/pseudo_labels.ipynb + - TBiGRU: examples/tbigru.ipynb markdown_extensions: - attr_list @@ -42,6 +51,8 @@ plugins: - search - autorefs - section-index + - mkdocs-jupyter: + no_input: False - gen-files: scripts: [docs/gen_ref_pages.py] - literate-nav: diff --git a/poetry.lock b/poetry.lock index 11fb8157..faa8a1a2 100644 --- a/poetry.lock +++ b/poetry.lock @@ -1080,22 +1080,19 @@ tool = ["click (>=6.0.0)"] [[package]] name = "griffe" -version = "0.27.1" +version = "0.32.3" description = "Signatures for entire Python programs. Extract the structure, the frame, the skeleton of your project, to generate API documentation or find breaking changes in your API." category = "dev" optional = false -python-versions = ">=3.7" +python-versions = ">=3.8" files = [ - {file = "griffe-0.27.1-py3-none-any.whl", hash = "sha256:867008786a17532ec529cbf58cee7c4f131b85d61f38691c2046b1883f7be253"}, - {file = "griffe-0.27.1.tar.gz", hash = "sha256:f213e87f99bf3b76d2d4da999d5a38c2ec01b9a6ce3660c5ab52b663d785edba"}, + {file = "griffe-0.32.3-py3-none-any.whl", hash = "sha256:d9471934225818bf8f309822f70451cc6abb4b24e59e0bb27402a45f9412510f"}, + {file = "griffe-0.32.3.tar.gz", hash = "sha256:14983896ad581f59d5ad7b6c9261ff12bdaa905acccc1129341d13e545da8521"}, ] [package.dependencies] colorama = ">=0.4" -[package.extras] -async = ["aiofiles (>=0.7,<1.0)"] - [[package]] name = "grpcio" version = "1.54.0" @@ -1646,6 +1643,29 @@ files = [ {file = "jupyterlab_widgets-3.0.7.tar.gz", hash = "sha256:c3a50ed5bf528a0c7a869096503af54702f86dda1db469aee1c92dc0c01b43ca"}, ] +[[package]] +name = "jupytext" +version = "1.15.0" +description = "Jupyter notebooks as Markdown documents, Julia, Python or R scripts" +category = "dev" +optional = false +python-versions = "~=3.6" +files = [ + {file = "jupytext-1.15.0-py3-none-any.whl", hash = "sha256:7bb7cf4c0a91f5b1591f7558fa3a6494ac6ccf9810d1aa58565d4d9a2675a4a1"}, + {file = "jupytext-1.15.0.tar.gz", hash = "sha256:290c0a04b0a0a341d7ca87a2992cf407eb83898873baddf0bc48039a5e301ff8"}, +] + +[package.dependencies] +markdown-it-py = ">=1.0.0" +mdit-py-plugins = "*" +nbformat = "*" +pyyaml = "*" +toml = "*" + +[package.extras] +rst2md = ["sphinx-gallery (>=0.7.0,<0.8.0)"] +toml = ["toml"] + [[package]] name = "kiwisolver" version = "1.4.4" @@ -1764,6 +1784,31 @@ importlib-metadata = {version = ">=4.4", markers = "python_version < \"3.10\""} [package.extras] testing = ["coverage", "pyyaml"] +[[package]] +name = "markdown-it-py" +version = "3.0.0" +description = "Python port of markdown-it. Markdown parsing, done right!" +category = "dev" +optional = false +python-versions = ">=3.8" +files = [ + {file = "markdown-it-py-3.0.0.tar.gz", hash = "sha256:e3f60a94fa066dc52ec76661e37c851cb232d92f9886b15cb560aaada2df8feb"}, + {file = "markdown_it_py-3.0.0-py3-none-any.whl", hash = "sha256:355216845c60bd96232cd8d8c40e8f9765cc86f46880e43a8fd22dc1a1a8cab1"}, +] + +[package.dependencies] +mdurl = ">=0.1,<1.0" + +[package.extras] +benchmarking = ["psutil", "pytest", "pytest-benchmark"] +code-style = ["pre-commit (>=3.0,<4.0)"] +compare = ["commonmark (>=0.9,<1.0)", "markdown (>=3.4,<4.0)", "mistletoe (>=1.0,<2.0)", "mistune (>=2.0,<3.0)", "panflute (>=2.3,<3.0)"] +linkify = ["linkify-it-py (>=1,<3)"] +plugins = ["mdit-py-plugins"] +profiling = ["gprof2dot"] +rtd = ["jupyter_sphinx", "mdit-py-plugins", "myst-parser", "pyyaml", "sphinx", "sphinx-copybutton", "sphinx-design", "sphinx_book_theme"] +testing = ["coverage", "pytest", "pytest-cov", "pytest-regressions"] + [[package]] name = "markupsafe" version = "2.1.2" @@ -1914,6 +1959,38 @@ files = [ {file = "mccabe-0.7.0.tar.gz", hash = "sha256:348e0240c33b60bbdf4e523192ef919f28cb2c3d7d5c7794f74009290f236325"}, ] +[[package]] +name = "mdit-py-plugins" +version = "0.4.0" +description = "Collection of plugins for markdown-it-py" +category = "dev" +optional = false +python-versions = ">=3.8" +files = [ + {file = "mdit_py_plugins-0.4.0-py3-none-any.whl", hash = "sha256:b51b3bb70691f57f974e257e367107857a93b36f322a9e6d44ca5bf28ec2def9"}, + {file = "mdit_py_plugins-0.4.0.tar.gz", hash = "sha256:d8ab27e9aed6c38aa716819fedfde15ca275715955f8a185a8e1cf90fb1d2c1b"}, +] + +[package.dependencies] +markdown-it-py = ">=1.0.0,<4.0.0" + +[package.extras] +code-style = ["pre-commit"] +rtd = ["myst-parser", "sphinx-book-theme"] +testing = ["coverage", "pytest", "pytest-cov", "pytest-regressions"] + +[[package]] +name = "mdurl" +version = "0.1.2" +description = "Markdown URL utilities" +category = "dev" +optional = false +python-versions = ">=3.7" +files = [ + {file = "mdurl-0.1.2-py3-none-any.whl", hash = "sha256:84008a41e51615a49fc9966191ff91509e3c40b939176e643fd50a5c2196b8f8"}, + {file = "mdurl-0.1.2.tar.gz", hash = "sha256:bb413d29f5eea38f31dd4754dd7377d4465116fb207585f97bf925588687c1ba"}, +] + [[package]] name = "mergedeep" version = "1.3.4" @@ -1940,14 +2017,14 @@ files = [ [[package]] name = "mkdocs" -version = "1.4.2" +version = "1.5.2" description = "Project documentation with Markdown." category = "dev" optional = false python-versions = ">=3.7" files = [ - {file = "mkdocs-1.4.2-py3-none-any.whl", hash = "sha256:c8856a832c1e56702577023cd64cc5f84948280c1c0fcc6af4cd39006ea6aa8c"}, - {file = "mkdocs-1.4.2.tar.gz", hash = "sha256:8947af423a6d0facf41ea1195b8e1e8c85ad94ac95ae307fe11232e0424b11c5"}, + {file = "mkdocs-1.5.2-py3-none-any.whl", hash = "sha256:60a62538519c2e96fe8426654a67ee177350451616118a41596ae7c876bb7eac"}, + {file = "mkdocs-1.5.2.tar.gz", hash = "sha256:70d0da09c26cff288852471be03c23f0f521fc15cf16ac89c7a3bfb9ae8d24f9"}, ] [package.dependencies] @@ -1956,16 +2033,19 @@ colorama = {version = ">=0.4", markers = "platform_system == \"Windows\""} ghp-import = ">=1.0" importlib-metadata = {version = ">=4.3", markers = "python_version < \"3.10\""} jinja2 = ">=2.11.1" -markdown = ">=3.2.1,<3.4" +markdown = ">=3.2.1" +markupsafe = ">=2.0.1" mergedeep = ">=1.3.4" packaging = ">=20.5" +pathspec = ">=0.11.1" +platformdirs = ">=2.2.0" pyyaml = ">=5.1" pyyaml-env-tag = ">=0.1" watchdog = ">=2.0" [package.extras] i18n = ["babel (>=2.9.0)"] -min-versions = ["babel (==2.9.0)", "click (==7.0)", "colorama (==0.4)", "ghp-import (==1.0)", "importlib-metadata (==4.3)", "jinja2 (==2.11.1)", "markdown (==3.2.1)", "markupsafe (==2.0.1)", "mergedeep (==1.3.4)", "packaging (==20.5)", "pyyaml (==5.1)", "pyyaml-env-tag (==0.1)", "typing-extensions (==3.10)", "watchdog (==2.0)"] +min-versions = ["babel (==2.9.0)", "click (==7.0)", "colorama (==0.4)", "ghp-import (==1.0)", "importlib-metadata (==4.3)", "jinja2 (==2.11.1)", "markdown (==3.2.1)", "markupsafe (==2.0.1)", "mergedeep (==1.3.4)", "packaging (==20.5)", "pathspec (==0.11.1)", "platformdirs (==2.2.0)", "pyyaml (==5.1)", "pyyaml-env-tag (==0.1)", "typing-extensions (==3.10)", "watchdog (==2.0)"] [[package]] name = "mkdocs-autorefs" @@ -1985,18 +2065,41 @@ mkdocs = ">=1.1" [[package]] name = "mkdocs-gen-files" -version = "0.4.0" +version = "0.5.0" description = "MkDocs plugin to programmatically generate documentation pages during the build" category = "dev" optional = false -python-versions = ">=3.7,<4.0" +python-versions = ">=3.7" files = [ - {file = "mkdocs-gen-files-0.4.0.tar.gz", hash = "sha256:377bff8ee8e93515916689f483d971643f83a94eed7e92318854da8f344f0163"}, - {file = "mkdocs_gen_files-0.4.0-py3-none-any.whl", hash = "sha256:3241a4c947ecd11763ca77cc645015305bf71a0e1b9b886801c114fcf9971e71"}, + {file = "mkdocs_gen_files-0.5.0-py3-none-any.whl", hash = "sha256:7ac060096f3f40bd19039e7277dd3050be9a453c8ac578645844d4d91d7978ea"}, + {file = "mkdocs_gen_files-0.5.0.tar.gz", hash = "sha256:4c7cf256b5d67062a788f6b1d035e157fc1a9498c2399be9af5257d4ff4d19bc"}, ] [package.dependencies] -mkdocs = ">=1.0.3,<2.0.0" +mkdocs = ">=1.0.3" + +[[package]] +name = "mkdocs-jupyter" +version = "0.24.2" +description = "Use Jupyter in mkdocs websites" +category = "dev" +optional = false +python-versions = ">=3.7" +files = [ + {file = "mkdocs_jupyter-0.24.2-py3-none-any.whl", hash = "sha256:5295a34b1d0bd0a7688a857323eaf0319d83c8a14179b2651709b8ced6eae7db"}, + {file = "mkdocs_jupyter-0.24.2.tar.gz", hash = "sha256:5e0c109d535d48797230719b6941f4d08de95a7a3c95bf158662c412fc15cb2e"}, +] + +[package.dependencies] +ipykernel = ">6.0.0,<7.0.0" +jupytext = ">1.13.8,<2" +mkdocs = ">=1.4.0,<2" +mkdocs-material = ">9.0.0" +nbconvert = ">=7.2.9,<8" +pygments = ">2.12.0" + +[package.extras] +test = ["coverage[toml]", "pymdown-extensions", "pytest", "pytest-cov"] [[package]] name = "mkdocs-literate-nav" @@ -2015,23 +2118,25 @@ mkdocs = ">=1.0.3,<2.0.0" [[package]] name = "mkdocs-material" -version = "8.5.11" +version = "9.1.21" description = "Documentation that simply works" category = "dev" optional = false python-versions = ">=3.7" files = [ - {file = "mkdocs_material-8.5.11-py3-none-any.whl", hash = "sha256:c907b4b052240a5778074a30a78f31a1f8ff82d7012356dc26898b97559f082e"}, - {file = "mkdocs_material-8.5.11.tar.gz", hash = "sha256:b0ea0513fd8cab323e8a825d6692ea07fa83e917bb5db042e523afecc7064ab7"}, + {file = "mkdocs_material-9.1.21-py3-none-any.whl", hash = "sha256:58bb2f11ef240632e176d6f0f7d1cff06be1d11c696a5a1b553b808b4280ed47"}, + {file = "mkdocs_material-9.1.21.tar.gz", hash = "sha256:71940cdfca84ab296b6362889c25395b1621273fb16c93deda257adb7ff44ec8"}, ] [package.dependencies] -jinja2 = ">=3.0.2" +colorama = ">=0.4" +jinja2 = ">=3.0" markdown = ">=3.2" -mkdocs = ">=1.4.0" +mkdocs = ">=1.5.0" mkdocs-material-extensions = ">=1.1" -pygments = ">=2.12" -pymdown-extensions = ">=9.4" +pygments = ">=2.14" +pymdown-extensions = ">=9.9.1" +regex = ">=2022.4.24" requests = ">=2.26" [[package]] @@ -2063,17 +2168,18 @@ mkdocs = ">=1.0.3" [[package]] name = "mkdocstrings" -version = "0.19.1" +version = "0.22.0" description = "Automatic documentation from sources, for MkDocs." category = "dev" optional = false python-versions = ">=3.7" files = [ - {file = "mkdocstrings-0.19.1-py3-none-any.whl", hash = "sha256:32a38d88f67f65b264184ea71290f9332db750d189dea4200cbbe408d304c261"}, - {file = "mkdocstrings-0.19.1.tar.gz", hash = "sha256:d1037cacb4b522c1e8c164ed5d00d724a82e49dcee0af80db8fb67b384faeef9"}, + {file = "mkdocstrings-0.22.0-py3-none-any.whl", hash = "sha256:2d4095d461554ff6a778fdabdca3c00c468c2f1459d469f7a7f622a2b23212ba"}, + {file = "mkdocstrings-0.22.0.tar.gz", hash = "sha256:82a33b94150ebb3d4b5c73bab4598c3e21468c79ec072eff6931c8f3bfc38256"}, ] [package.dependencies] +importlib-metadata = {version = ">=4.6", markers = "python_version < \"3.10\""} Jinja2 = ">=2.11.1" Markdown = ">=3.3" MarkupSafe = ">=1.1" @@ -2081,6 +2187,7 @@ mkdocs = ">=1.2" mkdocs-autorefs = ">=0.3.1" mkdocstrings-python = {version = ">=0.5.2", optional = true, markers = "extra == \"python\""} pymdown-extensions = ">=6.3" +typing-extensions = {version = ">=4.1", markers = "python_version < \"3.10\""} [package.extras] crystal = ["mkdocstrings-crystal (>=0.3.4)"] @@ -2089,19 +2196,19 @@ python-legacy = ["mkdocstrings-python-legacy (>=0.2.1)"] [[package]] name = "mkdocstrings-python" -version = "0.8.3" +version = "1.3.0" description = "A Python handler for mkdocstrings." category = "dev" optional = false -python-versions = ">=3.7" +python-versions = ">=3.8" files = [ - {file = "mkdocstrings-python-0.8.3.tar.gz", hash = "sha256:9ae473f6dc599339b09eee17e4d2b05d6ac0ec29860f3fc9b7512d940fc61adf"}, - {file = "mkdocstrings_python-0.8.3-py3-none-any.whl", hash = "sha256:4e6e1cd6f37a785de0946ced6eb846eb2f5d891ac1cc2c7b832943d3529087a7"}, + {file = "mkdocstrings_python-1.3.0-py3-none-any.whl", hash = "sha256:36c224c86ab77e90e0edfc9fea3307f7d0d245dd7c28f48bbb2203cf6e125530"}, + {file = "mkdocstrings_python-1.3.0.tar.gz", hash = "sha256:f967f84bab530fcc13cc9c02eccf0c18bdb2c3bab5c55fa2045938681eec4fc4"}, ] [package.dependencies] -griffe = ">=0.24" -mkdocstrings = ">=0.19" +griffe = ">=0.30,<0.33" +mkdocstrings = ">=0.20" [[package]] name = "multidict" @@ -3405,6 +3512,104 @@ packaging = "*" [package.extras] test = ["pytest (>=6,!=7.0.0,!=7.0.1)", "pytest-cov (>=3.0.0)", "pytest-qt"] +[[package]] +name = "regex" +version = "2023.8.8" +description = "Alternative regular expression module, to replace re." +category = "dev" +optional = false +python-versions = ">=3.6" +files = [ + {file = "regex-2023.8.8-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:88900f521c645f784260a8d346e12a1590f79e96403971241e64c3a265c8ecdb"}, + {file = "regex-2023.8.8-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:3611576aff55918af2697410ff0293d6071b7e00f4b09e005d614686ac4cd57c"}, + {file = "regex-2023.8.8-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:b8a0ccc8f2698f120e9e5742f4b38dc944c38744d4bdfc427616f3a163dd9de5"}, + {file = "regex-2023.8.8-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:c662a4cbdd6280ee56f841f14620787215a171c4e2d1744c9528bed8f5816c96"}, + {file = "regex-2023.8.8-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:cf0633e4a1b667bfe0bb10b5e53fe0d5f34a6243ea2530eb342491f1adf4f739"}, + {file = "regex-2023.8.8-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:551ad543fa19e94943c5b2cebc54c73353ffff08228ee5f3376bd27b3d5b9800"}, + {file = "regex-2023.8.8-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:54de2619f5ea58474f2ac211ceea6b615af2d7e4306220d4f3fe690c91988a61"}, + {file = "regex-2023.8.8-cp310-cp310-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:5ec4b3f0aebbbe2fc0134ee30a791af522a92ad9f164858805a77442d7d18570"}, + {file = "regex-2023.8.8-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:3ae646c35cb9f820491760ac62c25b6d6b496757fda2d51be429e0e7b67ae0ab"}, + {file = "regex-2023.8.8-cp310-cp310-musllinux_1_1_i686.whl", hash = "sha256:ca339088839582d01654e6f83a637a4b8194d0960477b9769d2ff2cfa0fa36d2"}, + {file = "regex-2023.8.8-cp310-cp310-musllinux_1_1_ppc64le.whl", hash = "sha256:d9b6627408021452dcd0d2cdf8da0534e19d93d070bfa8b6b4176f99711e7f90"}, + {file = "regex-2023.8.8-cp310-cp310-musllinux_1_1_s390x.whl", hash = "sha256:bd3366aceedf274f765a3a4bc95d6cd97b130d1dda524d8f25225d14123c01db"}, + {file = "regex-2023.8.8-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:7aed90a72fc3654fba9bc4b7f851571dcc368120432ad68b226bd593f3f6c0b7"}, + {file = "regex-2023.8.8-cp310-cp310-win32.whl", hash = "sha256:80b80b889cb767cc47f31d2b2f3dec2db8126fbcd0cff31b3925b4dc6609dcdb"}, + {file = "regex-2023.8.8-cp310-cp310-win_amd64.whl", hash = "sha256:b82edc98d107cbc7357da7a5a695901b47d6eb0420e587256ba3ad24b80b7d0b"}, + {file = "regex-2023.8.8-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:1e7d84d64c84ad97bf06f3c8cb5e48941f135ace28f450d86af6b6512f1c9a71"}, + {file = "regex-2023.8.8-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:ce0f9fbe7d295f9922c0424a3637b88c6c472b75eafeaff6f910494a1fa719ef"}, + {file = "regex-2023.8.8-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:06c57e14ac723b04458df5956cfb7e2d9caa6e9d353c0b4c7d5d54fcb1325c46"}, + {file = "regex-2023.8.8-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:e7a9aaa5a1267125eef22cef3b63484c3241aaec6f48949b366d26c7250e0357"}, + {file = "regex-2023.8.8-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:9b7408511fca48a82a119d78a77c2f5eb1b22fe88b0d2450ed0756d194fe7a9a"}, + {file = "regex-2023.8.8-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:14dc6f2d88192a67d708341f3085df6a4f5a0c7b03dec08d763ca2cd86e9f559"}, + {file = "regex-2023.8.8-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:48c640b99213643d141550326f34f0502fedb1798adb3c9eb79650b1ecb2f177"}, + {file = "regex-2023.8.8-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:0085da0f6c6393428bf0d9c08d8b1874d805bb55e17cb1dfa5ddb7cfb11140bf"}, + {file = "regex-2023.8.8-cp311-cp311-musllinux_1_1_i686.whl", hash = "sha256:964b16dcc10c79a4a2be9f1273fcc2684a9eedb3906439720598029a797b46e6"}, + {file = "regex-2023.8.8-cp311-cp311-musllinux_1_1_ppc64le.whl", hash = "sha256:7ce606c14bb195b0e5108544b540e2c5faed6843367e4ab3deb5c6aa5e681208"}, + {file = "regex-2023.8.8-cp311-cp311-musllinux_1_1_s390x.whl", hash = "sha256:40f029d73b10fac448c73d6eb33d57b34607f40116e9f6e9f0d32e9229b147d7"}, + {file = "regex-2023.8.8-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:3b8e6ea6be6d64104d8e9afc34c151926f8182f84e7ac290a93925c0db004bfd"}, + {file = "regex-2023.8.8-cp311-cp311-win32.whl", hash = "sha256:942f8b1f3b223638b02df7df79140646c03938d488fbfb771824f3d05fc083a8"}, + {file = "regex-2023.8.8-cp311-cp311-win_amd64.whl", hash = "sha256:51d8ea2a3a1a8fe4f67de21b8b93757005213e8ac3917567872f2865185fa7fb"}, + {file = "regex-2023.8.8-cp36-cp36m-macosx_10_9_x86_64.whl", hash = "sha256:e951d1a8e9963ea51efd7f150450803e3b95db5939f994ad3d5edac2b6f6e2b4"}, + {file = "regex-2023.8.8-cp36-cp36m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:704f63b774218207b8ccc6c47fcef5340741e5d839d11d606f70af93ee78e4d4"}, + {file = "regex-2023.8.8-cp36-cp36m-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:22283c769a7b01c8ac355d5be0715bf6929b6267619505e289f792b01304d898"}, + {file = "regex-2023.8.8-cp36-cp36m-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:91129ff1bb0619bc1f4ad19485718cc623a2dc433dff95baadbf89405c7f6b57"}, + {file = "regex-2023.8.8-cp36-cp36m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:de35342190deb7b866ad6ba5cbcccb2d22c0487ee0cbb251efef0843d705f0d4"}, + {file = "regex-2023.8.8-cp36-cp36m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:b993b6f524d1e274a5062488a43e3f9f8764ee9745ccd8e8193df743dbe5ee61"}, + {file = "regex-2023.8.8-cp36-cp36m-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:3026cbcf11d79095a32d9a13bbc572a458727bd5b1ca332df4a79faecd45281c"}, + {file = "regex-2023.8.8-cp36-cp36m-musllinux_1_1_aarch64.whl", hash = "sha256:293352710172239bf579c90a9864d0df57340b6fd21272345222fb6371bf82b3"}, + {file = "regex-2023.8.8-cp36-cp36m-musllinux_1_1_i686.whl", hash = "sha256:d909b5a3fff619dc7e48b6b1bedc2f30ec43033ba7af32f936c10839e81b9217"}, + {file = "regex-2023.8.8-cp36-cp36m-musllinux_1_1_ppc64le.whl", hash = "sha256:3d370ff652323c5307d9c8e4c62efd1956fb08051b0e9210212bc51168b4ff56"}, + {file = "regex-2023.8.8-cp36-cp36m-musllinux_1_1_s390x.whl", hash = "sha256:b076da1ed19dc37788f6a934c60adf97bd02c7eea461b73730513921a85d4235"}, + {file = "regex-2023.8.8-cp36-cp36m-musllinux_1_1_x86_64.whl", hash = "sha256:e9941a4ada58f6218694f382e43fdd256e97615db9da135e77359da257a7168b"}, + {file = "regex-2023.8.8-cp36-cp36m-win32.whl", hash = "sha256:a8c65c17aed7e15a0c824cdc63a6b104dfc530f6fa8cb6ac51c437af52b481c7"}, + {file = "regex-2023.8.8-cp36-cp36m-win_amd64.whl", hash = "sha256:aadf28046e77a72f30dcc1ab185639e8de7f4104b8cb5c6dfa5d8ed860e57236"}, + {file = "regex-2023.8.8-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:423adfa872b4908843ac3e7a30f957f5d5282944b81ca0a3b8a7ccbbfaa06103"}, + {file = "regex-2023.8.8-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:4ae594c66f4a7e1ea67232a0846649a7c94c188d6c071ac0210c3e86a5f92109"}, + {file = "regex-2023.8.8-cp37-cp37m-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:e51c80c168074faa793685656c38eb7a06cbad7774c8cbc3ea05552d615393d8"}, + {file = "regex-2023.8.8-cp37-cp37m-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:09b7f4c66aa9d1522b06e31a54f15581c37286237208df1345108fcf4e050c18"}, + {file = "regex-2023.8.8-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:2e73e5243af12d9cd6a9d6a45a43570dbe2e5b1cdfc862f5ae2b031e44dd95a8"}, + {file = "regex-2023.8.8-cp37-cp37m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:941460db8fe3bd613db52f05259c9336f5a47ccae7d7def44cc277184030a116"}, + {file = "regex-2023.8.8-cp37-cp37m-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:f0ccf3e01afeb412a1a9993049cb160d0352dba635bbca7762b2dc722aa5742a"}, + {file = "regex-2023.8.8-cp37-cp37m-musllinux_1_1_aarch64.whl", hash = "sha256:2e9216e0d2cdce7dbc9be48cb3eacb962740a09b011a116fd7af8c832ab116ca"}, + {file = "regex-2023.8.8-cp37-cp37m-musllinux_1_1_i686.whl", hash = "sha256:5cd9cd7170459b9223c5e592ac036e0704bee765706445c353d96f2890e816c8"}, + {file = "regex-2023.8.8-cp37-cp37m-musllinux_1_1_ppc64le.whl", hash = "sha256:4873ef92e03a4309b3ccd8281454801b291b689f6ad45ef8c3658b6fa761d7ac"}, + {file = "regex-2023.8.8-cp37-cp37m-musllinux_1_1_s390x.whl", hash = "sha256:239c3c2a339d3b3ddd51c2daef10874410917cd2b998f043c13e2084cb191684"}, + {file = "regex-2023.8.8-cp37-cp37m-musllinux_1_1_x86_64.whl", hash = "sha256:1005c60ed7037be0d9dea1f9c53cc42f836188227366370867222bda4c3c6bd7"}, + {file = "regex-2023.8.8-cp37-cp37m-win32.whl", hash = "sha256:e6bd1e9b95bc5614a7a9c9c44fde9539cba1c823b43a9f7bc11266446dd568e3"}, + {file = "regex-2023.8.8-cp37-cp37m-win_amd64.whl", hash = "sha256:9a96edd79661e93327cfeac4edec72a4046e14550a1d22aa0dd2e3ca52aec921"}, + {file = "regex-2023.8.8-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:f2181c20ef18747d5f4a7ea513e09ea03bdd50884a11ce46066bb90fe4213675"}, + {file = "regex-2023.8.8-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:a2ad5add903eb7cdde2b7c64aaca405f3957ab34f16594d2b78d53b8b1a6a7d6"}, + {file = "regex-2023.8.8-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:9233ac249b354c54146e392e8a451e465dd2d967fc773690811d3a8c240ac601"}, + {file = "regex-2023.8.8-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:920974009fb37b20d32afcdf0227a2e707eb83fe418713f7a8b7de038b870d0b"}, + {file = "regex-2023.8.8-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:cd2b6c5dfe0929b6c23dde9624483380b170b6e34ed79054ad131b20203a1a63"}, + {file = "regex-2023.8.8-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:96979d753b1dc3b2169003e1854dc67bfc86edf93c01e84757927f810b8c3c93"}, + {file = "regex-2023.8.8-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:2ae54a338191e1356253e7883d9d19f8679b6143703086245fb14d1f20196be9"}, + {file = "regex-2023.8.8-cp38-cp38-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:2162ae2eb8b079622176a81b65d486ba50b888271302190870b8cc488587d280"}, + {file = "regex-2023.8.8-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:c884d1a59e69e03b93cf0dfee8794c63d7de0ee8f7ffb76e5f75be8131b6400a"}, + {file = "regex-2023.8.8-cp38-cp38-musllinux_1_1_i686.whl", hash = "sha256:cf9273e96f3ee2ac89ffcb17627a78f78e7516b08f94dc435844ae72576a276e"}, + {file = "regex-2023.8.8-cp38-cp38-musllinux_1_1_ppc64le.whl", hash = "sha256:83215147121e15d5f3a45d99abeed9cf1fe16869d5c233b08c56cdf75f43a504"}, + {file = "regex-2023.8.8-cp38-cp38-musllinux_1_1_s390x.whl", hash = "sha256:3f7454aa427b8ab9101f3787eb178057c5250478e39b99540cfc2b889c7d0586"}, + {file = "regex-2023.8.8-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:f0640913d2c1044d97e30d7c41728195fc37e54d190c5385eacb52115127b882"}, + {file = "regex-2023.8.8-cp38-cp38-win32.whl", hash = "sha256:0c59122ceccb905a941fb23b087b8eafc5290bf983ebcb14d2301febcbe199c7"}, + {file = "regex-2023.8.8-cp38-cp38-win_amd64.whl", hash = "sha256:c12f6f67495ea05c3d542d119d270007090bad5b843f642d418eb601ec0fa7be"}, + {file = "regex-2023.8.8-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:82cd0a69cd28f6cc3789cc6adeb1027f79526b1ab50b1f6062bbc3a0ccb2dbc3"}, + {file = "regex-2023.8.8-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:bb34d1605f96a245fc39790a117ac1bac8de84ab7691637b26ab2c5efb8f228c"}, + {file = "regex-2023.8.8-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:987b9ac04d0b38ef4f89fbc035e84a7efad9cdd5f1e29024f9289182c8d99e09"}, + {file = "regex-2023.8.8-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:9dd6082f4e2aec9b6a0927202c85bc1b09dcab113f97265127c1dc20e2e32495"}, + {file = "regex-2023.8.8-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:7eb95fe8222932c10d4436e7a6f7c99991e3fdd9f36c949eff16a69246dee2dc"}, + {file = "regex-2023.8.8-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:7098c524ba9f20717a56a8d551d2ed491ea89cbf37e540759ed3b776a4f8d6eb"}, + {file = "regex-2023.8.8-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:4b694430b3f00eb02c594ff5a16db30e054c1b9589a043fe9174584c6efa8033"}, + {file = "regex-2023.8.8-cp39-cp39-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:b2aeab3895d778155054abea5238d0eb9a72e9242bd4b43f42fd911ef9a13470"}, + {file = "regex-2023.8.8-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:988631b9d78b546e284478c2ec15c8a85960e262e247b35ca5eaf7ee22f6050a"}, + {file = "regex-2023.8.8-cp39-cp39-musllinux_1_1_i686.whl", hash = "sha256:67ecd894e56a0c6108ec5ab1d8fa8418ec0cff45844a855966b875d1039a2e34"}, + {file = "regex-2023.8.8-cp39-cp39-musllinux_1_1_ppc64le.whl", hash = "sha256:14898830f0a0eb67cae2bbbc787c1a7d6e34ecc06fbd39d3af5fe29a4468e2c9"}, + {file = "regex-2023.8.8-cp39-cp39-musllinux_1_1_s390x.whl", hash = "sha256:f2200e00b62568cfd920127782c61bc1c546062a879cdc741cfcc6976668dfcf"}, + {file = "regex-2023.8.8-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:9691a549c19c22d26a4f3b948071e93517bdf86e41b81d8c6ac8a964bb71e5a6"}, + {file = "regex-2023.8.8-cp39-cp39-win32.whl", hash = "sha256:6ab2ed84bf0137927846b37e882745a827458689eb969028af8032b1b3dac78e"}, + {file = "regex-2023.8.8-cp39-cp39-win_amd64.whl", hash = "sha256:5543c055d8ec7801901e1193a51570643d6a6ab8751b1f7dd9af71af467538bb"}, + {file = "regex-2023.8.8.tar.gz", hash = "sha256:fcbdc5f2b0f1cd0f6a56cdb46fe41d2cce1e644e3b68832f3eeebc5fb0f7712e"}, +] + [[package]] name = "requests" version = "2.28.2" @@ -3780,6 +3985,18 @@ webencodings = ">=0.4" doc = ["sphinx", "sphinx_rtd_theme"] test = ["flake8", "isort", "pytest"] +[[package]] +name = "toml" +version = "0.10.2" +description = "Python Library for Tom's Obvious, Minimal Language" +category = "dev" +optional = false +python-versions = ">=2.6, !=3.0.*, !=3.1.*, !=3.2.*" +files = [ + {file = "toml-0.10.2-py2.py3-none-any.whl", hash = "sha256:806143ae5bfb6a3c6e736a764057db0e6a0e05e338b5630894a5f779cabb4f9b"}, + {file = "toml-0.10.2.tar.gz", hash = "sha256:b3bda1d108d5dd99f4a20d24d9c348e91c4db7ab1b749200bded2f839ccbe68f"}, +] + [[package]] name = "tomli" version = "2.0.1" @@ -4211,4 +4428,4 @@ testing = ["big-O", "flake8 (<5)", "jaraco.functools", "jaraco.itertools", "more [metadata] lock-version = "2.0" python-versions = "^3.8" -content-hash = "fb4ac5321b84afee4ca2847c4582c4410704ea8b002bb670451b04e7d2448668" +content-hash = "6b13b99774361de2185e249dd8c1dbfff2e93f52518a29bd2b17d2779d5510e0" diff --git a/pyproject.toml b/pyproject.toml index 785ae181..ae50fe5e 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -34,14 +34,14 @@ pytest-mock = "^3.10.0" optional = true [tool.poetry.group.docs.dependencies] -mkdocs = "^1.4.1" -mkdocs-material = "^8.5.7" -mkdocstrings = {extras = ["python"], version = "^0.19.0"} -mkdocs-gen-files = "^0.4.0" +mkdocstrings = {extras = ["python"], version = "^0.22.0"} +mkdocs-gen-files = "^0.5.0" mkdocs-literate-nav = "^0.5.0" mkdocs-section-index = "^0.3.4" jupyter = "^1.0.0" matplotlib = "^3.7.0" +mkdocs-material = "^9.1.21" +mkdocs-jupyter = "^0.24.2" [tool.pytest.ini_options] markers = ["integration: does a full train-test run"]