2025-01-22 16:54:15 +01:00

228 lines
13 KiB
HTML
Raw Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<!doctype html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1, minimum-scale=1">
<meta name="generator" content="pdoc3 0.11.5">
<title>lang_main.io API documentation</title>
<meta name="description" content="">
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/10up-sanitize.css/13.0.0/sanitize.min.css" integrity="sha512-y1dtMcuvtTMJc1yPgEqF0ZjQbhnc/bFhyvIyVNb9Zk5mIGtqVaAB1Ttl28su8AvFMOY0EwRbAe+HCLqj6W7/KA==" crossorigin>
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/10up-sanitize.css/13.0.0/typography.min.css" integrity="sha512-Y1DYSb995BAfxobCkKepB1BqJJTPrOp3zPL74AWFugHHmmdcvO+C48WLrUOlhGMc0QG7AE3f7gmvvcrmX2fDoA==" crossorigin>
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/highlight.js/11.9.0/styles/default.min.css" crossorigin>
<style>:root{--highlight-color:#fe9}.flex{display:flex !important}body{line-height:1.5em}#content{padding:20px}#sidebar{padding:1.5em;overflow:hidden}#sidebar > *:last-child{margin-bottom:2cm}.http-server-breadcrumbs{font-size:130%;margin:0 0 15px 0}#footer{font-size:.75em;padding:5px 30px;border-top:1px solid #ddd;text-align:right}#footer p{margin:0 0 0 1em;display:inline-block}#footer p:last-child{margin-right:30px}h1,h2,h3,h4,h5{font-weight:300}h1{font-size:2.5em;line-height:1.1em}h2{font-size:1.75em;margin:2em 0 .50em 0}h3{font-size:1.4em;margin:1.6em 0 .7em 0}h4{margin:0;font-size:105%}h1:target,h2:target,h3:target,h4:target,h5:target,h6:target{background:var(--highlight-color);padding:.2em 0}a{color:#058;text-decoration:none;transition:color .2s ease-in-out}a:visited{color:#503}a:hover{color:#b62}.title code{font-weight:bold}h2[id^="header-"]{margin-top:2em}.ident{color:#900;font-weight:bold}pre code{font-size:.8em;line-height:1.4em;padding:1em;display:block}code{background:#f3f3f3;font-family:"DejaVu Sans Mono",monospace;padding:1px 4px;overflow-wrap:break-word}h1 code{background:transparent}pre{border-top:1px solid #ccc;border-bottom:1px solid #ccc;margin:1em 0}#http-server-module-list{display:flex;flex-flow:column}#http-server-module-list div{display:flex}#http-server-module-list dt{min-width:10%}#http-server-module-list p{margin-top:0}.toc ul,#index{list-style-type:none;margin:0;padding:0}#index code{background:transparent}#index h3{border-bottom:1px solid #ddd}#index ul{padding:0}#index h4{margin-top:.6em;font-weight:bold}@media (min-width:200ex){#index .two-column{column-count:2}}@media (min-width:300ex){#index .two-column{column-count:3}}dl{margin-bottom:2em}dl dl:last-child{margin-bottom:4em}dd{margin:0 0 1em 3em}#header-classes + dl > dd{margin-bottom:3em}dd dd{margin-left:2em}dd p{margin:10px 0}.name{background:#eee;font-size:.85em;padding:5px 10px;display:inline-block;min-width:40%}.name:hover{background:#e0e0e0}dt:target .name{background:var(--highlight-color)}.name > span:first-child{white-space:nowrap}.name.class > span:nth-child(2){margin-left:.4em}.inherited{color:#999;border-left:5px solid #eee;padding-left:1em}.inheritance em{font-style:normal;font-weight:bold}.desc h2{font-weight:400;font-size:1.25em}.desc h3{font-size:1em}.desc dt code{background:inherit}.source > summary,.git-link-div{color:#666;text-align:right;font-weight:400;font-size:.8em;text-transform:uppercase}.source summary > *{white-space:nowrap;cursor:pointer}.git-link{color:inherit;margin-left:1em}.source pre{max-height:500px;overflow:auto;margin:0}.source pre code{font-size:12px;overflow:visible;min-width:max-content}.hlist{list-style:none}.hlist li{display:inline}.hlist li:after{content:',\2002'}.hlist li:last-child:after{content:none}.hlist .hlist{display:inline;padding-left:1em}img{max-width:100%}td{padding:0 .5em}.admonition{padding:.1em 1em;margin:1em 0}.admonition-title{font-weight:bold}.admonition.note,.admonition.info,.admonition.important{background:#aef}.admonition.todo,.admonition.versionadded,.admonition.tip,.admonition.hint{background:#dfd}.admonition.warning,.admonition.versionchanged,.admonition.deprecated{background:#fd4}.admonition.error,.admonition.danger,.admonition.caution{background:lightpink}</style>
<style media="screen and (min-width: 700px)">@media screen and (min-width:700px){#sidebar{width:30%;height:100vh;overflow:auto;position:sticky;top:0}#content{width:70%;max-width:100ch;padding:3em 4em;border-left:1px solid #ddd}pre code{font-size:1em}.name{font-size:1em}main{display:flex;flex-direction:row-reverse;justify-content:flex-end}.toc ul ul,#index ul ul{padding-left:1em}.toc > ul > li{margin-top:.5em}}</style>
<style media="print">@media print{#sidebar h1{page-break-before:always}.source{display:none}}@media print{*{background:transparent !important;color:#000 !important;box-shadow:none !important;text-shadow:none !important}a[href]:after{content:" (" attr(href) ")";font-size:90%}a[href][title]:after{content:none}abbr[title]:after{content:" (" attr(title) ")"}.ir a:after,a[href^="javascript:"]:after,a[href^="#"]:after{content:""}pre,blockquote{border:1px solid #999;page-break-inside:avoid}thead{display:table-header-group}tr,img{page-break-inside:avoid}img{max-width:100% !important}@page{margin:0.5cm}p,h2,h3{orphans:3;widows:3}h1,h2,h3,h4,h5,h6{page-break-after:avoid}}</style>
<script defer src="https://cdnjs.cloudflare.com/ajax/libs/highlight.js/11.9.0/highlight.min.js" integrity="sha512-D9gUyxqja7hBtkWpPWGt9wfbfaMGVt9gnyCvYa+jojwwPHLCzUm5i8rpk7vD7wNee9bA35eYIjobYPaQuKS1MQ==" crossorigin></script>
<script>window.addEventListener('DOMContentLoaded', () => {
hljs.configure({languages: ['bash', 'css', 'diff', 'graphql', 'ini', 'javascript', 'json', 'plaintext', 'python', 'python-repl', 'rust', 'shell', 'sql', 'typescript', 'xml', 'yaml']});
hljs.highlightAll();
/* Collapse source docstrings */
setTimeout(() => {
[...document.querySelectorAll('.hljs.language-python > .hljs-string')]
.filter(el => el.innerHTML.length > 200 && ['"""', "'''"].includes(el.innerHTML.substring(0, 3)))
.forEach(el => {
let d = document.createElement('details');
d.classList.add('hljs-string');
d.innerHTML = '<summary>"""</summary>' + el.innerHTML.substring(3);
el.replaceWith(d);
});
}, 100);
})</script>
</head>
<body>
<main>
<article id="content">
<header>
<h1 class="title">Module <code>lang_main.io</code></h1>
</header>
<section id="section-intro">
</section>
<section>
</section>
<section>
</section>
<section>
<h2 class="section-title" id="header-functions">Functions</h2>
<dl>
<dt id="lang_main.io.create_saving_folder"><code class="name flex">
<span>def <span class="ident">create_saving_folder</span></span>(<span>saving_path_folder: str | pathlib.Path, overwrite_existing: bool = False) > None</span>
</code></dt>
<dd>
<details class="source">
<summary>
<span>Expand source code</span>
</summary>
<pre><code class="python">def create_saving_folder(
saving_path_folder: str | Path,
overwrite_existing: bool = False,
) -&gt; None:
# check for existence of given path
if isinstance(saving_path_folder, str):
saving_path_folder = Path(saving_path_folder)
if not saving_path_folder.exists():
saving_path_folder.mkdir(parents=True)
else:
if overwrite_existing:
# overwrite if desired (deletes whole path and re-creates it)
shutil.rmtree(saving_path_folder)
saving_path_folder.mkdir(parents=True)
else:
logger.info(
(
&#39;Path &gt;&gt;%s&lt;&lt; already exists and remained unchanged. If you want to &#39;
&#39;overwrite this path, use parameter &gt;&gt;overwrite_existing&lt;&lt;.&#39;,
),
saving_path_folder,
)</code></pre>
</details>
<div class="desc"></div>
</dd>
<dt id="lang_main.io.decode_from_base64_str"><code class="name flex">
<span>def <span class="ident">decode_from_base64_str</span></span>(<span>b64_str: str, encoding: str = 'utf-8') > Any</span>
</code></dt>
<dd>
<details class="source">
<summary>
<span>Expand source code</span>
</summary>
<pre><code class="python">def decode_from_base64_str(
b64_str: str,
encoding: str = &#39;utf-8&#39;,
) -&gt; Any:
b64_bytes = b64_str.encode(encoding=encoding)
decoded = base64.b64decode(b64_bytes)
return pickle.loads(decoded)</code></pre>
</details>
<div class="desc"></div>
</dd>
<dt id="lang_main.io.encode_file_to_base64_str"><code class="name flex">
<span>def <span class="ident">encode_file_to_base64_str</span></span>(<span>path: pathlib.Path, encoding: str = 'utf-8') > str</span>
</code></dt>
<dd>
<details class="source">
<summary>
<span>Expand source code</span>
</summary>
<pre><code class="python">def encode_file_to_base64_str(
path: Path,
encoding: str = &#39;utf-8&#39;,
) -&gt; str:
with open(path, &#39;rb&#39;) as file:
b64_bytes = base64.b64encode(file.read())
return b64_bytes.decode(encoding=encoding)</code></pre>
</details>
<div class="desc"></div>
</dd>
<dt id="lang_main.io.encode_to_base64_str"><code class="name flex">
<span>def <span class="ident">encode_to_base64_str</span></span>(<span>obj: Any, encoding: str = 'utf-8') > str</span>
</code></dt>
<dd>
<details class="source">
<summary>
<span>Expand source code</span>
</summary>
<pre><code class="python">def encode_to_base64_str(
obj: Any,
encoding: str = &#39;utf-8&#39;,
) -&gt; str:
serialised = pickle.dumps(obj, protocol=PICKLE_PROTOCOL_VERSION)
b64_bytes = base64.b64encode(serialised)
return b64_bytes.decode(encoding=encoding)</code></pre>
</details>
<div class="desc"></div>
</dd>
<dt id="lang_main.io.get_entry_point"><code class="name flex">
<span>def <span class="ident">get_entry_point</span></span>(<span>saving_path: pathlib.Path,<br>filename: str,<br>file_ext: str = '.pkl',<br>check_existence: bool = True) > pathlib.Path</span>
</code></dt>
<dd>
<details class="source">
<summary>
<span>Expand source code</span>
</summary>
<pre><code class="python">def get_entry_point(
saving_path: Path,
filename: str,
file_ext: str = &#39;.pkl&#39;,
check_existence: bool = True,
) -&gt; Path:
entry_point_path = (saving_path / filename).with_suffix(file_ext)
if check_existence and not entry_point_path.exists():
raise FileNotFoundError(
f&#39;Could not find provided entry data under path: &gt;&gt;{entry_point_path}&lt;&lt;&#39;
)
return entry_point_path</code></pre>
</details>
<div class="desc"></div>
</dd>
<dt id="lang_main.io.load_pickle"><code class="name flex">
<span>def <span class="ident">load_pickle</span></span>(<span>path: str | pathlib.Path) > Any</span>
</code></dt>
<dd>
<details class="source">
<summary>
<span>Expand source code</span>
</summary>
<pre><code class="python">def load_pickle(
path: str | Path,
) -&gt; Any:
with open(path, &#39;rb&#39;) as file:
obj = pickle.load(file)
logger.info(&#39;Loaded file successfully.&#39;)
return obj</code></pre>
</details>
<div class="desc"></div>
</dd>
<dt id="lang_main.io.save_pickle"><code class="name flex">
<span>def <span class="ident">save_pickle</span></span>(<span>obj: Any, path: str | pathlib.Path) > None</span>
</code></dt>
<dd>
<details class="source">
<summary>
<span>Expand source code</span>
</summary>
<pre><code class="python">def save_pickle(
obj: Any,
path: str | Path,
) -&gt; None:
with open(path, &#39;wb&#39;) as file:
pickle.dump(obj, file, protocol=PICKLE_PROTOCOL_VERSION)
logger.info(&#39;Saved file successfully under %s&#39;, path)</code></pre>
</details>
<div class="desc"></div>
</dd>
</dl>
</section>
<section>
</section>
</article>
<nav id="sidebar">
<div class="toc">
<ul></ul>
</div>
<ul id="index">
<li><h3>Super-module</h3>
<ul>
<li><code><a title="lang_main" href="index.html">lang_main</a></code></li>
</ul>
</li>
<li><h3><a href="#header-functions">Functions</a></h3>
<ul class="">
<li><code><a title="lang_main.io.create_saving_folder" href="#lang_main.io.create_saving_folder">create_saving_folder</a></code></li>
<li><code><a title="lang_main.io.decode_from_base64_str" href="#lang_main.io.decode_from_base64_str">decode_from_base64_str</a></code></li>
<li><code><a title="lang_main.io.encode_file_to_base64_str" href="#lang_main.io.encode_file_to_base64_str">encode_file_to_base64_str</a></code></li>
<li><code><a title="lang_main.io.encode_to_base64_str" href="#lang_main.io.encode_to_base64_str">encode_to_base64_str</a></code></li>
<li><code><a title="lang_main.io.get_entry_point" href="#lang_main.io.get_entry_point">get_entry_point</a></code></li>
<li><code><a title="lang_main.io.load_pickle" href="#lang_main.io.load_pickle">load_pickle</a></code></li>
<li><code><a title="lang_main.io.save_pickle" href="#lang_main.io.save_pickle">save_pickle</a></code></li>
</ul>
</li>
</ul>
</nav>
</main>
<footer id="footer">
<p>Generated by <a href="https://pdoc3.github.io/pdoc" title="pdoc: Python API documentation generator"><cite>pdoc</cite> 0.11.5</a>.</p>
</footer>
</body>
</html>