Skip to content

Changes in docs for release: v0.18.0 #611

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 1 commit into from
Jul 26, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
327 changes: 104 additions & 223 deletions docs/detailed-documentation/cluster/cluster.html

Large diffs are not rendered by default.

497 changes: 433 additions & 64 deletions docs/detailed-documentation/cluster/config.html

Large diffs are not rendered by default.

25 changes: 13 additions & 12 deletions docs/detailed-documentation/cluster/model.html
Original file line number Diff line number Diff line change
Expand Up @@ -51,8 +51,9 @@ <h1 class="title">Module <code>codeflare_sdk.cluster.model</code></h1>
dataclasses to store information for Ray clusters and AppWrappers.
&#34;&#34;&#34;

from dataclasses import dataclass
from dataclasses import dataclass, field
from enum import Enum
import typing


class RayClusterStatus(Enum):
Expand Down Expand Up @@ -107,14 +108,14 @@ <h1 class="title">Module <code>codeflare_sdk.cluster.model</code></h1>
status: RayClusterStatus
head_cpus: int
head_mem: str
head_gpu: int
workers: int
worker_mem_min: str
worker_mem_max: str
worker_cpu: int
worker_gpu: int
namespace: str
dashboard: str
worker_extended_resources: typing.Dict[str, int] = field(default_factory=dict)
head_extended_resources: typing.Dict[str, int] = field(default_factory=dict)


@dataclass
Expand Down Expand Up @@ -292,7 +293,7 @@ <h3>Class variables</h3>
</dd>
<dt id="codeflare_sdk.cluster.model.RayCluster"><code class="flex name class">
<span>class <span class="ident">RayCluster</span></span>
<span>(</span><span>name: str, status: <a title="codeflare_sdk.cluster.model.RayClusterStatus" href="#codeflare_sdk.cluster.model.RayClusterStatus">RayClusterStatus</a>, head_cpus: int, head_mem: str, head_gpu: int, workers: int, worker_mem_min: str, worker_mem_max: str, worker_cpu: int, worker_gpu: int, namespace: str, dashboard: str)</span>
<span>(</span><span>name: str, status: <a title="codeflare_sdk.cluster.model.RayClusterStatus" href="#codeflare_sdk.cluster.model.RayClusterStatus">RayClusterStatus</a>, head_cpus: int, head_mem: str, workers: int, worker_mem_min: str, worker_mem_max: str, worker_cpu: int, namespace: str, dashboard: str, worker_extended_resources: Dict[str, int] = &lt;factory&gt;, head_extended_resources: Dict[str, int] = &lt;factory&gt;)</span>
</code></dt>
<dd>
<div class="desc"><p>For storing information about a Ray cluster.</p></div>
Expand All @@ -310,14 +311,14 @@ <h3>Class variables</h3>
status: RayClusterStatus
head_cpus: int
head_mem: str
head_gpu: int
workers: int
worker_mem_min: str
worker_mem_max: str
worker_cpu: int
worker_gpu: int
namespace: str
dashboard: str</code></pre>
dashboard: str
worker_extended_resources: typing.Dict[str, int] = field(default_factory=dict)
head_extended_resources: typing.Dict[str, int] = field(default_factory=dict)</code></pre>
</details>
<h3>Class variables</h3>
<dl>
Expand All @@ -329,7 +330,7 @@ <h3>Class variables</h3>
<dd>
<div class="desc"></div>
</dd>
<dt id="codeflare_sdk.cluster.model.RayCluster.head_gpu"><code class="name">var <span class="ident">head_gpu</span> : int</code></dt>
<dt id="codeflare_sdk.cluster.model.RayCluster.head_extended_resources"><code class="name">var <span class="ident">head_extended_resources</span> : Dict[str, int]</code></dt>
<dd>
<div class="desc"></div>
</dd>
Expand All @@ -353,7 +354,7 @@ <h3>Class variables</h3>
<dd>
<div class="desc"></div>
</dd>
<dt id="codeflare_sdk.cluster.model.RayCluster.worker_gpu"><code class="name">var <span class="ident">worker_gpu</span> : int</code></dt>
<dt id="codeflare_sdk.cluster.model.RayCluster.worker_extended_resources"><code class="name">var <span class="ident">worker_extended_resources</span> : Dict[str, int]</code></dt>
<dd>
<div class="desc"></div>
</dd>
Expand Down Expand Up @@ -471,16 +472,16 @@ <h4><code><a title="codeflare_sdk.cluster.model.CodeFlareClusterStatus" href="#c
</li>
<li>
<h4><code><a title="codeflare_sdk.cluster.model.RayCluster" href="#codeflare_sdk.cluster.model.RayCluster">RayCluster</a></code></h4>
<ul class="two-column">
<ul class="">
<li><code><a title="codeflare_sdk.cluster.model.RayCluster.dashboard" href="#codeflare_sdk.cluster.model.RayCluster.dashboard">dashboard</a></code></li>
<li><code><a title="codeflare_sdk.cluster.model.RayCluster.head_cpus" href="#codeflare_sdk.cluster.model.RayCluster.head_cpus">head_cpus</a></code></li>
<li><code><a title="codeflare_sdk.cluster.model.RayCluster.head_gpu" href="#codeflare_sdk.cluster.model.RayCluster.head_gpu">head_gpu</a></code></li>
<li><code><a title="codeflare_sdk.cluster.model.RayCluster.head_extended_resources" href="#codeflare_sdk.cluster.model.RayCluster.head_extended_resources">head_extended_resources</a></code></li>
<li><code><a title="codeflare_sdk.cluster.model.RayCluster.head_mem" href="#codeflare_sdk.cluster.model.RayCluster.head_mem">head_mem</a></code></li>
<li><code><a title="codeflare_sdk.cluster.model.RayCluster.name" href="#codeflare_sdk.cluster.model.RayCluster.name">name</a></code></li>
<li><code><a title="codeflare_sdk.cluster.model.RayCluster.namespace" href="#codeflare_sdk.cluster.model.RayCluster.namespace">namespace</a></code></li>
<li><code><a title="codeflare_sdk.cluster.model.RayCluster.status" href="#codeflare_sdk.cluster.model.RayCluster.status">status</a></code></li>
<li><code><a title="codeflare_sdk.cluster.model.RayCluster.worker_cpu" href="#codeflare_sdk.cluster.model.RayCluster.worker_cpu">worker_cpu</a></code></li>
<li><code><a title="codeflare_sdk.cluster.model.RayCluster.worker_gpu" href="#codeflare_sdk.cluster.model.RayCluster.worker_gpu">worker_gpu</a></code></li>
<li><code><a title="codeflare_sdk.cluster.model.RayCluster.worker_extended_resources" href="#codeflare_sdk.cluster.model.RayCluster.worker_extended_resources">worker_extended_resources</a></code></li>
<li><code><a title="codeflare_sdk.cluster.model.RayCluster.worker_mem_max" href="#codeflare_sdk.cluster.model.RayCluster.worker_mem_max">worker_mem_max</a></code></li>
<li><code><a title="codeflare_sdk.cluster.model.RayCluster.worker_mem_min" href="#codeflare_sdk.cluster.model.RayCluster.worker_mem_min">worker_mem_min</a></code></li>
<li><code><a title="codeflare_sdk.cluster.model.RayCluster.workers" href="#codeflare_sdk.cluster.model.RayCluster.workers">workers</a></code></li>
Expand Down
11 changes: 10 additions & 1 deletion docs/detailed-documentation/index.html
Original file line number Diff line number Diff line change
Expand Up @@ -46,7 +46,16 @@ <h1 class="title">Package <code>codeflare_sdk</code></h1>

