diff --git a/.doctrees/environment.pickle b/.doctrees/environment.pickle index 7fd18bf4..4d0dfee0 100644 Binary files a/.doctrees/environment.pickle and b/.doctrees/environment.pickle differ diff --git a/.doctrees/guides/library_guide.doctree b/.doctrees/guides/library_guide.doctree index ac36122a..88355641 100644 Binary files a/.doctrees/guides/library_guide.doctree and b/.doctrees/guides/library_guide.doctree differ diff --git a/.doctrees/tasks/task_types/cmd.doctree b/.doctrees/tasks/task_types/cmd.doctree index 331c5641..f44aed71 100644 Binary files a/.doctrees/tasks/task_types/cmd.doctree and b/.doctrees/tasks/task_types/cmd.doctree differ diff --git a/_sources/tasks/task_types/cmd.rst.txt b/_sources/tasks/task_types/cmd.rst.txt index 0f8d7db7..ea52659e 100644 --- a/_sources/tasks/task_types/cmd.rst.txt +++ b/_sources/tasks/task_types/cmd.rst.txt @@ -26,6 +26,7 @@ It is important to understand that ``cmd`` tasks are executed without a shell (t .. _ref_env_vars: + Referencing environment variables ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ @@ -50,6 +51,29 @@ Parameter expansion can also can be disabled by escaping the $ with a backslash greet = "echo Hello \\$USER" # the backslash itself needs escaping for the toml parser +Parameter expansion operators +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +When referencing an environment variable in a cmd task you can use the ``:-`` operator from bash to specify a *default value*, to be used in case the variable is unset. Similarly the ``:+`` operator can be used to specify an *alternate value* to use in place of the environment variable if it *is* set. + +In the following example, if ``AWS_REGION`` has a value then it will be used, otherwise ``us-east-1`` will be used as a fallback. + +.. code-block:: toml + + [tool.poe.tasks] + tables = "aws dynamodb list-tables --region ${AWS_REGION:-us-east-1}" + +The ``:+`` or *alternate value* operator is especially useful in cases such as the following where you might want to control whether some CLI options are passed to the command. + +.. code-block:: toml + + [tool.poe.tasks.aws-identity] + cmd = "aws sts get-caller-identity ${ARN_ONLY:+ --no-cli-pager --output text --query 'Arn'}" + args = [{ name = "ARN_ONLY", options = ["--arn-only"], type = "boolean" }] + +In this example we declare a boolean argument with no default, so if the ``--arn-only`` flag is provided to the task then three additional CLI options will be included in the task content. + + Glob expansion ~~~~~~~~~~~~~~ @@ -78,7 +102,7 @@ Here's an example of task using a recursive glob pattern: .. seealso:: - Much like in bash, the glob pattern can be escaped by wrapping it in quotes, or preceding it with a backslash. + Just like in bash, the glob pattern can be escaped by wrapping it in quotes, or preceding it with a backslash. .. |glob_link| raw:: html diff --git a/_static/documentation_options.js b/_static/documentation_options.js index 02a1875a..f223b4ba 100644 --- a/_static/documentation_options.js +++ b/_static/documentation_options.js @@ -1,5 +1,5 @@ const DOCUMENTATION_OPTIONS = { - VERSION: '0.31.1', + VERSION: '0.32.0', LANGUAGE: 'en', COLLAPSE_INDEX: false, BUILDER: 'html', diff --git a/contributing.html b/contributing.html index 3dd02eb0..11ed9fd2 100644 --- a/contributing.html +++ b/contributing.html @@ -428,7 +428,7 @@
cmd
tasks", "expr
tasks", "ref
tasks", "script
tasks", "sequence
tasks", "shell
tasks", "switch
tasks"], "titleterms": {"": 25, "1": 14, "2": 14, "3": 14, "4": 14, "_blank": 14, "abbrevi": 3, "add": 0, "addit": 3, "an": [10, 18, 20, 23, 25], "anoth": 7, "anywher": [2, 13], "argument": [3, 10, 20, 21, 25], "arrai": [3, 23], "ask": 0, "avail": [19, 20, 21, 22, 23, 24, 25], "bash": 14, "behavior": 22, "branch": 0, "brew": 14, "bug": 0, "call": 22, "case": 25, "chang": [2, 23], "cli": [3, 10, 14], "cmd": [3, 19], "code": 0, "command": [2, 16], "complet": [5, 14], "compos": 4, "configur": [3, 16], "continu": 23, "contribut": 0, "creat": 0, "default": [2, 18, 23], "defin": [17, 18], "deleg": 22, "depend": 10, "develop": 0, "differ": 24, "directori": [7, 18], "doc": 0, "document": [6, 13], "don": 25, "dry": 22, "enabl": 14, "env": 18, "environ": [1, 2, 18, 19, 20, 25], "exampl": 10, "exec": 18, "executor": 2, "expans": 19, "expr": 20, "express": 20, "extern": 1, "fail": [20, 25], "failur": 23, "falsei": 20, "featur": [0, 13, 19], "file": [7, 18], "fish": 14, "fix": 0, "form": 3, "free": 3, "from": [2, 7, 13, 18], "function": 22, "git": 7, "github": 14, "glob": 19, "global": [2, 5, 14], "graph": 4, "guid": 8, "histor": 0, "homebrew": 14, "hook": 16, "hot": 0, "how": 0, "href": 14, "http": 14, "i": 20, "import": 20, "includ": 7, "inlin": [3, 23], "instal": 14, "instead": [12, 18], "intern": 1, "interpret": [2, 24], "io": 14, "item": 23, "json": 12, "known": 16, "librari": [9, 22], "licenc": 15, "like": 19, "limit": 16, "load": [7, 18], "match": 25, "model": 0, "modul": [10, 20], "multipl": [7, 25], "name": [3, 25], "new": 0, "option": [2, 3, 18, 19, 20, 21, 22, 23, 24, 25], "other": 20, "output": [18, 22], "overview": [0, 18], "pass": [3, 10, 21], "per": 25, "pipx": 14, "plugin": [10, 14, 16], "poe": [2, 10, 13, 14, 22], "poet": [13, 14], "poethepoet": 9, "poetri": [10, 12, 14, 16], "prefac": 0, "process": 0, "project": 14, "pull": 0, "pypa": 14, "pyproject": 12, "python": [10, 14], "question": 0, "quick": 13, "recommend": 14, "redirect": 18, "ref": 21, "referenc": [19, 20], "rel": 7, "releas": 0, "repo": 7, "report": 0, "request": 0, "result": 20, "return": 22, "run": [2, 10, 13, 18, 22], "script": [3, 22], "sequenc": [3, 4, 23], "set": [7, 18], "sh": 14, "shell": [2, 3, 5, 14, 19, 24], "special": 1, "specif": 18, "standard": [18, 22], "start": 13, "subprocess": 18, "subtabl": 3, "support": 14, "switch": 25, "syntax": [3, 11], "t": 25, "tab": 14, "tabl": [3, 23], "target": 14, "task": [2, 3, 4, 5, 6, 7, 10, 17, 18, 19, 20, 21, 22, 23, 24, 25], "templat": 18, "toml": [11, 12], "top": 13, "type": [2, 17, 23], "us": [9, 11, 14, 24], "usag": 12, "uv": 12, "valu": [22, 25], "variabl": [1, 2, 18, 19, 20, 25], "verbos": 2, "version": 14, "via": 18, "without": 12, "work": [0, 7, 18], "yaml": 12, "your": 14, "zsh": 14}})
\ No newline at end of file
+Search.setIndex({"alltitles": {"1. Install the CLI globally using pipx (recommended)": [[14, "install-the-cli-globally-using-pipx-link-recommended"]], "2. Install the CLI globally using homebrew": [[14, "install-the-cli-globally-using-brew-link"]], "3. Install Poe the Poet as a poetry plugin": [[14, "install-poe-the-poet-as-a-poetry-plugin"]], "4. Install Poe the Poet into your poetry project": [[14, "install-poe-the-poet-into-your-poetry-project"]], "Abbreviated form": [[3, "abbreviated-form"]], "An example task": [[10, "an-example-task"]], "Arguments for cmd and shell tasks": [[3, "arguments-for-cmd-and-shell-tasks"]], "Arguments for script tasks": [[3, "arguments-for-script-tasks"]], "Arguments for sequence tasks": [[3, "arguments-for-sequence-tasks"]], "Array of inline tables": [[3, "array-of-inline-tables"]], "Array of tables": [[3, "array-of-tables"]], "Available task options": [[19, "available-task-options"], [20, "available-task-options"], [21, "available-task-options"], [22, "available-task-options"], [23, "available-task-options"], [24, "available-task-options"], [25, "available-task-options"]], "Bash": [[14, "bash"]], "Branching model": [[0, "branching-model"]], "Calling standard library functions": [[22, "calling-standard-library-functions"]], "Change the default shell interpreter": [[2, "change-the-default-shell-interpreter"]], "Change the default task type": [[2, "change-the-default-task-type"]], "Change the executor type": [[2, "change-the-executor-type"]], "Changing the default item type": [[23, "changing-the-default-item-type"]], "Composing tasks": [[4, null]], "Composing tasks into graphs": [[4, "composing-tasks-into-graphs"]], "Composing tasks into sequences": [[4, "composing-tasks-into-sequences"]], "Configuration syntax": [[3, "configuration-syntax"]], "Configuring CLI arguments": [[3, null]], "Configuring the plugin": [[16, "configuring-the-plugin"]], "Continue sequence on task failure": [[23, "continue-sequence-on-task-failure"]], "Contributing": [[0, null]], "Contributing code": [[0, "contributing-code"]], "Contributing to the docs": [[0, "contributing-to-the-docs"]], "Default command verbosity": [[2, "default-command-verbosity"]], "Defining tasks": [[17, null]], "Defining tasks that run via exec instead of a subprocess": [[18, "defining-tasks-that-run-via-exec-instead-of-a-subprocess"]], "Delegating dry-run behavior to a script": [[22, "delegating-dry-run-behavior-to-a-script"]], "Development process": [[0, "development-process"]], "Documenting tasks": [[6, null]], "Don\u2019t fail if there\u2019s no match": [[25, "don-t-fail-if-there-s-no-match"]], "Enable tab completion for your shell": [[14, "enable-tab-completion-for-your-shell"]], "Environment variables": [[1, null]], "External Environment variables": [[1, "external-environment-variables"]], "Fail if the expression result is falsey": [[20, "fail-if-the-expression-result-is-falsey"]], "Fish": [[14, "fish"]], "Glob expansion": [[19, "glob-expansion"]], "Global environment variables": [[2, "global-environment-variables"]], "Global options": [[2, null]], "Global tasks": [[5, null]], "Guides": [[8, null]], "Historic branches": [[0, "historic-branches"]], "Hooking into poetry commands": [[16, "hooking-into-poetry-commands"]], "How to add a hot fix": [[0, "how-to-add-a-hot-fix"]], "How to add a new feature": [[0, "how-to-add-a-new-feature"]], "How to create release": [[0, "how-to-create-release"]], "Including files relative to the git repo": [[7, "including-files-relative-to-the-git-repo"]], "Including multiple files": [[7, "including-multiple-files"]], "Installation": [[14, null]], "Installing Poe the Poet": [[14, "installing-poe-the-poet"]], "Internal Environment variables": [[1, "internal-environment-variables"]], "Known limitations": [[16, "known-limitations"]], "Licence": [[15, null]], "Loading environment variables from an env file": [[18, "loading-environment-variables-from-an-env-file"]], "Loading tasks from another file": [[7, null]], "Multiple values per case": [[25, "multiple-values-per-case"]], "Output the return value": [[22, "output-the-return-value"]], "Overview": [[18, "overview"]], "Overview of branches": [[0, "overview-of-branches"]], "Parameter expansion operators": [[19, "parameter-expansion-operators"]], "Passing arguments": [[10, "passing-arguments"], [21, "passing-arguments"]], "Passing free arguments in addition to named arguments": [[3, "passing-free-arguments-in-addition-to-named-arguments"]], "Poe scripts library": [[22, "poe-scripts-library"]], "Poe the Poet Documentation": [[13, null]], "Poetry plugin": [[16, null]], "Preface": [[0, "preface"]], "Pull requests": [[0, "pull-requests"]], "Quick start": [[13, "quick-start"]], "Redirect task output to a file": [[18, "redirect-task-output-to-a-file"]], "Referencing arguments and environment variables": [[20, "referencing-arguments-and-environment-variables"]], "Referencing environment variables": [[19, "referencing-environment-variables"]], "Referencing imported modules in an expression": [[20, "referencing-imported-modules-in-an-expression"]], "Referencing the result of other tasks in an expression": [[20, "referencing-the-result-of-other-tasks-in-an-expression"]], "Reporting a bug / requesting a feature / asking a question": [[0, "reporting-a-bug-requesting-a-feature-asking-a-question"]], "Run a task with the poe CLI": [[10, "run-a-task-with-the-poe-cli"]], "Run poe from anywhere": [[2, "run-poe-from-anywhere"], [13, "run-poe-from-anywhere"]], "Running Poe as a Poetry dependency": [[10, "running-poe-as-a-poetry-dependency"]], "Running Poe as a Poetry plugin": [[10, "running-poe-as-a-poetry-plugin"]], "Running Poe as a Python module": [[10, "running-poe-as-a-python-module"]], "Running a task with a specific working directory": [[18, "running-a-task-with-a-specific-working-directory"]], "Running tasks": [[10, null]], "Sequence task as an array of inline tables": [[23, "sequence-task-as-an-array-of-inline-tables"]], "Sequence task as an array of tables": [[23, "sequence-task-as-an-array-of-tables"]], "Setting a working directory for included tasks": [[7, "setting-a-working-directory-for-included-tasks"]], "Setting defaults for environment variables": [[18, "setting-defaults-for-environment-variables"]], "Setting task specific environment variables": [[18, "setting-task-specific-environment-variables"]], "Shell completions for global tasks": [[5, "shell-completions-for-global-tasks"]], "Shell like features": [[19, "shell-like-features"]], "Special variables": [[1, "special-variables"]], "Standard task options": [[18, null]], "Subtable configuration syntax": [[3, "subtable-configuration-syntax"]], "Supported python versions": [[14, "supported-python-versions"]], "Switching on a named argument": [[25, "switching-on-a-named-argument"]], "Switching on an environment variable": [[25, "switching-on-an-environment-variable"]], "Task argument options": [[3, "task-argument-options"]], "Templating environment variables": [[18, "templating-environment-variables"]], "Top features": [[13, "top-features"]], "Types of task": [[17, "types-of-task"]], "Usage with uv": [[12, "usage-with-uv"]], "Usage with with json or yaml instead of toml": [[12, "usage-with-with-json-or-yaml-instead-of-toml"]], "Usage without poetry": [[12, null]], "Usage without pyproject.toml": [[12, "usage-without-pyproject-toml"]], "Using a different shell interpreter": [[24, "using-a-different-shell-interpreter"]], "Using poethepoet as a library": [[9, null]], "Using toml syntax": [[11, null]], "Working branches": [[0, "working-branches"]], "Zsh": [[14, "zsh"]], "cmd tasks": [[19, null]], "expr tasks": [[20, null]], "ref tasks": [[21, null]], "script tasks": [[22, null]], "sequence tasks": [[23, null]], "shell tasks": [[24, null]], "switch tasks": [[25, null]]}, "docnames": ["contributing", "env_vars", "global_options", "guides/args_guide", "guides/composition_guide", "guides/global_tasks", "guides/help_guide", "guides/include_guide", "guides/index", "guides/library_guide", "guides/running_guide", "guides/toml_guide", "guides/without_poetry", "index", "installation", "license", "poetry_plugin", "tasks/index", "tasks/options", "tasks/task_types/cmd", "tasks/task_types/expr", "tasks/task_types/ref", "tasks/task_types/script", "tasks/task_types/sequence", "tasks/task_types/shell", "tasks/task_types/switch"], "envversion": {"sphinx": 62, "sphinx.domains.c": 3, "sphinx.domains.changeset": 1, "sphinx.domains.citation": 1, "sphinx.domains.cpp": 9, "sphinx.domains.index": 1, "sphinx.domains.javascript": 3, "sphinx.domains.math": 2, "sphinx.domains.python": 4, "sphinx.domains.rst": 2, "sphinx.domains.std": 2}, "filenames": ["contributing.rst", "env_vars.rst", "global_options.rst", "guides/args_guide.rst", "guides/composition_guide.rst", "guides/global_tasks.rst", "guides/help_guide.rst", "guides/include_guide.rst", "guides/index.rst", "guides/library_guide.rst", "guides/running_guide.rst", "guides/toml_guide.rst", "guides/without_poetry.rst", "index.rst", "installation.rst", "license.rst", "poetry_plugin.rst", "tasks/index.rst", "tasks/options.rst", "tasks/task_types/cmd.rst", "tasks/task_types/expr.rst", "tasks/task_types/ref.rst", "tasks/task_types/script.rst", "tasks/task_types/sequence.rst", "tasks/task_types/shell.rst", "tasks/task_types/switch.rst"], "indexentries": {"poethepoet (class in poethepoet.app)": [[9, "poethepoet.app.PoeThePoet", false]], "rm() (in module poethepoet.scripts)": [[22, "poethepoet.scripts.rm", false]]}, "objects": {"poethepoet.app": [[9, 0, 1, "", "PoeThePoet"]], "poethepoet.scripts": [[22, 1, 1, "", "rm"]]}, "objnames": {"0": ["py", "class", "Python class"], "1": ["py", "function", "Python function"]}, "objtypes": {"0": "py:class", "1": "py:function"}, "terms": {"": [0, 1, 4, 5, 7, 10, 13, 16, 18, 19, 20, 22], "0": [1, 2, 3, 4, 5, 6, 13, 17, 22, 24, 25], "1": [1, 2, 3, 6, 9, 10, 19, 20, 25], "10": 20, "11": 21, "12": 25, "13": 14, "17": 25, "2": [10, 20, 25], "2020": 15, "25": 6, "28": 5, "5": 16, "518": 12, "5432": 24, "6": 24, "8": 9, "8000": 3, "8001": 3, "8080": [6, 13, 17, 24], "89": 2, "9": 14, "9000": 3, "9001": 18, "A": [3, 6, 9, 15, 17, 18, 20, 21, 23, 25], "AND": 15, "AS": 15, "And": [4, 16], "As": [2, 3, 12, 22], "BE": 15, "BUT": 15, "But": 12, "By": [2, 3, 10, 12, 13, 16, 18, 20, 21, 23, 24], "FOR": 15, "For": [2, 3, 4, 5, 7, 18, 22, 24], "IN": 15, "If": [0, 2, 3, 5, 7, 9, 10, 12, 13, 14, 16, 18, 20, 21, 22, 23, 24, 25], "In": [0, 2, 3, 4, 10, 13, 16, 18, 19, 20, 21, 22, 23, 25], "It": [4, 7, 13, 14, 16, 18, 19, 21, 24, 25], "NO": 15, "NOT": 15, "No": 20, "OF": 15, "OR": 15, "On": 18, "One": 22, "Or": 14, "THE": 15, "TO": 15, "The": [0, 1, 2, 3, 5, 7, 9, 10, 13, 14, 15, 16, 17, 18, 19, 20, 22, 23, 24, 25], "There": [0, 5, 7, 14], "These": [2, 5, 22], "WITH": 15, "_": [17, 23], "__main__": 9, "__name__": 9, "__pycache__": [19, 22], "__version__": 0, "_bash_complet": [5, 14], "_build": 17, "_dry_run": 22, "_fish_complet": 14, "_get_active_sess": 20, "_io": 9, "_poe": 14, "_publish": [4, 23], "_website_bucket_nam": 4, "_zsh_complet": 14, "abc": 9, "abort": 23, "about": [0, 14], "abov": [1, 2, 3, 10, 15, 18, 21, 22, 25], "absolut": 18, "accept": [0, 2, 3, 9, 16, 18, 20, 22, 23, 24, 25], "access": [1, 3, 5, 7, 18, 20, 22], "accomplish": 18, "achiev": [3, 7, 22], "acme_common": 7, "across": 22, "action": 15, "activ": [1, 10, 20], "actual": [6, 7, 16, 22, 23], "ad": [0, 6, 14], "add": [2, 6, 10, 13, 14, 16], "addit": [10, 19, 21], "addition": 16, "after": [2, 16, 19, 21, 23], "against": [17, 25], "agnost": 22, "aka": 17, "alan": 13, "alia": [5, 10, 14, 17, 21, 24], "alias": [5, 18], "all": [0, 2, 3, 13, 15, 16, 17, 19, 20, 21, 22, 23, 24, 25], "allow": [1, 3, 16, 17, 18, 19, 20, 21], "along": 0, "alongsid": 6, "alreadi": [2, 7, 16, 18], "also": [0, 2, 3, 4, 7, 9, 10, 12, 13, 14, 16, 17, 18, 19, 20, 22, 23, 24, 25], "alter": [2, 23], "altern": [0, 2, 3, 5, 9, 12, 13, 17, 19, 22, 23, 24], "alwai": [18, 22, 24], "am": 0, "among": 20, "an": [0, 2, 3, 4, 5, 6, 7, 9, 12, 13, 14, 15, 16, 17, 19, 22, 24], "ani": [2, 3, 5, 9, 12, 13, 15, 16, 18, 20, 21, 22, 23, 24], "anoth": [8, 9, 12, 13, 17, 18, 21, 23, 24], "ansi": [1, 6], "answer": 0, "anyth": 0, "anywher": [5, 14, 16], "api": 0, "app": [4, 6, 9], "append": [3, 13], "appli": [0, 23], "applic": [3, 9, 17, 18], "appropri": 2, "ar": [0, 1, 2, 3, 5, 7, 10, 12, 13, 14, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25], "arbitrari": 18, "architectur": 0, "archiv": 16, "archive_build": 16, "aren": 18, "arg": [2, 3, 12, 18, 19, 20, 21, 22, 23, 25], "argspars": 3, "argument": [1, 2, 6, 8, 9, 13, 16, 18, 19, 22], "argv": [3, 9, 20, 22], "aris": 15, "arn": 19, "arn_onli": 19, "arrai": [2, 17, 25], "assert": 20, "asset": [16, 22], "associ": [10, 13, 15], "assum": 5, "async": 22, "asyncio": 22, "attempt": [1, 3, 23, 24], "author": 15, "auto": 2, "autom": 0, "automat": [2, 12, 13], "avail": [1, 2, 3, 4, 5, 13, 14, 18], "avoid": [12, 16], "aw": [4, 19], "await": 20, "awar": 0, "awesom": 0, "aws_region": [3, 19], "aws_sam_stack_nam": 4, "b": 0, "back": [0, 25], "backend": 4, "background": 24, "backslash": 19, "bar": [2, 12], "base": [7, 9, 13, 17, 24], "bash": [2, 4, 5, 18, 19, 24], "bash_complet": [5, 14], "basic": [19, 24], "batteri": 13, "baz": 12, "becaus": [0, 3, 5, 18, 23], "becom": 3, "been": 7, "befor": [0, 2, 4, 16, 18], "beforehand": 18, "behav": 20, "behavior": [1, 2, 9, 16, 24], "behaviour": [2, 3, 12, 16, 22, 23], "being": [3, 9, 10, 16, 23], "below": [3, 4, 9], "benefit": [0, 14], "best_numb": 25, "better": 0, "between": [7, 25], "black": 2, "block": 0, "bool": [3, 18, 20, 22, 23], "boolean": [3, 19], "both": [12, 17, 24], "brace": 19, "bracket": [3, 19, 23], "break": 19, "brew": 5, "bring": 0, "broken": 0, "bucket_nam": 4, "bugfix": 0, "build": [3, 4, 7, 16, 17, 18, 22, 23, 25], "build_app": 3, "build_vers": 3, "built": 16, "builtin": 20, "bump": 0, "button": 0, "c": [2, 5, 6, 13, 15], "call": [1, 2, 3, 5, 10, 14, 16, 17, 18, 21], "callabl": 22, "caller": 19, "can": [0, 1, 2, 3, 4, 5, 6, 7, 9, 10, 12, 13, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25], "cannot": [17, 18, 23], "capabl": [9, 22], "captur": [4, 25], "capture_stdout": [18, 23], "care": 16, "case": [0, 2, 10, 13, 16, 17, 18, 19, 23, 24], "cast": 3, "caus": [1, 2, 3, 16, 18], "central": [3, 5], "certain": [0, 12, 17, 18], "chang": [0, 24], "charact": 19, "charg": 15, "check": [0, 3, 16, 25], "check_numb": 25, "checkout": 0, "children": 17, "chocol": 25, "choos": 5, "ci": 0, "circular": 7, "claim": 15, "class": [9, 19], "clean": [0, 19, 22], "clear": 0, "cleo": 16, "cli": [2, 8, 9, 13, 16, 18, 19, 22], "cli_arg": 9, "click": [10, 13], "client": [4, 18], "clone": 0, "close": 24, "cloudform": 4, "cmd": [2, 4, 6, 7, 12, 17, 18, 20, 21, 22, 23, 25], "code": [3, 7, 20, 22, 24], "collect": [7, 9, 20], "color": 1, "com": 24, "combin": 3, "come": [14, 16], "command": [3, 4, 6, 10, 13, 14, 17, 19, 21, 22, 23, 24], "comment": 19, "commit": 0, "common": 22, "compact": 4, "compat": [3, 24], "compinit": 14, "complet": [13, 16], "complex": [13, 23, 24], "compos": [8, 13, 17], "concern": 7, "concis": 13, "condit": 15, "config": [1, 4, 7, 9, 12, 14, 18], "config_nam": 9, "configur": [1, 2, 5, 6, 7, 8, 9, 12, 17, 18, 21, 22, 25], "conflict": 16, "confus": 12, "connect": 15, "consid": [0, 16], "consist": [3, 10, 17, 20, 22, 24, 25], "construct": 20, "contain": [0, 3, 8, 12, 13, 16, 19], "content": [0, 3, 6, 7, 17, 19, 23, 24], "context": 23, "continu": 12, "contract": 15, "contrast": 2, "control": [3, 17, 19, 22, 25], "conveni": [18, 22, 25], "convent": 0, "conversion_tool": 18, "convert": 18, "copi": 15, "copyright": 15, "core": 22, "correspond": 17, "count": 20, "cov": [4, 6, 10, 13, 23], "cover": [5, 19], "cr": 4, "creat": [5, 6, 7, 10, 12, 14, 18, 22], "cross": 22, "curli": 19, "current": [0, 1, 2, 9, 13, 18], "custom": 9, "cwd": [1, 7, 9, 18, 22], "d": [0, 5, 6, 14], "dag": 13, "damag": 15, "darwin": 25, "dash": [3, 24], "date": 0, "datetim": 24, "deal": 15, "debug": [1, 6, 13], "declar": [2, 3, 4, 13, 16, 18, 19, 22, 23], "decreas": [2, 6], "deep": 18, "default": [1, 3, 9, 10, 12, 13, 16, 17, 19, 20, 21, 22, 24, 25], "default_array_item_task_typ": [2, 23], "default_array_task_typ": 2, "default_item_typ": [4, 23], "default_task_typ": 2, "defin": [1, 2, 3, 4, 5, 7, 10, 11, 12, 13, 16, 19, 20, 22, 23, 25], "definit": [3, 4, 6, 7, 25], "delet": [4, 22], "demonstr": [2, 3, 4, 19], "dep": [4, 18], "depend": [3, 4, 5, 12, 14, 16, 17, 24, 25], "deploi": [3, 4], "describ": [0, 4, 9], "descript": [0, 3], "desir": 18, "dest": 3, "detail": [3, 14, 17], "detect": [2, 13], "determin": [9, 17, 25], "dev": [2, 10, 14, 18], "devtask": [4, 23], "dict": [2, 9, 18, 25], "dictionari": 9, "differ": [3, 11, 16, 17, 18, 19, 25], "dir": [0, 19], "directli": [2, 3, 16, 17, 20, 23], "directori": [1, 2, 6, 9, 12, 13, 19, 22], "disabl": [1, 6, 16, 19], "discov": 12, "discuss": 0, "disk": 18, "displai": [6, 18], "distribut": 15, "divers": 0, "django": 22, "do": [0, 2, 15, 25], "do_cmd": 21, "do_specific_th": 21, "do_th": 21, "doc": [14, 19], "docker": 7, "document": [0, 2, 3, 5, 7, 8, 15, 16, 17, 18, 23], "doe": [12, 18, 23], "doesn": [12, 14], "don": [0, 3, 6, 7, 10, 16, 19, 23], "done": [2, 4, 7, 18], "doubl": [0, 3, 19, 23], "dr": 0, "draft": 0, "dry": 6, "dry_run": 22, "due": 16, "dynam": 7, "dynamodb": 19, "e": [1, 2, 3, 10, 25], "each": [3, 25], "earth": 3, "easili": 13, "east": 19, "echo": [2, 3, 12, 19], "edgar": 5, "effect": [3, 22], "effort": 0, "either": [3, 9, 13, 16, 24], "els": [2, 20], "elsewher": [2, 13], "emb": [9, 13], "empti": [12, 16], "enabl": [1, 5, 6], "encod": 9, "end": [2, 3, 14, 23], "endswith": 20, "ensur": [0, 5, 14, 22], "entail": 0, "entri": 7, "env": [2, 3, 4, 7, 9, 12, 13, 16, 21], "envfil": [1, 2, 7, 18], "environ": [0, 3, 4, 7, 9, 12, 13, 16, 21, 22, 24], "equival": [2, 12, 21, 24], "error": [3, 7, 16], "escap": 19, "especi": 19, "essenti": 21, "etc": [5, 14, 24], "eu": 3, "evalu": [17, 18, 19, 20, 22], "even": [12, 13, 25], "event": 15, "everi": 16, "exactli": 3, "exampl": [0, 2, 3, 4, 5, 7, 12, 13, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25], "except": [1, 20, 21, 23, 24, 25], "excess": 19, "exclud": [17, 23], "execut": [1, 2, 4, 7, 9, 13, 14, 16, 17, 18, 19, 21, 22, 23, 24, 25], "executor": 12, "exist": [0, 7, 12, 16, 18], "exist_ok": 22, "exit": [6, 9, 16], "expand": 19, "expect": [0, 16, 19, 24], "expertis": 0, "explain": 11, "explan": [2, 7, 18], "explicitli": [4, 10], "export": 4, "expos": [2, 3, 4], "expr": [2, 17, 18, 24, 25], "express": [13, 15, 17, 22, 25], "extend": [2, 18], "extern": 17, "extra": [3, 13, 22], "f": [4, 20, 24, 25], "fact": 22, "fail": [16, 23], "failur": 7, "fall": 25, "fallback": [19, 24], "fals": [3, 20, 22], "fanci": 5, "farm_anim": 2, "favorite_test": 10, "featur": [8, 16, 18], "feedback": 0, "fetch": [0, 22], "few": [14, 16], "fib": 2, "fibonacci": 2, "file": [1, 2, 5, 8, 9, 10, 12, 13, 14, 15, 19, 20, 22], "file_path": 3, "final": 0, "find": [6, 13, 24], "fine": 13, "first": [0, 16, 18, 24, 25], "fish": [2, 5, 24], "fit": 15, "fix": 3, "flag": [3, 18, 19, 22], "flask": 18, "flask_run_port": 18, "flavor": 25, "flexibl": 0, "float": 3, "flow": 0, "follow": [0, 1, 2, 3, 7, 9, 10, 12, 15, 16, 18, 19, 20, 21, 22, 23, 24, 25], "foo": [2, 12], "forbidden": 23, "forc": 6, "fork": 0, "form": 16, "format": [0, 18, 20], "formula": 14, "forward": [13, 21], "found": [12, 20, 24], "framework": 16, "free": 15, "from": [0, 1, 3, 8, 9, 10, 12, 14, 15, 17, 19, 20, 22, 23, 24], "frontend": 4, "frontends3bucket": 4, "full": [0, 2, 7, 18, 24], "function": [2, 3, 9, 13, 17, 20, 21], "furnish": 15, "further": 0, "furthermor": 17, "g": [1, 2, 3, 10], "ge": 2, "gener": [0, 3, 5, 7, 12, 16, 19, 22], "generated_task": 7, "get": [3, 4, 7, 18, 19, 22, 24, 25], "get_random_secret_kei": 22, "git": [0, 1, 2, 18, 24], "github": 0, "githubusercont": 24, "given": [2, 3, 13, 18, 22], "glob": [20, 22], "global": [1, 6, 7, 8, 10, 12, 13, 16, 18, 22, 23, 24], "go": [0, 22], "gone": 0, "good": [0, 23], "goodby": 3, "grant": 15, "graph": 18, "grate": 0, "greet": 19, "group": [10, 14], "guid": [5, 17], "gunicorn": 18, "gunicorn_log": 18, "h": [3, 6], "ha": [0, 3, 19, 22], "had": 7, "handi": 12, "hard": 22, "have": [0, 3, 4, 5, 7, 9, 16, 20, 23], "haven": 0, "head": 0, "hello": [3, 19], "help": [2, 3, 4, 6, 9, 13, 16, 17, 18, 20, 23], "here": [0, 4, 10, 13, 17, 19, 20], "herebi": 15, "hidden": [4, 20], "higher": 24, "highli": 16, "histori": 0, "holder": 15, "homebrew": 5, "hope": 0, "host": [2, 3, 18], "hotfix": 0, "how": [2, 3, 4, 5, 7, 14, 16, 18], "howev": [0, 2, 3, 5, 7, 13, 16, 18, 19, 20, 22, 23, 24], "http": 24, "i": [0, 1, 2, 3, 4, 5, 6, 7, 9, 10, 12, 13, 14, 15, 16, 17, 18, 19, 21, 22, 23, 24, 25], "icecream": 25, "idea": 0, "ident": 19, "identifi": [1, 17], "ignor": [2, 3, 7, 19], "ignore_fail": 23, "imag": [7, 22], "implement": [0, 16, 18, 22], "impli": [15, 17, 18], "import": [0, 7, 9, 19, 22, 24], "improv": 0, "includ": [0, 1, 2, 3, 5, 13, 15, 16, 19, 20, 22, 23, 25], "inclus": 16, "incompat": 18, "incomplet": 0, "increas": [2, 6], "increment": 2, "indic": [2, 7], "info": 16, "inform": 4, "inherit": 7, "inject": 20, "inlin": [2, 16, 22, 24, 25], "insid": [2, 3, 10, 12, 13, 14, 18, 19, 24], "instal": [0, 5, 9, 10, 13, 16, 24], "instead": [2, 3, 5, 9, 25], "int": [2, 3, 18, 22, 25], "integ": [3, 22], "intend": [12, 22], "interest": 0, "intern": 0, "interpol": [2, 4], "interpret": [3, 17, 19, 23], "invoc": [16, 18, 22], "invok": [3, 16, 22, 24], "io": 9, "isn": 0, "issu": [0, 18], "item": [2, 3, 7, 17, 25], "its": [4, 9, 16, 18, 25], "itself": [7, 19], "jq": 4, "json": [2, 7, 9, 18, 20], "just": [0, 1, 2, 5, 12, 13, 19, 22], "kai": 13, "keep": [0, 3, 12], "kei": [3, 12, 17, 18, 22], "keystrok": 14, "kill": 24, "kind": [12, 15], "know": 0, "kwarg": 3, "l": [6, 13, 17, 24], "languag": 25, "larg": 7, "last": [3, 18], "latest": 16, "lcpcqf8": 20, "len": 20, "less": [1, 23], "level": [1, 2, 5, 7, 16, 17], "leverag": [11, 20, 24], "liabil": 15, "liabl": 15, "librari": [8, 13, 19], "licens": 15, "like": [0, 1, 2, 3, 5, 6, 7, 10, 12, 14, 16, 17, 18, 20, 22, 23, 24, 25], "likelihood": 24, "limit": [15, 18], "line": [0, 2, 3, 4, 13, 16, 17, 18, 19, 20, 21, 22, 23], "link": 2, "lint": 3, "linux": [14, 25], "list": [2, 3, 6, 7, 12, 18, 19, 20, 24], "liter": [3, 22, 25], "live": 5, "ll": [0, 5, 14, 25], "load": [2, 8, 9, 12, 14, 20], "local": [2, 18, 23], "localhost": 3, "locat": [2, 5, 7, 13, 18, 24], "log": 22, "log_path": 22, "long": [3, 5], "longer": 3, "look": [9, 12, 24, 25], "lot": [0, 7], "m": [0, 10, 17], "maco": 14, "made": [4, 18, 20], "mai": [2, 3, 5, 7, 14, 16, 18, 20, 23, 24], "main": [0, 1, 7, 9, 18], "make": [0, 3, 5, 17, 18, 22, 23, 25], "make_chocolate_icecream": 25, "make_strawberry_icecream": 25, "make_vanilla_icecream": 25, "makedir": 22, "manag": [2, 10, 12, 13, 16, 22], "mani": 25, "map": [9, 18], "mar": 3, "master": 24, "match": [19, 22], "math": 2, "max": 2, "maximis": [19, 24], "mean": [1, 4, 24], "member": [17, 20], "merchant": 15, "merg": [0, 15], "messag": [0, 1, 9, 13], "method": 13, "might": [0, 7, 10, 14, 19, 24], "mind": 16, "minor": [0, 16], "miss": [7, 12, 23], "mit": 15, "mkdir": [14, 22], "mode": [6, 9, 22], "modifi": [1, 15, 16, 18], "modul": [7, 19], "monorepo": [1, 2, 7, 18], "more": [1, 2, 3, 4, 14, 17, 18, 22, 23], "most": [2, 3, 19, 20, 24], "mostli": 16, "motion": 22, "much": 25, "multipl": [3, 17, 18, 20, 21, 24], "must": [1, 5, 16], "my": 14, "my_app": [3, 6, 13, 18], "my_cmd_task": 2, "my_modul": 2, "my_new_featur": 0, "my_packag": 2, "my_pkg": 22, "my_project": 18, "my_script_task": 2, "my_subproject": 7, "myapp": [3, 18], "mypy_cach": 22, "myvenv": 2, "n": [6, 13, 14, 17, 24], "n0": 2, "n1": 2, "name": [0, 2, 4, 5, 6, 9, 12, 13, 16, 17, 18, 19, 20, 21, 23], "namespac": [7, 12, 16], "nat": [14, 15, 19], "need": [0, 3, 5, 10, 13, 14, 18, 19, 23], "never": 16, "new": [4, 5, 14, 18, 19, 24], "newest": 24, "next": 18, "no_color": 1, "node": 18, "nodej": 18, "non": [0, 20, 23], "none": [9, 16, 22, 25], "noninfring": 15, "noordanu": 15, "normal": [1, 2, 7, 9, 16, 18, 20, 22], "note": [0, 1, 2, 3, 4, 18, 22, 23], "noth": [19, 22, 25], "notic": [15, 18, 19, 20], "now": 24, "npm": 4, "npx": 18, "number": 3, "o": [9, 22], "object": 9, "obtain": 15, "occur": 22, "odd": 25, "off": [0, 17], "offend": 0, "offici": 14, "often": [21, 23, 24], "oh": 14, "older": 18, "onc": 0, "one": [0, 2, 3, 7, 12, 13, 18, 19, 23, 24, 25], "ones": 3, "onli": [2, 3, 10, 16, 17, 18, 19, 22, 23, 24], "onto": 16, "open": [0, 24], "oper": [22, 24], "opinion": [0, 16], "opposit": 3, "optimis": 16, "option": [1, 4, 6, 7, 9, 10, 12, 13, 14, 16, 17], "order": [2, 4, 7, 12, 18, 24], "organis": 7, "origin": [0, 12, 13], "other": [2, 3, 4, 7, 12, 13, 15, 16, 17, 18, 23, 24], "otherwis": [2, 15, 19, 21, 23, 24, 25], "out": 15, "output": [1, 2, 4, 6, 9, 19, 20, 25], "outputkei": 4, "outputvalu": 4, "outsid": [7, 12], "over": 20, "overrid": 2, "overridden": [1, 2, 18], "own": [9, 16, 18], "p": [3, 14, 22], "packag": [18, 22], "page": 6, "pager": 19, "paramet": [9, 22], "parent": [1, 2, 7, 18], "parenthesi": 3, "pars": 3, "parser": 19, "part": 1, "particular": [13, 15, 17, 18], "particularli": 0, "pass": [2, 4, 13, 16, 19, 20, 22, 25], "passbi": 3, "password": [2, 18], "path": [1, 2, 5, 6, 7, 9, 13, 16, 18, 20, 22, 24], "pathlib": [9, 20], "pattern": [19, 22], "pep": 12, "per": [3, 18], "perfect": 0, "perform": 0, "permiss": 15, "permit": 15, "person": 15, "perspect": 0, "pfwd": 24, "pfwdstop": 24, "pgrep": 24, "pip": 14, "pipe": 24, "pipelin": 0, "pipx": [5, 13], "place": 19, "plan": 0, "planet": 3, "platform": [17, 20, 22, 25], "pleas": 0, "plugin": [2, 9, 13], "poe": [0, 1, 3, 4, 5, 6, 7, 8, 9, 12, 16, 17, 18, 19, 20, 21, 23, 24, 25], "poe_act": 1, "poe_conf_dir": [1, 7], "poe_debug": 1, "poe_git_dir": [1, 2, 7, 18], "poe_git_root": [1, 2, 7, 18], "poe_project_dir": 1, "poe_pwd": [1, 13, 18], "poe_root": [1, 2, 7, 13], "poe_task": [9, 12, 13], "poe_verbos": [1, 22], "poeconfig": 9, "poeexecutor": 1, "poet": [1, 5, 6, 8, 10, 12, 16, 17, 22], "poethepoet": [0, 5, 6, 8, 10, 12, 13, 14, 16, 20, 22], "poetri": [0, 2, 4, 5, 6, 8, 9, 13, 17, 23, 24], "poetry_command": [2, 16], "poetry_env_path": 9, "poetry_hook": [2, 16], "poetry_plugin": [10, 14, 16], "poetryexecutor": 9, "point": [0, 1], "popular": 12, "port": [3, 18], "portabl": [19, 23, 24], "portion": 15, "posit": [3, 18, 20, 21], "posix": [2, 13, 17, 24], "posix_build": 25, "possibl": [3, 7, 13, 16, 18, 22, 24, 25], "post_build": 16, "post_env_info": 16, "potenti": 12, "powershel": [3, 24], "pr": 0, "pre": [0, 16], "pre_build": 16, "preced": [3, 19], "prefer": [0, 10, 14, 23, 24], "prefix": [4, 5, 12, 14, 16, 23], "prep": 16, "prepare_asset": 16, "presenc": 17, "present": [2, 4], "previou": [3, 18], "primari": 0, "primarili": 9, "principl": 16, "print": [1, 6, 20, 24], "print_result": 22, "privat": 5, "probabl": 0, "problem": 0, "process": [1, 2, 13, 18, 19, 24], "prod": [6, 13, 17], "product": 6, "program": [9, 25], "program_nam": 9, "programmat": 1, "progress": 0, "project": [0, 1, 2, 5, 7, 12, 13, 18, 19, 22], "propos": 0, "provid": [1, 2, 3, 7, 9, 12, 13, 15, 16, 18, 19, 20, 25], "publish": [4, 15, 16, 23], "pun": 5, "purpos": [5, 12, 15], "push": 0, "pwsh": 24, "py": [0, 10, 24], "py3": 20, "pyc": 19, "pypi": 13, "pyproject": [0, 1, 2, 6, 7, 9, 10, 13, 16, 18, 24], "pytest": [4, 6, 10, 13, 17, 19, 23], "pytest_cach": 22, "python": [3, 13, 16, 17, 19, 20, 22, 24], "q": [2, 6, 22], "queri": [4, 19], "question": 18, "quick": 17, "quiet": [2, 6], "quietest": 2, "quot": 19, "ran": 10, "rather": 24, "raw": 24, "re": [0, 2, 13], "read": [3, 7], "read_sess": 20, "readi": 0, "real": [10, 13], "reason": 0, "rebas": 0, "reciev": 0, "recommend": [16, 19, 24], "recurs": [1, 19], "ref": [2, 3, 4, 17, 23], "refer": [0, 1, 2, 7, 13, 17, 18, 20, 22, 23], "referenc": [1, 2, 3, 7, 17, 18, 21, 22, 23], "reflect": 1, "region": [3, 19], "regist": [2, 16], "regular": 5, "rel": [1, 2, 12, 18, 19, 22], "relat": 0, "releas": [4, 23], "reliabl": 22, "remov": 4, "repeat": 6, "replac": [18, 19], "repli": 0, "replic": 9, "repo": [0, 1], "repositori": [2, 7, 18], "requir": [2, 3, 4, 5, 7, 25], "resid": [2, 13], "resolv": [2, 7, 9, 18], "respect": 22, "respons": 22, "rest": [0, 23], "restrict": [15, 24], "result": [3, 7, 9, 10, 18, 19, 23, 25], "return": [20, 23], "return_non_zero": 23, "return_zero": 23, "reus": 4, "revers": 2, "rf": [19, 22], "right": 15, "rm": [19, 22], "role": 17, "root": [1, 2, 7, 13, 18], "ruff": 3, "run": [0, 1, 3, 4, 6, 7, 8, 9, 12, 14, 16, 17, 20, 23, 24, 25], "run_test": [3, 23], "runner": [5, 6, 9, 12, 13], "runtim": [2, 3, 16], "s3": 4, "sam": 4, "sam_env_nam": 4, "same": [0, 3, 7, 9, 17, 18, 22], "save": [3, 14], "scenario": 7, "schema": 9, "scope": 20, "script": [2, 4, 5, 6, 9, 13, 14, 16, 17, 18, 20, 23, 24], "search": [9, 12], "second": [7, 22], "secret": 22, "section": [2, 8, 12, 13], "see": [2, 4, 7, 14, 17, 18], "select": [2, 4], "self": [10, 13, 14, 16], "sell": 15, "sens": [3, 23], "separ": 3, "sequenc": [2, 13, 17, 18, 21], "serv": [3, 5, 6, 13, 18], "server": [3, 6, 16], "servic": [3, 6, 13], "session": 20, "session_json": 20, "set": [1, 2, 3, 9, 16, 19, 20, 21, 22, 23, 25], "setup": [0, 2, 14], "seven": 17, "sever": 17, "sh": [17, 24], "shall": 15, "share": [5, 7, 14], "shared_task": 7, "shell": [4, 6, 10, 13, 17, 21, 23], "shell_interpret": [2, 24], "shipit": 4, "short": 3, "should": [0, 2, 3, 5, 7, 9, 13, 14, 18, 24], "show": [6, 12, 20], "shown": 18, "side": 22, "signific": 3, "similar": [3, 4, 5, 24], "similarli": 19, "simpl": [0, 2, 13, 17, 24], "simpler": 23, "simpli": [3, 7, 12, 16, 25], "simplic": 17, "sinc": [3, 12], "singl": [16, 17, 18, 19, 20, 25], "situat": 18, "slow": 17, "so": [0, 1, 2, 3, 5, 6, 7, 10, 12, 15, 16, 17, 18, 19, 22, 23, 24, 25], "softwar": 15, "solv": 0, "some": [0, 7, 17, 18, 19, 23, 24], "someth": [0, 2], "sometim": [17, 23], "somewher": 5, "soon": 0, "sourc": 10, "special": [0, 2, 7, 12, 18], "specif": [2, 4, 7, 16, 17], "specifi": [2, 3, 4, 5, 6, 7, 13, 16, 17, 18, 19, 20, 23, 24], "squar": [3, 19, 23], "squash": 0, "src": [4, 23], "ssh": [6, 13, 17, 24], "st": 19, "stack": 4, "stage": [2, 18, 24], "stagingdb": 24, "stai": 0, "standalon": [9, 10, 13], "standard": [2, 19, 20, 21, 23, 24, 25], "start": [0, 14, 17], "startup": 5, "statement": [24, 25], "static": 16, "stdout": [1, 9, 22], "step": [0, 5, 16], "still": [3, 7, 14, 16, 19, 21], "str": [2, 3, 9, 18, 20, 22, 23, 24, 25], "straight": 13, "strawberri": 25, "stream": 9, "string": [2, 3, 16, 17, 19, 20, 23], "strong": 0, "structur": [3, 7, 12], "sub": [3, 17, 19, 23], "subdirectori": [1, 7, 18, 20], "subject": 15, "sublicens": 15, "submodul": [1, 7], "subprocess": [9, 17], "subsequ": 3, "subset": 22, "substanti": 15, "substitut": 24, "subtask": [3, 23, 25], "subtract": 2, "succe": 25, "success": 16, "succinct": 23, "suggest": 5, "suit": 6, "support": [2, 3, 13, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25], "sure": [0, 22], "switch": 17, "sy": [3, 9, 20, 22, 25], "sync": [0, 4], "syntax": [2, 17, 18, 19, 20, 22, 23, 24], "system": [5, 14, 24], "t": [0, 3, 6, 7, 10, 12, 14, 16, 18, 19, 23], "tabl": [2, 17, 19], "tag": 0, "take": [3, 9], "taken": [3, 16], "tap": 14, "target": [0, 3, 20, 22], "target_dir": 3, "target_venv": 20, "task": [1, 8, 9, 11, 12, 13, 16], "task1": 23, "task2": 23, "task3": 23, "task_arg": [10, 13, 16], "task_nam": 16, "technic": 0, "tell": 1, "templat": [0, 3, 19, 20], "term": 0, "termin": 12, "ters": 17, "test": [0, 2, 3, 6, 10, 13, 14, 17, 19, 23], "text": [6, 16, 18, 19], "textiowrapp": 9, "tf_var_service_port": 18, "than": [12, 23, 24], "thei": [1, 3, 17, 22, 23, 24], "them": [0, 3, 4, 13, 14, 23, 24, 25], "therefor": 16, "thi": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 12, 13, 14, 15, 16, 17, 18, 19, 20, 22, 23, 24, 25], "thing": [0, 13, 17, 21], "thing1": 21, "thing2": 21, "those": [4, 17, 18], "though": [3, 7, 24], "thought": 0, "three": [3, 19], "through": 22, "thu": 4, "time": 24, "tl": 0, "todo": 11, "token": [3, 16], "toml": [0, 1, 2, 3, 6, 7, 9, 10, 13, 16, 17, 18, 19, 23, 24], "too": [7, 13], "tool": [0, 2, 3, 4, 6, 7, 9, 10, 12, 13, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25], "top": [16, 17], "tort": 15, "trade": 17, "treat": 4, "trivial": [0, 20], "true": [3, 6, 13, 18, 20, 21, 22, 23], "truthi": 20, "try": [0, 12, 14, 24], "tunnel": [6, 13, 17, 24], "two": [5, 12, 17], "txt": [4, 18], "type": [3, 4, 9, 18, 19, 21], "u": 19, "ui": 0, "unaffect": 22, "under": [2, 7, 10, 17], "underli": 3, "underscor": [16, 17, 23], "understand": 19, "union": 18, "uniqu": 17, "unless": [0, 1, 2, 19, 22, 23], "unset": 19, "until": 0, "up": [0, 2], "updat": 0, "upload": 16, "upstream": 4, "urgenc": 21, "urgent": 0, "uri": 24, "us": [0, 1, 2, 3, 4, 5, 7, 8, 10, 12, 13, 15, 16, 17, 18, 19, 20, 21, 22, 23, 25], "usag": [6, 8, 22], "use_exec": [18, 21, 23, 24, 25], "usebasicpars": 24, "user": [5, 19, 20], "usual": [3, 5, 20, 24], "utf": 9, "util": [3, 22], "uz": 5, "v": [2, 3, 6, 10, 13, 19], "valid": [2, 12, 24], "valu": [1, 2, 3, 7, 17, 18, 19, 20, 23, 24], "var": [2, 12], "var0": 12, "var1": [2, 12], "var2": [2, 12], "var_nam": 18, "vari": [5, 14], "variabl": [3, 4, 7, 13, 21, 22], "variou": [8, 9, 17], "ve": [0, 10, 16], "vendor_complet": 14, "venv": [2, 10, 12, 20], "verbos": [1, 3, 6, 16, 22], "veri": 0, "version": [0, 3, 6, 16, 24], "via": [3, 4, 5, 7, 10, 12, 13, 16, 17, 20, 22, 24], "view": 16, "virtual": [12, 13, 22], "virtual_env": 20, "virtualenv": [2, 9, 10, 12, 13], "w": 9, "wa": [5, 12, 13, 18, 25], "wai": [3, 10, 11, 12, 13, 14, 17, 18, 23], "want": [2, 3, 4, 5, 7, 10, 13, 14, 19, 23], "warranti": 15, "we": [0, 2, 16, 19], "webrequest": 24, "websit": 0, "well": [6, 12, 13, 18], "were": [1, 16, 20], "what": 0, "whatev": [5, 16, 20, 24], "when": [0, 1, 2, 3, 6, 7, 9, 12, 13, 14, 16, 17, 18, 19, 20, 22, 23, 24], "where": [2, 5, 6, 7, 9, 13, 18, 19, 23], "wherea": [2, 17, 22], "whether": [15, 19], "which": [1, 2, 3, 4, 7, 13, 14, 16, 17, 18, 19, 20, 22, 23, 25], "whilst": 0, "whitespac": [3, 19], "whom": 15, "willing": 0, "win32": 25, "window": [14, 18, 22, 24, 25], "windows_build": 25, "wish": [7, 16], "within": [1, 2, 3, 7, 12, 13, 17, 18, 21, 22, 23, 24], "without": [0, 2, 3, 6, 7, 8, 13, 14, 15, 16, 17, 18, 19, 20, 22], "won": 16, "word": 19, "work": [1, 2, 3, 5, 6, 9, 12, 13, 14, 16, 19, 22, 24], "workaround": 16, "worth": 0, "would": [9, 19, 21, 22, 23, 25], "wrap": 19, "write": [9, 17, 24], "yaml": [7, 9], "yield": 20, "you": [0, 2, 3, 4, 5, 6, 7, 10, 12, 13, 14, 16, 17, 18, 19, 20, 23, 24, 25], "your": [0, 2, 3, 5, 6, 7, 10, 13, 16, 18, 24], "yourself": 14, "zero": [3, 20, 23], "zfunc": 14, "zsh": [5, 13, 24], "zshrc": 14}, "titles": ["Contributing", "Environment variables", "Global options", "Configuring CLI arguments", "Composing tasks", "Global tasks", "Documenting tasks", "Loading tasks from another file", "Guides", "Using poethepoet as a library", "Running tasks", "Using toml syntax", "Usage without poetry", "Poe the Poet Documentation", "Installation", "Licence", "Poetry plugin", "Defining tasks", "Standard task options", "cmd
tasks", "expr
tasks", "ref
tasks", "script
tasks", "sequence
tasks", "shell
tasks", "switch
tasks"], "titleterms": {"": 25, "1": 14, "2": 14, "3": 14, "4": 14, "_blank": 14, "abbrevi": 3, "add": 0, "addit": 3, "an": [10, 18, 20, 23, 25], "anoth": 7, "anywher": [2, 13], "argument": [3, 10, 20, 21, 25], "arrai": [3, 23], "ask": 0, "avail": [19, 20, 21, 22, 23, 24, 25], "bash": 14, "behavior": 22, "branch": 0, "brew": 14, "bug": 0, "call": 22, "case": 25, "chang": [2, 23], "cli": [3, 10, 14], "cmd": [3, 19], "code": 0, "command": [2, 16], "complet": [5, 14], "compos": 4, "configur": [3, 16], "continu": 23, "contribut": 0, "creat": 0, "default": [2, 18, 23], "defin": [17, 18], "deleg": 22, "depend": 10, "develop": 0, "differ": 24, "directori": [7, 18], "doc": 0, "document": [6, 13], "don": 25, "dry": 22, "enabl": 14, "env": 18, "environ": [1, 2, 18, 19, 20, 25], "exampl": 10, "exec": 18, "executor": 2, "expans": 19, "expr": 20, "express": 20, "extern": 1, "fail": [20, 25], "failur": 23, "falsei": 20, "featur": [0, 13, 19], "file": [7, 18], "fish": 14, "fix": 0, "form": 3, "free": 3, "from": [2, 7, 13, 18], "function": 22, "git": 7, "github": 14, "glob": 19, "global": [2, 5, 14], "graph": 4, "guid": 8, "histor": 0, "homebrew": 14, "hook": 16, "hot": 0, "how": 0, "href": 14, "http": 14, "i": 20, "import": 20, "includ": 7, "inlin": [3, 23], "instal": 14, "instead": [12, 18], "intern": 1, "interpret": [2, 24], "io": 14, "item": 23, "json": 12, "known": 16, "librari": [9, 22], "licenc": 15, "like": 19, "limit": 16, "load": [7, 18], "match": 25, "model": 0, "modul": [10, 20], "multipl": [7, 25], "name": [3, 25], "new": 0, "oper": 19, "option": [2, 3, 18, 19, 20, 21, 22, 23, 24, 25], "other": 20, "output": [18, 22], "overview": [0, 18], "paramet": 19, "pass": [3, 10, 21], "per": 25, "pipx": 14, "plugin": [10, 14, 16], "poe": [2, 10, 13, 14, 22], "poet": [13, 14], "poethepoet": 9, "poetri": [10, 12, 14, 16], "prefac": 0, "process": 0, "project": 14, "pull": 0, "pypa": 14, "pyproject": 12, "python": [10, 14], "question": 0, "quick": 13, "recommend": 14, "redirect": 18, "ref": 21, "referenc": [19, 20], "rel": 7, "releas": 0, "repo": 7, "report": 0, "request": 0, "result": 20, "return": 22, "run": [2, 10, 13, 18, 22], "script": [3, 22], "sequenc": [3, 4, 23], "set": [7, 18], "sh": 14, "shell": [2, 3, 5, 14, 19, 24], "special": 1, "specif": 18, "standard": [18, 22], "start": 13, "subprocess": 18, "subtabl": 3, "support": 14, "switch": 25, "syntax": [3, 11], "t": 25, "tab": 14, "tabl": [3, 23], "target": 14, "task": [2, 3, 4, 5, 6, 7, 10, 17, 18, 19, 20, 21, 22, 23, 24, 25], "templat": 18, "toml": [11, 12], "top": 13, "type": [2, 17, 23], "us": [9, 11, 14, 24], "usag": 12, "uv": 12, "valu": [22, 25], "variabl": [1, 2, 18, 19, 20, 25], "verbos": 2, "version": 14, "via": 18, "without": 12, "work": [0, 7, 18], "yaml": 12, "your": 14, "zsh": 14}})
\ No newline at end of file
diff --git a/tasks/index.html b/tasks/index.html
index afa0064b..1a3d9ea2 100644
--- a/tasks/index.html
+++ b/tasks/index.html
@@ -368,7 +368,7 @@ When referencing an environment variable in a cmd task you can use the :-
operator from bash to specify a default value, to be used in case the variable is unset. Similarly the :+
operator can be used to specify an alternate value to use in place of the environment variable if it is set.
In the following example, if AWS_REGION
has a value then it will be used, otherwise us-east-1
will be used as a fallback.
[tool.poe.tasks]
+tables = "aws dynamodb list-tables --region ${AWS_REGION:-us-east-1}"
+
The :+
or alternate value operator is especially useful in cases such as the following where you might want to control whether some CLI options are passed to the command.
[tool.poe.tasks.aws-identity]
+cmd = "aws sts get-caller-identity ${ARN_ONLY:+ --no-cli-pager --output text --query 'Arn'}"
+args = [{ name = "ARN_ONLY", options = ["--arn-only"], type = "boolean" }]
+
In this example we declare a boolean argument with no default, so if the --arn-only
flag is provided to the task then three additional CLI options will be included in the task content.
Glob patterns in cmd tasks are expanded and replaced with the list of matching files and directories. The supported glob syntax is that of the python standard library glob module, which differs from bash in that square bracket patterns don’t support character classes, don’t break on whitespace, and don’t allow escaping of contained characters.
@@ -294,7 +310,7 @@See also
-Much like in bash, the glob pattern can be escaped by wrapping it in quotes, or preceding it with a backslash.
+Just like in bash, the glob pattern can be escaped by wrapping it in quotes, or preceding it with a backslash.