Buckets:

HuggingFaceDocBuilder's picture
download
raw
19.1 kB
import{s as Wt,n as zt,o as Xt}from"../chunks/scheduler.2b22cead.js";import{S as Lt,i as Dt,e as M,s,c as p,h as qt,a as y,d as l,b as a,f as Ht,g as i,j as u,k as Zt,l as Ot,m as n,n as r,t as o,o as c,p as m}from"../chunks/index.1a0e8013.js";import{C as Pt,H as d,E as Kt}from"../chunks/MermaidChart.svelte_svelte_type_style_lang.bc7b309e.js";import{C as T}from"../chunks/CodeBlock.6c8835fe.js";function te(kt){let h,P,q,K,J,tt,b,et,U,Vt='A generic OpenEnv environment for <a href="https://github.com/google-deepmind/dm_control" rel="nofollow">dm_control.suite</a>, providing access to all MuJoCo-based continuous control tasks.',lt,w,Nt='<img src="https://raw.githubusercontent.com/huggingface/OpenEnv/main/envs/dm_control_env/assets/cartpole.png" width="45%" alt="Cartpole Balance"/> <img src="https://raw.githubusercontent.com/huggingface/OpenEnv/main/envs/dm_control_env/assets/quadruped.png" width="45%" alt="Quadruped Walk"/>',nt,j,st,$,Rt="<thead><tr><th>Domain</th> <th>Tasks</th></tr></thead> <tbody><tr><td>cartpole</td> <td>balance, swingup, swingup_sparse</td></tr> <tr><td>walker</td> <td>stand, walk, run</td></tr> <tr><td>humanoid</td> <td>stand, walk, run</td></tr> <tr><td>cheetah</td> <td>run</td></tr> <tr><td>hopper</td> <td>stand, hop</td></tr> <tr><td>reacher</td> <td>easy, hard</td></tr> <tr><td>pendulum</td> <td>swingup</td></tr> <tr><td>finger</td> <td>spin, turn_easy, turn_hard</td></tr> <tr><td>fish</td> <td>upright, swim</td></tr> <tr><td>ball_in_cup</td> <td>catch</td></tr> <tr><td>And more…</td> <td>See <code>dm_control.suite.BENCHMARKING</code></td></tr></tbody>",at,f,pt,v,it,g,rt,C,ot,I,ct,B,mt,E,dt,_,Mt,G,yt,Z,ht,k,ut,V,wt,N,St="Action dimensions vary by environment:",Tt,R,Qt="<li>cartpole: 1 (force on cart)</li> <li>walker: 6 (joint torques)</li> <li>humanoid: 21 (joint torques)</li>",Jt,S,bt,Q,Ut,x,jt,A,$t,Y,ft,F,xt="See the <code>examples/</code> directory:",vt,H,At="<li><code>cartpole_control.py</code> - Interactive cartpole control with arrow keys</li> <li><code>hopper_control.py</code> - Interactive hopper control with spacebar for random forces</li> <li><code>quadruped_control.py</code> - Interactive quadruped control with spacebar for random forces</li> <li><code>list_environments.py</code> - Print all available environments</li>",gt,W,Yt="All examples support consistent CLI arguments:",Ct,z,It,X,Bt,L,Ft="<thead><tr><th>Variable</th> <th>Default</th> <th>Description</th></tr></thead> <tbody><tr><td><code>DMCONTROL_DOMAIN</code></td> <td>cartpole</td> <td>Default domain</td></tr> <tr><td><code>DMCONTROL_TASK</code></td> <td>balance</td> <td>Default task</td></tr> <tr><td><code>DMCONTROL_RENDER_HEIGHT</code></td> <td>480</td> <td>Render height</td></tr> <tr><td><code>DMCONTROL_RENDER_WIDTH</code></td> <td>640</td> <td>Render width</td></tr></tbody>",Et,D,_t,O,Gt;return J=new Pt({props:{containerStyle:"float: right; margin-left: 10px; display: inline-flex; position: relative; z-index: 10;"}}),b=new d({props:{title:"dm_control OpenEnv Environment",local:"dmcontrol-openenv-environment",headingTag:"h1"}}),j=new d({props:{title:"Supported Environments",local:"supported-environments",headingTag:"h2"}}),f=new d({props:{title:"Quick Start",local:"quick-start",headingTag:"h2"}}),v=new d({props:{title:"Using the Client",local:"using-the-client",headingTag:"h3"}}),g=new T({props:{code:"ZnJvbSUyMGVudnMuZG1fY29udHJvbF9lbnYlMjBpbXBvcnQlMjBETUNvbnRyb2xFbnYlMkMlMjBETUNvbnRyb2xBY3Rpb24lMEElMEElMjMlMjBDb25uZWN0JTIwdG8lMjBhJTIwcnVubmluZyUyMHNlcnZlciUwQXdpdGglMjBETUNvbnRyb2xFbnYoYmFzZV91cmwlM0QlMjJodHRwJTNBJTJGJTJGbG9jYWxob3N0JTNBODAwMCUyMiklMjBhcyUyMGVudiUzQSUwQSUyMCUyMCUyMCUyMCUyMyUyMFJlc2V0JTIwd2l0aCUyMGRlZmF1bHQlMjAoY2FydHBvbGUlMkZiYWxhbmNlKSUwQSUyMCUyMCUyMCUyMHJlc3VsdCUyMCUzRCUyMGVudi5yZXNldCgpJTBBJTIwJTIwJTIwJTIwcHJpbnQoZiUyMk9ic2VydmF0aW9ucyUzQSUyMCU3QnJlc3VsdC5vYnNlcnZhdGlvbi5vYnNlcnZhdGlvbnMua2V5cygpJTdEJTIyKSUwQSUwQSUyMCUyMCUyMCUyMCUyMyUyMFRha2UlMjBhY3Rpb25zJTBBJTIwJTIwJTIwJTIwZm9yJTIwXyUyMGluJTIwcmFuZ2UoMTAwKSUzQSUwQSUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMGFjdGlvbiUyMCUzRCUyMERNQ29udHJvbEFjdGlvbih2YWx1ZXMlM0QlNUIwLjUlNUQpJTIwJTIwJTIzJTIwUHVzaCUyMGNhcnQlMjByaWdodCUwQSUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMHJlc3VsdCUyMCUzRCUyMGVudi5zdGVwKGFjdGlvbiklMEElMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjBwcmludChmJTIyUmV3YXJkJTNBJTIwJTdCcmVzdWx0LnJld2FyZCU3RCUyQyUyMERvbmUlM0ElMjAlN0JyZXN1bHQuZG9uZSU3RCUyMiklMEElMEElMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjBpZiUyMHJlc3VsdC5kb25lJTNBJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwcmVzdWx0JTIwJTNEJTIwZW52LnJlc2V0KCk=",highlighted:`<span class="hljs-keyword">from</span> envs.dm_control_env <span class="hljs-keyword">import</span> DMControlEnv, DMControlAction
<span class="hljs-comment"># Connect to a running server</span>
<span class="hljs-keyword">with</span> DMControlEnv(base_url=<span class="hljs-string">&quot;http://localhost:8000&quot;</span>) <span class="hljs-keyword">as</span> env:
<span class="hljs-comment"># Reset with default (cartpole/balance)</span>
result = env.reset()
<span class="hljs-built_in">print</span>(<span class="hljs-string">f&quot;Observations: <span class="hljs-subst">{result.observation.observations.keys()}</span>&quot;</span>)
<span class="hljs-comment"># Take actions</span>
<span class="hljs-keyword">for</span> _ <span class="hljs-keyword">in</span> <span class="hljs-built_in">range</span>(<span class="hljs-number">100</span>):
action = DMControlAction(values=[<span class="hljs-number">0.5</span>]) <span class="hljs-comment"># Push cart right</span>
result = env.step(action)
<span class="hljs-built_in">print</span>(<span class="hljs-string">f&quot;Reward: <span class="hljs-subst">{result.reward}</span>, Done: <span class="hljs-subst">{result.done}</span>&quot;</span>)
<span class="hljs-keyword">if</span> result.done:
result = env.reset()`,lang:"python",wrap:!1}}),C=new d({props:{title:"Switching Environments",local:"switching-environments",headingTag:"h3"}}),I=new T({props:{code:"JTIzJTIwU3RhcnQlMjB3aXRoJTIwY2FydHBvbGUlMEFyZXN1bHQlMjAlM0QlMjBlbnYucmVzZXQoZG9tYWluX25hbWUlM0QlMjJjYXJ0cG9sZSUyMiUyQyUyMHRhc2tfbmFtZSUzRCUyMmJhbGFuY2UlMjIpJTBBJTBBJTIzJTIwU3dpdGNoJTIwdG8lMjB3YWxrZXIlMjAob24lMjBuZXh0JTIwcmVzZXQpJTBBcmVzdWx0JTIwJTNEJTIwZW52LnJlc2V0KGRvbWFpbl9uYW1lJTNEJTIyd2Fsa2VyJTIyJTJDJTIwdGFza19uYW1lJTNEJTIyd2FsayUyMiklMEElMjMlMjBOb3RlJTNBJTIwd2Fsa2VyJTIwaGFzJTIwNiUyMGFjdGlvbiUyMGRpbWVuc2lvbnMlMEFhY3Rpb24lMjAlM0QlMjBETUNvbnRyb2xBY3Rpb24odmFsdWVzJTNEJTVCMC4wJTVEJTIwKiUyMDYpJTBBcmVzdWx0JTIwJTNEJTIwZW52LnN0ZXAoYWN0aW9uKQ==",highlighted:`<span class="hljs-comment"># Start with cartpole</span>
result = env.reset(domain_name=<span class="hljs-string">&quot;cartpole&quot;</span>, task_name=<span class="hljs-string">&quot;balance&quot;</span>)
<span class="hljs-comment"># Switch to walker (on next reset)</span>
result = env.reset(domain_name=<span class="hljs-string">&quot;walker&quot;</span>, task_name=<span class="hljs-string">&quot;walk&quot;</span>)
<span class="hljs-comment"># Note: walker has 6 action dimensions</span>
action = DMControlAction(values=[<span class="hljs-number">0.0</span>] * <span class="hljs-number">6</span>)
result = env.step(action)`,lang:"python",wrap:!1}}),B=new d({props:{title:"Running the Server",local:"running-the-server",headingTag:"h3"}}),E=new T({props:{code:"JTIzJTIwRnJvbSUyME9wZW5FbnYlMjByb290JTBBY2QlMjBlbnZzJTJGZG1fY29udHJvbF9lbnYlMEF1dmljb3JuJTIwc2VydmVyLmFwcCUzQWFwcCUyMC0taG9zdCUyMDAuMC4wLjAlMjAtLXBvcnQlMjA4MDAwJTBBJTBBJTIzJTIwT3IlMjB1c2luZyUyMHV2JTBBdXYlMjBydW4lMjAtLXByb2plY3QlMjAuJTIwc2VydmVy",highlighted:`<span class="hljs-comment"># From OpenEnv root</span>
<span class="hljs-built_in">cd</span> envs/dm_control_env
uvicorn server.app:app --host 0.0.0.0 --port 8000
<span class="hljs-comment"># Or using uv</span>
uv run --project . server`,lang:"bash",wrap:!1}}),_=new d({props:{title:"Using Docker",local:"using-docker",headingTag:"h3"}}),G=new T({props:{code:"JTIzJTIwQnVpbGQlMEFkb2NrZXIlMjBidWlsZCUyMC10JTIwZG1fY29udHJvbCUzQWxhdGVzdCUyMC1mJTIwc2VydmVyJTJGRG9ja2VyZmlsZSUyMC4lMEElMEElMjMlMjBSdW4lMEFkb2NrZXIlMjBydW4lMjAtcCUyMDgwMDAlM0E4MDAwJTIwZG1fY29udHJvbCUzQWxhdGVzdA==",highlighted:`<span class="hljs-comment"># Build</span>
docker build -t dm_control:latest -f server/Dockerfile .
<span class="hljs-comment"># Run</span>
docker run -p 8000:8000 dm_control:latest`,lang:"bash",wrap:!1}}),Z=new d({props:{title:"API",local:"api",headingTag:"h2"}}),k=new d({props:{title:"Action",local:"action",headingTag:"h3"}}),V=new T({props:{code:"Y2xhc3MlMjBETUNvbnRyb2xBY3Rpb24oQWN0aW9uKSUzQSUwQSUyMCUyMCUyMCUyMHZhbHVlcyUzQSUyMExpc3QlNUJmbG9hdCU1RCUyMCUyMCUyMyUyMENvbnRpbnVvdXMlMjBhY3Rpb24lMjB2YWx1ZXM=",highlighted:`<span class="hljs-keyword">class</span> <span class="hljs-title class_">DMControlAction</span>(<span class="hljs-title class_ inherited__">Action</span>):
values: <span class="hljs-type">List</span>[<span class="hljs-built_in">float</span>] <span class="hljs-comment"># Continuous action values</span>`,lang:"python",wrap:!1}}),S=new d({props:{title:"Observation",local:"observation",headingTag:"h3"}}),Q=new T({props:{code:"Y2xhc3MlMjBETUNvbnRyb2xPYnNlcnZhdGlvbihPYnNlcnZhdGlvbiklM0ElMEElMjAlMjAlMjAlMjBvYnNlcnZhdGlvbnMlM0ElMjBEaWN0JTVCc3RyJTJDJTIwTGlzdCU1QmZsb2F0JTVEJTVEJTIwJTIwJTIzJTIwTmFtZWQlMjBvYnNlcnZhdGlvbiUyMGFycmF5cyUwQSUyMCUyMCUyMCUyMHBpeGVscyUzQSUyME9wdGlvbmFsJTVCc3RyJTVEJTIwJTIwJTIzJTIwQmFzZTY0JTIwUE5HJTIwKGlmJTIwcmVuZGVyJTNEVHJ1ZSklMEElMjAlMjAlMjAlMjByZXdhcmQlM0ElMjBmbG9hdCUwQSUyMCUyMCUyMCUyMGRvbmUlM0ElMjBib29s",highlighted:`<span class="hljs-keyword">class</span> <span class="hljs-title class_">DMControlObservation</span>(<span class="hljs-title class_ inherited__">Observation</span>):
observations: <span class="hljs-type">Dict</span>[<span class="hljs-built_in">str</span>, <span class="hljs-type">List</span>[<span class="hljs-built_in">float</span>]] <span class="hljs-comment"># Named observation arrays</span>
pixels: <span class="hljs-type">Optional</span>[<span class="hljs-built_in">str</span>] <span class="hljs-comment"># Base64 PNG (if render=True)</span>
reward: <span class="hljs-built_in">float</span>
done: <span class="hljs-built_in">bool</span>`,lang:"python",wrap:!1}}),x=new d({props:{title:"State",local:"state",headingTag:"h3"}}),A=new T({props:{code:"Y2xhc3MlMjBETUNvbnRyb2xTdGF0ZShTdGF0ZSklM0ElMEElMjAlMjAlMjAlMjBkb21haW5fbmFtZSUzQSUyMHN0ciUwQSUyMCUyMCUyMCUyMHRhc2tfbmFtZSUzQSUyMHN0ciUwQSUyMCUyMCUyMCUyMGFjdGlvbl9zcGVjJTNBJTIwRGljdCU1QnN0ciUyQyUyMEFueSU1RCUwQSUyMCUyMCUyMCUyMG9ic2VydmF0aW9uX3NwZWMlM0ElMjBEaWN0JTVCc3RyJTJDJTIwQW55JTVEJTBBJTIwJTIwJTIwJTIwcGh5c2ljc190aW1lc3RlcCUzQSUyMGZsb2F0JTBBJTIwJTIwJTIwJTIwY29udHJvbF90aW1lc3RlcCUzQSUyMGZsb2F0JTBBJTIwJTIwJTIwJTIwZXBpc29kZV9pZCUzQSUyMHN0ciUwQSUyMCUyMCUyMCUyMHN0ZXBfY291bnQlM0ElMjBpbnQ=",highlighted:`<span class="hljs-keyword">class</span> <span class="hljs-title class_">DMControlState</span>(<span class="hljs-title class_ inherited__">State</span>):
domain_name: <span class="hljs-built_in">str</span>
task_name: <span class="hljs-built_in">str</span>
action_spec: <span class="hljs-type">Dict</span>[<span class="hljs-built_in">str</span>, <span class="hljs-type">Any</span>]
observation_spec: <span class="hljs-type">Dict</span>[<span class="hljs-built_in">str</span>, <span class="hljs-type">Any</span>]
physics_timestep: <span class="hljs-built_in">float</span>
control_timestep: <span class="hljs-built_in">float</span>
episode_id: <span class="hljs-built_in">str</span>
step_count: <span class="hljs-built_in">int</span>`,lang:"python",wrap:!1}}),Y=new d({props:{title:"Examples",local:"examples",headingTag:"h2"}}),z=new T({props:{code:"JTIzJTIwRGVmYXVsdCUzQSUyMGludGVyYWN0aXZlJTIwbW9kZSUyMHdpdGglMjBtaW5pbWFsJTIwcHlnYW1lJTIwd2luZG93JTBBcHl0aG9uJTIwZXhhbXBsZXMlMkZjYXJ0cG9sZV9jb250cm9sLnB5JTBBJTBBJTIzJTIwVmlzdWFsJTIwbW9kZSUyMHdpdGglMjByZW5kZXJlZCUyME11Sm9DbyUyMGZyYW1lcyUwQXB5dGhvbiUyMGV4YW1wbGVzJTJGY2FydHBvbGVfY29udHJvbC5weSUyMC0tdmlzdWFsJTBBJTBBJTIzJTIwSGVhZGxlc3MlMjBtb2RlJTIwKG5vJTIwcHlnYW1lJTJDJTIwYXV0b21hdGVkJTIwY29udHJvbCklMEFweXRob24lMjBleGFtcGxlcyUyRmNhcnRwb2xlX2NvbnRyb2wucHklMjAtLWhlYWRsZXNzJTIwLS1tYXgtc3RlcHMlMjA1MDAlMEElMEElMjMlMjBTZWxlY3QlMjBhJTIwZGlmZmVyZW50JTIwdGFzayUwQXB5dGhvbiUyMGV4YW1wbGVzJTJGY2FydHBvbGVfY29udHJvbC5weSUyMC0tdGFzayUyMHN3aW5ndXAlMEFweXRob24lMjBleGFtcGxlcyUyRmhvcHBlcl9jb250cm9sLnB5JTIwLS10YXNrJTIwc3RhbmQlMEFweXRob24lMjBleGFtcGxlcyUyRnF1YWRydXBlZF9jb250cm9sLnB5JTIwLS10YXNrJTIwcnVu",highlighted:`<span class="hljs-comment"># Default: interactive mode with minimal pygame window</span>
python examples/cartpole_control.py
<span class="hljs-comment"># Visual mode with rendered MuJoCo frames</span>
python examples/cartpole_control.py --visual
<span class="hljs-comment"># Headless mode (no pygame, automated control)</span>
python examples/cartpole_control.py --headless --max-steps 500
<span class="hljs-comment"># Select a different task</span>
python examples/cartpole_control.py --task swingup
python examples/hopper_control.py --task stand
python examples/quadruped_control.py --task run`,lang:"bash",wrap:!1}}),X=new d({props:{title:"Environment Variables",local:"environment-variables",headingTag:"h2"}}),D=new Kt({props:{source:"https://github.com/huggingface/openenv/blob/main/docs/source/environments/dm_control.md"}}),{c(){h=M("meta"),P=s(),q=M("p"),K=s(),p(J.$$.fragment),tt=s(),p(b.$$.fragment),et=s(),U=M("p"),U.innerHTML=Vt,lt=s(),w=M("p"),w.innerHTML=Nt,nt=s(),p(j.$$.fragment),st=s(),$=M("table"),$.innerHTML=Rt,at=s(),p(f.$$.fragment),pt=s(),p(v.$$.fragment),it=s(),p(g.$$.fragment),rt=s(),p(C.$$.fragment),ot=s(),p(I.$$.fragment),ct=s(),p(B.$$.fragment),mt=s(),p(E.$$.fragment),dt=s(),p(_.$$.fragment),Mt=s(),p(G.$$.fragment),yt=s(),p(Z.$$.fragment),ht=s(),p(k.$$.fragment),ut=s(),p(V.$$.fragment),wt=s(),N=M("p"),N.textContent=St,Tt=s(),R=M("ul"),R.innerHTML=Qt,Jt=s(),p(S.$$.fragment),bt=s(),p(Q.$$.fragment),Ut=s(),p(x.$$.fragment),jt=s(),p(A.$$.fragment),$t=s(),p(Y.$$.fragment),ft=s(),F=M("p"),F.innerHTML=xt,vt=s(),H=M("ul"),H.innerHTML=At,gt=s(),W=M("p"),W.textContent=Yt,Ct=s(),p(z.$$.fragment),It=s(),p(X.$$.fragment),Bt=s(),L=M("table"),L.innerHTML=Ft,Et=s(),p(D.$$.fragment),_t=s(),O=M("p"),this.h()},l(t){const e=qt("svelte-u9bgzb",document.head);h=y(e,"META",{name:!0,content:!0}),e.forEach(l),P=a(t),q=y(t,"P",{}),Ht(q).forEach(l),K=a(t),i(J.$$.fragment,t),tt=a(t),i(b.$$.fragment,t),et=a(t),U=y(t,"P",{"data-svelte-h":!0}),u(U)!=="svelte-dpntti"&&(U.innerHTML=Vt),lt=a(t),w=y(t,"P",{align:!0,"data-svelte-h":!0}),u(w)!=="svelte-1eqvebo"&&(w.innerHTML=Nt),nt=a(t),i(j.$$.fragment,t),st=a(t),$=y(t,"TABLE",{"data-svelte-h":!0}),u($)!=="svelte-1lxuxeo"&&($.innerHTML=Rt),at=a(t),i(f.$$.fragment,t),pt=a(t),i(v.$$.fragment,t),it=a(t),i(g.$$.fragment,t),rt=a(t),i(C.$$.fragment,t),ot=a(t),i(I.$$.fragment,t),ct=a(t),i(B.$$.fragment,t),mt=a(t),i(E.$$.fragment,t),dt=a(t),i(_.$$.fragment,t),Mt=a(t),i(G.$$.fragment,t),yt=a(t),i(Z.$$.fragment,t),ht=a(t),i(k.$$.fragment,t),ut=a(t),i(V.$$.fragment,t),wt=a(t),N=y(t,"P",{"data-svelte-h":!0}),u(N)!=="svelte-nhj9yh"&&(N.textContent=St),Tt=a(t),R=y(t,"UL",{"data-svelte-h":!0}),u(R)!=="svelte-nh3l77"&&(R.innerHTML=Qt),Jt=a(t),i(S.$$.fragment,t),bt=a(t),i(Q.$$.fragment,t),Ut=a(t),i(x.$$.fragment,t),jt=a(t),i(A.$$.fragment,t),$t=a(t),i(Y.$$.fragment,t),ft=a(t),F=y(t,"P",{"data-svelte-h":!0}),u(F)!=="svelte-18gzji6"&&(F.innerHTML=xt),vt=a(t),H=y(t,"UL",{"data-svelte-h":!0}),u(H)!=="svelte-hd8ewo"&&(H.innerHTML=At),gt=a(t),W=y(t,"P",{"data-svelte-h":!0}),u(W)!=="svelte-wxfc6r"&&(W.textContent=Yt),Ct=a(t),i(z.$$.fragment,t),It=a(t),i(X.$$.fragment,t),Bt=a(t),L=y(t,"TABLE",{"data-svelte-h":!0}),u(L)!=="svelte-wgb9qn"&&(L.innerHTML=Ft),Et=a(t),i(D.$$.fragment,t),_t=a(t),O=y(t,"P",{}),Ht(O).forEach(l),this.h()},h(){Zt(h,"name","hf:doc:metadata"),Zt(h,"content",ee),Zt(w,"align","center")},m(t,e){Ot(document.head,h),n(t,P,e),n(t,q,e),n(t,K,e),r(J,t,e),n(t,tt,e),r(b,t,e),n(t,et,e),n(t,U,e),n(t,lt,e),n(t,w,e),n(t,nt,e),r(j,t,e),n(t,st,e),n(t,$,e),n(t,at,e),r(f,t,e),n(t,pt,e),r(v,t,e),n(t,it,e),r(g,t,e),n(t,rt,e),r(C,t,e),n(t,ot,e),r(I,t,e),n(t,ct,e),r(B,t,e),n(t,mt,e),r(E,t,e),n(t,dt,e),r(_,t,e),n(t,Mt,e),r(G,t,e),n(t,yt,e),r(Z,t,e),n(t,ht,e),r(k,t,e),n(t,ut,e),r(V,t,e),n(t,wt,e),n(t,N,e),n(t,Tt,e),n(t,R,e),n(t,Jt,e),r(S,t,e),n(t,bt,e),r(Q,t,e),n(t,Ut,e),r(x,t,e),n(t,jt,e),r(A,t,e),n(t,$t,e),r(Y,t,e),n(t,ft,e),n(t,F,e),n(t,vt,e),n(t,H,e),n(t,gt,e),n(t,W,e),n(t,Ct,e),r(z,t,e),n(t,It,e),r(X,t,e),n(t,Bt,e),n(t,L,e),n(t,Et,e),r(D,t,e),n(t,_t,e),n(t,O,e),Gt=!0},p:zt,i(t){Gt||(o(J.$$.fragment,t),o(b.$$.fragment,t),o(j.$$.fragment,t),o(f.$$.fragment,t),o(v.$$.fragment,t),o(g.$$.fragment,t),o(C.$$.fragment,t),o(I.$$.fragment,t),o(B.$$.fragment,t),o(E.$$.fragment,t),o(_.$$.fragment,t),o(G.$$.fragment,t),o(Z.$$.fragment,t),o(k.$$.fragment,t),o(V.$$.fragment,t),o(S.$$.fragment,t),o(Q.$$.fragment,t),o(x.$$.fragment,t),o(A.$$.fragment,t),o(Y.$$.fragment,t),o(z.$$.fragment,t),o(X.$$.fragment,t),o(D.$$.fragment,t),Gt=!0)},o(t){c(J.$$.fragment,t),c(b.$$.fragment,t),c(j.$$.fragment,t),c(f.$$.fragment,t),c(v.$$.fragment,t),c(g.$$.fragment,t),c(C.$$.fragment,t),c(I.$$.fragment,t),c(B.$$.fragment,t),c(E.$$.fragment,t),c(_.$$.fragment,t),c(G.$$.fragment,t),c(Z.$$.fragment,t),c(k.$$.fragment,t),c(V.$$.fragment,t),c(S.$$.fragment,t),c(Q.$$.fragment,t),c(x.$$.fragment,t),c(A.$$.fragment,t),c(Y.$$.fragment,t),c(z.$$.fragment,t),c(X.$$.fragment,t),c(D.$$.fragment,t),Gt=!1},d(t){t&&(l(P),l(q),l(K),l(tt),l(et),l(U),l(lt),l(w),l(nt),l(st),l($),l(at),l(pt),l(it),l(rt),l(ot),l(ct),l(mt),l(dt),l(Mt),l(yt),l(ht),l(ut),l(wt),l(N),l(Tt),l(R),l(Jt),l(bt),l(Ut),l(jt),l($t),l(ft),l(F),l(vt),l(H),l(gt),l(W),l(Ct),l(It),l(Bt),l(L),l(Et),l(_t),l(O)),l(h),m(J,t),m(b,t),m(j,t),m(f,t),m(v,t),m(g,t),m(C,t),m(I,t),m(B,t),m(E,t),m(_,t),m(G,t),m(Z,t),m(k,t),m(V,t),m(S,t),m(Q,t),m(x,t),m(A,t),m(Y,t),m(z,t),m(X,t),m(D,t)}}}const ee='{"title":"dm_control OpenEnv Environment","local":"dmcontrol-openenv-environment","sections":[{"title":"Supported Environments","local":"supported-environments","sections":[],"depth":2},{"title":"Quick Start","local":"quick-start","sections":[{"title":"Using the Client","local":"using-the-client","sections":[],"depth":3},{"title":"Switching Environments","local":"switching-environments","sections":[],"depth":3},{"title":"Running the Server","local":"running-the-server","sections":[],"depth":3},{"title":"Using Docker","local":"using-docker","sections":[],"depth":3}],"depth":2},{"title":"API","local":"api","sections":[{"title":"Action","local":"action","sections":[],"depth":3},{"title":"Observation","local":"observation","sections":[],"depth":3},{"title":"State","local":"state","sections":[],"depth":3}],"depth":2},{"title":"Examples","local":"examples","sections":[],"depth":2},{"title":"Environment Variables","local":"environment-variables","sections":[],"depth":2}],"depth":1}';function le(kt){return Xt(()=>{new URLSearchParams(window.location.search).get("fw")}),[]}class ie extends Lt{constructor(h){super(),Dt(this,h,le,te,Wt,{})}}export{ie as component};

Xet Storage Details

Size:
19.1 kB
·
Xet hash:
23bcd52ce6a7ea6eb24eef1fe9275b3f98ce4638ad0a7607bf6644445db61036

Xet efficiently stores files, intelligently splitting them into unique chunks and accelerating uploads and downloads. More info.