from .job import RayJobClient

from .utils import generate_cert</code></pre>
from .utils import generate_cert
from .utils.demos import copy_demo_nbs

from importlib.metadata import version, PackageNotFoundError

try:
__version__ = version(&#34;codeflare-sdk&#34;) # use metadata associated with built package

except PackageNotFoundError:
__version__ = &#34;v0.0.0&#34;</code></pre>
</details>
</section>
<section>
Expand Down
138 changes: 138 additions & 0 deletions docs/detailed-documentation/utils/demos.html
Original file line number Diff line number Diff line change
@@ -0,0 +1,138 @@
<!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="pdoc 0.10.0" />
<title>codeflare_sdk.utils.demos API documentation</title>
<meta name="description" content="" />
<link rel="preload stylesheet" as="style" href="https://cdnjs.cloudflare.com/ajax/libs/10up-sanitize.css/11.0.1/sanitize.min.css" integrity="sha256-PK9q560IAAa6WVRRh76LtCaI8pjTJ2z11v0miyNNjrs=" crossorigin>
<link rel="preload stylesheet" as="style" href="https://cdnjs.cloudflare.com/ajax/libs/10up-sanitize.css/11.0.1/typography.min.css" integrity="sha256-7l/o7C8jubJiy74VsKTidCy1yBkRtiUGbVkYBylBqUg=" crossorigin>
<link rel="stylesheet preload" as="style" href="https://cdnjs.cloudflare.com/ajax/libs/highlight.js/10.1.1/styles/github.min.css" crossorigin>
<style>:root{--highlight-color:#fe9}.flex{display:flex !important}body{line-height:1.5em}#content{padding:20px}#sidebar{padding:30px;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:1em 0 .50em 0}h3{font-size:1.4em;margin:25px 0 10px 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 .3s ease-in-out}a:hover{color:#e82}.title code{font-weight:bold}h2[id^="header-"]{margin-top:2em}.ident{color:#900}pre code{background:#f8f8f8;font-size:.8em;line-height:1.4em}code{background:#f2f2f1;padding:1px 4px;overflow-wrap:break-word}h1 code{background:transparent}pre{background:#f8f8f8;border:0;border-top:1px solid #ccc;border-bottom:1px solid #ccc;margin:1em 0;padding:1ex}#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-weight:bold;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}.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 .5em;margin-bottom:1em}.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}.item .name{font-size:1em}main{display:flex;flex-direction:row-reverse;justify-content:flex-end}.toc ul ul,#index ul{padding-left:1.5em}.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/10.1.1/highlight.min.js" integrity="sha256-Uv3H6lx7dJmRfRvH8TH6kJD1TSK1aFcwgx+mdg3epi8=" crossorigin></script>
<script>window.addEventListener('DOMContentLoaded', () => hljs.initHighlighting())</script>
</head>
<body>
<main>
<article id="content">
<header>
<h1 class="title">Module <code>codeflare_sdk.utils.demos</code></h1>
</header>
<section id="section-intro">
<details class="source">
<summary>
<span>Expand source code</span>
</summary>
<pre><code class="python">import pathlib
import shutil

package_dir = pathlib.Path(__file__).parent.parent.resolve()
demo_dir = f&#34;{package_dir}/demo-notebooks&#34;


def copy_demo_nbs(dir: str = &#34;./demo-notebooks&#34;, overwrite: bool = False):
&#34;&#34;&#34;
Copy the demo notebooks from the package to the current working directory

overwrite=True will overwrite any files that exactly match files written by copy_demo_nbs in the target directory.
Any files that exist in the directory that don&#39;t match these values will remain untouched.

Args:
dir (str): The directory to copy the demo notebooks to. Defaults to &#34;./demo-notebooks&#34;. overwrite (bool):
overwrite (bool): Whether to overwrite files in the directory if it already exists. Defaults to False.
Raises:
FileExistsError: If the directory already exists.
&#34;&#34;&#34;
# does dir exist already?
if overwrite is False and pathlib.Path(dir).exists():
raise FileExistsError(
f&#34;Directory {dir} already exists. Please remove it or provide a different location.&#34;
)

shutil.copytree(demo_dir, dir, dirs_exist_ok=True)</code></pre>
</details>
</section>
<section>
</section>
<section>
</section>
<section>
<h2 class="section-title" id="header-functions">Functions</h2>
<dl>
<dt id="codeflare_sdk.utils.demos.copy_demo_nbs"><code class="name flex">
<span>def <span class="ident">copy_demo_nbs</span></span>(<span>dir: str = './demo-notebooks', overwrite: bool = False)</span>
</code></dt>
<dd>
<div class="desc"><p>Copy the demo notebooks from the package to the current working directory</p>
<p>overwrite=True will overwrite any files that exactly match files written by copy_demo_nbs in the target directory.
Any files that exist in the directory that don't match these values will remain untouched.</p>
<h2 id="args">Args</h2>
<dl>
<dt><strong><code>dir</code></strong> :&ensp;<code>str</code></dt>
<dd>The directory to copy the demo notebooks to. Defaults to "./demo-notebooks". overwrite (bool):</dd>
<dt><strong><code>overwrite</code></strong> :&ensp;<code>bool</code></dt>
<dd>Whether to overwrite files in the directory if it already exists. Defaults to False.</dd>
</dl>
<h2 id="raises">Raises</h2>
<dl>
<dt><code>FileExistsError</code></dt>
<dd>If the directory already exists.</dd>
</dl></div>
<details class="source">
<summary>
<span>Expand source code</span>
</summary>
<pre><code class="python">def copy_demo_nbs(dir: str = &#34;./demo-notebooks&#34;, overwrite: bool = False):
&#34;&#34;&#34;
Copy the demo notebooks from the package to the current working directory

overwrite=True will overwrite any files that exactly match files written by copy_demo_nbs in the target directory.
Any files that exist in the directory that don&#39;t match these values will remain untouched.

Args:
dir (str): The directory to copy the demo notebooks to. Defaults to &#34;./demo-notebooks&#34;. overwrite (bool):
overwrite (bool): Whether to overwrite files in the directory if it already exists. Defaults to False.
Raises:
FileExistsError: If the directory already exists.
&#34;&#34;&#34;
# does dir exist already?
if overwrite is False and pathlib.Path(dir).exists():
raise FileExistsError(
f&#34;Directory {dir} already exists. Please remove it or provide a different location.&#34;
)

shutil.copytree(demo_dir, dir, dirs_exist_ok=True)</code></pre>
</details>
</dd>
</dl>
</section>
<section>
</section>
</article>
<nav id="sidebar">
<h1>Index</h1>
<div class="toc">
<ul></ul>
</div>
<ul id="index">
<li><h3>Super-module</h3>
<ul>
<li><code><a title="codeflare_sdk.utils" href="index.html">codeflare_sdk.utils</a></code></li>
</ul>
</li>
<li><h3><a href="#header-functions">Functions</a></h3>
<ul class="">
<li><code><a title="codeflare_sdk.utils.demos.copy_demo_nbs" href="#codeflare_sdk.utils.demos.copy_demo_nbs">copy_demo_nbs</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.10.0</a>.</p>
</footer>
</body>
</html>
Loading