Skip to content

Commit

Permalink
Upgraade ruff and fix resulting issues (#260)
Browse files Browse the repository at this point in the history
Make options annotation parsing work with common ForwardRefs bb99c12
  • Loading branch information
nat-n committed Nov 24, 2024
1 parent e036a8c commit 039b668
Show file tree
Hide file tree
Showing 19 changed files with 32 additions and 32 deletions.
Binary file modified .doctrees/environment.pickle
Binary file not shown.
Binary file modified .doctrees/global_options.doctree
Binary file not shown.
Binary file modified .doctrees/guides/args_guide.doctree
Binary file not shown.
Binary file modified .doctrees/guides/library_guide.doctree
Binary file not shown.
Binary file modified .doctrees/tasks/options.doctree
Binary file not shown.
Binary file modified .doctrees/tasks/task_types/expr.doctree
Binary file not shown.
Binary file modified .doctrees/tasks/task_types/shell.doctree
Binary file not shown.
12 changes: 6 additions & 6 deletions _sources/global_options.rst.txt
Original file line number Diff line number Diff line change
Expand Up @@ -4,25 +4,25 @@ Global options
The following options can be set for all tasks in a project directly under ``[tool.poe]``. These are called global options, in contrast with :doc:`task options<tasks/options>`.


**env** : ``Dict[str, str]`` :ref:`📖<Global environment variables>`
**env** : ``dict[str, str]`` :ref:`📖<Global environment variables>`
Define environment variables to be exposed to all tasks. These can be :ref:`extended on the task level<Setting task specific environment variables>`.

**envfile** : ``str`` | ``List[str]`` :ref:`📖<Global environment variables>`
**envfile** : ``str`` | ``list[str]`` :ref:`📖<Global environment variables>`
Link to one or more files defining environment variables to be exposed to all tasks.

**executor** : ``Dict[str, str]`` :ref:`📖<Change the executor type>`
**executor** : ``dict[str, str]`` :ref:`📖<Change the executor type>`
Override the default behavior for selecting an executor for tasks in this project.

**include** : ``str`` | ``List[str]`` | ``Dict[str, str]`` :doc:`📖<../guides/include_guide>`
**include** : ``str`` | ``list[str]`` | ``dict[str, str]`` :doc:`📖<../guides/include_guide>`
Specify one or more other toml or json files to load tasks from.

**shell_interpreter** : ``str`` | ``List[str]`` :ref:`📖<Change the default shell interpreter>`
**shell_interpreter** : ``str`` | ``list[str]`` :ref:`📖<Change the default shell interpreter>`
Change the default interpreter to use for executing :doc:`shell tasks<../tasks/task_types/shell>`.

**poetry_command** : ``str`` :ref:`📖<Configuring the plugin>`
Change the name of the task poe registers with poetry when used as a plugin.

**poetry_hooks** : ``Dict[str, str]`` :ref:`📖<Hooking into poetry commands>`
**poetry_hooks** : ``dict[str, str]`` :ref:`📖<Hooking into poetry commands>`
Register tasks to run automatically before or after other poetry CLI commands.

**verbosity** : ``int``
Expand Down
2 changes: 1 addition & 1 deletion _sources/guides/args_guide.rst.txt
Original file line number Diff line number Diff line change
Expand Up @@ -143,7 +143,7 @@ Named arguments support the following configuration options:
- **name** : ``str``
The name of the task. Only applicable when *args* is an array.

- **options** : ``List[str]``
- **options** : ``list[str]``
A list of options to accept for this argument, similar to `argsparse name or flags <https://docs.python.org/3/library/argparse.html#name-or-flags>`_. If not provided then the name of the argument is used. You can use this option to expose a different name to the CLI vs the name that is used inside the task, or to specify long and short forms of the CLI option, e.g. ``["-h", "--help"]``.

- **positional** : ``bool``
Expand Down
10 changes: 5 additions & 5 deletions _sources/tasks/options.rst.txt
Original file line number Diff line number Diff line change
Expand Up @@ -9,23 +9,23 @@ The following options can be configured on your tasks and are not specific to an
**help** : ``str`` | ``int`` :doc:`📖<../guides/help_guide>`
Help text to be displayed next to the task name in the documentation when poe is run without specifying a task.

**args** : ``Dict[str, dict]`` | ``List[Union[str, dict]]`` :doc:`📖<../guides/args_guide>`
**args** : ``dict[str, dict]`` | ``list[Union[str, dict]]`` :doc:`📖<../guides/args_guide>`
Define CLI options, positional arguments, or flags that this task should accept.

**env** : ``Dict[str, str]`` :ref:`📖<Setting task specific environment variables>`
**env** : ``dict[str, str]`` :ref:`📖<Setting task specific environment variables>`
A map of environment variables to be set for this task.

**envfile** : ``str`` | ``List[str]`` :ref:`📖<Loading environment variables from an env file>`
**envfile** : ``str`` | ``list[str]`` :ref:`📖<Loading environment variables from an env file>`
Provide one or more env files to be loaded before running this task.

**cwd** : ``str`` :ref:`📖<Running a task with a specific working directory>`
Specify the current working directory that this task should run with. The given path is resolved relative to the parent directory of the ``pyproject.toml``, or it may be absolute.
Resolves environment variables in the format ``${VAR_NAME}``.

**deps** : ``List[str]`` :doc:`📖<../guides/composition_guide>`
**deps** : ``list[str]`` :doc:`📖<../guides/composition_guide>`
A list of task invocations that will be executed before this one.

**uses** : ``Dict[str, str]`` :doc:`📖<../guides/composition_guide>`
**uses** : ``dict[str, str]`` :doc:`📖<../guides/composition_guide>`
Allows this task to use the output of other tasks which are executed first.
The value is a map where the values are invocations of the other tasks, and the keys are environment variables by which the results of those tasks will be accessible in this task.

Expand Down
2 changes: 1 addition & 1 deletion _sources/tasks/task_types/expr.rst.txt
Original file line number Diff line number Diff line change
Expand Up @@ -33,7 +33,7 @@ Available task options

The following options are also accepted:

**imports** : ``List[str]`` :ref:`📖<Referencing imported modules in an expression>`
**imports** : ``list[str]`` :ref:`📖<Referencing imported modules in an expression>`
A list of modules to import for use in the expression.

**assert** : ``bool`` :ref:`📖<Fail if the expression result is falsey>`
Expand Down
2 changes: 1 addition & 1 deletion _sources/tasks/task_types/shell.rst.txt
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,7 @@ Available task options

The following options are also accepted:

**interpreter** : ``str`` | ``List[str]`` :ref:`📖<Using a different shell interpreter>`
**interpreter** : ``str`` | ``list[str]`` :ref:`📖<Using a different shell interpreter>`
Specify the shell interpreter that this task should execute with, or a list of interpreters in order of preference.


Expand Down
16 changes: 8 additions & 8 deletions global_options.html
Original file line number Diff line number Diff line change
Expand Up @@ -7,8 +7,8 @@
<meta property="og:type" content="website" />
<meta property="og:url" content="global_options.html" />
<meta property="og:site_name" content="Poe the Poet" />
<meta property="og:description" content="The following options can be set for all tasks in a project directly under[tool.poe]. These are called global options, in contrast with task options. env, Dict[str, str] 📖, Define environment varia..." />
<meta name="description" content="The following options can be set for all tasks in a project directly under[tool.poe]. These are called global options, in contrast with task options. env, Dict[str, str] 📖, Define environment varia..." />
<meta property="og:description" content="The following options can be set for all tasks in a project directly under[tool.poe]. These are called global options, in contrast with task options. env, dict[str, str] 📖, Define environment varia..." />
<meta name="description" content="The following options can be set for all tasks in a project directly under[tool.poe]. These are called global options, in contrast with task options. env, dict[str, str] 📖, Define environment varia..." />
<link rel="index" title="Index" href="genindex.html" /><link rel="search" title="Search" href="search.html" /><link rel="next" title="Defining tasks" href="tasks/index.html" /><link rel="prev" title="Poetry plugin" href="poetry_plugin.html" />
<link rel="canonical" href="http://poethepoet.natn.io/global_options.html" />

Expand Down Expand Up @@ -240,19 +240,19 @@
<h1>Global options<a class="headerlink" href="#global-options" title="Link to this heading"></a></h1>
<p>The following options can be set for all tasks in a project directly under <code class="docutils literal notranslate"><span class="pre">[tool.poe]</span></code>. These are called global options, in contrast with <a class="reference internal" href="tasks/options.html"><span class="doc">task options</span></a>.</p>
<dl>
<dt><strong>env</strong><span class="classifier"><code class="docutils literal notranslate"><span class="pre">Dict[str,</span> <span class="pre">str]</span></code> <a class="reference internal" href="#global-environment-variables"><span class="std std-ref">📖</span></a></span></dt><dd><p>Define environment variables to be exposed to all tasks. These can be <a class="reference internal" href="tasks/options.html#setting-task-specific-environment-variables"><span class="std std-ref">extended on the task level</span></a>.</p>
<dt><strong>env</strong><span class="classifier"><code class="docutils literal notranslate"><span class="pre">dict[str,</span> <span class="pre">str]</span></code> <a class="reference internal" href="#global-environment-variables"><span class="std std-ref">📖</span></a></span></dt><dd><p>Define environment variables to be exposed to all tasks. These can be <a class="reference internal" href="tasks/options.html#setting-task-specific-environment-variables"><span class="std std-ref">extended on the task level</span></a>.</p>
</dd>
<dt><strong>envfile</strong><span class="classifier"><code class="docutils literal notranslate"><span class="pre">str</span></code> | <code class="docutils literal notranslate"><span class="pre">List[str]</span></code> <a class="reference internal" href="#global-environment-variables"><span class="std std-ref">📖</span></a></span></dt><dd><p>Link to one or more files defining environment variables to be exposed to all tasks.</p>
<dt><strong>envfile</strong><span class="classifier"><code class="docutils literal notranslate"><span class="pre">str</span></code> | <code class="docutils literal notranslate"><span class="pre">list[str]</span></code> <a class="reference internal" href="#global-environment-variables"><span class="std std-ref">📖</span></a></span></dt><dd><p>Link to one or more files defining environment variables to be exposed to all tasks.</p>
</dd>
<dt><strong>executor</strong><span class="classifier"><code class="docutils literal notranslate"><span class="pre">Dict[str,</span> <span class="pre">str]</span></code> <a class="reference internal" href="#change-the-executor-type"><span class="std std-ref">📖</span></a></span></dt><dd><p>Override the default behavior for selecting an executor for tasks in this project.</p>
<dt><strong>executor</strong><span class="classifier"><code class="docutils literal notranslate"><span class="pre">dict[str,</span> <span class="pre">str]</span></code> <a class="reference internal" href="#change-the-executor-type"><span class="std std-ref">📖</span></a></span></dt><dd><p>Override the default behavior for selecting an executor for tasks in this project.</p>
</dd>
<dt><strong>include</strong><span class="classifier"><code class="docutils literal notranslate"><span class="pre">str</span></code> | <code class="docutils literal notranslate"><span class="pre">List[str]</span></code> | <code class="docutils literal notranslate"><span class="pre">Dict[str,</span> <span class="pre">str]</span></code> <a class="reference internal" href="guides/include_guide.html"><span class="doc">📖</span></a></span></dt><dd><p>Specify one or more other toml or json files to load tasks from.</p>
<dt><strong>include</strong><span class="classifier"><code class="docutils literal notranslate"><span class="pre">str</span></code> | <code class="docutils literal notranslate"><span class="pre">list[str]</span></code> | <code class="docutils literal notranslate"><span class="pre">dict[str,</span> <span class="pre">str]</span></code> <a class="reference internal" href="guides/include_guide.html"><span class="doc">📖</span></a></span></dt><dd><p>Specify one or more other toml or json files to load tasks from.</p>
</dd>
<dt><strong>shell_interpreter</strong><span class="classifier"><code class="docutils literal notranslate"><span class="pre">str</span></code> | <code class="docutils literal notranslate"><span class="pre">List[str]</span></code> <a class="reference internal" href="#change-the-default-shell-interpreter"><span class="std std-ref">📖</span></a></span></dt><dd><p>Change the default interpreter to use for executing <a class="reference internal" href="tasks/task_types/shell.html"><span class="doc">shell tasks</span></a>.</p>
<dt><strong>shell_interpreter</strong><span class="classifier"><code class="docutils literal notranslate"><span class="pre">str</span></code> | <code class="docutils literal notranslate"><span class="pre">list[str]</span></code> <a class="reference internal" href="#change-the-default-shell-interpreter"><span class="std std-ref">📖</span></a></span></dt><dd><p>Change the default interpreter to use for executing <a class="reference internal" href="tasks/task_types/shell.html"><span class="doc">shell tasks</span></a>.</p>
</dd>
<dt><strong>poetry_command</strong><span class="classifier"><code class="docutils literal notranslate"><span class="pre">str</span></code> <a class="reference internal" href="poetry_plugin.html#configuring-the-plugin"><span class="std std-ref">📖</span></a></span></dt><dd><p>Change the name of the task poe registers with poetry when used as a plugin.</p>
</dd>
<dt><strong>poetry_hooks</strong><span class="classifier"><code class="docutils literal notranslate"><span class="pre">Dict[str,</span> <span class="pre">str]</span></code> <a class="reference internal" href="poetry_plugin.html#hooking-into-poetry-commands"><span class="std std-ref">📖</span></a></span></dt><dd><p>Register tasks to run automatically before or after other poetry CLI commands.</p>
<dt><strong>poetry_hooks</strong><span class="classifier"><code class="docutils literal notranslate"><span class="pre">dict[str,</span> <span class="pre">str]</span></code> <a class="reference internal" href="poetry_plugin.html#hooking-into-poetry-commands"><span class="std std-ref">📖</span></a></span></dt><dd><p>Register tasks to run automatically before or after other poetry CLI commands.</p>
</dd>
<dt><strong>verbosity</strong><span class="classifier"><code class="docutils literal notranslate"><span class="pre">int</span></code></span></dt><dd><p>Set the default verbosity level for tasks in this project. The default value is <code class="docutils literal notranslate"><span class="pre">0</span></code>, providing the <code class="docutils literal notranslate"><span class="pre">-v</span></code> global CLI option increases it by <code class="docutils literal notranslate"><span class="pre">1</span></code>, whereas the <code class="docutils literal notranslate"><span class="pre">-q</span></code> global CLI option decreases it by <code class="docutils literal notranslate"><span class="pre">1</span></code>.</p>
</dd>
Expand Down
2 changes: 1 addition & 1 deletion guides/args_guide.html
Original file line number Diff line number Diff line change
Expand Up @@ -371,7 +371,7 @@ <h2>Task argument options<a class="headerlink" href="#task-argument-options" tit
</dl>
</li>
<li><dl>
<dt><strong>options</strong><span class="classifier"><code class="docutils literal notranslate"><span class="pre">List[str]</span></code></span></dt><dd><p>A list of options to accept for this argument, similar to <a class="reference external" href="https://docs.python.org/3/library/argparse.html#name-or-flags">argsparse name or flags</a>. If not provided then the name of the argument is used. You can use this option to expose a different name to the CLI vs the name that is used inside the task, or to specify long and short forms of the CLI option, e.g. <code class="docutils literal notranslate"><span class="pre">[&quot;-h&quot;,</span> <span class="pre">&quot;--help&quot;]</span></code>.</p>
<dt><strong>options</strong><span class="classifier"><code class="docutils literal notranslate"><span class="pre">list[str]</span></code></span></dt><dd><p>A list of options to accept for this argument, similar to <a class="reference external" href="https://docs.python.org/3/library/argparse.html#name-or-flags">argsparse name or flags</a>. If not provided then the name of the argument is used. You can use this option to expose a different name to the CLI vs the name that is used inside the task, or to specify long and short forms of the CLI option, e.g. <code class="docutils literal notranslate"><span class="pre">[&quot;-h&quot;,</span> <span class="pre">&quot;--help&quot;]</span></code>.</p>
</dd>
</dl>
</li>
Expand Down
2 changes: 1 addition & 1 deletion guides/library_guide.html
Original file line number Diff line number Diff line change
Expand Up @@ -255,7 +255,7 @@ <h1>Using poethepoet as a library<a class="headerlink" href="#using-poethepoet-a
<p>The <a class="reference external" href="https://github.com/nat-n/poethepoet/blob/main/poethepoet/app.py">PoeThePoet</a> class accepts various optional arguments to customize its behavior as described below.</p>
<dl class="py class">
<dt class="sig sig-object py" id="poethepoet.app.PoeThePoet">
<em class="property"><span class="pre">class</span><span class="w"> </span></em><span class="sig-prename descclassname"><span class="pre">poethepoet.app.</span></span><span class="sig-name descname"><span class="pre">PoeThePoet</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">cwd:</span> <span class="pre">~pathlib.Path</span> <span class="pre">|</span> <span class="pre">str</span> <span class="pre">|</span> <span class="pre">None</span> <span class="pre">=</span> <span class="pre">None</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">config:</span> <span class="pre">~typing.Mapping[str</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">~typing.Any]</span> <span class="pre">|</span> <span class="pre">PoeConfig</span> <span class="pre">|</span> <span class="pre">None</span> <span class="pre">=</span> <span class="pre">None</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">output:</span> <span class="pre">~typing.IO</span> <span class="pre">=</span> <span class="pre">&lt;_io.TextIOWrapper</span> <span class="pre">name='&lt;stdout&gt;'</span> <span class="pre">mode='w'</span> <span class="pre">encoding='utf-8'&gt;</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">poetry_env_path:</span> <span class="pre">str</span> <span class="pre">|</span> <span class="pre">None</span> <span class="pre">=</span> <span class="pre">None</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">config_name:</span> <span class="pre">str</span> <span class="pre">|</span> <span class="pre">None</span> <span class="pre">=</span> <span class="pre">None</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">program_name:</span> <span class="pre">str</span> <span class="pre">=</span> <span class="pre">'poe'</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#poethepoet.app.PoeThePoet" title="Link to this definition"></a></dt>
<em class="property"><span class="pre">class</span><span class="w"> </span></em><span class="sig-prename descclassname"><span class="pre">poethepoet.app.</span></span><span class="sig-name descname"><span class="pre">PoeThePoet</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">cwd:</span> <span class="pre">~pathlib.Path</span> <span class="pre">|</span> <span class="pre">str</span> <span class="pre">|</span> <span class="pre">None</span> <span class="pre">=</span> <span class="pre">None</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">config:</span> <span class="pre">~collections.abc.Mapping[str</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">~typing.Any]</span> <span class="pre">|</span> <span class="pre">PoeConfig</span> <span class="pre">|</span> <span class="pre">None</span> <span class="pre">=</span> <span class="pre">None</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">output:</span> <span class="pre">~typing.IO</span> <span class="pre">=</span> <span class="pre">&lt;_io.TextIOWrapper</span> <span class="pre">name='&lt;stdout&gt;'</span> <span class="pre">mode='w'</span> <span class="pre">encoding='utf-8'&gt;</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">poetry_env_path:</span> <span class="pre">str</span> <span class="pre">|</span> <span class="pre">None</span> <span class="pre">=</span> <span class="pre">None</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">config_name:</span> <span class="pre">str</span> <span class="pre">|</span> <span class="pre">None</span> <span class="pre">=</span> <span class="pre">None</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">program_name:</span> <span class="pre">str</span> <span class="pre">=</span> <span class="pre">'poe'</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#poethepoet.app.PoeThePoet" title="Link to this definition"></a></dt>
<dd><dl class="field-list simple">
<dt class="field-odd">Parameters<span class="colon">:</span></dt>
<dd class="field-odd"><ul class="simple">
Expand Down
2 changes: 1 addition & 1 deletion searchindex.js

Large diffs are not rendered by default.

Loading

0 comments on commit 039b668

Please sign in to comment.