Buckets:

HuggingFaceDocBuilder's picture
download
raw
15.4 kB
import{s as Qe,n as Ne,o as Xe}from"../chunks/scheduler.2b22cead.js";import{S as Se,i as _e,e as m,s,c as o,h as xe,a as h,d as t,b as a,f as Be,g as p,j as u,k as Ue,l as Re,m as l,n as i,t as r,o as c,p as M}from"../chunks/index.1a0e8013.js";import{C as Fe,H as F,E as ze}from"../chunks/MermaidChart.svelte_svelte_type_style_lang.12e3416b.js";import{C as y}from"../chunks/CodeBlock.645b6f1d.js";function He(ge){let w,L,z,q,d,K,v,P,J,Ee="Install OpenEnv, load an environment, and run your first step.",O,f,D,b,ee,j,Ie=`<p>This installs the <code>openenv</code> CLI and the <code>openenv.core</code> runtime. Environment
projects can depend on <code>openenv[core]</code> when they only need the server and
client libraries.</p>`,ne,$,te,T,Ce=`Use <code>AutoEnv</code> and <code>AutoAction</code> when you want OpenEnv to find the matching client
and action classes for an installed or discoverable environment.`,le,U,se,g,We="<code>AutoEnv.from_env()</code> accepts the common name forms:",ae,E,oe,I,pe,C,Ge=`OpenEnv clients are async by default. Use the async client for production code,
parallel environment runs, and integrations with async frameworks.`,ie,W,re,G,ke="For scripts and notebooks, use <code>.sync()</code>:",ce,k,Me,A,me,Z,Ae="You can run an environment from a Docker image:",he,Y,ue,V,Ze=`If you run the Hugging Face Space image yourself with <code>docker run</code>, expose port
<code>7860</code> and connect to that port:`,ye,B,we,Q,je,N,Ye="Or connect to a local server:",de,X,ve,S,Je,_,fe,x,Ve='<li><a href="guides/concepts">Concepts</a></li> <li><a href="environments">Explore environments</a></li> <li><a href="guides/first-environment">Build your first environment</a></li>',be,R,$e,H,Te;return d=new Fe({props:{containerStyle:"float: right; margin-left: 10px; display: inline-flex; position: relative; z-index: 10;"}}),v=new F({props:{title:"Getting Started",local:"getting-started",headingTag:"h1"}}),f=new F({props:{title:"Install OpenEnv",local:"install-openenv",headingTag:"h2"}}),b=new y({props:{code:"cGlwJTIwaW5zdGFsbCUyMG9wZW5lbnY=",highlighted:"pip install openenv",lang:"bash",wrap:!1}}),$=new F({props:{title:"Try an Environment",local:"try-an-environment",headingTag:"h2"}}),U=new y({props:{code:"ZnJvbSUyMG9wZW5lbnYlMjBpbXBvcnQlMjBBdXRvQWN0aW9uJTJDJTIwQXV0b0VudiUwQSUwQWVudiUyMCUzRCUyMEF1dG9FbnYuZnJvbV9lbnYoJTIyZWNobyUyMiklMEFFY2hvQWN0aW9uJTIwJTNEJTIwQXV0b0FjdGlvbi5mcm9tX2VudiglMjJlY2hvJTIyKSUwQSUwQXdpdGglMjBlbnYuc3luYygpJTIwYXMlMjBjbGllbnQlM0ElMEElMjAlMjAlMjAlMjByZXN1bHQlMjAlM0QlMjBjbGllbnQucmVzZXQoKSUwQSUyMCUyMCUyMCUyMHByaW50KHJlc3VsdC5vYnNlcnZhdGlvbi5lY2hvZWRfbWVzc2FnZSklMjAlMjAlMjMlMjAlMjJFY2hvJTIwZW52aXJvbm1lbnQlMjByZWFkeSElMjIlMEElMEElMjAlMjAlMjAlMjByZXN1bHQlMjAlM0QlMjBjbGllbnQuc3RlcChFY2hvQWN0aW9uKG1lc3NhZ2UlM0QlMjJIZWxsbyUyQyUyME9wZW5FbnYhJTIyKSklMEElMjAlMjAlMjAlMjBwcmludChyZXN1bHQub2JzZXJ2YXRpb24uZWNob2VkX21lc3NhZ2UpJTIwJTIwJTIzJTIwJTIySGVsbG8lMkMlMjBPcGVuRW52ISUyMg==",highlighted:`<span class="hljs-keyword">from</span> openenv <span class="hljs-keyword">import</span> AutoAction, AutoEnv
env = AutoEnv.from_env(<span class="hljs-string">&quot;echo&quot;</span>)
EchoAction = AutoAction.from_env(<span class="hljs-string">&quot;echo&quot;</span>)
<span class="hljs-keyword">with</span> env.sync() <span class="hljs-keyword">as</span> client:
result = client.reset()
<span class="hljs-built_in">print</span>(result.observation.echoed_message) <span class="hljs-comment"># &quot;Echo environment ready!&quot;</span>
result = client.step(EchoAction(message=<span class="hljs-string">&quot;Hello, OpenEnv!&quot;</span>))
<span class="hljs-built_in">print</span>(result.observation.echoed_message) <span class="hljs-comment"># &quot;Hello, OpenEnv!&quot;</span>`,lang:"python",wrap:!1}}),E=new y({props:{code:"QXV0b0Vudi5mcm9tX2VudiglMjJlY2hvJTIyKSUwQUF1dG9FbnYuZnJvbV9lbnYoJTIyZWNoby1lbnYlMjIpJTBBQXV0b0Vudi5mcm9tX2VudiglMjJlY2hvX2VudiUyMik=",highlighted:`AutoEnv.from_env(<span class="hljs-string">&quot;echo&quot;</span>)
AutoEnv.from_env(<span class="hljs-string">&quot;echo-env&quot;</span>)
AutoEnv.from_env(<span class="hljs-string">&quot;echo_env&quot;</span>)`,lang:"python",wrap:!1}}),I=new F({props:{title:"Connect to a Running Environment",local:"connect-to-a-running-environment",headingTag:"h2"}}),W=new y({props:{code:"aW1wb3J0JTIwYXN5bmNpbyUwQSUwQWZyb20lMjBlY2hvX2VudiUyMGltcG9ydCUyMEVjaG9BY3Rpb24lMkMlMjBFY2hvRW52JTBBJTBBJTBBYXN5bmMlMjBkZWYlMjBtYWluKCklM0ElMEElMjAlMjAlMjAlMjBhc3luYyUyMHdpdGglMjBFY2hvRW52KGJhc2VfdXJsJTNEJTIyaHR0cHMlM0ElMkYlMkZvcGVuZW52LWVjaG8tZW52LmhmLnNwYWNlJTIyKSUyMGFzJTIwY2xpZW50JTNBJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwcmVzdWx0JTIwJTNEJTIwYXdhaXQlMjBjbGllbnQucmVzZXQoKSUwQSUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMHByaW50KHJlc3VsdC5vYnNlcnZhdGlvbi5lY2hvZWRfbWVzc2FnZSklMEElMEElMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjByZXN1bHQlMjAlM0QlMjBhd2FpdCUyMGNsaWVudC5zdGVwKEVjaG9BY3Rpb24obWVzc2FnZSUzRCUyMkhlbGxvJTJDJTIwV29ybGQhJTIyKSklMEElMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjBwcmludChyZXN1bHQucmV3YXJkKSUwQSUwQSUwQWFzeW5jaW8ucnVuKG1haW4oKSk=",highlighted:`<span class="hljs-keyword">import</span> asyncio
<span class="hljs-keyword">from</span> echo_env <span class="hljs-keyword">import</span> EchoAction, EchoEnv
<span class="hljs-keyword">async</span> <span class="hljs-keyword">def</span> <span class="hljs-title function_">main</span>():
<span class="hljs-keyword">async</span> <span class="hljs-keyword">with</span> EchoEnv(base_url=<span class="hljs-string">&quot;https://openenv-echo-env.hf.space&quot;</span>) <span class="hljs-keyword">as</span> client:
result = <span class="hljs-keyword">await</span> client.reset()
<span class="hljs-built_in">print</span>(result.observation.echoed_message)
result = <span class="hljs-keyword">await</span> client.step(EchoAction(message=<span class="hljs-string">&quot;Hello, World!&quot;</span>))
<span class="hljs-built_in">print</span>(result.reward)
asyncio.run(main())`,lang:"python",wrap:!1}}),k=new y({props:{code:"ZnJvbSUyMGVjaG9fZW52JTIwaW1wb3J0JTIwRWNob0FjdGlvbiUyQyUyMEVjaG9FbnYlMEElMEF3aXRoJTIwRWNob0VudihiYXNlX3VybCUzRCUyMmh0dHBzJTNBJTJGJTJGb3BlbmVudi1lY2hvLWVudi5oZi5zcGFjZSUyMikuc3luYygpJTIwYXMlMjBjbGllbnQlM0ElMEElMjAlMjAlMjAlMjByZXN1bHQlMjAlM0QlMjBjbGllbnQucmVzZXQoKSUwQSUyMCUyMCUyMCUyMHJlc3VsdCUyMCUzRCUyMGNsaWVudC5zdGVwKEVjaG9BY3Rpb24obWVzc2FnZSUzRCUyMkhlbGxvJTJDJTIwV29ybGQhJTIyKSklMEElMjAlMjAlMjAlMjBwcmludChyZXN1bHQub2JzZXJ2YXRpb24uZWNob2VkX21lc3NhZ2Up",highlighted:`<span class="hljs-keyword">from</span> echo_env <span class="hljs-keyword">import</span> EchoAction, EchoEnv
<span class="hljs-keyword">with</span> EchoEnv(base_url=<span class="hljs-string">&quot;https://openenv-echo-env.hf.space&quot;</span>).sync() <span class="hljs-keyword">as</span> client:
result = client.reset()
result = client.step(EchoAction(message=<span class="hljs-string">&quot;Hello, World!&quot;</span>))
<span class="hljs-built_in">print</span>(result.observation.echoed_message)`,lang:"python",wrap:!1}}),A=new F({props:{title:"Use Containers or Local Servers",local:"use-containers-or-local-servers",headingTag:"h2"}}),Y=new y({props:{code:"aW1wb3J0JTIwYXN5bmNpbyUwQSUwQWZyb20lMjBlY2hvX2VudiUyMGltcG9ydCUyMEVjaG9FbnYlMEElMEElMEFhc3luYyUyMGRlZiUyMG1haW4oKSUzQSUwQSUyMCUyMCUyMCUyMGNsaWVudCUyMCUzRCUyMGF3YWl0JTIwRWNob0Vudi5mcm9tX2RvY2tlcl9pbWFnZSglMEElMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjJyZWdpc3RyeS5oZi5zcGFjZSUyRm9wZW5lbnYtZWNoby1lbnYlM0FsYXRlc3QlMjIlMEElMjAlMjAlMjAlMjApJTBBJTIwJTIwJTIwJTIwYXN5bmMlMjB3aXRoJTIwY2xpZW50JTNBJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwcmVzdWx0JTIwJTNEJTIwYXdhaXQlMjBjbGllbnQucmVzZXQoKSUwQSUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMHByaW50KHJlc3VsdC5vYnNlcnZhdGlvbiklMEElMEElMEFhc3luY2lvLnJ1bihtYWluKCkp",highlighted:`<span class="hljs-keyword">import</span> asyncio
<span class="hljs-keyword">from</span> echo_env <span class="hljs-keyword">import</span> EchoEnv
<span class="hljs-keyword">async</span> <span class="hljs-keyword">def</span> <span class="hljs-title function_">main</span>():
client = <span class="hljs-keyword">await</span> EchoEnv.from_docker_image(
<span class="hljs-string">&quot;registry.hf.space/openenv-echo-env:latest&quot;</span>
)
<span class="hljs-keyword">async</span> <span class="hljs-keyword">with</span> client:
result = <span class="hljs-keyword">await</span> client.reset()
<span class="hljs-built_in">print</span>(result.observation)
asyncio.run(main())`,lang:"python",wrap:!1}}),B=new y({props:{code:"ZG9ja2VyJTIwcnVuJTIwLWl0JTIwLXAlMjA3ODYwJTNBNzg2MCUyMC0tcGxhdGZvcm0lM0RsaW51eCUyRmFtZDY0JTIwJTVDJTBBJTIwJTIwJTIwJTIwcmVnaXN0cnkuaGYuc3BhY2UlMkZvcGVuZW52LWVjaG8tZW52JTNBbGF0ZXN0",highlighted:`docker run -it -p 7860:7860 --platform=linux/amd64 \\
registry.hf.space/openenv-echo-env:latest`,lang:"bash",wrap:!1}}),Q=new y({props:{code:"ZnJvbSUyMGVjaG9fZW52JTIwaW1wb3J0JTIwRWNob0VudiUwQSUwQXdpdGglMjBFY2hvRW52KGJhc2VfdXJsJTNEJTIyaHR0cCUzQSUyRiUyRmxvY2FsaG9zdCUzQTc4NjAlMjIpLnN5bmMoKSUyMGFzJTIwY2xpZW50JTNBJTBBJTIwJTIwJTIwJTIwcmVzdWx0JTIwJTNEJTIwY2xpZW50LnJlc2V0KCk=",highlighted:`<span class="hljs-keyword">from</span> echo_env <span class="hljs-keyword">import</span> EchoEnv
<span class="hljs-keyword">with</span> EchoEnv(base_url=<span class="hljs-string">&quot;http://localhost:7860&quot;</span>).sync() <span class="hljs-keyword">as</span> client:
result = client.reset()`,lang:"python",wrap:!1}}),X=new y({props:{code:"Y2QlMjBwYXRoJTJGdG8lMkZlY2hvLWVudiUwQXV2JTIwdmVudiUwQXNvdXJjZSUyMC52ZW52JTJGYmluJTJGYWN0aXZhdGUlMEF1diUyMHBpcCUyMGluc3RhbGwlMjAtZSUyMC4lMEF1diUyMHJ1biUyMHNlcnZlciUyMC0taG9zdCUyMDAuMC4wLjAlMjAtLXBvcnQlMjA4MDAw",highlighted:`<span class="hljs-built_in">cd</span> path/to/echo-env
uv venv
<span class="hljs-built_in">source</span> .venv/bin/activate
uv pip install -e .
uv run server --host 0.0.0.0 --port 8000`,lang:"bash",wrap:!1}}),S=new y({props:{code:"ZnJvbSUyMGVjaG9fZW52JTIwaW1wb3J0JTIwRWNob0VudiUwQSUwQXdpdGglMjBFY2hvRW52KGJhc2VfdXJsJTNEJTIyaHR0cCUzQSUyRiUyRmxvY2FsaG9zdCUzQTgwMDAlMjIpLnN5bmMoKSUyMGFzJTIwY2xpZW50JTNBJTBBJTIwJTIwJTIwJTIwcmVzdWx0JTIwJTNEJTIwY2xpZW50LnJlc2V0KCk=",highlighted:`<span class="hljs-keyword">from</span> echo_env <span class="hljs-keyword">import</span> EchoEnv
<span class="hljs-keyword">with</span> EchoEnv(base_url=<span class="hljs-string">&quot;http://localhost:8000&quot;</span>).sync() <span class="hljs-keyword">as</span> client:
result = client.reset()`,lang:"python",wrap:!1}}),_=new F({props:{title:"Next Steps",local:"next-steps",headingTag:"h2"}}),R=new ze({props:{source:"https://github.com/huggingface/openenv/blob/main/docs/source/getting-started.md"}}),{c(){w=m("meta"),L=s(),z=m("p"),q=s(),o(d.$$.fragment),K=s(),o(v.$$.fragment),P=s(),J=m("p"),J.textContent=Ee,O=s(),o(f.$$.fragment),D=s(),o(b.$$.fragment),ee=s(),j=m("blockquote"),j.innerHTML=Ie,ne=s(),o($.$$.fragment),te=s(),T=m("p"),T.innerHTML=Ce,le=s(),o(U.$$.fragment),se=s(),g=m("p"),g.innerHTML=We,ae=s(),o(E.$$.fragment),oe=s(),o(I.$$.fragment),pe=s(),C=m("p"),C.textContent=Ge,ie=s(),o(W.$$.fragment),re=s(),G=m("p"),G.innerHTML=ke,ce=s(),o(k.$$.fragment),Me=s(),o(A.$$.fragment),me=s(),Z=m("p"),Z.textContent=Ae,he=s(),o(Y.$$.fragment),ue=s(),V=m("p"),V.innerHTML=Ze,ye=s(),o(B.$$.fragment),we=s(),o(Q.$$.fragment),je=s(),N=m("p"),N.textContent=Ye,de=s(),o(X.$$.fragment),ve=s(),o(S.$$.fragment),Je=s(),o(_.$$.fragment),fe=s(),x=m("ul"),x.innerHTML=Ve,be=s(),o(R.$$.fragment),$e=s(),H=m("p"),this.h()},l(e){const n=xe("svelte-u9bgzb",document.head);w=h(n,"META",{name:!0,content:!0}),n.forEach(t),L=a(e),z=h(e,"P",{}),Be(z).forEach(t),q=a(e),p(d.$$.fragment,e),K=a(e),p(v.$$.fragment,e),P=a(e),J=h(e,"P",{"data-svelte-h":!0}),u(J)!=="svelte-15cr7kh"&&(J.textContent=Ee),O=a(e),p(f.$$.fragment,e),D=a(e),p(b.$$.fragment,e),ee=a(e),j=h(e,"BLOCKQUOTE",{class:!0,"data-svelte-h":!0}),u(j)!=="svelte-1sdfroe"&&(j.innerHTML=Ie),ne=a(e),p($.$$.fragment,e),te=a(e),T=h(e,"P",{"data-svelte-h":!0}),u(T)!=="svelte-f52bo0"&&(T.innerHTML=Ce),le=a(e),p(U.$$.fragment,e),se=a(e),g=h(e,"P",{"data-svelte-h":!0}),u(g)!=="svelte-dhx5hr"&&(g.innerHTML=We),ae=a(e),p(E.$$.fragment,e),oe=a(e),p(I.$$.fragment,e),pe=a(e),C=h(e,"P",{"data-svelte-h":!0}),u(C)!=="svelte-kox64u"&&(C.textContent=Ge),ie=a(e),p(W.$$.fragment,e),re=a(e),G=h(e,"P",{"data-svelte-h":!0}),u(G)!=="svelte-1a88nmu"&&(G.innerHTML=ke),ce=a(e),p(k.$$.fragment,e),Me=a(e),p(A.$$.fragment,e),me=a(e),Z=h(e,"P",{"data-svelte-h":!0}),u(Z)!=="svelte-1yestys"&&(Z.textContent=Ae),he=a(e),p(Y.$$.fragment,e),ue=a(e),V=h(e,"P",{"data-svelte-h":!0}),u(V)!=="svelte-y923j3"&&(V.innerHTML=Ze),ye=a(e),p(B.$$.fragment,e),we=a(e),p(Q.$$.fragment,e),je=a(e),N=h(e,"P",{"data-svelte-h":!0}),u(N)!=="svelte-1jlomv7"&&(N.textContent=Ye),de=a(e),p(X.$$.fragment,e),ve=a(e),p(S.$$.fragment,e),Je=a(e),p(_.$$.fragment,e),fe=a(e),x=h(e,"UL",{"data-svelte-h":!0}),u(x)!=="svelte-itcjdl"&&(x.innerHTML=Ve),be=a(e),p(R.$$.fragment,e),$e=a(e),H=h(e,"P",{}),Be(H).forEach(t),this.h()},h(){Ue(w,"name","hf:doc:metadata"),Ue(w,"content",Le),Ue(j,"class","note")},m(e,n){Re(document.head,w),l(e,L,n),l(e,z,n),l(e,q,n),i(d,e,n),l(e,K,n),i(v,e,n),l(e,P,n),l(e,J,n),l(e,O,n),i(f,e,n),l(e,D,n),i(b,e,n),l(e,ee,n),l(e,j,n),l(e,ne,n),i($,e,n),l(e,te,n),l(e,T,n),l(e,le,n),i(U,e,n),l(e,se,n),l(e,g,n),l(e,ae,n),i(E,e,n),l(e,oe,n),i(I,e,n),l(e,pe,n),l(e,C,n),l(e,ie,n),i(W,e,n),l(e,re,n),l(e,G,n),l(e,ce,n),i(k,e,n),l(e,Me,n),i(A,e,n),l(e,me,n),l(e,Z,n),l(e,he,n),i(Y,e,n),l(e,ue,n),l(e,V,n),l(e,ye,n),i(B,e,n),l(e,we,n),i(Q,e,n),l(e,je,n),l(e,N,n),l(e,de,n),i(X,e,n),l(e,ve,n),i(S,e,n),l(e,Je,n),i(_,e,n),l(e,fe,n),l(e,x,n),l(e,be,n),i(R,e,n),l(e,$e,n),l(e,H,n),Te=!0},p:Ne,i(e){Te||(r(d.$$.fragment,e),r(v.$$.fragment,e),r(f.$$.fragment,e),r(b.$$.fragment,e),r($.$$.fragment,e),r(U.$$.fragment,e),r(E.$$.fragment,e),r(I.$$.fragment,e),r(W.$$.fragment,e),r(k.$$.fragment,e),r(A.$$.fragment,e),r(Y.$$.fragment,e),r(B.$$.fragment,e),r(Q.$$.fragment,e),r(X.$$.fragment,e),r(S.$$.fragment,e),r(_.$$.fragment,e),r(R.$$.fragment,e),Te=!0)},o(e){c(d.$$.fragment,e),c(v.$$.fragment,e),c(f.$$.fragment,e),c(b.$$.fragment,e),c($.$$.fragment,e),c(U.$$.fragment,e),c(E.$$.fragment,e),c(I.$$.fragment,e),c(W.$$.fragment,e),c(k.$$.fragment,e),c(A.$$.fragment,e),c(Y.$$.fragment,e),c(B.$$.fragment,e),c(Q.$$.fragment,e),c(X.$$.fragment,e),c(S.$$.fragment,e),c(_.$$.fragment,e),c(R.$$.fragment,e),Te=!1},d(e){e&&(t(L),t(z),t(q),t(K),t(P),t(J),t(O),t(D),t(ee),t(j),t(ne),t(te),t(T),t(le),t(se),t(g),t(ae),t(oe),t(pe),t(C),t(ie),t(re),t(G),t(ce),t(Me),t(me),t(Z),t(he),t(ue),t(V),t(ye),t(we),t(je),t(N),t(de),t(ve),t(Je),t(fe),t(x),t(be),t($e),t(H)),t(w),M(d,e),M(v,e),M(f,e),M(b,e),M($,e),M(U,e),M(E,e),M(I,e),M(W,e),M(k,e),M(A,e),M(Y,e),M(B,e),M(Q,e),M(X,e),M(S,e),M(_,e),M(R,e)}}}const Le='{"title":"Getting Started","local":"getting-started","sections":[{"title":"Install OpenEnv","local":"install-openenv","sections":[],"depth":2},{"title":"Try an Environment","local":"try-an-environment","sections":[],"depth":2},{"title":"Connect to a Running Environment","local":"connect-to-a-running-environment","sections":[],"depth":2},{"title":"Use Containers or Local Servers","local":"use-containers-or-local-servers","sections":[],"depth":2},{"title":"Next Steps","local":"next-steps","sections":[],"depth":2}],"depth":1}';function qe(ge){return Xe(()=>{new URLSearchParams(window.location.search).get("fw")}),[]}class en extends Se{constructor(w){super(),_e(this,w,qe,He,Qe,{})}}export{en as component};

Xet Storage Details

Size:
15.4 kB
·
Xet hash:
9a4c366aa3f89dd59837ba336b084d7703d93e70881c209f3fe20ad28809f2f1

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