studpy 0.1.0__tar.gz → 0.3.0__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- studpy-0.3.0/.forgejo/workflows/release.yaml +145 -0
- {studpy-0.1.0 → studpy-0.3.0}/PKG-INFO +1 -1
- studpy-0.3.0/docs/.cache/.gitignore +1 -0
- studpy-0.3.0/docs/.cache/1058400769371389284 +4 -0
- studpy-0.3.0/docs/.cache/13192126767242042991 +4 -0
- studpy-0.3.0/docs/.cache/13680480109371847077 +340 -0
- studpy-0.3.0/docs/.cache/13783002392563167465 +39 -0
- studpy-0.3.0/docs/.cache/14282079245528024874 +4 -0
- studpy-0.3.0/docs/.cache/15127539698158122636 +4 -0
- studpy-0.3.0/docs/.cache/17415739441049600932 +4 -0
- studpy-0.3.0/docs/.cache/18232071843448645342 +33 -0
- studpy-0.3.0/docs/.cache/18274991804342405383 +163 -0
- studpy-0.3.0/docs/.cache/1972624678796423847 +50 -0
- studpy-0.3.0/docs/.cache/3476900567878811119 +4 -0
- studpy-0.3.0/docs/.cache/3541202890535126406 +31 -0
- studpy-0.3.0/docs/.cache/3734276400694268770 +4 -0
- studpy-0.3.0/docs/.cache/37704929143401328 +119 -0
- studpy-0.3.0/docs/.cache/5469674853214792527 +95 -0
- studpy-0.3.0/docs/.cache/8287735301005711476 +4 -0
- studpy-0.3.0/docs/docs/documentation/_Get-Started/01-installation.md +44 -0
- studpy-0.1.0/docs/docs/documentation/_Guides/02-get-started.md → studpy-0.3.0/docs/docs/documentation/_Get-Started/02-minimal-example.md +5 -5
- studpy-0.3.0/docs/docs/documentation/_Get-Started/03-license.md +54 -0
- studpy-0.3.0/docs/docs/documentation/__Key-Concepts/01-overview.md +70 -0
- studpy-0.3.0/docs/docs/documentation/__Key-Concepts/01-overview_objects_1.png +0 -0
- studpy-0.3.0/docs/docs/documentation/__Key-Concepts/02-params_specs.md +244 -0
- studpy-0.3.0/docs/docs/documentation/api/Study.md +8 -0
- {studpy-0.1.0 → studpy-0.3.0}/docs/zensical.toml +1 -1
- {studpy-0.1.0 → studpy-0.3.0}/pyproject.toml +1 -1
- studpy-0.1.0/.forgejo/workflows/release.yaml +0 -165
- studpy-0.1.0/docs/docs/documentation/_Guides/01-installation.md +0 -21
- studpy-0.1.0/docs/docs/documentation/_Guides/03-configuration.md +0 -7
- {studpy-0.1.0 → studpy-0.3.0}/.gitignore +0 -0
- {studpy-0.1.0 → studpy-0.3.0}/README.md +0 -0
- {studpy-0.1.0 → studpy-0.3.0}/docs/docs/assets/extra.css +0 -0
- {studpy-0.1.0 → studpy-0.3.0}/docs/docs/assets/logo.png +0 -0
- {studpy-0.1.0 → studpy-0.3.0}/docs/docs/assets/logo.svg +0 -0
- {studpy-0.1.0 → studpy-0.3.0}/docs/docs/assets/logo_white.svg +0 -0
- {studpy-0.1.0 → studpy-0.3.0}/docs/docs/documentation/api/BatchExecCmdIter.md +0 -0
- {studpy-0.1.0 → studpy-0.3.0}/docs/docs/index.md +0 -0
- {studpy-0.1.0 → studpy-0.3.0}/docs/docs/stylesheets/extra.css +0 -0
- {studpy-0.1.0 → studpy-0.3.0}/docs/overrides/partials/header.html +0 -0
- {studpy-0.1.0 → studpy-0.3.0}/src/studpy/__init__.py +0 -0
- {studpy-0.1.0 → studpy-0.3.0}/src/studpy/batch/__init__.py +0 -0
- {studpy-0.1.0 → studpy-0.3.0}/src/studpy/batch/batch_exec_cmd_iter.py +0 -0
- {studpy-0.1.0 → studpy-0.3.0}/src/studpy/batch/validated_batch.py +0 -0
- {studpy-0.1.0 → studpy-0.3.0}/src/studpy/params/__init__.py +0 -0
- {studpy-0.1.0 → studpy-0.3.0}/src/studpy/params/configs.py +0 -0
- {studpy-0.1.0 → studpy-0.3.0}/src/studpy/params/latin_hypercube_sampling.py +0 -0
- {studpy-0.1.0 → studpy-0.3.0}/src/studpy/params/param.py +0 -0
- {studpy-0.1.0 → studpy-0.3.0}/src/studpy/params/specs.py +0 -0
- {studpy-0.1.0 → studpy-0.3.0}/src/studpy/study.py +0 -0
- {studpy-0.1.0 → studpy-0.3.0}/src/studpy/targets/__init__.py +0 -0
- {studpy-0.1.0 → studpy-0.3.0}/src/studpy/targets/one_file.py +0 -0
- {studpy-0.1.0 → studpy-0.3.0}/src/studpy/targets/utils.py +0 -0
- {studpy-0.1.0 → studpy-0.3.0}/src/studpy/utils/logger_print.py +0 -0
- {studpy-0.1.0 → studpy-0.3.0}/tests/__init__.py +0 -0
- {studpy-0.1.0 → studpy-0.3.0}/tests/data.py +0 -0
- {studpy-0.1.0 → studpy-0.3.0}/tests/dev.py +0 -0
- {studpy-0.1.0 → studpy-0.3.0}/tests/simulation.json +0 -0
- {studpy-0.1.0 → studpy-0.3.0}/tests/test_00_utils.py +0 -0
- {studpy-0.1.0 → studpy-0.3.0}/tests/test_10_params.py +0 -0
- {studpy-0.1.0 → studpy-0.3.0}/tests/test_11_params_lhs.py +0 -0
- {studpy-0.1.0 → studpy-0.3.0}/tests/test_19_params_combine.py +0 -0
- {studpy-0.1.0 → studpy-0.3.0}/tests/test_20_targets.py +0 -0
- {studpy-0.1.0 → studpy-0.3.0}/tests/test_30_study.py +0 -0
- {studpy-0.1.0 → studpy-0.3.0}/tests/test_40_batch.py +0 -0
- {studpy-0.1.0 → studpy-0.3.0}/tests/test_41_batch_study.py +0 -0
- {studpy-0.1.0 → studpy-0.3.0}/tests/test_42_batch_val.py +0 -0
|
@@ -0,0 +1,145 @@
|
|
|
1
|
+
name: Create Release
|
|
2
|
+
|
|
3
|
+
on:
|
|
4
|
+
push:
|
|
5
|
+
tags:
|
|
6
|
+
- 'v*'
|
|
7
|
+
|
|
8
|
+
env:
|
|
9
|
+
RELEASE_NAME: ${{ gitea.ref_name }}
|
|
10
|
+
VERSION: ${{ gitea.ref_name }}
|
|
11
|
+
SRC_FOLDER: src/studpy
|
|
12
|
+
PYTHON_COMMAND: python3
|
|
13
|
+
|
|
14
|
+
jobs:
|
|
15
|
+
|
|
16
|
+
Release:
|
|
17
|
+
|
|
18
|
+
runs-on: node20
|
|
19
|
+
|
|
20
|
+
steps:
|
|
21
|
+
|
|
22
|
+
# Versions
|
|
23
|
+
|
|
24
|
+
- name: Ldd Version
|
|
25
|
+
run: ldd --version
|
|
26
|
+
|
|
27
|
+
- name: Node Version
|
|
28
|
+
run: node --version
|
|
29
|
+
|
|
30
|
+
- name: Python Version
|
|
31
|
+
run: ${{ env.PYTHON_COMMAND }} --version
|
|
32
|
+
|
|
33
|
+
- name: Echo `env.VERSION`
|
|
34
|
+
run: |
|
|
35
|
+
echo "VERSION: ${{ env.VERSION }}"
|
|
36
|
+
|
|
37
|
+
# Checkout
|
|
38
|
+
|
|
39
|
+
- name: Check out
|
|
40
|
+
uses: actions/checkout@v4
|
|
41
|
+
|
|
42
|
+
# Checks: Package, GIT, Zensical versions
|
|
43
|
+
|
|
44
|
+
- name: Checks Package, GIT, Zensical versions
|
|
45
|
+
run: |
|
|
46
|
+
PKG_VERSION=$(${{ env.PYTHON_COMMAND }} -c "
|
|
47
|
+
import tomllib
|
|
48
|
+
with open('pyproject.toml', 'rb') as f:
|
|
49
|
+
print(tomllib.load(f)['project']['version'])
|
|
50
|
+
")
|
|
51
|
+
DOCS_VERSION=$(${{ env.PYTHON_COMMAND }} -c "
|
|
52
|
+
import tomllib
|
|
53
|
+
with open('docs/zensical.toml', 'rb') as f:
|
|
54
|
+
print(tomllib.load(f)['project']['extra']['version'])
|
|
55
|
+
")
|
|
56
|
+
DOCS_VERSION=${DOCS_VERSION#v}
|
|
57
|
+
GIT_VERSION=${GITHUB_REF_NAME#v}
|
|
58
|
+
echo "Package: $PKG_VERSION | Tag: $GIT_VERSION"
|
|
59
|
+
[ "$DOCS_VERSION" = "$GIT_VERSION" ] || { echo "❌ Mismatch $DOCS_VERSION <> $GIT_VERSION!"; exit 1; }
|
|
60
|
+
[ "$PKG_VERSION" = "$GIT_VERSION" ] || { echo "❌ Mismatch $PKG_VERSION <> $GIT_VERSION!"; exit 1; }
|
|
61
|
+
|
|
62
|
+
# Install pip zip
|
|
63
|
+
|
|
64
|
+
- name: Install pip zip
|
|
65
|
+
run: |
|
|
66
|
+
apt update && apt install -y python3-pip zip
|
|
67
|
+
|
|
68
|
+
# ############
|
|
69
|
+
# Docs - Build
|
|
70
|
+
|
|
71
|
+
# Docs - Pre build actions
|
|
72
|
+
|
|
73
|
+
# - name: Docs - Pre build actions
|
|
74
|
+
# run: python3 docs_gen.py
|
|
75
|
+
|
|
76
|
+
# Docs - Zensical Prerequisites + Build
|
|
77
|
+
|
|
78
|
+
- name: Docs - Prerequisites + Build
|
|
79
|
+
run: |
|
|
80
|
+
pip install zensical mkdocstrings-python --break-system-packages
|
|
81
|
+
pip install -e . --break-system-packages
|
|
82
|
+
zensical build -f docs/zensical.toml
|
|
83
|
+
|
|
84
|
+
|
|
85
|
+
# ###############
|
|
86
|
+
# Package - Build
|
|
87
|
+
|
|
88
|
+
# Package - Prerequisites
|
|
89
|
+
|
|
90
|
+
- name: Package - Prerequisites
|
|
91
|
+
run: |
|
|
92
|
+
pip install python-minifier --break-system-packages
|
|
93
|
+
|
|
94
|
+
- name: Package - Minify
|
|
95
|
+
run: |
|
|
96
|
+
pyminify --in-place --remove-literal-statements ${{ env.SRC_FOLDER }}
|
|
97
|
+
|
|
98
|
+
- name: Package - Build
|
|
99
|
+
run: |
|
|
100
|
+
pip install build twine --break-system-packages
|
|
101
|
+
${{ env.PYTHON_COMMAND }} -m build
|
|
102
|
+
|
|
103
|
+
- name: Package - Publish to PyPI
|
|
104
|
+
env:
|
|
105
|
+
TWINE_USERNAME: __token__
|
|
106
|
+
TWINE_PASSWORD: ${{ secrets.PYPI_TOKEN }}
|
|
107
|
+
run: twine upload dist/*
|
|
108
|
+
|
|
109
|
+
# Docs - Deploy
|
|
110
|
+
|
|
111
|
+
# Zip
|
|
112
|
+
|
|
113
|
+
- name: Docs - Zip output
|
|
114
|
+
run: zip -qq -r site.zip site/
|
|
115
|
+
working-directory: docs
|
|
116
|
+
|
|
117
|
+
- name: Docs - Zip mv
|
|
118
|
+
run: |
|
|
119
|
+
mv docs/site.zip site.zip
|
|
120
|
+
|
|
121
|
+
- name: Docs - Deploy - Copy files via SCP
|
|
122
|
+
uses: https://github.com/appleboy/scp-action@v0.1.7
|
|
123
|
+
|
|
124
|
+
with:
|
|
125
|
+
host: ${{ secrets.DOCS_SSH_HOST }}
|
|
126
|
+
username: ${{ secrets.DOCS_SSH_USERNAME }}
|
|
127
|
+
password: ${{ secrets.DOCS_SSH_PASSWORD }}
|
|
128
|
+
port: ${{ secrets.DOCS_SSH_PORT }}
|
|
129
|
+
source: "site.zip"
|
|
130
|
+
target: "${{ secrets.DOCS_FOLDER_PATH }}"
|
|
131
|
+
|
|
132
|
+
- name: Docs - Deploy
|
|
133
|
+
uses: https://github.com/appleboy/ssh-action@v1.0.3
|
|
134
|
+
with:
|
|
135
|
+
host: ${{ secrets.DOCS_SSH_HOST }}
|
|
136
|
+
username: ${{ secrets.DOCS_SSH_USERNAME }}
|
|
137
|
+
password: ${{ secrets.DOCS_SSH_PASSWORD }}
|
|
138
|
+
port: ${{ secrets.DOCS_SSH_PORT }}
|
|
139
|
+
script: |
|
|
140
|
+
cd ${{ secrets.DOCS_FOLDER_PATH }}
|
|
141
|
+
docker compose down
|
|
142
|
+
rm -rf site
|
|
143
|
+
unzip site.zip
|
|
144
|
+
rm -f site.zip
|
|
145
|
+
docker compose up -d
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
*
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
{
|
|
2
|
+
"data": "\n<!doctype html>\n<html lang=\"en\" class=\"no-js\">\n <head>\n \n <meta charset=\"utf-8\">\n <meta name=\"viewport\" content=\"width=device-width,initial-scale=1\">\n \n \n <meta name=\"author\" content=\"PinkSalmon\">\n \n \n \n <link rel=\"prev\" href=\"../02-minimal-example/\">\n \n \n <link rel=\"next\" href=\"../../__Key-Concepts/01-overview/\">\n \n \n \n \n \n <link rel=\"icon\" href=\"../../../assets/images/favicon.png\">\n <meta name=\"generator\" content=\"zensical-0.0.43\">\n \n \n \n <title>License - StudPy</title>\n \n \n \n \n \n \n <link rel=\"stylesheet\" href=\"../../../assets/stylesheets/modern/main.fba56155.min.css\">\n \n \n\n\n \n \n \n \n \n \n \n \n <link rel=\"preconnect\" href=\"https://fonts.gstatic.com\" crossorigin>\n <link rel=\"stylesheet\" href=\"https://fonts.googleapis.com/css?family=Inter:300,300i,400,400i,500,500i,700,700i%7CJetBrains+Mono:400,400i,700,700i&display=fallback\">\n <style>:root{--md-text-font:\"Inter\";--md-code-font:\"JetBrains Mono\"}</style>\n \n \n \n <link rel=\"stylesheet\" href=\"../../../stylesheets/extra.css\">\n \n <script>__md_scope=new URL(\"../../..\",location),__md_scope.pathname.endsWith(\"/\")||(__md_scope=new URL(__md_scope.pathname+\"/\",location)),__md_hash=e=>[...e].reduce(((e,t)=>(e<<5)-e+t.charCodeAt(0)),0),__md_get=(e,t=localStorage,_=__md_scope)=>JSON.parse(t.getItem(_.pathname+\".\"+e)),__md_set=(e,t,_=localStorage,a=__md_scope)=>{try{_.setItem(a.pathname+\".\"+e,JSON.stringify(t))}catch(e){}},document.documentElement.setAttribute(\"data-platform\",navigator.platform)</script>\n \n \n\n \n \n </head>\n \n \n <body dir=\"ltr\">\n \n \n <input class=\"md-toggle\" data-md-toggle=\"drawer\" type=\"checkbox\" id=\"__drawer\" autocomplete=\"off\">\n <input class=\"md-toggle\" data-md-toggle=\"search\" type=\"checkbox\" id=\"__search\" autocomplete=\"off\">\n <label class=\"md-overlay\" for=\"__drawer\" aria-label=\"Navigation\"></label>\n <div data-md-component=\"skip\">\n \n \n <a href=\"#license\" class=\"md-skip\">\n Skip to content\n </a>\n \n </div>\n <div data-md-component=\"announce\">\n \n </div>\n \n <div data-md-color-scheme=\"default\" data-md-component=\"outdated\" hidden>\n \n </div>\n \n \n \n\n<header class=\"md-header\" data-md-component=\"header\">\n <nav class=\"md-header__inner md-grid\" aria-label=\"Header\">\n <a href=\"../../..\" title=\"StudPy\" class=\"md-header__button md-logo\" aria-label=\"StudPy\" data-md-component=\"logo\">\n \n <img src=\"../../../assets/logo.svg\" alt=\"StudPy\">\n\n </a>\n <label class=\"md-header__button md-icon\" for=\"__drawer\" aria-label=\"Navigation\">\n \n <svg xmlns=\"http://www.w3.org/2000/svg\" fill=\"none\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\" class=\"lucide lucide-menu\" viewBox=\"0 0 24 24\"><path d=\"M4 5h16M4 12h16M4 19h16\"/></svg>\n </label>\n <div class=\"md-header__title\" data-md-component=\"header-title\">\n <div class=\"md-header__ellipsis\">\n <div class=\"md-header__topic\">\n <span class=\"md-ellipsis\">\n StudPy\n <span style=\"background: var(--md-accent-fg-color--transparent); color: var(--md-accent-fg-color); padding: 2px 4px; margin:4px; border-radius: 4px; font-size: 0.6em;\">\n v0.3.0\n </span>\n </span>\n </div>\n <div class=\"md-header__topic\" data-md-component=\"header-topic\">\n <span class=\"md-ellipsis\">\n \n License\n \n </span>\n </div>\n </div>\n </div>\n \n \n <script>var palette=__md_get(\"__palette\");if(palette&&palette.color){if(\"(prefers-color-scheme)\"===palette.color.media){var media=matchMedia(\"(prefers-color-scheme: light)\"),input=document.querySelector(media.matches?\"[data-md-color-media='(prefers-color-scheme: light)']\":\"[data-md-color-media='(prefers-color-scheme: dark)']\");palette.color.media=input.getAttribute(\"data-md-color-media\"),palette.color.scheme=input.getAttribute(\"data-md-color-scheme\"),palette.color.primary=input.getAttribute(\"data-md-color-primary\"),palette.color.accent=input.getAttribute(\"data-md-color-accent\")}for(var[key,value]of Object.entries(palette.color))document.body.setAttribute(\"data-md-color-\"+key,value)}</script>\n \n \n \n \n \n <label class=\"md-header__button md-icon\" for=\"__search\" aria-label=\"Search\">\n \n <svg xmlns=\"http://www.w3.org/2000/svg\" fill=\"none\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\" class=\"lucide lucide-search\" viewBox=\"0 0 24 24\"><path d=\"m21 21-4.34-4.34\"/><circle cx=\"11\" cy=\"11\" r=\"8\"/></svg>\n </label>\n <div class=\"md-search\" data-md-component=\"search\" role=\"dialog\" aria-label=\"Search\">\n <button type=\"button\" class=\"md-search__button\">\n Search\n </button>\n</div>\n \n \n <div class=\"md-header__source\">\n \n </div>\n </nav>\n \n</header>\n \n <div class=\"md-container\" data-md-component=\"container\">\n \n \n \n \n \n<nav class=\"md-tabs\" aria-label=\"Tabs\" data-md-component=\"tabs\">\n <div class=\"md-grid\">\n <ul class=\"md-tabs__list\">\n \n \n \n \n \n \n <li class=\"md-tabs__item\">\n <a href=\"../../..\" class=\"md-tabs__link\">\n \n \n StudPy\n\n </a>\n </li>\n \n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n <li class=\"md-tabs__item md-tabs__item--active\">\n <a href=\"../01-installation/\" class=\"md-tabs__link\">\n \n \n Documentation\n\n </a>\n </li>\n \n \n\n \n \n\n \n </ul>\n </div>\n</nav>\n \n \n \n <main class=\"md-main\" data-md-component=\"main\">\n <div class=\"md-main__inner md-grid\">\n \n \n \n <div class=\"md-sidebar md-sidebar--primary\" data-md-component=\"sidebar\" data-md-type=\"navigation\" >\n <div class=\"md-sidebar__scrollwrap\">\n <div class=\"md-sidebar__inner\">\n \n\n\n \n\n\n<nav class=\"md-nav md-nav--primary md-nav--lifted\" aria-label=\"Navigation\" data-md-level=\"0\">\n <label class=\"md-nav__title\" for=\"__drawer\">\n <a href=\"../../..\" title=\"StudPy\" class=\"md-nav__button md-logo\" aria-label=\"StudPy\" data-md-component=\"logo\">\n \n <img src=\"../../../assets/logo.svg\" alt=\"StudPy\">\n\n </a>\n StudPy\n </label>\n \n <ul class=\"md-nav__list\" data-md-scrollfix>\n \n \n \n \n \n \n \n <li class=\"md-nav__item\">\n <a href=\"../../..\" class=\"md-nav__link\">\n \n \n \n <svg xmlns=\"http://www.w3.org/2000/svg\" fill=\"none\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\" class=\"lucide lucide-braces\" viewBox=\"0 0 24 24\"><path d=\"M8 3H7a2 2 0 0 0-2 2v5a2 2 0 0 1-2 2 2 2 0 0 1 2 2v5c0 1.1.9 2 2 2h1M16 21h1a2 2 0 0 0 2-2v-5c0-1.1.9-2 2-2a2 2 0 0 1-2-2V5a2 2 0 0 0-2-2h-1\"/></svg>\n \n <span class=\"md-ellipsis\">\n \n \n StudPy\n\n \n </span>\n \n \n\n </a>\n </li>\n \n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n <li class=\"md-nav__item md-nav__item--active md-nav__item--section md-nav__item--nested\">\n \n \n \n <input class=\"md-nav__toggle md-toggle \" type=\"checkbox\" id=\"__nav_2\" checked>\n \n \n <label class=\"md-nav__link\" for=\"__nav_2\" id=\"__nav_2_label\" tabindex=\"\">\n \n \n \n <span class=\"md-ellipsis\">\n \n \n Documentation\n\n \n </span>\n \n \n\n <span class=\"md-nav__icon md-icon\"></span>\n </label>\n \n <nav class=\"md-nav\" data-md-level=\"1\" aria-labelledby=\"__nav_2_label\" aria-expanded=\"true\">\n <label class=\"md-nav__title\" for=\"__nav_2\">\n <span class=\"md-nav__icon md-icon\"></span>\n \n \n Documentation\n\n </label>\n <ul class=\"md-nav__list\" data-md-scrollfix>\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n <li class=\"md-nav__item md-nav__item--active md-nav__item--section md-nav__item--nested\">\n \n \n \n <input class=\"md-nav__toggle md-toggle \" type=\"checkbox\" id=\"__nav_2_1\" checked>\n \n \n <label class=\"md-nav__link\" for=\"__nav_2_1\" id=\"__nav_2_1_label\" tabindex=\"\">\n \n \n \n <span class=\"md-ellipsis\">\n \n \n Get Started\n\n \n </span>\n \n \n\n <span class=\"md-nav__icon md-icon\"></span>\n </label>\n \n <nav class=\"md-nav\" data-md-level=\"2\" aria-labelledby=\"__nav_2_1_label\" aria-expanded=\"true\">\n <label class=\"md-nav__title\" for=\"__nav_2_1\">\n <span class=\"md-nav__icon md-icon\"></span>\n \n \n Get Started\n\n </label>\n <ul class=\"md-nav__list\" data-md-scrollfix>\n \n \n \n \n \n \n \n <li class=\"md-nav__item\">\n <a href=\"../01-installation/\" class=\"md-nav__link\">\n \n \n \n <svg xmlns=\"http://www.w3.org/2000/svg\" fill=\"none\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\" class=\"lucide lucide-package-open\" viewBox=\"0 0 24 24\"><path d=\"M12 22v-9M15.17 2.21a1.67 1.67 0 0 1 1.63 0L21 4.57a1.93 1.93 0 0 1 0 3.36L8.82 14.79a1.66 1.66 0 0 1-1.64 0L3 12.43a1.93 1.93 0 0 1 0-3.36z\"/><path d=\"M20 13v3.87a2.06 2.06 0 0 1-1.11 1.83l-6 3.08a1.93 1.93 0 0 1-1.78 0l-6-3.08A2.06 2.06 0 0 1 4 16.87V13\"/><path d=\"M21 12.43a1.93 1.93 0 0 0 0-3.36L8.83 2.2a1.64 1.64 0 0 0-1.63 0L3 4.57a1.93 1.93 0 0 0 0 3.36l12.18 6.86a1.64 1.64 0 0 0 1.63 0z\"/></svg>\n \n <span class=\"md-ellipsis\">\n \n \n Installation\n\n \n </span>\n \n \n\n </a>\n </li>\n \n\n \n \n \n \n \n \n \n \n <li class=\"md-nav__item\">\n <a href=\"../02-minimal-example/\" class=\"md-nav__link\">\n \n \n \n <svg xmlns=\"http://www.w3.org/2000/svg\" fill=\"none\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\" class=\"lucide lucide-file-box\" viewBox=\"0 0 24 24\"><path d=\"M14.5 22H18a2 2 0 0 0 2-2V8a2.4 2.4 0 0 0-.706-1.706l-3.588-3.588A2.4 2.4 0 0 0 14 2H6a2 2 0 0 0-2 2v3.8\"/><path d=\"M14 2v5a1 1 0 0 0 1 1h5M11.7 14.2 7 17l-4.7-2.8\"/><path d=\"M3 13.1a2 2 0 0 0-.999 1.76v3.24a2 2 0 0 0 .969 1.78L6 21.7a2 2 0 0 0 2.03.01L11 19.9a2 2 0 0 0 1-1.76V14.9a2 2 0 0 0-.97-1.78L8 11.3a2 2 0 0 0-2.03-.01zM7 17v5\"/></svg>\n \n <span class=\"md-ellipsis\">\n \n \n Minimal Example\n\n \n </span>\n \n \n\n </a>\n </li>\n \n\n \n \n \n \n \n \n \n \n \n \n <li class=\"md-nav__item md-nav__item--active\">\n \n \n \n \n \n \n \n <label class=\"md-nav__link md-nav__link--active\" for=\"__toc\">\n \n \n \n <svg xmlns=\"http://www.w3.org/2000/svg\" fill=\"none\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\" class=\"lucide lucide-scale\" viewBox=\"0 0 24 24\"><path d=\"M12 3v18M19 8l3 8a5 5 0 0 1-6 0zV7\"/><path d=\"M3 7h1a17 17 0 0 0 8-2 17 17 0 0 0 8 2h1M5 8l3 8a5 5 0 0 1-6 0zV7M7 21h10\"/></svg>\n \n <span class=\"md-ellipsis\">\n \n \n License\n\n \n </span>\n \n \n\n <span class=\"md-nav__icon md-icon\"></span>\n </label>\n \n <a href=\"././\" class=\"md-nav__link md-nav__link--active\">\n \n \n \n <svg xmlns=\"http://www.w3.org/2000/svg\" fill=\"none\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\" class=\"lucide lucide-scale\" viewBox=\"0 0 24 24\"><path d=\"M12 3v18M19 8l3 8a5 5 0 0 1-6 0zV7\"/><path d=\"M3 7h1a17 17 0 0 0 8-2 17 17 0 0 0 8 2h1M5 8l3 8a5 5 0 0 1-6 0zV7M7 21h10\"/></svg>\n \n <span class=\"md-ellipsis\">\n \n \n License\n\n \n </span>\n \n \n\n </a>\n \n \n\n\n<nav class=\"md-nav md-nav--secondary\" aria-label=\"On this page\">\n \n \n \n \n \n \n <label class=\"md-nav__title\" for=\"__toc\">\n <span class=\"md-nav__icon md-icon\"></span>\n On this page\n </label>\n <ul class=\"md-nav__list\" data-md-component=\"toc\" data-md-scrollfix>\n \n <li class=\"md-nav__item\">\n <a href=\"#1-purpose-of-the-license\" class=\"md-nav__link\">\n <span class=\"md-ellipsis\">\n <span class=\"md-typeset\">\n 1. Purpose of the License\n </span>\n </span>\n </a>\n \n</li>\n \n <li class=\"md-nav__item\">\n <a href=\"#2-usage-rights\" class=\"md-nav__link\">\n <span class=\"md-ellipsis\">\n <span class=\"md-typeset\">\n 2. Usage Rights\n </span>\n </span>\n </a>\n \n <nav class=\"md-nav\" aria-label=\"2. Usage Rights\">\n <ul class=\"md-nav__list\">\n \n <li class=\"md-nav__item\">\n <a href=\"#21-open-source-usage\" class=\"md-nav__link\">\n <span class=\"md-ellipsis\">\n <span class=\"md-typeset\">\n 2.1 Open Source Usage\n </span>\n </span>\n </a>\n \n</li>\n \n <li class=\"md-nav__item\">\n <a href=\"#22-other-usage\" class=\"md-nav__link\">\n <span class=\"md-ellipsis\">\n <span class=\"md-typeset\">\n 2.2 Other Usage\n </span>\n </span>\n </a>\n \n</li>\n \n </ul>\n </nav>\n \n</li>\n \n <li class=\"md-nav__item\">\n <a href=\"#3-restrictions\" class=\"md-nav__link\">\n <span class=\"md-ellipsis\">\n <span class=\"md-typeset\">\n 3. Restrictions\n </span>\n </span>\n </a>\n \n</li>\n \n <li class=\"md-nav__item\">\n <a href=\"#4-warranty-limitations\" class=\"md-nav__link\">\n <span class=\"md-ellipsis\">\n <span class=\"md-typeset\">\n 4. Warranty Limitations\n </span>\n </span>\n </a>\n \n</li>\n \n <li class=\"md-nav__item\">\n <a href=\"#5-term-and-termination\" class=\"md-nav__link\">\n <span class=\"md-ellipsis\">\n <span class=\"md-typeset\">\n 5. Term and Termination\n </span>\n </span>\n </a>\n \n</li>\n \n <li class=\"md-nav__item\">\n <a href=\"#6-governing-law-and-jurisdiction\" class=\"md-nav__link\">\n <span class=\"md-ellipsis\">\n <span class=\"md-typeset\">\n 6. Governing Law and Jurisdiction\n </span>\n </span>\n </a>\n \n</li>\n \n </ul>\n \n</nav>\n \n </li>\n \n\n \n \n </ul>\n </nav>\n \n </li>\n \n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n <li class=\"md-nav__item md-nav__item--section md-nav__item--nested\">\n \n \n \n \n \n <input class=\"md-nav__toggle md-toggle md-toggle--indeterminate\" type=\"checkbox\" id=\"__nav_2_2\" >\n \n \n <label class=\"md-nav__link\" for=\"__nav_2_2\" id=\"__nav_2_2_label\" tabindex=\"\">\n \n \n \n <span class=\"md-ellipsis\">\n \n \n Key Concepts\n\n \n </span>\n \n \n\n <span class=\"md-nav__icon md-icon\"></span>\n </label>\n \n <nav class=\"md-nav\" data-md-level=\"2\" aria-labelledby=\"__nav_2_2_label\" aria-expanded=\"false\">\n <label class=\"md-nav__title\" for=\"__nav_2_2\">\n <span class=\"md-nav__icon md-icon\"></span>\n \n \n Key Concepts\n\n </label>\n <ul class=\"md-nav__list\" data-md-scrollfix>\n \n \n \n \n \n \n \n <li class=\"md-nav__item\">\n <a href=\"../../__Key-Concepts/01-overview/\" class=\"md-nav__link\">\n \n \n \n <svg xmlns=\"http://www.w3.org/2000/svg\" fill=\"none\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\" class=\"lucide lucide-info\" viewBox=\"0 0 24 24\"><circle cx=\"12\" cy=\"12\" r=\"10\"/><path d=\"M12 16v-4M12 8h.01\"/></svg>\n \n <span class=\"md-ellipsis\">\n \n \n Overview\n\n \n </span>\n \n \n\n </a>\n </li>\n \n\n \n \n \n \n \n \n \n \n <li class=\"md-nav__item\">\n <a href=\"../../__Key-Concepts/02-params_specs/\" class=\"md-nav__link\">\n \n \n \n <svg xmlns=\"http://www.w3.org/2000/svg\" fill=\"none\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\" class=\"lucide lucide-clipboard-list\" viewBox=\"0 0 24 24\"><rect width=\"8\" height=\"4\" x=\"8\" y=\"2\" rx=\"1\" ry=\"1\"/><path d=\"M16 4h2a2 2 0 0 1 2 2v14a2 2 0 0 1-2 2H6a2 2 0 0 1-2-2V6a2 2 0 0 1 2-2h2M12 11h4M12 16h4M8 11h.01M8 16h.01\"/></svg>\n \n <span class=\"md-ellipsis\">\n \n \n Parameter Specifications\n\n \n </span>\n \n \n\n </a>\n </li>\n \n\n \n \n </ul>\n </nav>\n \n </li>\n \n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n <li class=\"md-nav__item md-nav__item--section md-nav__item--nested\">\n \n \n \n \n \n <input class=\"md-nav__toggle md-toggle md-toggle--indeterminate\" type=\"checkbox\" id=\"__nav_2_3\" >\n \n \n <label class=\"md-nav__link\" for=\"__nav_2_3\" id=\"__nav_2_3_label\" tabindex=\"\">\n \n \n \n <span class=\"md-ellipsis\">\n \n \n Api\n\n \n </span>\n \n \n\n <span class=\"md-nav__icon md-icon\"></span>\n </label>\n \n <nav class=\"md-nav\" data-md-level=\"2\" aria-labelledby=\"__nav_2_3_label\" aria-expanded=\"false\">\n <label class=\"md-nav__title\" for=\"__nav_2_3\">\n <span class=\"md-nav__icon md-icon\"></span>\n \n \n Api\n\n </label>\n <ul class=\"md-nav__list\" data-md-scrollfix>\n \n \n \n \n \n \n \n <li class=\"md-nav__item\">\n <a href=\"../../api/BatchExecCmdIter/\" class=\"md-nav__link\">\n \n \n \n <svg xmlns=\"http://www.w3.org/2000/svg\" fill=\"none\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\" class=\"lucide lucide-braces\" viewBox=\"0 0 24 24\"><path d=\"M8 3H7a2 2 0 0 0-2 2v5a2 2 0 0 1-2 2 2 2 0 0 1 2 2v5c0 1.1.9 2 2 2h1M16 21h1a2 2 0 0 0 2-2v-5c0-1.1.9-2 2-2a2 2 0 0 1-2-2V5a2 2 0 0 0-2-2h-1\"/></svg>\n \n <span class=\"md-ellipsis\">\n \n \n BatchExecCmdIter\n\n \n </span>\n \n \n\n </a>\n </li>\n \n\n \n \n \n \n \n \n \n \n <li class=\"md-nav__item\">\n <a href=\"../../api/Study/\" class=\"md-nav__link\">\n \n \n \n <svg xmlns=\"http://www.w3.org/2000/svg\" fill=\"none\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\" class=\"lucide lucide-braces\" viewBox=\"0 0 24 24\"><path d=\"M8 3H7a2 2 0 0 0-2 2v5a2 2 0 0 1-2 2 2 2 0 0 1 2 2v5c0 1.1.9 2 2 2h1M16 21h1a2 2 0 0 0 2-2v-5c0-1.1.9-2 2-2a2 2 0 0 1-2-2V5a2 2 0 0 0-2-2h-1\"/></svg>\n \n <span class=\"md-ellipsis\">\n \n \n Study\n\n \n </span>\n \n \n\n </a>\n </li>\n \n\n \n \n </ul>\n </nav>\n \n </li>\n \n\n \n \n </ul>\n </nav>\n \n </li>\n \n\n \n </ul>\n</nav>\n </div>\n </div>\n </div>\n \n \n \n <div class=\"md-sidebar md-sidebar--secondary\" data-md-component=\"sidebar\" data-md-type=\"toc\" >\n <div class=\"md-sidebar__scrollwrap\">\n \n \n \n \n \n \n \n <input class=\"md-nav__toggle md-toggle\" type=\"checkbox\" id=\"__toc\">\n <div class=\"md-sidebar-button__wrapper\">\n <label class=\"md-sidebar-button\" for=\"__toc\"></label>\n </div>\n \n \n <div class=\"md-sidebar__inner\">\n \n\n\n<nav class=\"md-nav md-nav--secondary\" aria-label=\"On this page\">\n \n \n \n \n \n \n <label class=\"md-nav__title\" for=\"__toc\">\n <span class=\"md-nav__icon md-icon\"></span>\n On this page\n </label>\n <ul class=\"md-nav__list\" data-md-component=\"toc\" data-md-scrollfix>\n \n <li class=\"md-nav__item\">\n <a href=\"#1-purpose-of-the-license\" class=\"md-nav__link\">\n <span class=\"md-ellipsis\">\n <span class=\"md-typeset\">\n 1. Purpose of the License\n </span>\n </span>\n </a>\n \n</li>\n \n <li class=\"md-nav__item\">\n <a href=\"#2-usage-rights\" class=\"md-nav__link\">\n <span class=\"md-ellipsis\">\n <span class=\"md-typeset\">\n 2. Usage Rights\n </span>\n </span>\n </a>\n \n <nav class=\"md-nav\" aria-label=\"2. Usage Rights\">\n <ul class=\"md-nav__list\">\n \n <li class=\"md-nav__item\">\n <a href=\"#21-open-source-usage\" class=\"md-nav__link\">\n <span class=\"md-ellipsis\">\n <span class=\"md-typeset\">\n 2.1 Open Source Usage\n </span>\n </span>\n </a>\n \n</li>\n \n <li class=\"md-nav__item\">\n <a href=\"#22-other-usage\" class=\"md-nav__link\">\n <span class=\"md-ellipsis\">\n <span class=\"md-typeset\">\n 2.2 Other Usage\n </span>\n </span>\n </a>\n \n</li>\n \n </ul>\n </nav>\n \n</li>\n \n <li class=\"md-nav__item\">\n <a href=\"#3-restrictions\" class=\"md-nav__link\">\n <span class=\"md-ellipsis\">\n <span class=\"md-typeset\">\n 3. Restrictions\n </span>\n </span>\n </a>\n \n</li>\n \n <li class=\"md-nav__item\">\n <a href=\"#4-warranty-limitations\" class=\"md-nav__link\">\n <span class=\"md-ellipsis\">\n <span class=\"md-typeset\">\n 4. Warranty Limitations\n </span>\n </span>\n </a>\n \n</li>\n \n <li class=\"md-nav__item\">\n <a href=\"#5-term-and-termination\" class=\"md-nav__link\">\n <span class=\"md-ellipsis\">\n <span class=\"md-typeset\">\n 5. Term and Termination\n </span>\n </span>\n </a>\n \n</li>\n \n <li class=\"md-nav__item\">\n <a href=\"#6-governing-law-and-jurisdiction\" class=\"md-nav__link\">\n <span class=\"md-ellipsis\">\n <span class=\"md-typeset\">\n 6. Governing Law and Jurisdiction\n </span>\n </span>\n </a>\n \n</li>\n \n </ul>\n \n</nav>\n </div>\n </div>\n </div>\n \n \n \n <div class=\"md-content\" data-md-component=\"content\">\n \n \n\n\n\n \n\n\n <nav class=\"md-path\" aria-label=\"Navigation\" >\n <ol class=\"md-path__list\">\n \n \n \n \n <li class=\"md-path__item\">\n <a href=\"../../..\" class=\"md-path__link\">\n \n \n <span class=\"md-ellipsis\">\n StudPy\n </span>\n\n </a>\n </li>\n \n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n <li class=\"md-path__item\">\n <a href=\"../01-installation/\" class=\"md-path__link\">\n \n \n <span class=\"md-ellipsis\">\n Documentation\n </span>\n\n </a>\n </li>\n \n \n\n \n \n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n <li class=\"md-path__item\">\n <a href=\"../01-installation/\" class=\"md-path__link\">\n \n \n <span class=\"md-ellipsis\">\n Get Started\n </span>\n\n </a>\n </li>\n \n \n\n \n </ol>\n </nav>\n\n \n <article class=\"md-content__inner md-typeset\">\n \n \n\n<h1 id=\"license\">License<a class=\"headerlink\" href=\"#license\" title=\"Permanent link\">¶</a></h1>\n<h2 id=\"1-purpose-of-the-license\">1. Purpose of the License<a class=\"headerlink\" href=\"#1-purpose-of-the-license\" title=\"Permanent link\">¶</a></h2>\n<ul>\n<li>This license defines the terms and conditions for the use of the software library called <code>studpy</code> (hereinafter referred to as <code>the Library</code>).</li>\n</ul>\n<h2 id=\"2-usage-rights\">2. Usage Rights<a class=\"headerlink\" href=\"#2-usage-rights\" title=\"Permanent link\">¶</a></h2>\n<h3 id=\"21-open-source-usage\">2.1 Open Source Usage<a class=\"headerlink\" href=\"#21-open-source-usage\" title=\"Permanent link\">¶</a></h3>\n<ul>\n<li>Use is permitted free of charge exclusively within open source projects, provided that the Library is not used for commercial purposes, either directly or indirectly (e.g., SaaS, paid services, integration into a commercial product).</li>\n</ul>\n<h3 id=\"22-other-usage\">2.2 Other Usage<a class=\"headerlink\" href=\"#22-other-usage\" title=\"Permanent link\">¶</a></h3>\n<ul>\n<li>The purchase or receipt of a license grants the user a limited, non-exclusive, and non-transferable license to use the Library in accordance with the terms of this license.</li>\n<li>The user is authorized to use the Library only for projects within the scope defined by the agreement.</li>\n</ul>\n<h2 id=\"3-restrictions\">3. Restrictions<a class=\"headerlink\" href=\"#3-restrictions\" title=\"Permanent link\">¶</a></h2>\n<p>The user agrees to comply with the following restrictions:</p>\n<ul>\n<li><strong>No Redistribution</strong>: It is strictly prohibited to distribute, sell, rent, or lend the Library to third parties in any form whatsoever.</li>\n<li><strong>Source Code</strong>: The Library is provided in binary or compiled form, unless otherwise specified. Any attempt to decompile, reverse engineer, or modify it is strictly prohibited.</li>\n<li><strong>Intellectual Property</strong>: All intellectual property rights related to the Library are and shall remain the exclusive property of PinkSalmon.</li>\n</ul>\n<h2 id=\"4-warranty-limitations\">4. Warranty Limitations<a class=\"headerlink\" href=\"#4-warranty-limitations\" title=\"Permanent link\">¶</a></h2>\n<ul>\n<li>The Library is provided \"as is\" without any express or implied warranty.</li>\n<li>PinkSalmon shall not be held liable for any direct or indirect damages, including but not limited to data loss, loss of profits, or service interruption.</li>\n</ul>\n<h2 id=\"5-term-and-termination\">5. Term and Termination<a class=\"headerlink\" href=\"#5-term-and-termination\" title=\"Permanent link\">¶</a></h2>\n<ul>\n<li>This license remains valid until terminated.</li>\n<li>It may be terminated automatically in the event of a breach of the terms of this license.</li>\n<li>Upon termination, the user must destroy all copies of the Library in their possession.</li>\n</ul>\n<h2 id=\"6-governing-law-and-jurisdiction\">6. Governing Law and Jurisdiction<a class=\"headerlink\" href=\"#6-governing-law-and-jurisdiction\" title=\"Permanent link\">¶</a></h2>\n<ul>\n<li>This License shall be governed by and construed in accordance with the laws of France.</li>\n<li>Notwithstanding the foregoing, if the Licensee is located outside France, mandatory provisions of the local laws of the Licensee’s country of residence may apply to the extent they cannot be waived by contract.</li>\n<li>Any dispute arising out of or in connection with this License shall be submitted to the exclusive jurisdiction of the competent courts of France, unless otherwise required by applicable mandatory law.</li>\n</ul>\n<hr />\n<p><strong>Contact</strong>: For any questions regarding this license, please contact <a href=\"mailto:contact@pinksalmon.cloud\">contact@pinksalmon.cloud</a>.</p>\n\n\n <nav class=\"md-tags\" >\n \n \n \n \n \n <span class=\"md-tag\">Get started</span>\n \n \n </nav>\n\n\n\n\n\n\n\n\n \n \n\n\n\n\n\n\n \n </article>\n </div>\n \n \n<script>var target=document.getElementById(location.hash.slice(1));target&&target.name&&(target.checked=target.name.startsWith(\"__tabbed_\"))</script>\n </div>\n \n <button type=\"button\" class=\"md-top md-icon\" data-md-component=\"top\" hidden>\n \n <svg xmlns=\"http://www.w3.org/2000/svg\" fill=\"none\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\" class=\"lucide lucide-circle-arrow-up\" viewBox=\"0 0 24 24\"><circle cx=\"12\" cy=\"12\" r=\"10\"/><path d=\"m16 12-4-4-4 4M12 16V8\"/></svg>\n Back to top\n</button>\n \n </main>\n \n <footer class=\"md-footer\">\n \n <div class=\"md-footer-meta md-typeset\">\n <div class=\"md-footer-meta__inner md-grid\">\n <div class=\"md-copyright\">\n \n <div class=\"md-copyright__highlight\">\n Copyright © 2026 StudPy - A PinkSalmon Library\n </div>\n \n \n</div>\n \n </div>\n </div>\n</footer>\n \n </div>\n <div class=\"md-dialog\" data-md-component=\"dialog\">\n <div class=\"md-dialog__inner md-typeset\"></div>\n </div>\n \n \n \n \n \n <script id=\"__config\" type=\"application/json\">{\"annotate\":null,\"base\":\"../../..\",\"features\":[\"navigation.tabs\",\"navigation.path\",\"navigation.expand\",\"navigation.top\",\"navigation.sections\",\"navigation.indexes\",\"content.code.copy\"],\"search\":\"../../../assets/javascripts/workers/search.e2d2d235.min.js\",\"tags\":null,\"translations\":{\"clipboard.copied\":\"Copied to clipboard\",\"clipboard.copy\":\"Copy to clipboard\",\"search.result.more.one\":\"1 more on this page\",\"search.result.more.other\":\"# more on this page\",\"search.result.none\":\"No matching documents\",\"search.result.one\":\"1 matching document\",\"search.result.other\":\"# matching documents\",\"search.result.placeholder\":\"Type to start searching\",\"search.result.term.missing\":\"Missing\",\"select.version\":\"Select version\"},\"version\":\"v0.3.0\"}</script>\n \n \n <script src=\"../../../assets/javascripts/bundle.6e5f0216.min.js\"></script>\n \n \n </body>\n</html>",
|
|
3
|
+
"hash": 18133872995303749630
|
|
4
|
+
}
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
{
|
|
2
|
+
"data": "\n<!doctype html>\n<html lang=\"en\" class=\"no-js\">\n <head>\n \n <meta charset=\"utf-8\">\n <meta name=\"viewport\" content=\"width=device-width,initial-scale=1\">\n \n \n <meta name=\"author\" content=\"PinkSalmon\">\n \n \n \n <link rel=\"prev\" href=\"../BatchExecCmdIter/\">\n \n \n \n \n \n \n <link rel=\"icon\" href=\"../../../assets/images/favicon.png\">\n <meta name=\"generator\" content=\"zensical-0.0.43\">\n \n \n \n <title>Study - StudPy</title>\n \n \n \n \n \n \n <link rel=\"stylesheet\" href=\"../../../assets/stylesheets/modern/main.fba56155.min.css\">\n \n \n\n\n \n \n \n \n \n \n \n \n <link rel=\"preconnect\" href=\"https://fonts.gstatic.com\" crossorigin>\n <link rel=\"stylesheet\" href=\"https://fonts.googleapis.com/css?family=Inter:300,300i,400,400i,500,500i,700,700i%7CJetBrains+Mono:400,400i,700,700i&display=fallback\">\n <style>:root{--md-text-font:\"Inter\";--md-code-font:\"JetBrains Mono\"}</style>\n \n \n \n <link rel=\"stylesheet\" href=\"../../../stylesheets/extra.css\">\n \n <script>__md_scope=new URL(\"../../..\",location),__md_scope.pathname.endsWith(\"/\")||(__md_scope=new URL(__md_scope.pathname+\"/\",location)),__md_hash=e=>[...e].reduce(((e,t)=>(e<<5)-e+t.charCodeAt(0)),0),__md_get=(e,t=localStorage,_=__md_scope)=>JSON.parse(t.getItem(_.pathname+\".\"+e)),__md_set=(e,t,_=localStorage,a=__md_scope)=>{try{_.setItem(a.pathname+\".\"+e,JSON.stringify(t))}catch(e){}},document.documentElement.setAttribute(\"data-platform\",navigator.platform)</script>\n \n \n\n \n \n </head>\n \n \n <body dir=\"ltr\">\n \n \n <input class=\"md-toggle\" data-md-toggle=\"drawer\" type=\"checkbox\" id=\"__drawer\" autocomplete=\"off\">\n <input class=\"md-toggle\" data-md-toggle=\"search\" type=\"checkbox\" id=\"__search\" autocomplete=\"off\">\n <label class=\"md-overlay\" for=\"__drawer\" aria-label=\"Navigation\"></label>\n <div data-md-component=\"skip\">\n \n \n <a href=\"#study\" class=\"md-skip\">\n Skip to content\n </a>\n \n </div>\n <div data-md-component=\"announce\">\n \n </div>\n \n <div data-md-color-scheme=\"default\" data-md-component=\"outdated\" hidden>\n \n </div>\n \n \n \n\n<header class=\"md-header\" data-md-component=\"header\">\n <nav class=\"md-header__inner md-grid\" aria-label=\"Header\">\n <a href=\"../../..\" title=\"StudPy\" class=\"md-header__button md-logo\" aria-label=\"StudPy\" data-md-component=\"logo\">\n \n <img src=\"../../../assets/logo.svg\" alt=\"StudPy\">\n\n </a>\n <label class=\"md-header__button md-icon\" for=\"__drawer\" aria-label=\"Navigation\">\n \n <svg xmlns=\"http://www.w3.org/2000/svg\" fill=\"none\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\" class=\"lucide lucide-menu\" viewBox=\"0 0 24 24\"><path d=\"M4 5h16M4 12h16M4 19h16\"/></svg>\n </label>\n <div class=\"md-header__title\" data-md-component=\"header-title\">\n <div class=\"md-header__ellipsis\">\n <div class=\"md-header__topic\">\n <span class=\"md-ellipsis\">\n StudPy\n <span style=\"background: var(--md-accent-fg-color--transparent); color: var(--md-accent-fg-color); padding: 2px 4px; margin:4px; border-radius: 4px; font-size: 0.6em;\">\n v0.3.0\n </span>\n </span>\n </div>\n <div class=\"md-header__topic\" data-md-component=\"header-topic\">\n <span class=\"md-ellipsis\">\n \n Study\n \n </span>\n </div>\n </div>\n </div>\n \n \n <script>var palette=__md_get(\"__palette\");if(palette&&palette.color){if(\"(prefers-color-scheme)\"===palette.color.media){var media=matchMedia(\"(prefers-color-scheme: light)\"),input=document.querySelector(media.matches?\"[data-md-color-media='(prefers-color-scheme: light)']\":\"[data-md-color-media='(prefers-color-scheme: dark)']\");palette.color.media=input.getAttribute(\"data-md-color-media\"),palette.color.scheme=input.getAttribute(\"data-md-color-scheme\"),palette.color.primary=input.getAttribute(\"data-md-color-primary\"),palette.color.accent=input.getAttribute(\"data-md-color-accent\")}for(var[key,value]of Object.entries(palette.color))document.body.setAttribute(\"data-md-color-\"+key,value)}</script>\n \n \n \n \n \n <label class=\"md-header__button md-icon\" for=\"__search\" aria-label=\"Search\">\n \n <svg xmlns=\"http://www.w3.org/2000/svg\" fill=\"none\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\" class=\"lucide lucide-search\" viewBox=\"0 0 24 24\"><path d=\"m21 21-4.34-4.34\"/><circle cx=\"11\" cy=\"11\" r=\"8\"/></svg>\n </label>\n <div class=\"md-search\" data-md-component=\"search\" role=\"dialog\" aria-label=\"Search\">\n <button type=\"button\" class=\"md-search__button\">\n Search\n </button>\n</div>\n \n \n <div class=\"md-header__source\">\n \n </div>\n </nav>\n \n</header>\n \n <div class=\"md-container\" data-md-component=\"container\">\n \n \n \n \n \n<nav class=\"md-tabs\" aria-label=\"Tabs\" data-md-component=\"tabs\">\n <div class=\"md-grid\">\n <ul class=\"md-tabs__list\">\n \n \n \n \n \n \n <li class=\"md-tabs__item\">\n <a href=\"../../..\" class=\"md-tabs__link\">\n \n \n StudPy\n\n </a>\n </li>\n \n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n <li class=\"md-tabs__item md-tabs__item--active\">\n <a href=\"../../_Get-Started/01-installation/\" class=\"md-tabs__link\">\n \n \n Documentation\n\n </a>\n </li>\n \n \n\n \n \n\n \n </ul>\n </div>\n</nav>\n \n \n \n <main class=\"md-main\" data-md-component=\"main\">\n <div class=\"md-main__inner md-grid\">\n \n \n \n <div class=\"md-sidebar md-sidebar--primary\" data-md-component=\"sidebar\" data-md-type=\"navigation\" >\n <div class=\"md-sidebar__scrollwrap\">\n <div class=\"md-sidebar__inner\">\n \n\n\n \n\n\n<nav class=\"md-nav md-nav--primary md-nav--lifted\" aria-label=\"Navigation\" data-md-level=\"0\">\n <label class=\"md-nav__title\" for=\"__drawer\">\n <a href=\"../../..\" title=\"StudPy\" class=\"md-nav__button md-logo\" aria-label=\"StudPy\" data-md-component=\"logo\">\n \n <img src=\"../../../assets/logo.svg\" alt=\"StudPy\">\n\n </a>\n StudPy\n </label>\n \n <ul class=\"md-nav__list\" data-md-scrollfix>\n \n \n \n \n \n \n \n <li class=\"md-nav__item\">\n <a href=\"../../..\" class=\"md-nav__link\">\n \n \n \n <svg xmlns=\"http://www.w3.org/2000/svg\" fill=\"none\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\" class=\"lucide lucide-braces\" viewBox=\"0 0 24 24\"><path d=\"M8 3H7a2 2 0 0 0-2 2v5a2 2 0 0 1-2 2 2 2 0 0 1 2 2v5c0 1.1.9 2 2 2h1M16 21h1a2 2 0 0 0 2-2v-5c0-1.1.9-2 2-2a2 2 0 0 1-2-2V5a2 2 0 0 0-2-2h-1\"/></svg>\n \n <span class=\"md-ellipsis\">\n \n \n StudPy\n\n \n </span>\n \n \n\n </a>\n </li>\n \n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n <li class=\"md-nav__item md-nav__item--active md-nav__item--section md-nav__item--nested\">\n \n \n \n <input class=\"md-nav__toggle md-toggle \" type=\"checkbox\" id=\"__nav_2\" checked>\n \n \n <label class=\"md-nav__link\" for=\"__nav_2\" id=\"__nav_2_label\" tabindex=\"\">\n \n \n \n <span class=\"md-ellipsis\">\n \n \n Documentation\n\n \n </span>\n \n \n\n <span class=\"md-nav__icon md-icon\"></span>\n </label>\n \n <nav class=\"md-nav\" data-md-level=\"1\" aria-labelledby=\"__nav_2_label\" aria-expanded=\"true\">\n <label class=\"md-nav__title\" for=\"__nav_2\">\n <span class=\"md-nav__icon md-icon\"></span>\n \n \n Documentation\n\n </label>\n <ul class=\"md-nav__list\" data-md-scrollfix>\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n <li class=\"md-nav__item md-nav__item--section md-nav__item--nested\">\n \n \n \n \n \n <input class=\"md-nav__toggle md-toggle md-toggle--indeterminate\" type=\"checkbox\" id=\"__nav_2_1\" >\n \n \n <label class=\"md-nav__link\" for=\"__nav_2_1\" id=\"__nav_2_1_label\" tabindex=\"\">\n \n \n \n <span class=\"md-ellipsis\">\n \n \n Get Started\n\n \n </span>\n \n \n\n <span class=\"md-nav__icon md-icon\"></span>\n </label>\n \n <nav class=\"md-nav\" data-md-level=\"2\" aria-labelledby=\"__nav_2_1_label\" aria-expanded=\"false\">\n <label class=\"md-nav__title\" for=\"__nav_2_1\">\n <span class=\"md-nav__icon md-icon\"></span>\n \n \n Get Started\n\n </label>\n <ul class=\"md-nav__list\" data-md-scrollfix>\n \n \n \n \n \n \n \n <li class=\"md-nav__item\">\n <a href=\"../../_Get-Started/01-installation/\" class=\"md-nav__link\">\n \n \n \n <svg xmlns=\"http://www.w3.org/2000/svg\" fill=\"none\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\" class=\"lucide lucide-package-open\" viewBox=\"0 0 24 24\"><path d=\"M12 22v-9M15.17 2.21a1.67 1.67 0 0 1 1.63 0L21 4.57a1.93 1.93 0 0 1 0 3.36L8.82 14.79a1.66 1.66 0 0 1-1.64 0L3 12.43a1.93 1.93 0 0 1 0-3.36z\"/><path d=\"M20 13v3.87a2.06 2.06 0 0 1-1.11 1.83l-6 3.08a1.93 1.93 0 0 1-1.78 0l-6-3.08A2.06 2.06 0 0 1 4 16.87V13\"/><path d=\"M21 12.43a1.93 1.93 0 0 0 0-3.36L8.83 2.2a1.64 1.64 0 0 0-1.63 0L3 4.57a1.93 1.93 0 0 0 0 3.36l12.18 6.86a1.64 1.64 0 0 0 1.63 0z\"/></svg>\n \n <span class=\"md-ellipsis\">\n \n \n Installation\n\n \n </span>\n \n \n\n </a>\n </li>\n \n\n \n \n \n \n \n \n \n \n <li class=\"md-nav__item\">\n <a href=\"../../_Get-Started/02-minimal-example/\" class=\"md-nav__link\">\n \n \n \n <svg xmlns=\"http://www.w3.org/2000/svg\" fill=\"none\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\" class=\"lucide lucide-file-box\" viewBox=\"0 0 24 24\"><path d=\"M14.5 22H18a2 2 0 0 0 2-2V8a2.4 2.4 0 0 0-.706-1.706l-3.588-3.588A2.4 2.4 0 0 0 14 2H6a2 2 0 0 0-2 2v3.8\"/><path d=\"M14 2v5a1 1 0 0 0 1 1h5M11.7 14.2 7 17l-4.7-2.8\"/><path d=\"M3 13.1a2 2 0 0 0-.999 1.76v3.24a2 2 0 0 0 .969 1.78L6 21.7a2 2 0 0 0 2.03.01L11 19.9a2 2 0 0 0 1-1.76V14.9a2 2 0 0 0-.97-1.78L8 11.3a2 2 0 0 0-2.03-.01zM7 17v5\"/></svg>\n \n <span class=\"md-ellipsis\">\n \n \n Minimal Example\n\n \n </span>\n \n \n\n </a>\n </li>\n \n\n \n \n \n \n \n \n \n \n <li class=\"md-nav__item\">\n <a href=\"../../_Get-Started/03-license/\" class=\"md-nav__link\">\n \n \n \n <svg xmlns=\"http://www.w3.org/2000/svg\" fill=\"none\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\" class=\"lucide lucide-scale\" viewBox=\"0 0 24 24\"><path d=\"M12 3v18M19 8l3 8a5 5 0 0 1-6 0zV7\"/><path d=\"M3 7h1a17 17 0 0 0 8-2 17 17 0 0 0 8 2h1M5 8l3 8a5 5 0 0 1-6 0zV7M7 21h10\"/></svg>\n \n <span class=\"md-ellipsis\">\n \n \n License\n\n \n </span>\n \n \n\n </a>\n </li>\n \n\n \n \n </ul>\n </nav>\n \n </li>\n \n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n <li class=\"md-nav__item md-nav__item--section md-nav__item--nested\">\n \n \n \n \n \n <input class=\"md-nav__toggle md-toggle md-toggle--indeterminate\" type=\"checkbox\" id=\"__nav_2_2\" >\n \n \n <label class=\"md-nav__link\" for=\"__nav_2_2\" id=\"__nav_2_2_label\" tabindex=\"\">\n \n \n \n <span class=\"md-ellipsis\">\n \n \n Key Concepts\n\n \n </span>\n \n \n\n <span class=\"md-nav__icon md-icon\"></span>\n </label>\n \n <nav class=\"md-nav\" data-md-level=\"2\" aria-labelledby=\"__nav_2_2_label\" aria-expanded=\"false\">\n <label class=\"md-nav__title\" for=\"__nav_2_2\">\n <span class=\"md-nav__icon md-icon\"></span>\n \n \n Key Concepts\n\n </label>\n <ul class=\"md-nav__list\" data-md-scrollfix>\n \n \n \n \n \n \n \n <li class=\"md-nav__item\">\n <a href=\"../../__Key-Concepts/01-overview/\" class=\"md-nav__link\">\n \n \n \n <svg xmlns=\"http://www.w3.org/2000/svg\" fill=\"none\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\" class=\"lucide lucide-info\" viewBox=\"0 0 24 24\"><circle cx=\"12\" cy=\"12\" r=\"10\"/><path d=\"M12 16v-4M12 8h.01\"/></svg>\n \n <span class=\"md-ellipsis\">\n \n \n Overview\n\n \n </span>\n \n \n\n </a>\n </li>\n \n\n \n \n \n \n \n \n \n \n <li class=\"md-nav__item\">\n <a href=\"../../__Key-Concepts/02-params_specs/\" class=\"md-nav__link\">\n \n \n \n <svg xmlns=\"http://www.w3.org/2000/svg\" fill=\"none\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\" class=\"lucide lucide-clipboard-list\" viewBox=\"0 0 24 24\"><rect width=\"8\" height=\"4\" x=\"8\" y=\"2\" rx=\"1\" ry=\"1\"/><path d=\"M16 4h2a2 2 0 0 1 2 2v14a2 2 0 0 1-2 2H6a2 2 0 0 1-2-2V6a2 2 0 0 1 2-2h2M12 11h4M12 16h4M8 11h.01M8 16h.01\"/></svg>\n \n <span class=\"md-ellipsis\">\n \n \n Parameter Specifications\n\n \n </span>\n \n \n\n </a>\n </li>\n \n\n \n \n </ul>\n </nav>\n \n </li>\n \n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n <li class=\"md-nav__item md-nav__item--active md-nav__item--section md-nav__item--nested\">\n \n \n \n <input class=\"md-nav__toggle md-toggle \" type=\"checkbox\" id=\"__nav_2_3\" checked>\n \n \n <label class=\"md-nav__link\" for=\"__nav_2_3\" id=\"__nav_2_3_label\" tabindex=\"\">\n \n \n \n <span class=\"md-ellipsis\">\n \n \n Api\n\n \n </span>\n \n \n\n <span class=\"md-nav__icon md-icon\"></span>\n </label>\n \n <nav class=\"md-nav\" data-md-level=\"2\" aria-labelledby=\"__nav_2_3_label\" aria-expanded=\"true\">\n <label class=\"md-nav__title\" for=\"__nav_2_3\">\n <span class=\"md-nav__icon md-icon\"></span>\n \n \n Api\n\n </label>\n <ul class=\"md-nav__list\" data-md-scrollfix>\n \n \n \n \n \n \n \n <li class=\"md-nav__item\">\n <a href=\"../BatchExecCmdIter/\" class=\"md-nav__link\">\n \n \n \n <svg xmlns=\"http://www.w3.org/2000/svg\" fill=\"none\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\" class=\"lucide lucide-braces\" viewBox=\"0 0 24 24\"><path d=\"M8 3H7a2 2 0 0 0-2 2v5a2 2 0 0 1-2 2 2 2 0 0 1 2 2v5c0 1.1.9 2 2 2h1M16 21h1a2 2 0 0 0 2-2v-5c0-1.1.9-2 2-2a2 2 0 0 1-2-2V5a2 2 0 0 0-2-2h-1\"/></svg>\n \n <span class=\"md-ellipsis\">\n \n \n BatchExecCmdIter\n\n \n </span>\n \n \n\n </a>\n </li>\n \n\n \n \n \n \n \n \n \n \n \n \n <li class=\"md-nav__item md-nav__item--active\">\n \n \n \n \n \n \n \n <label class=\"md-nav__link md-nav__link--active\" for=\"__toc\">\n \n \n \n <svg xmlns=\"http://www.w3.org/2000/svg\" fill=\"none\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\" class=\"lucide lucide-braces\" viewBox=\"0 0 24 24\"><path d=\"M8 3H7a2 2 0 0 0-2 2v5a2 2 0 0 1-2 2 2 2 0 0 1 2 2v5c0 1.1.9 2 2 2h1M16 21h1a2 2 0 0 0 2-2v-5c0-1.1.9-2 2-2a2 2 0 0 1-2-2V5a2 2 0 0 0-2-2h-1\"/></svg>\n \n <span class=\"md-ellipsis\">\n \n \n Study\n\n \n </span>\n \n \n\n <span class=\"md-nav__icon md-icon\"></span>\n </label>\n \n <a href=\"././\" class=\"md-nav__link md-nav__link--active\">\n \n \n \n <svg xmlns=\"http://www.w3.org/2000/svg\" fill=\"none\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\" class=\"lucide lucide-braces\" viewBox=\"0 0 24 24\"><path d=\"M8 3H7a2 2 0 0 0-2 2v5a2 2 0 0 1-2 2 2 2 0 0 1 2 2v5c0 1.1.9 2 2 2h1M16 21h1a2 2 0 0 0 2-2v-5c0-1.1.9-2 2-2a2 2 0 0 1-2-2V5a2 2 0 0 0-2-2h-1\"/></svg>\n \n <span class=\"md-ellipsis\">\n \n \n Study\n\n \n </span>\n \n \n\n </a>\n \n \n\n\n<nav class=\"md-nav md-nav--secondary\" aria-label=\"On this page\">\n \n \n \n \n \n \n <label class=\"md-nav__title\" for=\"__toc\">\n <span class=\"md-nav__icon md-icon\"></span>\n On this page\n </label>\n <ul class=\"md-nav__list\" data-md-component=\"toc\" data-md-scrollfix>\n \n <li class=\"md-nav__item\">\n <a href=\"#studpy.study.Study\" class=\"md-nav__link\">\n <span class=\"md-ellipsis\">\n <span class=\"md-typeset\">\n Study\n </span>\n </span>\n </a>\n \n</li>\n \n </ul>\n \n</nav>\n \n </li>\n \n\n \n \n </ul>\n </nav>\n \n </li>\n \n\n \n \n </ul>\n </nav>\n \n </li>\n \n\n \n </ul>\n</nav>\n </div>\n </div>\n </div>\n \n \n \n <div class=\"md-sidebar md-sidebar--secondary\" data-md-component=\"sidebar\" data-md-type=\"toc\" >\n <div class=\"md-sidebar__scrollwrap\">\n \n \n \n \n \n \n \n <input class=\"md-nav__toggle md-toggle\" type=\"checkbox\" id=\"__toc\">\n <div class=\"md-sidebar-button__wrapper\">\n <label class=\"md-sidebar-button\" for=\"__toc\"></label>\n </div>\n \n \n <div class=\"md-sidebar__inner\">\n \n\n\n<nav class=\"md-nav md-nav--secondary\" aria-label=\"On this page\">\n \n \n \n \n \n \n <label class=\"md-nav__title\" for=\"__toc\">\n <span class=\"md-nav__icon md-icon\"></span>\n On this page\n </label>\n <ul class=\"md-nav__list\" data-md-component=\"toc\" data-md-scrollfix>\n \n <li class=\"md-nav__item\">\n <a href=\"#studpy.study.Study\" class=\"md-nav__link\">\n <span class=\"md-ellipsis\">\n <span class=\"md-typeset\">\n Study\n </span>\n </span>\n </a>\n \n</li>\n \n </ul>\n \n</nav>\n </div>\n </div>\n </div>\n \n \n \n <div class=\"md-content\" data-md-component=\"content\">\n \n \n\n\n\n \n\n\n <nav class=\"md-path\" aria-label=\"Navigation\" >\n <ol class=\"md-path__list\">\n \n \n \n \n <li class=\"md-path__item\">\n <a href=\"../../..\" class=\"md-path__link\">\n \n \n <span class=\"md-ellipsis\">\n StudPy\n </span>\n\n </a>\n </li>\n \n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n <li class=\"md-path__item\">\n <a href=\"../../_Get-Started/01-installation/\" class=\"md-path__link\">\n \n \n <span class=\"md-ellipsis\">\n Documentation\n </span>\n\n </a>\n </li>\n \n \n\n \n \n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n <li class=\"md-path__item\">\n <a href=\"../BatchExecCmdIter/\" class=\"md-path__link\">\n \n \n <span class=\"md-ellipsis\">\n Api\n </span>\n\n </a>\n </li>\n \n \n\n \n </ol>\n </nav>\n\n \n <article class=\"md-content__inner md-typeset\">\n \n \n\n<h1 id=\"study\">Study<a class=\"headerlink\" href=\"#study\" title=\"Permanent link\">¶</a></h1>\n\n\n<div class=\"doc doc-object doc-class\">\n\n\n\n<a id=\"studpy.study.Study\"></a>\n <div class=\"doc doc-contents first\">\n\n\n\n <p>Orchestrates a full batch simulation workflow.</p>\n<p>A Study combines:\n- parameter space definition (ParamsSpecs)\n- case generation (Cartesian or LHS-expanded)\n- target execution (TargetsOneFile)</p>\n\n\n<details class=\"workflow\" open>\n <summary>Workflow</summary>\n <ol>\n<li>build cases from parameter specs</li>\n<li>iterate over cases</li>\n<li>generate inputs for each case</li>\n</ol>\n</details>\n\n\n\n\n\n\n\n\n\n\n<div class=\"doc doc-children\">\n\n\n\n\n\n\n\n\n\n\n\n\n </div>\n\n </div>\n\n</div>\n\n\n\n\n\n\n\n\n\n \n \n\n\n\n\n\n\n \n </article>\n </div>\n \n \n<script>var target=document.getElementById(location.hash.slice(1));target&&target.name&&(target.checked=target.name.startsWith(\"__tabbed_\"))</script>\n </div>\n \n <button type=\"button\" class=\"md-top md-icon\" data-md-component=\"top\" hidden>\n \n <svg xmlns=\"http://www.w3.org/2000/svg\" fill=\"none\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\" class=\"lucide lucide-circle-arrow-up\" viewBox=\"0 0 24 24\"><circle cx=\"12\" cy=\"12\" r=\"10\"/><path d=\"m16 12-4-4-4 4M12 16V8\"/></svg>\n Back to top\n</button>\n \n </main>\n \n <footer class=\"md-footer\">\n \n <div class=\"md-footer-meta md-typeset\">\n <div class=\"md-footer-meta__inner md-grid\">\n <div class=\"md-copyright\">\n \n <div class=\"md-copyright__highlight\">\n Copyright © 2026 StudPy - A PinkSalmon Library\n </div>\n \n \n</div>\n \n </div>\n </div>\n</footer>\n \n </div>\n <div class=\"md-dialog\" data-md-component=\"dialog\">\n <div class=\"md-dialog__inner md-typeset\"></div>\n </div>\n \n \n \n \n \n <script id=\"__config\" type=\"application/json\">{\"annotate\":null,\"base\":\"../../..\",\"features\":[\"navigation.tabs\",\"navigation.path\",\"navigation.expand\",\"navigation.top\",\"navigation.sections\",\"navigation.indexes\",\"content.code.copy\"],\"search\":\"../../../assets/javascripts/workers/search.e2d2d235.min.js\",\"tags\":null,\"translations\":{\"clipboard.copied\":\"Copied to clipboard\",\"clipboard.copy\":\"Copy to clipboard\",\"search.result.more.one\":\"1 more on this page\",\"search.result.more.other\":\"# more on this page\",\"search.result.none\":\"No matching documents\",\"search.result.one\":\"1 matching document\",\"search.result.other\":\"# matching documents\",\"search.result.placeholder\":\"Type to start searching\",\"search.result.term.missing\":\"Missing\",\"select.version\":\"Select version\"},\"version\":\"v0.3.0\"}</script>\n \n \n <script src=\"../../../assets/javascripts/bundle.6e5f0216.min.js\"></script>\n \n \n </body>\n</html>",
|
|
3
|
+
"hash": 353823675613626518
|
|
4
|
+
}
|