<linkrel="index"title="Index"href="../../genindex/"/><linkrel="search"title="Search"href="../../search/"/><linkrel="next"title="List of Wrappers"href="table/"/><linkrel="prev"title="Spaces Utils"href="../spaces/utils/"/>
<liclass="toctree-l1 current has-children current-page"><aclass="current reference internal"href="#">Wrappers</a><inputchecked=""class="toctree-checkbox"id="toctree-checkbox-2"name="toctree-checkbox-2"role="switch"type="checkbox"/><labelfor="toctree-checkbox-2"><divclass="visually-hidden">Toggle navigation of Wrappers</div><iclass="icon"><svg><usehref="#svg-arrow-right"></use></svg></i></label><ul>
<liclass="toctree-l2"><aclass="reference internal"href="table/">List of Wrappers</a></li>
<liclass="toctree-l1 has-children"><aclass="reference internal"href="../../environments/toy_text/">Toy Text</a><inputclass="toctree-checkbox"id="toctree-checkbox-6"name="toctree-checkbox-6"role="switch"type="checkbox"/><labelfor="toctree-checkbox-6"><divclass="visually-hidden">Toggle navigation of Toy Text</div><iclass="icon"><svg><usehref="#svg-arrow-right"></use></svg></i></label><ul>
<liclass="toctree-l2"><aclass="reference internal"href="../../tutorials/gymnasium_basics/environment_creation/">Make your own custom environment</a></li>
<liclass="toctree-l2"><aclass="reference internal"href="../../tutorials/gymnasium_basics/vector_envs_tutorial/">Training A2C with Vector Envs and Domain Randomization</a></li>
</ul>
</li>
<liclass="toctree-l1 has-children"><aclass="reference internal"href="../../tutorials/training_agents/">Training Agents</a><inputclass="toctree-checkbox"id="toctree-checkbox-9"name="toctree-checkbox-9"role="switch"type="checkbox"/><labelfor="toctree-checkbox-9"><divclass="visually-hidden">Toggle navigation of Training Agents</div><iclass="icon"><svg><usehref="#svg-arrow-right"></use></svg></i></label><ul>
<liclass="toctree-l2"><aclass="reference internal"href="../../tutorials/training_agents/reinforce_invpend_gym_v26/">Training using REINFORCE for Mujoco</a></li>
<liclass="toctree-l2"><aclass="reference internal"href="../../tutorials/training_agents/blackjack_tutorial/">Solving Blackjack with Q-Learning</a></li>
<liclass="toctree-l1"><aclass="reference external"href="https://github.com/Farama-Foundation/Gymnasium/blob/main/docs/README.md">Contribute to the Docs</a></li>
<h1>Wrappers<aclass="headerlink"href="#wrappers"title="Link to this heading">¶</a></h1>
<divclass="toctree-wrapper compound">
</div>
<pid="module-gymnasium.wrappers">Wrappers are a convenient way to modify an existing environment without having to alter the underlying code directly.</p>
<p>Using wrappers will allow you to avoid a lot of boilerplate code and make your environment more modular.
Importantly wrappers can be chained to combine their effects and most environments that are generated via
<aclass="reference internal"href="../registry/#gymnasium.make"title="gymnasium.make"><codeclass="xref py py-meth docutils literal notranslate"><spanclass="pre">gymnasium.make()</span></code></a> will already be wrapped by default.</p>
<p>In order to wrap an environment, you must first initialize a base environment. Then you can pass this environment along
with (possibly optional) parameters to the wrapper’s constructor.</p>
<p>You can access the environment underneath the <strong>first</strong> wrapper by using the <aclass="reference internal"href="#gymnasium.Wrapper.env"title="gymnasium.Wrapper.env"><codeclass="xref py py-attr docutils literal notranslate"><spanclass="pre">gymnasium.Wrapper.env</span></code></a> attribute.
As the <aclass="reference internal"href="#gymnasium.Wrapper"title="gymnasium.Wrapper"><codeclass="xref py py-class docutils literal notranslate"><spanclass="pre">gymnasium.Wrapper</span></code></a> class inherits from <aclass="reference internal"href="../env/#gymnasium.Env"title="gymnasium.Env"><codeclass="xref py py-class docutils literal notranslate"><spanclass="pre">gymnasium.Env</span></code></a> then <aclass="reference internal"href="#gymnasium.Wrapper.env"title="gymnasium.Wrapper.env"><codeclass="xref py py-attr docutils literal notranslate"><spanclass="pre">gymnasium.Wrapper.env</span></code></a> can be another wrapper.</p>
If the environment is already a bare environment, the <aclass="reference internal"href="#gymnasium.Wrapper.unwrapped"title="gymnasium.Wrapper.unwrapped"><codeclass="xref py py-attr docutils literal notranslate"><spanclass="pre">gymnasium.Wrapper.unwrapped</span></code></a> attribute will just return itself.</p>
<spanclass="go"><gymnasium.envs.mujoco.hopper_v4.HopperEnv object at 0x7fbb5efd0490></span>
</pre></div>
</div>
<p>There are three common things you might want a wrapper to do:</p>
<ulclass="simple">
<li><p>Transform actions before applying them to the base environment</p></li>
<li><p>Transform observations that are returned by the base environment</p></li>
<li><p>Transform rewards that are returned by the base environment</p></li>
</ul>
<p>Such wrappers can be easily implemented by inheriting from <aclass="reference internal"href="action_wrappers/#gymnasium.ActionWrapper"title="gymnasium.ActionWrapper"><codeclass="xref py py-class docutils literal notranslate"><spanclass="pre">gymnasium.ActionWrapper</span></code></a>,
<aclass="reference internal"href="observation_wrappers/#gymnasium.ObservationWrapper"title="gymnasium.ObservationWrapper"><codeclass="xref py py-class docutils literal notranslate"><spanclass="pre">gymnasium.ObservationWrapper</span></code></a>, or <aclass="reference internal"href="reward_wrappers/#gymnasium.RewardWrapper"title="gymnasium.RewardWrapper"><codeclass="xref py py-class docutils literal notranslate"><spanclass="pre">gymnasium.RewardWrapper</span></code></a> and implementing the respective transformation.
If you need a wrapper to do more complicated tasks, you can inherit from the <aclass="reference internal"href="#gymnasium.Wrapper"title="gymnasium.Wrapper"><codeclass="xref py py-class docutils literal notranslate"><spanclass="pre">gymnasium.Wrapper</span></code></a> class directly.</p>
<p>If you’d like to implement your own custom wrapper, check out <aclass="reference external"href="../../tutorials/gymnasium_basics/implementing_custom_wrappers">the corresponding tutorial</a>.</p>
<emclass="property"><spanclass="pre">class</span><spanclass="w"></span></em><spanclass="sig-prename descclassname"><spanclass="pre">gymnasium.</span></span><spanclass="sig-name descname"><spanclass="pre">Wrapper</span></span><spanclass="sig-paren">(</span><emclass="sig-param"><spanclass="n"><spanclass="pre">env</span></span><spanclass="p"><spanclass="pre">:</span></span><spanclass="w"></span><spanclass="n"><aclass="reference internal"href="../env/#gymnasium.Env"title="gymnasium.core.Env"><spanclass="pre">Env</span></a><spanclass="p"><spanclass="pre">[</span></span><spanclass="pre">ObsType</span><spanclass="p"><spanclass="pre">,</span></span><spanclass="w"></span><spanclass="pre">ActType</span><spanclass="p"><spanclass="pre">]</span></span></span></em><spanclass="sig-paren">)</span><aclass="reference internal"href="../../_modules/gymnasium/core/#Wrapper"><spanclass="viewcode-link"><spanclass="pre">[source]</span></span></a><aclass="headerlink"href="#gymnasium.Wrapper"title="Link to this definition">¶</a></dt>
<dd><p>Wraps a <aclass="reference internal"href="../env/#gymnasium.Env"title="gymnasium.Env"><codeclass="xref py py-class docutils literal notranslate"><spanclass="pre">gymnasium.Env</span></code></a> to allow a modular transformation of the <aclass="reference internal"href="#gymnasium.Wrapper.step"title="gymnasium.Wrapper.step"><codeclass="xref py py-meth docutils literal notranslate"><spanclass="pre">step()</span></code></a> and <aclass="reference internal"href="#gymnasium.Wrapper.reset"title="gymnasium.Wrapper.reset"><codeclass="xref py py-meth docutils literal notranslate"><spanclass="pre">reset()</span></code></a> methods.</p>
<p>This class is the base class of all wrappers to change the behavior of the underlying environment.
Wrappers that inherit from this class can modify the <aclass="reference internal"href="#gymnasium.Wrapper.action_space"title="gymnasium.Wrapper.action_space"><codeclass="xref py py-attr docutils literal notranslate"><spanclass="pre">action_space</span></code></a>, <aclass="reference internal"href="#gymnasium.Wrapper.observation_space"title="gymnasium.Wrapper.observation_space"><codeclass="xref py py-attr docutils literal notranslate"><spanclass="pre">observation_space</span></code></a>
and <aclass="reference internal"href="#gymnasium.Wrapper.metadata"title="gymnasium.Wrapper.metadata"><codeclass="xref py py-attr docutils literal notranslate"><spanclass="pre">metadata</span></code></a> attributes, without changing the underlying environment’s attributes.
Moreover, the behavior of the <aclass="reference internal"href="#gymnasium.Wrapper.step"title="gymnasium.Wrapper.step"><codeclass="xref py py-meth docutils literal notranslate"><spanclass="pre">step()</span></code></a> and <aclass="reference internal"href="#gymnasium.Wrapper.reset"title="gymnasium.Wrapper.reset"><codeclass="xref py py-meth docutils literal notranslate"><spanclass="pre">reset()</span></code></a> methods can be changed by these wrappers.</p>
<p>Some attributes (<aclass="reference internal"href="../registry/#gymnasium.spec"title="gymnasium.spec"><codeclass="xref py py-attr docutils literal notranslate"><spanclass="pre">spec</span></code></a>, <codeclass="xref py py-attr docutils literal notranslate"><spanclass="pre">render_mode</span></code>, <aclass="reference internal"href="#gymnasium.Wrapper.np_random"title="gymnasium.Wrapper.np_random"><codeclass="xref py py-attr docutils literal notranslate"><spanclass="pre">np_random</span></code></a>) will point back to the wrapper’s environment
(i.e. to the corresponding attributes of <aclass="reference internal"href="#gymnasium.Wrapper.env"title="gymnasium.Wrapper.env"><codeclass="xref py py-attr docutils literal notranslate"><spanclass="pre">env</span></code></a>).</p>
<divclass="admonition note">
<pclass="admonition-title">Note</p>
<p>If you inherit from <aclass="reference internal"href="#gymnasium.Wrapper"title="gymnasium.Wrapper"><codeclass="xref py py-class docutils literal notranslate"><spanclass="pre">Wrapper</span></code></a>, don’t forget to call <codeclass="docutils literal notranslate"><spanclass="pre">super().__init__(env)</span></code></p>
<spanclass="sig-prename descclassname"><spanclass="pre">Wrapper.</span></span><spanclass="sig-name descname"><spanclass="pre">step</span></span><spanclass="sig-paren">(</span><emclass="sig-param"><spanclass="n"><spanclass="pre">action</span></span><spanclass="p"><spanclass="pre">:</span></span><spanclass="w"></span><spanclass="n"><spanclass="pre">WrapperActType</span></span></em><spanclass="sig-paren">)</span><spanclass="sig-return"><spanclass="sig-return-icon">→</span><spanclass="sig-return-typehint"><spanclass="pre">tuple</span><spanclass="p"><spanclass="pre">[</span></span><spanclass="pre">WrapperObsType</span><spanclass="p"><spanclass="pre">,</span></span><spanclass="w"></span><spanclass="pre">SupportsFloat</span><spanclass="p"><spanclass="pre">,</span></span><spanclass="w"></span><spanclass="pre">bool</span><spanclass="p"><spanclass="pre">,</span></span><spanclass="w"></span><spanclass="pre">bool</span><spanclass="p"><spanclass="pre">,</span></span><spanclass="w"></span><spanclass="pre">dict</span><spanclass="p"><spanclass="pre">[</span></span><spanclass="pre">str</span><spanclass="p"><spanclass="pre">,</span></span><spanclass="w"></span><spanclass="pre">Any</span><spanclass="p"><spanclass="pre">]</span></span><spanclass="p"><spanclass="pre">]</span></span></span></span><aclass="reference internal"href="../../_modules/gymnasium/core/#Wrapper.step"><spanclass="viewcode-link"><spanclass="pre">[source]</span></span></a><aclass="headerlink"href="#gymnasium.Wrapper.step"title="Link to this definition">¶</a></dt>
<dd><p>Uses the <aclass="reference internal"href="#gymnasium.Wrapper.step"title="gymnasium.Wrapper.step"><codeclass="xref py py-meth docutils literal notranslate"><spanclass="pre">step()</span></code></a> of the <aclass="reference internal"href="#gymnasium.Wrapper.env"title="gymnasium.Wrapper.env"><codeclass="xref py py-attr docutils literal notranslate"><spanclass="pre">env</span></code></a> that can be overwritten to change the returned data.</p>
<spanclass="sig-prename descclassname"><spanclass="pre">Wrapper.</span></span><spanclass="sig-name descname"><spanclass="pre">reset</span></span><spanclass="sig-paren">(</span><emclass="sig-param"><spanclass="o"><spanclass="pre">*</span></span></em>, <emclass="sig-param"><spanclass="n"><spanclass="pre">seed</span></span><spanclass="p"><spanclass="pre">:</span></span><spanclass="w"></span><spanclass="n"><spanclass="pre">int</span><spanclass="w"></span><spanclass="p"><spanclass="pre">|</span></span><spanclass="w"></span><spanclass="pre">None</span></span><spanclass="w"></span><spanclass="o"><spanclass="pre">=</span></span><spanclass="w"></span><spanclass="default_value"><spanclass="pre">None</span></span></em>, <emclass="sig-param"><spanclass="n"><spanclass="pre">options</span></span><spanclass="p"><spanclass="pre">:</span></span><spanclass="w"></span><spanclass="n"><spanclass="pre">dict</span><spanclass="p"><spanclass="pre">[</span></span><spanclass="pre">str</span><spanclass="p"><spanclass="pre">,</span></span><spanclass="w"></span><spanclass="pre">Any</span><spanclass="p"><spanclass="pre">]</span></span><spanclass="w"></span><spanclass="p"><spanclass="pre">|</span></span><spanclass="w"></span><spanclass="pre">None</span></span><spanclass="w"></span><spanclass="o"><spanclass="pre">=</span></span><spanclass="w"></span><spanclass="default_value"><spanclass="pre">None</span></span></em><spanclass="sig-paren">)</span><spanclass="sig-return"><spanclass="sig-return-icon">→</span><spanclass="sig-return-typehint"><spanclass="pre">tuple</span><spanclass="p"><spanclass="pre">[</span></span><spanclass="pre">WrapperObsType</span><spanclass="p"><spanclass="pre">,</span></span><spanclass="w"></span><spanclass="pre">dict</span><spanclass="p"><spanclass="pre">[</span></span><spanclass="pre">str</span><spanclass="p"><spanclass="pre">,</span></span><spanclass="w"></span><spanclass="pre">Any</span><spanclass="p"><spanclass="pre">]</span></span><spanclass="p"><spanclass="pre">]</span></span></span></span><aclass="reference internal"href="../../_modules/gymnasium/core/#Wrapper.reset"><spanclass="viewcode-link"><spanclass="pre">[source]</span></span></a><aclass="headerlink"href="#gymnasium.Wrapper.reset"title="Link to this definition">¶</a></dt>
<dd><p>Uses the <aclass="reference internal"href="#gymnasium.Wrapper.reset"title="gymnasium.Wrapper.reset"><codeclass="xref py py-meth docutils literal notranslate"><spanclass="pre">reset()</span></code></a> of the <aclass="reference internal"href="#gymnasium.Wrapper.env"title="gymnasium.Wrapper.env"><codeclass="xref py py-attr docutils literal notranslate"><spanclass="pre">env</span></code></a> that can be overwritten to change the returned data.</p>
<spanclass="sig-prename descclassname"><spanclass="pre">Wrapper.</span></span><spanclass="sig-name descname"><spanclass="pre">render</span></span><spanclass="sig-paren">(</span><spanclass="sig-paren">)</span><spanclass="sig-return"><spanclass="sig-return-icon">→</span><spanclass="sig-return-typehint"><spanclass="pre">RenderFrame</span><spanclass="w"></span><spanclass="p"><spanclass="pre">|</span></span><spanclass="w"></span><spanclass="pre">list</span><spanclass="p"><spanclass="pre">[</span></span><spanclass="pre">RenderFrame</span><spanclass="p"><spanclass="pre">]</span></span><spanclass="w"></span><spanclass="p"><spanclass="pre">|</span></span><spanclass="w"></span><spanclass="pre">None</span></span></span><aclass="reference internal"href="../../_modules/gymnasium/core/#Wrapper.render"><spanclass="viewcode-link"><spanclass="pre">[source]</span></span></a><aclass="headerlink"href="#gymnasium.Wrapper.render"title="Link to this definition">¶</a></dt>
<dd><p>Uses the <aclass="reference internal"href="#gymnasium.Wrapper.render"title="gymnasium.Wrapper.render"><codeclass="xref py py-meth docutils literal notranslate"><spanclass="pre">render()</span></code></a> of the <aclass="reference internal"href="#gymnasium.Wrapper.env"title="gymnasium.Wrapper.env"><codeclass="xref py py-attr docutils literal notranslate"><spanclass="pre">env</span></code></a> that can be overwritten to change the returned data.</p>
<spanclass="sig-prename descclassname"><spanclass="pre">Wrapper.</span></span><spanclass="sig-name descname"><spanclass="pre">close</span></span><spanclass="sig-paren">(</span><spanclass="sig-paren">)</span><aclass="reference internal"href="../../_modules/gymnasium/core/#Wrapper.close"><spanclass="viewcode-link"><spanclass="pre">[source]</span></span></a><aclass="headerlink"href="#gymnasium.Wrapper.close"title="Link to this definition">¶</a></dt>
<dd><p>Closes the wrapper and <aclass="reference internal"href="#gymnasium.Wrapper.env"title="gymnasium.Wrapper.env"><codeclass="xref py py-attr docutils literal notranslate"><spanclass="pre">env</span></code></a>.</p>
<emclass="property"><spanclass="pre">classmethod</span><spanclass="w"></span></em><spanclass="sig-prename descclassname"><spanclass="pre">Wrapper.</span></span><spanclass="sig-name descname"><spanclass="pre">wrapper_spec</span></span><spanclass="sig-paren">(</span><emclass="sig-param"><spanclass="o"><spanclass="pre">**</span></span><spanclass="n"><spanclass="pre">kwargs</span></span><spanclass="p"><spanclass="pre">:</span></span><spanclass="w"></span><spanclass="n"><spanclass="pre">Any</span></span></em><spanclass="sig-paren">)</span><spanclass="sig-return"><spanclass="sig-return-icon">→</span><spanclass="sig-return-typehint"><aclass="reference internal"href="../registry/#gymnasium.envs.registration.WrapperSpec"title="gymnasium.envs.registration.WrapperSpec"><spanclass="pre">WrapperSpec</span></a></span></span><aclass="reference internal"href="../../_modules/gymnasium/core/#Wrapper.wrapper_spec"><spanclass="viewcode-link"><spanclass="pre">[source]</span></span></a><aclass="headerlink"href="#gymnasium.Wrapper.wrapper_spec"title="Link to this definition">¶</a></dt>
<dd><p>Generates a <cite>WrapperSpec</cite> for the wrappers.</p>
<spanclass="sig-prename descclassname"><spanclass="pre">Wrapper.</span></span><spanclass="sig-name descname"><spanclass="pre">get_wrapper_attr</span></span><spanclass="sig-paren">(</span><emclass="sig-param"><spanclass="n"><spanclass="pre">name</span></span><spanclass="p"><spanclass="pre">:</span></span><spanclass="w"></span><spanclass="n"><spanclass="pre">str</span></span></em><spanclass="sig-paren">)</span><spanclass="sig-return"><spanclass="sig-return-icon">→</span><spanclass="sig-return-typehint"><spanclass="pre">Any</span></span></span><aclass="reference internal"href="../../_modules/gymnasium/core/#Wrapper.get_wrapper_attr"><spanclass="viewcode-link"><spanclass="pre">[source]</span></span></a><aclass="headerlink"href="#gymnasium.Wrapper.get_wrapper_attr"title="Link to this definition">¶</a></dt>
<dd><p>Gets an attribute from the wrapper and lower environments if <cite>name</cite> doesn’t exist in this object.</p>
<spanclass="sig-prename descclassname"><spanclass="pre">Wrapper.</span></span><spanclass="sig-name descname"><spanclass="pre">set_wrapper_attr</span></span><spanclass="sig-paren">(</span><emclass="sig-param"><spanclass="n"><spanclass="pre">name</span></span><spanclass="p"><spanclass="pre">:</span></span><spanclass="w"></span><spanclass="n"><spanclass="pre">str</span></span></em>, <emclass="sig-param"><spanclass="n"><spanclass="pre">value</span></span><spanclass="p"><spanclass="pre">:</span></span><spanclass="w"></span><spanclass="n"><spanclass="pre">Any</span></span></em><spanclass="sig-paren">)</span><aclass="reference internal"href="../../_modules/gymnasium/core/#Wrapper.set_wrapper_attr"><spanclass="viewcode-link"><spanclass="pre">[source]</span></span></a><aclass="headerlink"href="#gymnasium.Wrapper.set_wrapper_attr"title="Link to this definition">¶</a></dt>
<dd><p>Sets an attribute on this wrapper or lower environment if <cite>name</cite> is already defined.</p>
<spanclass="sig-prename descclassname"><spanclass="pre">Wrapper.</span></span><spanclass="sig-name descname"><spanclass="pre">env</span></span><aclass="headerlink"href="#gymnasium.Wrapper.env"title="Link to this definition">¶</a></dt>
<dd><p>The environment (one level underneath) this wrapper.</p>
<p>This may itself be a wrapped environment. To obtain the environment underneath all layers of wrappers, use <aclass="reference internal"href="#gymnasium.Wrapper.unwrapped"title="gymnasium.Wrapper.unwrapped"><codeclass="xref py py-attr docutils literal notranslate"><spanclass="pre">gymnasium.Wrapper.unwrapped</span></code></a>.</p>
<emclass="property"><spanclass="pre">property</span><spanclass="w"></span></em><spanclass="sig-prename descclassname"><spanclass="pre">Wrapper.</span></span><spanclass="sig-name descname"><spanclass="pre">action_space</span></span><emclass="property"><spanclass="p"><spanclass="pre">:</span></span><spanclass="w"></span><aclass="reference internal"href="../spaces/#gymnasium.spaces.Space"title="gymnasium.spaces.Space"><spanclass="pre">spaces.Space</span></a><spanclass="p"><spanclass="pre">[</span></span><spanclass="pre">ActType</span><spanclass="p"><spanclass="pre">]</span></span><spanclass="w"></span><spanclass="p"><spanclass="pre">|</span></span><spanclass="w"></span><aclass="reference internal"href="../spaces/#gymnasium.spaces.Space"title="gymnasium.spaces.Space"><spanclass="pre">spaces.Space</span></a><spanclass="p"><spanclass="pre">[</span></span><spanclass="pre">WrapperActType</span><spanclass="p"><spanclass="pre">]</span></span></em><aclass="headerlink"href="#gymnasium.Wrapper.action_space"title="Link to this definition">¶</a></dt>
<dd><p>Return the <aclass="reference internal"href="../env/#gymnasium.Env"title="gymnasium.Env"><codeclass="xref py py-attr docutils literal notranslate"><spanclass="pre">Env</span></code></a><aclass="reference internal"href="#gymnasium.Wrapper.action_space"title="gymnasium.Wrapper.action_space"><codeclass="xref py py-attr docutils literal notranslate"><spanclass="pre">action_space</span></code></a> unless overwritten then the wrapper <aclass="reference internal"href="#gymnasium.Wrapper.action_space"title="gymnasium.Wrapper.action_space"><codeclass="xref py py-attr docutils literal notranslate"><spanclass="pre">action_space</span></code></a> is used.</p>
<emclass="property"><spanclass="pre">property</span><spanclass="w"></span></em><spanclass="sig-prename descclassname"><spanclass="pre">Wrapper.</span></span><spanclass="sig-name descname"><spanclass="pre">observation_space</span></span><emclass="property"><spanclass="p"><spanclass="pre">:</span></span><spanclass="w"></span><aclass="reference internal"href="../spaces/#gymnasium.spaces.Space"title="gymnasium.spaces.Space"><spanclass="pre">spaces.Space</span></a><spanclass="p"><spanclass="pre">[</span></span><spanclass="pre">ObsType</span><spanclass="p"><spanclass="pre">]</span></span><spanclass="w"></span><spanclass="p"><spanclass="pre">|</span></span><spanclass="w"></span><aclass="reference internal"href="../spaces/#gymnasium.spaces.Space"title="gymnasium.spaces.Space"><spanclass="pre">spaces.Space</span></a><spanclass="p"><spanclass="pre">[</span></span><spanclass="pre">WrapperObsType</span><spanclass="p"><spanclass="pre">]</span></span></em><aclass="headerlink"href="#gymnasium.Wrapper.observation_space"title="Link to this definition">¶</a></dt>
<dd><p>Return the <aclass="reference internal"href="../env/#gymnasium.Env"title="gymnasium.Env"><codeclass="xref py py-attr docutils literal notranslate"><spanclass="pre">Env</span></code></a><aclass="reference internal"href="#gymnasium.Wrapper.observation_space"title="gymnasium.Wrapper.observation_space"><codeclass="xref py py-attr docutils literal notranslate"><spanclass="pre">observation_space</span></code></a> unless overwritten then the wrapper <aclass="reference internal"href="#gymnasium.Wrapper.observation_space"title="gymnasium.Wrapper.observation_space"><codeclass="xref py py-attr docutils literal notranslate"><spanclass="pre">observation_space</span></code></a> is used.</p>
<emclass="property"><spanclass="pre">property</span><spanclass="w"></span></em><spanclass="sig-prename descclassname"><spanclass="pre">Wrapper.</span></span><spanclass="sig-name descname"><spanclass="pre">spec</span></span><emclass="property"><spanclass="p"><spanclass="pre">:</span></span><spanclass="w"></span><aclass="reference internal"href="../registry/#gymnasium.envs.registration.EnvSpec"title="gymnasium.envs.registration.EnvSpec"><spanclass="pre">EnvSpec</span></a><spanclass="w"></span><spanclass="p"><spanclass="pre">|</span></span><spanclass="w"></span><spanclass="pre">None</span></em><aclass="headerlink"href="#gymnasium.Wrapper.spec"title="Link to this definition">¶</a></dt>
<dd><p>Returns the <aclass="reference internal"href="../env/#gymnasium.Env"title="gymnasium.Env"><codeclass="xref py py-attr docutils literal notranslate"><spanclass="pre">Env</span></code></a><aclass="reference internal"href="../registry/#gymnasium.spec"title="gymnasium.spec"><codeclass="xref py py-attr docutils literal notranslate"><spanclass="pre">spec</span></code></a> attribute with the <cite>WrapperSpec</cite> if the wrapper inherits from <cite>EzPickle</cite>.</p>
<emclass="property"><spanclass="pre">property</span><spanclass="w"></span></em><spanclass="sig-prename descclassname"><spanclass="pre">Wrapper.</span></span><spanclass="sig-name descname"><spanclass="pre">metadata</span></span><emclass="property"><spanclass="p"><spanclass="pre">:</span></span><spanclass="w"></span><spanclass="pre">dict</span><spanclass="p"><spanclass="pre">[</span></span><spanclass="pre">str</span><spanclass="p"><spanclass="pre">,</span></span><spanclass="w"></span><spanclass="pre">Any</span><spanclass="p"><spanclass="pre">]</span></span></em><aclass="headerlink"href="#gymnasium.Wrapper.metadata"title="Link to this definition">¶</a></dt>
<emclass="property"><spanclass="pre">property</span><spanclass="w"></span></em><spanclass="sig-prename descclassname"><spanclass="pre">Wrapper.</span></span><spanclass="sig-name descname"><spanclass="pre">np_random</span></span><emclass="property"><spanclass="p"><spanclass="pre">:</span></span><spanclass="w"></span><spanclass="pre">Generator</span></em><aclass="headerlink"href="#gymnasium.Wrapper.np_random"title="Link to this definition">¶</a></dt>
<emclass="property"><spanclass="pre">property</span><spanclass="w"></span></em><spanclass="sig-prename descclassname"><spanclass="pre">Wrapper.</span></span><spanclass="sig-name descname"><spanclass="pre">np_random_seed</span></span><emclass="property"><spanclass="p"><spanclass="pre">:</span></span><spanclass="w"></span><spanclass="pre">int</span><spanclass="w"></span><spanclass="p"><spanclass="pre">|</span></span><spanclass="w"></span><spanclass="pre">None</span></em><aclass="headerlink"href="#gymnasium.Wrapper.np_random_seed"title="Link to this definition">¶</a></dt>
<dd><p>Returns the base environment’s <aclass="reference internal"href="#gymnasium.Wrapper.np_random_seed"title="gymnasium.Wrapper.np_random_seed"><codeclass="xref py py-attr docutils literal notranslate"><spanclass="pre">np_random_seed</span></code></a>.</p>
<emclass="property"><spanclass="pre">property</span><spanclass="w"></span></em><spanclass="sig-prename descclassname"><spanclass="pre">Wrapper.</span></span><spanclass="sig-name descname"><spanclass="pre">unwrapped</span></span><emclass="property"><spanclass="p"><spanclass="pre">:</span></span><spanclass="w"></span><aclass="reference internal"href="../env/#gymnasium.Env"title="gymnasium.core.Env"><spanclass="pre">Env</span></a><spanclass="p"><spanclass="pre">[</span></span><spanclass="pre">ObsType</span><spanclass="p"><spanclass="pre">,</span></span><spanclass="w"></span><spanclass="pre">ActType</span><spanclass="p"><spanclass="pre">]</span></span></em><aclass="headerlink"href="#gymnasium.Wrapper.unwrapped"title="Link to this definition">¶</a></dt>
<dd><p>Returns the base environment of the wrapper.</p>
<p>This will be the bare <aclass="reference internal"href="../env/#gymnasium.Env"title="gymnasium.Env"><codeclass="xref py py-class docutils literal notranslate"><spanclass="pre">gymnasium.Env</span></code></a> environment, underneath all layers of wrappers.</p>